我有数据1245 MB通过UDP通过IPv4进行传输。为了计算从A到B的数据包传输的预期数量,然后B中继到C,如果数据以320字节大小的块(即有效载荷=320字节)传输,并且报头是20字节,我们是从320减去20还是加进去?
For instance,
1245MB = 1305477120 bytes
Total UDP Payload = 320 - 20 or 320 + 20?
发布于 2015-04-30 19:11:23
该包由以下部分组成:
总计: 348字节。
发布于 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片段数据包。
https://stackoverflow.com/questions/29974434
复制相似问题