我知道如果IP负载 > MTU,则路由器通常会分段IP数据包。最后,使用IP-ID、IP片偏移和分段标志字段在目标处组装所有分段的数据包。IP负载的最大长度为64K。因此,L4很可能交付64K的负载。如果L2协议是以太网,这通常是情况,那么MTU将约为1600字节。因此,IP数据包将在源主机本身分段。
然而,对Linux中IP实现的快速搜索告诉我,在最近的内核中,L4协议是分段友好的,即它们试图通过交付接近MTU大小的缓冲区来保存IP的分段工作。
考虑到这两个事实,我想知道IP数据包在源主机本身被分段的频率有多高。 它是否偶尔/很少/从不发生? 是否有人知道在Linux内核中是否有例外情况(即是否存在L4协议不友好的情况)? 其他常见操作系统如Windows如何处理这种情况? 一般来说,IP数据包有多频繁地被分段?
考虑到这两个事实,我想知道IP数据包在源主机本身被分段的频率有多高。 它是否偶尔/很少/从不发生? 是否有人知道在Linux内核中是否有例外情况(即是否存在L4协议不友好的情况)? 其他常见操作系统如Windows如何处理这种情况? 一般来说,IP数据包有多频繁地被分段?