1. 概述
网络协议是计算机网络中实现通信必须遵循的规则、标准或约定。它们构成了互联网的"语法"和"语义",确保不同设备、系统和应用程序能够相互理解和通信。
2. 网络协议分层模型
2.1 OSI七层模型 vs TCP/IP四层模型


3. 网络层协议
3.1 IP协议(Internet Protocol)
功能: 负责将数据包从源主机路由到目标主机
版本:
- IPv4: 32位地址,约43亿个地址(如 192.168.1.1)
- IPv6: 128位地址,几乎无限地址(如 2001:0db8::1)
关键字段:
版本(4位) | 首部长度(4位) | 服务类型(8位) | 总长度(16位)
标识(16位) | 标志(3位) | 片偏移(13位)
生存时间(8位) | 协议(8位) | 首部校验和(16位)
源IP地址(32/128位)
目标IP地址(32/128位)
选项(可变) | 填充
数据...
3.2 ICMP(Internet Control Message Protocol)
用途: 传递错误和控制消息
常见类型:
- Type 0: Echo Reply(ping回应)
- Type 8: Echo Request(ping请求)
- Type 3: Destination Unreachable(目标不可达)
- Type 11: Time Exceeded(超时,用于traceroute)
示例命令:
# ping命令使用ICMP
ping google.com
# traceroute使用ICMP
traceroute google.com
3.3 ARP(Address Resolution Protocol)
作用: 将IP地址解析为MAC地址
工作流程:
- 主机A想和192.168.1.10通信
- 发送ARP广播:"谁的IP是192.168.1.10?"
- 目标主机回应:"我是,我的MAC是XX:XX:XX:XX:XX:XX"
- 主机A缓存这个映射
ARP表查看:
arp -a # Windows/Linux查看ARP缓存
4. 传输层协议
4.1 TCP(Transmission Control Protocol)
特点: 可靠、面向连接、字节流传输
三次握手建立连接:
客户端 服务器
SYN ──────────────>
<────────────── SYN+ACK
ACK ──────────────>
四次挥手断开连接:
客户端 服务器
FIN ──────────────>
<────────────── ACK
<────────────── FIN
ACK ──────────────>
TCP头部结构:
源端口(16位) | 目标端口(16位)
序列号(32位)
确认号(32位)
数据偏移(4位)|保留(6位)|控制位(6位)|窗口大小(16位)
校验和(16位) | 紧急指针(16位)
选项(可变) | 填充
数据...
控制位说明:
- URG: 紧急指针有效
- ACK: 确认号有效
- PSH: 接收方应尽快交付
- RST: 重置连接
- SYN: 同步序列号
- FIN: 释放连接
4.2 UDP(User Datagram Protocol)
特点: 无连接、不可靠、报文传输、速度快
UDP头部结构:
源端口(16位) | 目标端口(16位)
长度(16位) | 校验和(16位)
数据...
TCP vs UDP对比:
| 特性 |
TCP |
UDP |
| 连接性 |
面向连接 |
无连接 |
| 可靠性 |
可靠传输 |
尽力而为 |
| 流量控制 |
有滑动窗口 |
无 |
| 拥塞控制 |
有(慢启动等) |
无 |
| 数据顺序 |
保证顺序 |
不保证 |
| 头部大小 |
20-60字节 |
8字节 |
| 传输速度 |
较慢 |
很快 |
| 适用场景 |
文件传输、网页、邮件 |
视频流、游戏、DNS |
5. 应用层协议
5.1 HTTP/HTTPS
HTTP方法:
GET - 获取资源
POST - 提交数据
PUT - 更新资源
DELETE - 删除资源
HEAD - 获取头部信息
HTTP状态码:
1xx - 信息性状态码
2xx - 成功(200 OK)
3xx - 重定向(301 永久重定向)
4xx - 客户端错误(404 未找到)
5xx - 服务器错误(500 内部错误)
HTTPS: HTTP + TLS/SSL加密
# 查看证书信息
openssl s_client -connect google.com:443
5.2 DNS(Domain Name System)
记录类型:
- A记录: IPv4地址
- AAAA记录: IPv6地址
- CNAME: 别名记录
- MX: 邮件交换记录
- TXT: 文本记录
DNS查询过程:
本地DNS缓存 → 递归DNS服务器 → 根DNS服务器
→ 顶级域服务器 → 权威DNS服务器
工具:
# DNS查询
nslookup google.com
dig google.com
5.3 DHCP(Dynamic Host Configuration Protocol)
分配IP的四个步骤:
- DISCOVER: 客户端广播寻找DHCP服务器
- OFFER: 服务器提供IP地址
- REQUEST: 客户端请求该IP
- ACK: 服务器确认分配
租期管理:
- 默认租期:8天
- T1(50%租期):尝试续租
- T2(87.5%租期):广播重新绑定
5.4 SMTP/POP3/IMAP(邮件协议)
| 协议 |
端口 |
用途 |
特点 |
| SMTP |
25 |
发送邮件 |
明文传输,使用HELO/EHLO命令 |
| POP3 |
110 |
接收邮件 |
下载到本地后删除服务器副本 |
| IMAP |
143 |
接收邮件 |
服务器同步,多设备支持好 |
5.5 FTP/SSH
FTP模式:
- 主动模式: 服务器连接客户端(客户端开端口)
- 被动模式: 客户端连接服务器(服务器开端口)
SSH功能:
# 远程登录
ssh user@hostname
# 文件传输
scp file.txt user@hostname:/path
# 端口转发
ssh -L 8080:localhost:80 user@hostname
6. 网络安全协议
6.1 TLS/SSL握手过程
1. Client Hello
2. Server Hello + Certificate
3. Client验证证书
4. 生成会话密钥
5. 加密通信开始
6.2 VPN协议
- IPSec: 网络层加密
- OpenVPN: 应用层,基于SSL
- WireGuard: 现代,高性能
7. 路由协议
7.1 内部网关协议(IGP)
| 协议 |
类型 |
特点 |
| RIP |
距离向量 |
跳数限制15,每30秒广播 |
| OSPF |
链路状态 |
分层设计,快速收敛 |
| EIGRP |
混合 |
Cisco专有,结合两者优点 |
7.2 外部网关协议(BGP)
- 路径向量协议
- 基于TCP 179端口
- 策略路由优先于技术路由
8. 无线网络协议
8.1 Wi-Fi协议演进
802.11b (1999) - 2.4GHz, 11Mbps
802.11a (1999) - 5GHz, 54Mbps
802.11g (2003) - 2.4GHz, 54Mbps
802.11n (2009) - MIMO, 600Mbps
802.11ac (2014) - 5GHz, 6.9Gbps
802.11ax (Wi-Fi 6) - OFDMA, 9.6Gbps
8.2 安全协议
- WEP (已不安全)
- WPA (TKIP加密)
- WPA2 (AES-CCMP)
- WPA3 (SAE握手,更安全)
9. 实际应用示例
9.1 访问网页的完整过程
1. DNS查询: 浏览器缓存 → hosts文件 → DNS服务器
2. TCP连接: 与服务器443端口三次握手
3. TLS握手: 建立安全连接
4. HTTP请求: GET /index.html
5. 接收响应: 状态码 + HTML内容
6. 解析渲染: 下载CSS/JS/图片并显示
7. 连接关闭: 四次挥手
9.2 网络诊断命令
# 查看网络配置
ipconfig / ifconfig / ip addr
# 路由追踪
tracert / traceroute
# 网络连接查看
netstat -an
ss -tulnp # Linux
# 抓包分析
tcpdump -i eth0 port 80
9.3 Wireshark过滤器示例
# 过滤HTTP请求
http.request.method == GET
# 过滤特定IP
ip.src == 192.168.1.1
# 过滤端口
tcp.port == 443
# 显示TCP流
tcp.stream eq 0
10. 协议选择指南
| 应用场景 |
推荐协议 |
原因 |
| 网页浏览 |
HTTP/HTTPS + TCP |
需要可靠传输 |
| 视频流媒体 |
RTMP/HTTP-FLV + TCP 或 RTP + UDP |
实时性要求不同 |
| 在线游戏 |
自定义协议 + UDP |
低延迟优先 |
| 文件传输 |
FTP/SFTP + TCP |
可靠性重要 |
| 邮件发送 |
SMTP + TCP |
可靠投递 |
| 域名解析 |
DNS + UDP |
快速查询 |
| 远程管理 |
SSH + TCP |
安全可靠 |
| 语音通话 |
SIP/RTP + UDP |
实时性关键 |
11. 发展趋势
- HTTP/3: 基于QUIC(UDP),减少延迟
- IPv6普及: 应对地址枯竭
- 零信任网络: 不信任任何设备,持续验证
- 5G融合: 网络协议适配5G特性
- 物联网协议: MQTT、CoAP等轻量级协议兴起
12. 学习资源
12.1 推荐书籍
- 《TCP/IP详解 卷1:协议》
- 《计算机网络:自顶向下方法》
- 《Wireshark网络分析实战》
12.2 在线工具
- Wireshark: 协议分析
- Postman: API测试
- nmap: 网络扫描
- iperf: 网络性能测试
12.3 RFC文档
- RFC 791: IP协议
- RFC 793: TCP协议
- RFC 768: UDP协议
- RFC 2616: HTTP/1.1
文档版本: 1.0 | 最后更新: 2024年12月 | 作者: 网络技术文档
注:实际部署时请参考最新的RFC标准和厂商文档