問題:
乙個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資料部分
參考:
tcp ip模型中運輸層深入解析
於tcp ip模型中運輸層。主機間的通訊實際上是主機中的程序間的通訊,在網路層,提供主機與主機之間的邏輯通訊,ip協議雖然能把分組送到目的主機,但是此時分組還停留在網路層,並沒有交付給實際通訊的各個程序,類似於快遞只是到了貨運點,並沒有派送。派送的任務實際上是由運輸層進行了,此處引出復用與分用的定義...
LeetCode第146題解析
運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料 get 和 寫入資料 put 獲取資料 get key 如果關鍵字 key 存在於快取中,則獲取關鍵字的值 總是正數 否則返回 1。寫入資料 put key,value 如果關鍵字已經存在,則變更其...
LeetCode第15題解析
給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 請你找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 class so...