UDP分片包顺序

问题描述 投票:0回答:1

我连续发送大 UDP 数据包与小 UDP 数据包的混合物。大数据包被分成我的 MTU。

  • 在 RHEL6 (CentOS6) 上,小 UDP 数据包始终以相对于任何先前大数据包的最终片段的正确顺序到达接收者。
  • 在 RHEL7 上,情况不再如此。小数据包可以在大数据包的片段之间传输,从而使接收者在重新组装的大数据包之前看到小数据包。

据我用 ethtool 所知,两台机器上的网卡配置是相同的(实际上是同一台机器,我交换了硬盘)。

所以,我的问题是……什么控制着 RHEL7+ 中的这种行为?它不是 udp-fragmentation-offload (这在两种配置中设置相同)。我想了解如何在 RHEL7+ 中强制将片段作为一个完整的组传输,没有干扰数据包。

谢谢,

XL600

networking udp rhel7 rhel6
1个回答
0
投票

如果您只是想强制分段 UDP 数据包按顺序排列,中间没有数据包,您可以通过以下方式强制执行此行为:

sudo ethtool -L [INTERFACE_NAME] combined 1

但总的来说,靠这个是不好的。最好有不做出这种假设的读者代码。

© www.soinside.com 2019 - 2024. All rights reserved.