Linux UDP:UDP数据报丢失在哪里?

时间:2017-08-16 19:40:03

标签: linux network-programming udp

我有一个在发送方和接收方上运行的应用程序,使用 UDP 协议。 UDP缓冲区大小约为70或1024字节,因此不会发生UDP碎片。

ifconfig/sar级别,我没有看到明显的UDP丢失。

但从应用程序层面来看,我看到了约30%的损失。我在iperf3 / ntttcp-for-Linux / netperf看到相同的内容。

损失发生在哪里?这是由UDP引起的IP堆栈乱序吗?我该如何确认这个假设?

谢谢!

1 个答案:

答案 0 :(得分:2)

事实证明接收器缓冲区太小了。

在接收方,Phrases报告高" netstat"在UDP: packet receive errors

通过放大接收缓冲区解决了问题:

netstat -s