最大分段大小

最大分段大小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. Vol. 1 5/E. Upper Saddle River, NJ, USA: Prentice Hall. 2006.
  • Kozierok, Charles M. 3.0. 2005-09-20 [2011-09-08]. (原始内容存档于2020-10-20).

参见

  • 路径MTU发现

参考资料

  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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.