Host A (eth0-1500 bytes)--->(eth0-1500) Router (eth1-1000)---> (eth0-1000) Host B
你能解释一下这种情况下路由器如何处理数据包吗?如果主机 A 发送的数据大小为 4000 字节。这里Router收到了1500字节的分片包,但是Router的出接口是1000字节,然后Router会重新分片发送给Host B或者Router会发送ICMP Error Message给Host A。
Host A (eth0-1500 bytes)--->(eth0-1500) Router (eth1-1000)---> (eth0-1000) Host B
你能解释一下这种情况下路由器如何处理数据包吗?如果主机 A 发送的数据大小为 4000 字节。这里Router收到了1500字节的分片包,但是Router的出接口是1000字节,然后Router会重新分片发送给Host B或者Router会发送ICMP Error Message给Host A。
如果没有链路上 MTU 为 1500 字节的传输协议,主机 A 无法发送 4000 字节的数据。
假设 TCP(20 字节数据包开销)超过 IPv4(20 字节开销),主机 A 将数据分成两个 1460 字节和一个 1080 字节段。由于第 2 段的 MTU 较低,路由器需要将这些 1500 和 1120 字节的数据包分成 1000、500、1000、500、1000 和 120 字节。如果主机 A 设置不分片,路由器将返回“需要分片”并丢弃数据包。
使用 IPv6(40 字节数据包开销),首先发现路径 MTU,并使用生成的 940 字节段大小(导致 4x 1000 + 1x 300 字节数据包)。