原始套接字上的IP碎片

时间:2019-05-28 07:26:49

标签: c linux sockets networking ip

我们正在使用原始套接字测试UDP流量。测试是将IP接口MTU设置为700 B,并在特定的原始套接字上设置IP_MTU_DISCOVER选项,该选项应启用PMTUD并为传出数据包设置DF位。

在向套接字发送1000 B大小的数据包之后,我们观察到,在离开绑定了套接字的特定IP接口并且未设置DF标志(MF标志之后,数据包立即被分成较小的数据包而是设置了。)

我们尝试使用选项IP_PMTUDISC_WANTIP_PMTUDISC_DO,但最终效果相同-每种情况下数据包都是碎片化的。

我们的期望是,一旦将MTU选项设置为IP_MTU_DISCOVER,内核将丢弃比相应接口IP_PMTUDISC_DO大的数据包。 而是,无论特定的IP_MTU_DISCOVER选项值集如何,数据包都会被分段。

有什么办法可以避免这种碎片化?即使在套接字所在的接口上,特定的套接字选项也应用DF位吗?

0 个答案:

没有答案