通信时MTU的获得和路径MTU

由于以太网物理性质的限制,我们在IP层发送数据的时候, 如果发送向物理层的数据包大于物理层的限制, 就会发生错误. 该物理层限制就叫做MTU.

而在网络传输中, 每一条传输线路都有可能有自己不同的传输限制, 虽然路由器可以在IP层进行数据包分片传输, 但是有IP层进行的分片传输, 一旦在对端重组的时候, 有一个出现了错误, 就会发生丢包, 不论是对于TCP还是UDP,都是非常不好的.

所以, 为了不让IP层进行分片, 我们在传输数据的时候, 就需要获得发往该目的地的路线上的最小的传输线路的限制大小. 这就是路径MTU.

TCP和UDP获得MTU的方式是相同的, TCP使用路径MTU来确定自己的MSS字段的大小, 而UDP获得MTU的目的就是只让当前的UDP报文在自己的发送端进行分片, 除此之外不允许再分片.

路径MTU的原理

  • 首先, 发送端对外发送数据包, 发送端IP层将IP报头禁止分片位设置为1, 如果之后某一条路的路由器, 必须分片才能将该IP报文传输出去, 那就直接丢弃掉该报文, 然后返回一个ICMP的响应报文, 告诉发送端当前自己的路径MTU是多大
  • 获得返回ICMP报文的主机, 就将该值设置为当前MTU, 然后再次进行发送, 如此往复, 直到没有ICMP数据包返回, 就说明找到了当前发送给接收端主机的路径MTU.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值