MSS 是TCP选项中最经常出现,也是最早出现的选项。MSS选项占4byte。MSS是每一个TCP报文段中数据字段的最大长度,注意:只是数据部分的字段,不包括TCP的头部。TCP在三次握手中,每一方都会通告其期望收到的MSS(MSS只出现在SYN数据包中)如果一方不接受另一方的MSS值则定位默认值536byte。
MSS值太小或太大都是不合适。太小,例如MSS值只有1byte,那么为了传输这1byte数据,至少要消耗20字节IP头部+20字节TCP头部=40byte,这还不包括其二层头部所需要的开销,显然这种数据传输效率是很低的。MSS过大,导致数据包可以封装很大,那么在IP传输中分片的可能性就会增大,接受方在处理分片包所消耗的资源和处理时间都会增大,如果分片在传输中还发生了重传,那么其网络开销也会增大。因此合理的MSS是至关重要的。MSS的合理值应为保证数据包不分片的最大值。对于以太网MSS可以达到1460byte.
不MSS相似的在IP层也有一个类似的概念---MTU(Maximum Transfer Unit)下图可以清晰翻译MSS不MTU 的关系:关于TCP中的MSS

MTU=MSS+TCP Header+IP Header.

事实是发送方和接收方存在很多中间设备,那MSS是如何协商的呢?

请看下图:

关于TCP中的MSS

相关文章:

  • 2021-08-27
  • 2021-04-14
  • 2021-12-17
  • 2022-12-23
  • 2021-10-07
  • 2022-12-23
  • 2021-07-09
猜你喜欢
  • 2022-12-23
  • 2021-11-13
  • 2022-01-09
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
  • 2021-03-31
相关资源
相似解决方案