• TCP中的MSS解读(转)


      本文摘录自TCP中的MSS解读

      

      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-analysis-section-6-2

      MTU=MSS+TCP Header+IP Header.

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

      请看下图:

      
     
     
  • 相关阅读:
    Codeforces Round #308 (Div. 2) A B C 水 数学
    2016 ACM/ICPC Asia Regional Dalian Online 1002/HDU 5869
    Mysql5.7 安装
    NTP服务器时间同步
    postgres-xl 集体搭建(2)
    postgres-xl 集体搭建(1)
    postgres-xl 集体搭建
    单词本
    docker machine
    桥接 NAT HOST-ONLY
  • 原文地址:https://www.cnblogs.com/xiehongfeng100/p/4629341.html
Copyright © 2020-2023  润新知