最大分段大小
网络传输中一个数据包除去首部后的最大长度
此條目翻譯品質不佳。 (2017年12月11日) |
最大分段大小(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).
參見
參考資料
- ^ 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."
- ^ RFC 879 (頁面存檔備份,存於互聯網檔案館), page 1, Section 1, "The default TCP Maximum Segment Size is 536."
- ^ RFC 2460 Archive.is的存檔,存檔日期2012-09-15, page 28, Section 8.3
- ^ RFC 879 (頁面存檔備份,存於互聯網檔案館), page 1, Section 1
- ^ RFC 2460 Archive.is的存檔,存檔日期2012-09-15, page 24, Section 5
- ^ The TCP/IP Guide (頁面存檔備份,存於互聯網檔案館), TCP Maximum Segment Size (MSS) and Relationship to IP Datagram Size