MSS

MSS

最大报文段长度
最大报文段长度(MSS)是TCP协议的一个选项,用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度(不包括文段头)[1]。最大报文段长度(MSS)与最大传输单元(Maximum Transmission Unit, MTU)均是协议用来定义最大长度的。不同的是,MTU应用于OSI模型的第二层数据链接层,并无具体针对的协议。MTU限制了数据链接层上可以传输的数据包的大小,也因此限制了上层(网络层)的数据包大小。例如,如果已知某局域网的MTU为1500字节,则在网络层的因特网协议(Internet Protocol, IP)里,最大的数据包大小为1500字节(包含IP协议头)。MSS针对的是OSI模型里第四层传输层的TCP协议。因为MSS应用的协议在数据链接层的上层,MSS会受到MTU的限制。
  • 中文名:最大报文段长度
  • 外文名:Maximum Segment Size
  • 所属学科:
  • 起源时间:20世纪七十年代
  • 缩 写:MSS
  • 应用领域:通信系统
  • 适用协议:TCP

开放式模型

开放式系统互联模型(OpenSystemInterconnection Model,简称为OSI模型)是一种互联网概念化模型,由国际标准化组织(InternationalOrganization forStandardization,简称为ISO)提出,定义于ISO/IEC 7498-1。OSI模型将互联网分为七层,由最高层(用户端)到最底层(物理层面)排列为:第7层 应用层(Application Layer);第6层表达层(Presentation Layer);第5层会话层(Session Layer);第4层传输层(Transport Layer);第3层网络层(Network Layer);第2层数据链接层(Data Link Layer)第1层 物理层(Physical Layer);本词条MSS是第四层传输层中的一种协议(TCP)的选项之一。

TCP协议头

TCP是收发双方协商通信时所用的协议之一。TCP的协议头有源端口,目的端口,序号,确认序号等必填项,如下图1所示。

除了以上必填项,TCP还有其他选项(图1中"数据"前“选项”部分)。最大报文段长度(MSS)即为TCP的选项之一。MSS选项由四个字节构成:选项类型代码为2(1字节),选项长度(1字节),选项数据(2字节)共计4字节。其中,选项数据的2字节代表了MSS的值。如果MSS选项数据为512,则表示该报文段的发送方可以处理的最大报文段长度为512字节(不包括TCP与IP协议头长度)。

计算MSS

对于IPv4,为了避免IP分片,主机一般默认MSS为536字节(576IP最大字节数-20字节TCP协议头-20字节IP协议头=536字节)。同理,IPv6的主机默认MSS为1220字节(1280IP最大字节数-20字节TCP协议头-40字节IP协议头=1220字节)。当发送方主机想要调整MSS时,应注意以下几点:

MSS不包含TCP及IP的协议头长度。

MSS选项只能在初始化连接请求(SYN=1)使用。

发送方与接收方的MSS不一定相等。

区分

最大报文段长度(MSS)与最大传输单元(Maximum Transmission Unit, MTU)均是协议用来定义最大长度的。不同的是,MTU应用于OSI模型的第二层数据链接层,并无具体针对的协议。MTU限制了数据链接层上可以传输的数据包的大小,也因此限制了上层(网络层)的数据包大小。例如,如果已知某局域网的MTU为1500字节,则在网络层的因特网协议(Internet Protocol, IP)里,最大的数据包大小为1500字节(包含IP协议头)。MSS针对的是OSI模型里第四层传输层的TCP协议。因为MSS应用的协议在数据链接层的上层,MSS会受到MTU的限制。

相关词条

相关搜索

其它词条