Maximum Segment Size)是传输控制协议的一个参数,以字节数定义一个计算机或通信设备所能接受的分段的最大数据量。 它并不会计算 TCP 或 IP 协议头的大小。 含有 TCP 分段的 IP 资料包可以在一个数据包内自我包含,也可以从多个IP分片中重建。无论如何,MSS 限制都对最终重建的分段起效。
简介最大分段大小(MaximumSegmentSize)是传输控制协议的一个参数,以字节数定义一个计算机或通信设备所能接受的分段的最大数据量。 它并不会计算 TCP 或 IP 协议头的大小。含有 TCP 分段的 IP资料包可以在一个数据包内自我包含,也可以从多个IP分片中重建。无论如何,MSS 限制都对最终重建的分段起效。
默认的 TCP 最大分段大小是 536。当一个主机想要把 MSS 设置到一个非默认的值时,MSS 大小会以一个 TCP 可选项的方式在握手时的SYN包中定义。由于最大分段大小被一个 TCP 参数控制,主机可以在接下来的任意分段中改变它。
每个数据流的方向都可以使用不同的 MSS。
为了避免IP分片,主机应该将最大分段大小定义为最大 IP资料包大小减去 IP 和 TCP 协议头的大小。于是IPv4主机被要求能够承担 536(=576-20-20) 字节的分段大小,IPv6主机则须能承担 1220(= 1280- 40 - 20) 字节的分段。
较低的最大分段大小能够减少或消除IP分片,然而会造成协议开销增大。
对于大部分操作系统来说,最大分段大小的值由操作系统指定。1
传输控制协议传输控制协议(英语:TransmissionControlProtocol,缩写为TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据包协议(UDP)是同一层内另一个重要的传输协议。
在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。1
参见路径MTU发现
本词条内容贡献者为:
胡启洲 - 副教授 - 南京理工大学