协议分片

各层协议首部长度

协议层首部长度说明
以太网(链路层)14 字节(MAC 头) + 4 字节(FCS)- 源/目的 MAC 各 6 字节,类型 2 字节(如 0x0800=IPv4)。
- FCS(帧校验序列)可选。
IPv420 字节(固定) + 可选选项- 最小 20 字节,选项字段≤40 字节(总长≤60 字节)。
IPv640 字节(固定)- 无选项字段,扩展头部单独计算。
UDP8 字节(固定)- 含源/目的端口、长度、校验和字段。
TCP20 字节(固定) + 可选选项- 选项字段≤40 字节(总长≤60 字节)。

示例

2 UDP 数据长度 9192B

2.1 假设条件

  • 链路层协议:以太网(Ethernet II)。
  • MTU:1500 字节(标准以太网值)。
  • IP 层:IPv4(无选项字段,首部 20 字节)。
  • UDP 首部:8 字节。

2.2 计算总长度

  • UDP 数据报总长度 = UDP 首部 + 数据 = 8 + 9192 = 9200 字节
  • IP 层总长度 = IP 首部 + UDP 数据报 = 20 + 9200 = 9220 字节(超过 MTU,需分片)。

2.3 分片规则(IPv4)

  • 每片最大载荷 = MTU - IP 首部 = 1500 - 20 = 1480 字节
  • 分片数量 = ⌈9220 / 1480⌉ = 7 片(前 6 片各 1480 字节,第 7 片剩余)。

2.4 分片细节

分片序号IP 分片偏移分片长度实际载荷MF 标志
101480IP 头 (20) + UDP 头 (8) + 1452 数据1(更多)
2185 (1480/8)14801480 数据1
1
6925 (7400/8)14801480 数据1
71110 (8880/8)340340 数据0(最后)

2.5 链路层帧数量

  • 每 IP 分片对应一个以太网帧
    • 帧总长度 = MAC 头 (14) + IP 分片 (≤1500) + FCS(4) = ≤1518 字节。
  • 总帧数 = IP 分片数 = 7 帧