网络基础入门
网络是计算机系统之间传输数据的基础。无论是访问网页、调用接口、连接数据库、远程登录服务器,还是部署微服务,都离不开网络知识。
学习网络的目标不是背概念,而是能回答三个问题:
- 数据从哪里来?
- 数据经过哪里?
- 数据为什么没有到?
一、网络分层模型
常见两种模型:OSI 七层模型和 TCP/IP 四层模型。
| OSI 七层 | TCP/IP | 典型协议 |
|---|---|---|
| 应用层 | 应用层 | HTTP、DNS、SMTP、SSH |
| 表示层 | 应用层 | TLS、编码、压缩 |
| 会话层 | 应用层 | 会话管理 |
| 传输层 | 传输层 | TCP、UDP |
| 网络层 | 网络层 | IP、ICMP |
| 数据链路层 | 网络接口层 | Ethernet、Wi-Fi |
| 物理层 | 网络接口层 | 网线、光纤、无线信号 |
实际排查问题时,常用思路是从下往上看:
二、IP 地址
IP 地址用于标识网络中的设备。
常见类型:
- IPv4:例如
192.168.1.10。 - IPv6:更长,地址空间更大。
- 公网 IP:互联网可访问。
- 私网 IP:内网使用,例如
192.168.x.x、10.x.x.x、172.16.x.x。
私网地址不能直接被公网访问,通常需要 NAT 转换。
三、子网和网关
子网用于划分网络范围。
示例:
IP:192.168.1.10
子网掩码:255.255.255.0
网段:192.168.1.0/24
网关:192.168.1.1
网关负责把数据转发到其他网络。
简单理解:
- 同网段通信:直接找对方。
- 不同网段通信:交给网关转发。
四、DNS
DNS 用来把域名解析成 IP 地址。
常见 DNS 记录:
| 类型 | 作用 |
|---|---|
| A | 域名解析到 IPv4 |
| AAAA | 域名解析到 IPv6 |
| CNAME | 域名别名 |
| MX | 邮件服务器 |
| TXT | 验证、SPF、DKIM 等 |
DNS 问题常见表现:
- 域名打不开;
- 本地能访问,别人不能访问;
- 修改解析后没有立即生效;
- 解析到错误 IP。
五、TCP 和 UDP
TCP
TCP 是可靠传输协议。
特点:
- 面向连接;
- 保证顺序;
- 丢包重传;
- 拥塞控制;
- 适合对可靠性要求高的场景。
常见应用:HTTP、HTTPS、MySQL、SSH、Redis。
UDP
UDP 是无连接协议。
特点:
- 开销小;
- 延迟低;
- 不保证可靠;
- 不保证顺序。
常见应用:DNS、直播、语音、游戏、QUIC。
六、HTTP 和 HTTPS
HTTP 是 Web 通信的基础协议。
一个请求通常包括:
请求行:GET /api/users HTTP/1.1
请求头:Host、User-Agent、Content-Type、Authorization
请求体:POST/PUT 常见
常见状态码:
| 状态码 | 含义 |
|---|---|
| 200 | 成功 |
| 301/302 | 重定向 |
| 400 | 请求错误 |
| 401 | 未认证 |
| 403 | 无权限 |
| 404 | 资源不存在 |
| 500 | 服务内部错误 |
| 502 | 网关错误 |
| 503 | 服务不可用 |
| 504 | 网关超时 |
HTTPS = HTTP + TLS,用于加密通信、防窃听、防篡改。
七、NAT 和端口
NAT 用于把内网地址转换成公网地址。
常见场景:
端口用于区分同一台机器上的不同服务。
常见端口:
| 端口 | 服务 |
|---|---|
| 22 | SSH |
| 53 | DNS |
| 80 | HTTP |
| 443 | HTTPS |
| 3306 | MySQL |
| 6379 | Redis |
八、网络排查方法
常用命令:
ping example.com
nslookup example.com
dig example.com
traceroute example.com
curl -I https://example.com
telnet host port
nc -vz host port
排查顺序:
- 本机网络是否正常。
- DNS 是否解析正确。
- 目标 IP 是否可达。
- 目标端口是否开放。
- 防火墙和安全组是否放行。
- 服务是否监听正确地址。
- 应用日志是否有错误。
九、常见问题
1. 能 ping 通但网页打不开
可能原因:
- 80/443 端口未开放;
- Web 服务未启动;
- 防火墙拦截;
- Nginx 配置错误;
- HTTPS 证书问题。
2. 本地能访问,外网不能访问
可能原因:
- 服务只监听
127.0.0.1; - 安全组未放行;
- 没有公网 IP;
- NAT 或端口映射错误;
- 域名解析错误。
3. 访问很慢
可能原因:
- DNS 慢;
- 网络链路慢;
- 服务端响应慢;
- 数据库慢;
- 静态资源太大;
- 跨地域访问。
十、学习路线
建议顺序:
- IP、子网、网关。
- DNS 解析。
- TCP、UDP。
- HTTP、HTTPS。
- NAT、防火墙、安全组。
- Nginx 反向代理。
- 抓包工具:Wireshark、tcpdump。
- 常见网络故障排查。
总结
网络排查最实用的思路是:
只要按层检查,大多数网络问题都能逐步定位。