1.9 KiB
1.9 KiB
1、MTU
2、IP分片与组装
- 超过最大MTU的数据,路由器负责切分,最终目的主机负责组装
- 路由器不负责组装原因
- 每个IP数据包,不一定始终经过同一个路由器进行转发
- 中途数据包丢失,组装数据无意义
- 组装增加路由器负担,降低转发效率
3、路径MTU发现
- Path MTU Discovery
- 从发送端主机到接收端主机之间不需要分片时最大MTU的大小,即路径中存在的所有数据链路中最小的MTU
- 从发送主机按照路径MTU的大小将数据报分片后进行发送
- 可以避免在传输中途的路由器上进行分片处理,也可以在TCP中发送更大的包
4、MTU发现过程
(1)发送端主机在发送IP数据报时将其首部的分片禁止标志设置为1,根据这个标志位,途中的路由器即使遇到需要分片才能处理的大包,也不会去分片,而是丢包
(2)丢包的路由器返回一个ICMP不可达消息报文将数据链路上的MTU值发给主机
(3)发送主机根据ICMP中的MTU值进行分片处理,如此反复知道数据报备发送到目标主机为止没有在收到任何ICMP,就认为最后一个ICMP中的MTU是合适的
(4)MTU值较多时,可以缓存10分钟。过了10分钟后就要重新进行MTU发现
5、UDP MTU发现
- 无重发机制,分片数据IP层处理
6、TCP MTU发现
- 有重发机制,分片数据在TCP协议处理