### 1、MTU ![image-20230709093828838](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709093828838.png) ### 2、IP分片与组装 - 超过最大MTU的数据,路由器负责切分,最终目的主机负责组装 - 路由器不负责组装原因 - 每个IP数据包,不一定始终经过同一个路由器进行转发 - 中途数据包丢失,组装数据无意义 - 组装增加路由器负担,降低转发效率 ![](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709093951581.png) ### 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层处理 ![image-20230709094530096](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709094530096-20230709145336162.png) ### 6、TCP MTU发现 - 有重发机制,分片数据在TCP协议处理 ![image-20230709145507885](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709145507885.png)