首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UDP有效载荷长度和分组传输

UDP有效载荷长度和分组传输
EN

Stack Overflow用户
提问于 2015-04-30 17:44:06
回答 2查看 9.2K关注 0票数 2

我有数据1245 MB通过UDP通过IPv4进行传输。为了计算从A到B的数据包传输的预期数量,然后B中继到C,如果数据以320字节大小的块(即有效载荷=320字节)传输,并且报头是20字节,我们是从320减去20还是加进去?

代码语言:javascript
运行
复制
For instance, 
1245MB = 1305477120 bytes
Total UDP Payload = 320 - 20 or 320 + 20?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-30 19:11:23

该包由以下部分组成:

  • IP报头(20字节)
  • UDP头(8个字节)
  • 有效负载(320字节)。

总计: 348字节。

票数 3
EN

Stack Overflow用户

发布于 2015-04-30 21:28:06

为了计算数据包的数量,您不需要考虑传输或网络层报头的大小。您指定了320字节的有效负载大小,它很好地处于UDP有效负载的最大大小范围内,没有碎片。

每次调用send()或sendto()时,都会创建一个数据报(数据包),因此数学方法只是简单地将总大小除以320字节块:

1305477120 / 320 = 4079616包

另外,如果要使UDP有效负载更大,则会减少数据包总数。在许多网络上,MTU是1500字节,所以您可以发送:

1500字节- IP报头(20字节)- UDP报头(8)字节= 1472字节的有效载荷

作为第二个方面,如果您的UDP有效负载太大,即有效负载+ IP/UDP报头超过MTU,那么单次调用send()将导致多个IP片段数据包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29974434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档