MTU的理解和总结
最近在分析彩信发送速度方面的问题,因此对MTU值进行了进一步研究,以下是我个人对MTU的理解和总结:
1. MTU( maximum transmission unit )是设置在网卡上的配置值,它决定了经过网卡传输的数据包的最大尺寸。
2. 数据包在网络上传输的时候,会经过许多的路由器和网关,这些设备上都有MTU设置,如果数据包太大,经过设备的时候还会被拆分。因此PMTU(路径最大传输单元, 它等于路径上每一跳的MTU之中的最小值)值对数据传输速度影响更大。Internet网中PMTU一般为 576B 。
3. 在TCP建立的时候终端会与服务器协商MSS( maximum segment size ),它是TCP数据包每次能够传输的最大数据分段。它与MTU的关系是:MTU = MSS + 20 (TCP header length)+ 20 (IP header length)。MSS 协商结果(两端支持的MSS的最小值)才最终决定终端发出的数据包大小。
4. 在现网中,经抓包发现WAP网关返回的MSS值为1410,所以为了追求最大的性能,我们设置的MTU值应当不小于1450 (1410 + 20 +20),所以当前我们建议的经验值为 1460 B 。
5. 由于Internet网中PMTU一般为 576B, 所以终端设置的MTU应当不小于它,但是设置大了也不一定能够提升传输效率。
以下链接供参考:
http://en.wikipedia.org/wiki/Maximum_transmission_unit
http://www.cnpaf.net/Class/RFC/200408/977.html
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/83.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~
评论列表:
概括来讲,MTU是以太网数据链路层中约定的数据载荷部分最大长度,数据不超过它时就无需分片。
MSS是传输层的概念,由于数据往往很大,会超出MTU,所以我们之前在网络层中学习过IP分片的知识,将很大的数据载荷分割为多个分片发送出去。
TCP为了IP层不用分片主动将数据包切割为MSS大小。
一个等式可见他两关系匪浅: MSS = MTU - IP header头大小 - TCP 头大小
MTU(以太网为1500字节)= MAC头部+IP头部+TCP头部+数据头部(mss)+FCS
PPPoE连接的最高MTU值是1492,不建议去做任何修改