typora/note/计算机网络/路径MTU发现.md
2024-12-12 10:48:55 +08:00

1.9 KiB
Raw Blame History

1、MTU

image-20230709093828838

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是合适的

4MTU值较多时可以缓存10分钟。过了10分钟后就要重新进行MTU发现

5、UDP MTU发现

  • 无重发机制分片数据IP层处理

image-20230709094530096

6、TCP MTU发现

  • 有重发机制分片数据在TCP协议处理

image-20230709145507885