假设我们有两台 PC 和一台路由器:
PC1 ------------ 路由器 ---------- PC2
PC 1 MTU 为 400 字节 PC 2 MTU 为 1500 字节
我们从 PC1(400) 向 PC2(1500) 发送一个数据包
问题是:是否 会出现任何数据包碎片/字节过多 - 路由器在这种情况下将如何操作?
在我看来 - 不,但不应该用零或其他东西填充数据吗?
另外,如果我们在其中两个之间切换 MTU,碎片是如何工作的?
假设我们有两台 PC 和一台路由器:
PC1 ------------ 路由器 ---------- PC2
PC 1 MTU 为 400 字节 PC 2 MTU 为 1500 字节
我们从 PC1(400) 向 PC2(1500) 发送一个数据包
问题是:是否 会出现任何数据包碎片/字节过多 - 路由器在这种情况下将如何操作?
在我看来 - 不,但不应该用零或其他东西填充数据吗?
另外,如果我们在其中两个之间切换 MTU,碎片是如何工作的?
PC1 可以向 PC2 发送 400 字节的数据包。没有碎片化。
当 PC2 回复时,可能会发生以下两种情况之一:
如果连接到 PC1 的路由器接口的 MTU 为 400,则路由器将对数据包进行分段。
如果路由器接口设置为1500,则不会分片,PC1会丢弃数据包。
从一个小的 MTU 到一个更大的 MTU 不会产生任何碎片,也不会导致任何填充,除非第 2 层协议具有大于 MTU 的最小帧或有效载荷大小。请记住,MTU 中的“M”代表“最大值”,而不是“最小值”。以太网的最小帧大小为 64 字节,最小有效载荷大小为 46 字节,因此使用以太网不会导致以太网有效载荷中出现任何填充,并且 IP 不在乎因此不会修改数据包。