[quote=引用 3 楼 chj4129 的回复:] 这个是rfc的一个建议,具体实现取决于操作系统和网卡,目前在linux以及unix上,是可以发送出小于64字节的小报文的,你自己也可以测试一下。
这个是rfc的一个建议,具体实现取决于操作系统和网卡,目前在linux以及unix上,是可以发送出小于64字节的小报文的,你自己也可以测试一下。
有一些区别: 1.当你用socket发送1个字节的udp报文的时候,发到网络上的报文实际长度为14 + 20 + 8 + 1 = 43字节,发送2个字节的话,实际发送44字节,这样网络负荷区别不大; 2.如果发送22字节,实际发送64字节,此时有一些区别,但是不明显 3.发送2222字节,此时实际发送2264字节,由于网络设备mtu通常为1500,从而需要分片;另外由于网络带宽都是一样的,如果发送的报文大,报文个数就会少,发送的报文小,报文个数就会多。 4.小包多了,网络实际带宽利用率就会降低,此时输出的大部分是各种协议的包头,输入的数据不多,另外小包多了,对接收设备的开销也会急剧加大。 5.不过在程序中用一个死循环来发送1字节的udp报文,由于性能问题,是很难将前兆网络发满的。
23,121
社区成员
74,507
社区内容
加载中
试试用AI创作助手写篇文章吧