局域网中一个 UDP 包可以装多少数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了局域网中一个 UDP 包可以装多少数据?相关的知识,希望对你有一定的参考价值。
参考技术A 使用 UDP 协议在局域网中一次传输最多能传多少数据?****以太网数据帧的最大长度为1500字节,即 IP 数据报文的长度,即数据链路层的MTU(最大传输单元)****
下图为 IP 数据报的详细格式:
可以看到,报头区占据 32 * 5 = 160 bits(不算可选部分),也就是 20 字节,那么留给上层协议的字节数就剩下 1500 - 20 = 1480 字节了。
也就是说,UDP 协议作为 IP 协议的上层,一次传输只剩下 1480 个字节了。UDP 报文的结构如下图所示:
可以看到,UDP 协议的报头占了 8 个字节。所以,UDP 留给上层的一次传输大小,只剩下了 1480 - 8 = 1472 个字节了。
1500(以太网单次最大) - 20(IP协议占用) - 8(UDP协议占用) = 1472(留给应用的单次传输大小)
在局域网中使用 UDP 协议,最好限制单词传输数据在 1472 字节以内。
在发送端,IP 协议会将数据分割成多个 IP 报文来发送;在接收端要进行数据报的重组。这样不但有分片和重组的计算开销,而且丢失一个 IP 数据报会导致整个 UDP 数据报传输失败,增加失败的概率。
以上是关于局域网中一个 UDP 包可以装多少数据?的主要内容,如果未能解决你的问题,请参考以下文章
我用iperf 测试 udp 包到 vps 的丢包率,一点反应都没有