Linux:单播收到数据包时吞吐量不佳

时间:2015-10-27 12:53:20

标签: linux sockets udp

我确实知道我的网卡使用不同应用程序(iperf,pktgen,tcpdump,pktgen-dpdk等)的吞吐量。我有一台计算机(主机A),它在1Gb / s线路上向主机B发送64字节UDP数据包。

我想测试主机B的接收吞吐量。我使用tcpdump(但我注意到与Wireshark和Ostinato的行为相同)。

当我以单播方式发送数据包时(主机B的mac和ip),主机B只能接收1Mpps(每秒百万包) 当我发送具有不同dst mac地址或不同dst ip地址的数据包时,主机B可以接收1.48Mpps(最大理论吞吐量)。

最奇怪的是,如果dst mac和dst ip是正确的(主机B)但是如果来自主机B的另一个网络,那么主机B也接收1.48Mpps。

我不明白为什么。有人有任何想法吗?

我已经在不同场景中使用tcpdump返回的值创建了一个图表(捕获的数据包,通过接口丢弃的数据包等)

Received throughput without flow control

Received throughput withflow control

谢谢!

0 个答案:

没有答案