Estou tentando reproduzir pacotes multicast UDP capturados a uma taxa de algumas centenas de Mbps, mas ele atinge o máximo de cerca de 86 Mbps . (Por algum motivo estranho, em outras ocasiões durante o dia, ele maximiza consistentemente um décimo dessa taxa, cerca de <8,8 Mbps )
exiba em eth0
Rende apenas cerca de 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
iperf em eth0
O iperf, por outro lado, vai até cerca de 800Mbps. Note que isto é verdadeiro
mesmo durante os tempos em que o tcpreplay só produz cerca de 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
mostrar no lo
Só para garantir que o tcpreplay não esteja no meu disco:
> 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
O que explica que o tcpreplay é lento na eth0 e há uma maneira de melhorar isso?