最大分段大小

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

最大分段大小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