最大分段大小
外观
此条目翻译品质不佳。 (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