我准备写一个将要发送/接收UDP数据报的程序。我应该拆分数据还是允许分片
这是我的问题: 我应该如何管理数据以便我发送的内容适合单个数据报?基本上在应用程序中分割数据,然后发送多个数据报。或者,我应该允许网络处理碎片和重新组装吗?
我假设1500字节的标准MTU大小。理论上,IPv4之上的最大UDP有效载荷是65507字节。
赞赏性能/额外开销信息,最佳实践和其他信息。
我准备写一个将要发送/接收UDP数据报的程序。我应该拆分数据还是允许分片
这是我的问题: 我应该如何管理数据以便我发送的内容适合单个数据报?基本上在应用程序中分割数据,然后发送多个数据报。或者,我应该允许网络处理碎片和重新组装吗?
我假设1500字节的标准MTU大小。理论上,IPv4之上的最大UDP有效载荷是65507字节。
赞赏性能/额外开销信息,最佳实践和其他信息。
IP堆栈层(和OSI层)的设计使得一层中的工作对上层是透明的。因此,最初,您不必担心如何发送数据。您应该只知道与UDP有关的方面:无连接,不可靠...并且不应该关心IP层。
除非您有自己的定制堆栈,否则在考虑更高层的MTU时看不到任何优势。
真正的问题是你为什么在乎,这是依赖于性能,还是你需要一致性和有保证的交付? – Petah
它是UDP,因此交付永远不会得到保证。我想我是从性能的角度来问的,而且可能更理论化。如果我想尽可能多地服务客户,同时希望(但不依赖于)不丢失数据...... – n01d3a