### 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)
