當我們從一個路由器發送數據包到網絡層上的另一個路由器,並且數據包大小大於路由器的MTU(最大可傳輸單元)時,我們必須對數據包進行分段。我的問題是:假設我們需要在最後一個片段中添加填充位,那麼我們在哪裏添加填充位(在LSB或MSB中)以及目標路由器如何區分包位或填充位?網絡層局域網
Q
網絡層局域網
1
A
回答
0
您不需要添加任何填充位。所有比特將沿着路線推進,直到完整幀被髮送。
2
我要你之前要考慮以下幾點:在由數據鏈路協議強加IP數據克的最大尺寸
- 限制。
- IP是在路由器和主機上實現的最高層協議。
- 重新組裝原始數據塊只能在目標主機上完成。這需要網絡核心中存在的路由器需要完成的額外工作。
這裏數據包的初始長度是2400字節,需要按照1000字節的MTU限制進行分片。
只有13位可用於片段偏移量,偏移量爲8個字節的倍數。這就是爲什麼第一個和第二個片段中的數據字段的大小爲976字節(它是可以被8整除的最大數字,小於1000 - 20字節)。這使得總大小爲996字節的第一和第二片段。最後一個片段包含剩餘的428個字節的有效負載(總共有448個字節)。
偏移量可以計算爲0; 976/8 = 122和1952/8 = 244。
當這些片段到達目標主機時,需要重新組裝。主機爲此任務使用標識,標誌和碎片偏移量。爲了確定哪些片段屬於哪個數據塊,主機使用源地址,目標地址和標識來唯一標識它們。 偏移值和更多片段位用於確定是否所有片段都已到達。
對您的問題的回答
只有非最後一個片段需要將有效負載劃分爲8的倍數。使用偏移量除以8的原因有助於主機識別下一個片段的起始地址。如果遇到最後一個片段,主機不需要下一個片段的地址。因此,在最後一個片段的情況下,不需要擔心有效載荷是8的倍數。主機檢查更多片段標誌以標識最後一個片段。
有點附加信息:網絡層不負責保證數據庫的交付。如果遇到一個或多個碎片尚未到達,那麼它只是丟棄整個數據塊。在網絡層以上工作的傳輸層將負責處理這個事情,如果它使用TCP,請求源重新傳輸數據。
參考文獻:Computer Networking-A Top Down Approach,James F. Kurose,Keith W.Ross(第五版)
相關問題
- 1. Raspberry PI多局域網網絡連接
- 2. 網絡:傳輸層和網絡層
- 3. 無線上網的無線局域網訪問局域網
- 4. 具有局域網故障保護的網絡體系結構
- 5. 沒有廣播的局域網上的網絡發現
- 6. 在本地網絡局域網上處理錯誤
- 7. 德爾福,數據庫局域網和網絡
- 8. Java - 列出局域網上的所有網絡打印機
- 9. 將局域網與家庭網絡合並
- 10. 網絡流量操縱(虛擬局域網)
- 11. 限制網絡套接字到局域網
- 12. php - 檢查文件是否存在於網絡/局域網
- 13. 使用XAMPP通過局域網訪問網絡服務器
- 14. 通過局域網訪問本地網絡應用程序
- 15. 局域網喚醒(WoL) - 通過網絡啓動計算機
- 16. 從其他局域網訪問網絡攝像機
- 17. arp從局域網到廣域網
- 18. 部署/局域網
- 19. 錯誤局域網
- 20. thorugh局域網LAN
- 21. 貝葉斯網絡多層
- 22. 如何聽L3網絡層?
- 23. 單層神經網絡
- 24. 是否可以掃描局域網的局域網?
- 25. Wordpress網絡和子域上的網站
- 26. 廣域網中的Android網絡
- 27. 設置網站在iis 7.5在局域網上訪問蘭局域網
- 28. 網絡層(通過計算機網絡,的Tanenbaum)
- 29. 跨網絡的域登錄
- 30. 從局域網訪問ASP.NET網站
這些位應該不相關,因爲每個包都指定了特定的幀大小。因此,對於網絡層以上的任何實際上有意義的東西,附加位都是可見的。 – arkascha
如果最後一幀不是8的倍數比我們增加填充位和其他側面路由器的數據是8的倍數,並且它如何計算最後一幀的實際大小 – PDP
如上所述:它明確指定在包內。採取網絡嗅探器,幾個包裹,並自己看看。 – arkascha