网络协议详解

本笔记汇总常见网络协议的核心要点,详细分析见各专题笔记。

应用层协议

HTTP/HTTPS

HTTP (HyperText Transfer Protocol)

  • 基于请求-响应模式
  • 无状态协议,每次请求独立处理
  • 默认端口: 80

HTTP 方法

GET     - 获取资源
POST    - 提交数据
PUT     - 更新资源
DELETE  - 删除资源
HEAD    - 仅获取响应头
OPTIONS - 获取支持的方法

HTTP 状态码分类

  • 1xx: 信息性响应
  • 2xx: 成功 (200 OK, 201 Created)
  • 3xx: 重定向 (301 Moved Permanently, 302 Found)
  • 4xx: 客户端错误 (400 Bad Request, 404 Not Found)
  • 5xx: 服务器错误 (500 Internal Server Error, 503 Service Unavailable)

HTTPS (HTTP Secure)

  • HTTP + SSL/TLS 加密
  • 默认端口: 443
  • 提供数据加密、完整性校验、身份认证

详细分析见 02.02_应用层协议详解。

DNS

域名解析过程

  1. 浏览器缓存 → 操作系统缓存 → 本地 hosts 文件
  2. 递归查询本地 DNS 服务器
  3. 根域名服务器 → 顶级域名服务器 → 权威域名服务器

DNS 记录类型

A     - IPv4 地址记录
AAAA  - IPv6 地址记录
CNAME - 别名记录
MX    - 邮件交换记录
TXT   - 文本记录(SPF 等)
NS    - 域名服务器记录

传输层协议

TCP 特点

可靠性保障机制

  • 序列号和确认号:确保数据按序到达
  • 超时重传:丢失数据自动重发
  • 流量控制:滑动窗口机制防止接收方缓冲区溢出
  • 拥塞控制:慢开始、拥塞避免、快重传、快恢复

TCP 三次握手

客户端 → SYN → 服务器
客户端 ← SYN-ACK ← 服务器
客户端 → ACK → 服务器

TCP 四次挥手

客户端 → FIN → 服务器
客户端 ← ACK ← 服务器
客户端 ← FIN ← 服务器
客户端 → ACK → 服务器

UDP 特点

  • 无连接:发送前不需要建立连接
  • 不可靠:不保证数据到达和顺序
  • 简单高效:头部开销小(8 字节)
  • 支持广播和多播
  • 适用于实时应用(视频、音频、游戏)

网络层协议

IP 协议

IPv4 地址结构

  • 32 位地址,分为 4 个 8 位组
  • 点分十进制表示:192.168.1.1
  • 由网络号和主机号组成

IP 地址分类

A类: 1.0.0.0 - 126.255.255.255   (大型网络)
B类: 128.0.0.0 - 191.255.255.255 (中型网络)
C类: 192.0.0.0 - 223.255.255.255 (小型网络)
D类: 224.0.0.0 - 239.255.255.255 (组播地址)
E类: 240.0.0.0 - 255.255.255.255 (保留地址)

特殊 IP 地址

127.0.0.1       - 回环地址
0.0.0.0         - 未知地址/默认路由
255.255.255.255 - 受限广播地址
10.0.0.0/8      - 私有地址 A 类
172.16.0.0/12   - 私有地址 B 类
192.168.0.0/16  - 私有地址 C 类

子网划分详见 01.03_IPv4地址与子网划分。

ICMP 协议

主要功能

  • 错误报告:目的不可达、超时等
  • 诊断功能:ping、traceroute
  • 路径控制:重定向

常见 ICMP 类型

Type 0  - Echo Reply (ping 响应)
Type 8  - Echo Request (ping 请求)
Type 3  - Destination Unreachable
Type 11 - Time Exceeded
Type 5  - Redirect

详见 02.04_ICMP与网络诊断。

网络地址转换 NAT

NAT 实现私有地址与公网地址的转换,包括静态 NAT、动态 NAT、PAT/NAPT(端口复用)等类型,详细原理与配置见 04.02_NAT与端口映射。


💡 实践建议:使用 tcpdump 或 Wireshark 抓包分析协议交互过程。

🔗 相关笔记:01.02_TCP_IP协议栈 02.02_应用层协议详解 02.04_ICMP与网络诊断