最小重组缓冲区和路径MTU发现

概括:

主要来源于unp,可参考:http://blog.csdn.net/ysu108/article/details/7764461

疑惑:

1. 最小重组缓冲区大小:

ipv4为576,ipv6为1500. 
我的理解:这句"任何实现都必须保证支持的最小数据包大小":

  • 指ip层必须保证能被正确处理,而不会溢出tcp缓冲区;
  • 小于它的包一定能被正确处理,而大于它的包不一定;
  • 由对端决定,若对端不指出MSS设为536(减去头部后).
  • ps: 似乎如今不采用这种策略,而是通过路径MTU决定.
  • ps: 还是不理解,缓冲区是指tcp的缓冲区?ip层似乎没有缓冲区.(未看tcp详解)

2. 路径MTU发现:

主要参考:http://blog.csdn.net/u011130578/article/details/44629265

原因:过小浪费资源,过大则分片.

何时启用:大多时候发送数据时.

方法:发送pmtu包探测,设置不分片位(DF位). 

三种结果:回复成功;回复应该分片(icmp包);不回复(被丢弃). 

  1. 回复成功: 则下次发生再加大pmtu进行探测.
  2. 根据回复包中的mtu调整pmtu.
  3. 可能是防火墙不恢复icmp包或路由丢弃,减小pmtu再发送.(快重传快恢复)

posted on 2017-12-08 17:50  willaty  阅读(1498)  评论(0)    收藏  举报

导航