如何找到我能发送的最大的UDP数据包而无需分片?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (123)

我需要知道我可以发送给另一台计算机的最大UDP数据包是否没有分片。

这个大小通常被称为MTU(最大传输单位)。据推测,在2台电脑之间会有很多路由器和调制解调器可能有不同的MTU。

我读过Windows中的TCP实现自动查找路径中的最大MTU。

提问于
用户回答回答于

IPv4和IPv6定义了最小的重组缓冲区大小,这是我们保证任何实现必须支持的最小数据报大小。对于IPv4,这是576字节。IPv6将其提升到1,280字节。

这很大程度上意味着,如果在公共互联网上工作并且仅控制交换的一端 - 这就是大多数标准的基于UDP的协议所做的工作,希望将数据报大小限制在576以下。 另请注意,PMTU是路径的动态属性。这是TCP处理的事情之一。除非准备重新实施大量的排序,时序和重传逻辑,否则将TCP用于任何关键网络。

扫码关注云+社区

领取腾讯云代金券