最大分段大小

网络传输中一个数据包除去首部后的最大长度

最大分段大小Maximum Segment Size)是傳輸控制協定的一個參數,以位元組數定義一個電腦或通訊裝置所能接受的分段的最大數據量。 它並不會計算 TCP 或 IP 協定頭的大小。[1]。即最大傳輸單元除去信頭後的最大數據量。含有 TCP 分段的 IP 資料包可以在一個封包內自我包含,也可以從多個IP分片中重建。無論如何,MSS 限制都對最終重建的分段起效。

預設的 TCP 最大分段大小是 536。[2]當一個主機想要把 MSS 設置到一個非預設的值時,MSS 大小會以一個 TCP 可選項的方式在握手時的 SYN 包中定義。由於最大分段大小被一個 TCP 參數控制,主機可以在接下來的任意分段中改變它。

每個數據流的方向都可以使用不同的 MSS。

為了避免IP分片,主機應該將最大分段大小定義為最大 IP 資料包大小減去 IP 和 TCP 協定頭的大小。 [3] 於是 IPv4 主機被要求能夠承擔 536(=576[4]-20-20) 位元組的分段大小,IPv6 主機則須能承擔 1220(= 1280[5] - 40 - 20) 位元組的分段。

較低的最大分段大小能夠減少或消除IP分片,然而會造成協定開銷增大。 [6]

對於大部分作業系統來說,最大分段大小的值由作業系統指定。

拓展閱讀

  • Comer, Douglas E. Internetworking with TCP/IP Vol. 1 5/E. Upper Saddle River, NJ, USA: Prentice Hall. 2006. 
  • Kozierok, Charles M. The TCP/IP Guide 3.0. 2005-09-20 [2011-09-08]. (原始內容存檔於2020-10-20). 

參見

參考資料

  1. ^ RFC 879頁面存檔備份,存於互聯網檔案館), page 2, Section 3, "The MSS counts only data octets in the segment, it does not count the TCP header or the IP header."
  2. ^ RFC 879頁面存檔備份,存於互聯網檔案館), page 1, Section 1, "The default TCP Maximum Segment Size is 536."
  3. ^ RFC 2460 Archive.is存檔,存檔日期2012-09-15, page 28, Section 8.3
  4. ^ RFC 879頁面存檔備份,存於互聯網檔案館), page 1, Section 1
  5. ^ RFC 2460 Archive.is存檔,存檔日期2012-09-15, page 24, Section 5
  6. ^ The TCP/IP Guide頁面存檔備份,存於互聯網檔案館), TCP Maximum Segment Size (MSS) and Relationship to IP Datagram Size