9.IP数据包分片计算
IP数据报分片计算
题目1:主机发送5400字节数据,MTU=1400字节(IPv4),填写分片后的字段值。
解答:
-
分片规则:
- 每片数据长度尽量接近MTU(1400B),IP首部20B,故每片数据部分≤1380B。
- 需分片数: ⌈ 5400 / 1380 ⌉ = 4 \lceil 5400 / 1380 \rceil = 4 ⌈5400/1380⌉=4片。
- 片偏移以8字节为单位。
-
分片参数表:
分片 总长度 标识 DF MF 片偏移 1 1420 375 0 1 0 2 1420 375 0 1 175 3 1420 375 0 1 350 4 1220 375 0 0 525 -
计算过程:
- 片偏移 = 前一数据片末尾字节数 / 8
(如第2片:1380/8=172.5→取整175) - 最后一片MF=0表示结束。
- 片偏移 = 前一数据片末尾字节数 / 8
题目2
假设主机 A 向主机 B发送一个总长度为 1500 B 的 IP 分组,IP 分组的头部长度为 20 B。若分片时尽可能分为最大片,计算一个最大 IP 分片封装数据的字节数是多少,计算至少需要分为几个分片,计算每个分片的片偏移量。
-
数据长度:
1500B(总长) - 20B(头) = 1480B
-
分片规则:
需为8B整数倍,且≤800 - 20 = 780B
→ 最大776B
-
分片数量:
⌈ 1480 776 ⌉ = 2 片 \lceil \frac{1480}{776} \rceil = 2 \text{片} ⌈7761480⌉=2片
偏移量:
-
第一片:
0~776B
,偏移量0
-
第二片:
776~1480B
,偏移量:
776 8 = 97 \frac{776}{8} = 97 8776=97