eth0 上的 tcpreplay 吞吐量远低于(iperf 确认)最大值

eth0 上的 tcpreplay 吞吐量远低于(iperf 确认)最大值

我试图以几百 Mbps 的速率重放捕获的 UDP 多播数据包,但最高速度约为86 Mbps(出于某种奇怪的原因,在一天中的其他时间,它的最大速度始终是这个速度的十分之一,大约8.8 Mbps

eth0 上的 tcpreplay

仅产生约86Mbps:

> tcpreplay -ieth0 --topspeed x.pcap 
sending out eth0 
processing file: x.pcap
Actual: 459424 packets (137973257 bytes) sent in 12.23 seconds.         
Rated: 11281542.0 bps, 86.07 Mbps, 37565.33 pps

eth0 上的 iperf

另一方面,iperf 则上升到大约800Mbps。请注意,这是真的即使在 tcpreplay 仅产生约 8.x Mbps 的时间内)

iperf -c 192.168.20.55 -u -T 1 -t 5 -i 1 -b10000M
------------------------------------------------------------
Client connecting to 192.168.20.55, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.20.55 port 50238 connected with 192.168.20.55 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  96.9 MBytes   813 Mbits/sec
[  3]  1.0- 2.0 sec  96.9 MBytes   813 Mbits/sec
[  3]  2.0- 3.0 sec  97.8 MBytes   820 Mbits/sec
[  3]  3.0- 4.0 sec  96.4 MBytes   809 Mbits/sec
[  3]  4.0- 5.0 sec  96.4 MBytes   809 Mbits/sec
[  3]  0.0- 5.0 sec   484 MBytes   812 Mbits/sec
[  3] Sent 345538 datagrams
[  3] Server Report:
[  3]  0.0- 5.0 sec   400 MBytes   671 Mbits/sec   0.071 ms 60212/345537 (17%)
[  3]  0.0- 5.0 sec  1 datagrams received out-of-order

tcpreplay 在 lo

只是为了确保 tcpreplay 没有等待我的磁盘:

> tcpreplay -ilo --topspeed x.pcap 
Warning in sendpacket.c:sendpacket_open_pf() line 669:
Unsupported physical layer type 0x0304 on lo.  Maybe it works, maybe it wont.
    See tickets #123/318
sending out lo 
processing file: x.pcap
Actual: 459424 packets (137973257 bytes) sent in 0.56 seconds.
Rated: 246380816.0 bps, 1879.74 Mbps, 820400.00 pps

如何解释 tcpreplay 在 eth0 上速度很慢?有没有什么方法可以改善这种情况?

答案1

tcpreplay 是什么版本?新版本比旧版本更快。您确实需要运行最新的 4.x,它支持通过 NETMAP 进行注入。

另外,您确定您使用的是 1Gbps 或更高的接口吗?您是否连接到 100Mbps 交换机端口,或者由于某种原因协商了 100Mbps?查看 /var/log/messages 或 dmesg 以查看您的接口如何协商。

答案2

这个问题似乎不是由我的盒子引起的,也不是由 tcpreplay 引起的。在另一台机器上测试,使用以下设置

                +-----------+
                | L3 switch |
                +-+----+----+
                  |    |
       +----------+    |
       |               |
 +-----+-----+         |
 | L2 switch |         |
 +-----+-----+         |
       | Cable 1       | Cable 2
   +------------------------+
   |  NIC 1          NIC 2  |
   |                        |
   |         My PC          |
   |                        |
   +------------------------+

我得到了这些数字

Cable     Mbs        pps 
--------------------------
     1    8.35    6174.75 
     2  601.07  444444.44 

我还更换了电缆,以确保网卡不是慢的,事实确实如此。我猜是 L2 交换机的问题。

相关内容