udp資料包大小問題
阿新 • • 發佈:2019-02-05
參考UDP資料包大小問題
幾個關鍵點:
1. 乙太網(Ethernet 在資料鏈路層)資料幀的長度必須在46-1500位元組之間,這個1500位元組被稱為鏈路層的MTU(最大傳輸單元)(已經減去首部和尾部的18位元組)這個1500位元組就是網路層IP資料報的長度限制.因為IP資料報的首部為20位元組,所以IP資料報的資料區長度最大為1480位元組.而這個1480位元組就是用來放TCP傳來的TCP報文段或UDP傳來的UDP資料報的.又因為UDP資料報的首部8位元組,所以UDP資料報的資料區最大長度為1472位元組.當我們傳送的UDP資料大於1472的時候會怎樣呢?這也就是說IP資料報大於1500位元組,大於 MTU.這個時候傳送方IP層就需要分片(fragmentation)
2. 進行Internet程式設計時則不同,,因為Internet上的路由器可能會將MTU設為不同的值. 鑑於 Internet上的標準MTU值為576位元組,所以在進行Internet的UDP程式設計時.最好將UDP的資料長度控制元件在548位元組 (576-8-20)以內.