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