1. 程式人生 > >tcp,udp報文最大長度

tcp,udp報文最大長度

操作 miss 單元 格式 如果 mission mis src size

  tcp,udp報文最大長度是怎麽樣的呢?

先來看看各個報文格式:

ip報文

技術分享

tcp報文

技術分享

udp報文

技術分享

ip和udp都有16位的長度字段,所以ip和udp報文的最大負載長度應該為2^16,64MB

網絡層限制:

  MTU(Maximum Transmission Unit,最大傳輸單元),這限制了ip報文長度,ip報文長度大於mtu,就需要分片。通常設為1500字節。

  在網絡層,ip提供不可靠傳輸服務,一旦收到的數據報分片丟失部分或部分出現差錯,就會全部丟棄,而不會選擇重傳。

傳輸層限制:

  tcp協議中有個MSS,tcp通常將數據分成長度為MSS的若幹塊。

總結:

  ip報文由於其長度字段限制,最大負載長度為64MB,而由mtu限制,報文會分片為長度為mtu的若幹段。

   udp因沒有序號等字段,所以無法分片,最大負載長度64MB,受制ip報文限制,數據最大負載為64mb-20(ip)-8(udp)

   tcp:目前來看,tcp的最大負載限制應該是其分片序號,2^32*mss,如果按MSS=1460來算,接近6TB,但這絕不可能,畢竟還有重傳等操作,不過我覺得可以認為tcp的最大負載很大。(—_—)

tcp,udp報文最大長度