一個UDP用戶數據的數據字段爲8192字節,在數據鏈路層要使用以太網來傳輸,試問應當劃分爲幾個IP數據報片?說明每一個IP數據報字段長度和片偏移字段的值
答:6個數據字段的長度:前5個是1480字節,最後一個是800字節,片偏移字段的值分別是:0, 185, 370, 555, 740, 925
習題解析
(劃分結果如最後圖中所示)
UDP數據報 = 首部8字節 + 數據部分組成
因爲數據字段爲8192字節,所以數據報總長度 = 8192 + 8 = 8200 字節
以太網的最大傳輸單元MTU = 1500
因爲要劃分爲幾個IP數據報,而每個IP數據報的首部佔20字節,所以字段部分最大佔1480字節
劃分的時候,可以劃分爲 8200 / 1480 = 5,餘 800 字節
所以應當劃分爲 6 個IP數據報片,前 5 個都是 1480 字節,第 6 個是 800 字節
- 第一個IP數據報字段長度:1480,第一片偏移字段:1480 * 0 / 8 = 0
- 第二個IP數據報字段長度:1480,第二片偏移字段:1480 * 1 / 8 = 185
- 第三個IP數據報字段長度:1480,第三片偏移字段:1480 * 2 / 8 = 370
- 第四個IP數據報字段長度:1480,第四片偏移字段:1480 * 3 / 8 = 555
- 第五個IP數據報字段長度:1480,第五片偏移字段:1480 * 4 / 8 = 740
- 第六個IP數據報字段長度:800, 第六片偏移字段:1480 * 5 / 8 = 925
UDP數據報的首部存在於第一個IP數據報片中,所以第一個IP數據報字段爲:首部8字節 + 1472數據部分