为什么当数据报套接字缓冲区大小很大时,丢弃率很高

时间:2013-01-02 16:15:40

标签: java networking network-programming udp

我正在编写基于UDP的网络协议。我遇到了DatagramSocket的奇怪行为。当我设置大的发送缓冲区时,丢弃率很高,但它应该是相反的。

为什么会这样做?

非常感谢!

大缓冲区大小”是指16-32 Mb

我的测试环境是1Gbit网络,具有高延迟(240 ms往返)

1 个答案:

答案 0 :(得分:4)

网络适配器和路由器中的缓冲区有限。如果你填充它们,即使有很多小消息,也可以丢弃数据包。有些路由器的每个连接的缓冲区大小为1 MB(因此,如果它连接到路由器,那就是通过该连接的所有内容的总数)