MSS和MTU

        最近在看traceroute源码,在这里总结以下涉及到了PMTU,MTU,MSS相关知识,以及traceroute源码的分析。

1. MTU

        MTU,Maximum Transmission Unit,最大传输单元。数据链路层允许的最大的payload ,即IP报文大小,通常为1500字节。

        MTU对UDP/TCP数据包大小限制,分两种情况:

  • 局域网下

        UDP数据长度 = 1500 - 20(IP首部) - 8(UDP首部) = 1472字节

        TCP数据长度 = 1500 - 20(IP首部) - 20(TCP首部) = 1460字节

        大于则在IP层分片(具体看IP首部的DF标志,MF标志)

  • Internet下

        Internet标准MTU大小为576 字节[RFC791]。

        UDP数据长度 = 576 - 20 - 8 = 548字节,一般取2^9 = 512字节(便于内存分配)

2. MSS

        MSS,Maximum Segment Size,最大报文大小。TCP 对`数据段`(payload)的最大长度,即对应用层协议的限制。

        建立TCP连接时需要协商双方的MSS值,实现时往往用MTU值推算(即MSS=MTU-20-20,通

常为1460字节),连接双方根据一方MSS值的最小值作为本次连接最大的MSS值。

​​​​​3. PMTU​

        PMTU,Path MTU。当两台主机之间通信要通过多个网络时,每个网络的链路层可能会有不同的MTU,路径中这些网络的MTU中的最小值即该路径的PMTU。将MSS设置为PMTU,可以避免在主机以及网络中任何一个节点处发生IP分片。利用traceroute可以探测PMTU。

4. traceroute源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路转溪桥忽见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值