Sunday, June 21, 2020

Realtek RTL 8156 USB 2.5 Gbps Ethernet 2.5GBASE-T vs Trendnet TEG-7080ES NBASE-T switch

I purchased a Trendnet 7080-ES switch in 2019 . It has served me well with multiple PCs using PCIe Aquantia AQN-107 NICs at 10 Gbps speed.

Today, I received a USB 3.0 NIC from Cable Creation . This is a 2.5 Gbps NIC using the Realtek 8156 chipset. I installed it on a Windows 10 system. Windows 10 automatically recognized the NIC. However, once I started running into performance issues, I updated the NIC drivers to 10.38.20.117 from the Realtek website, dated 1/17/2020 .

This is the result of an iperf test between two systems. They are directly connected by a 10ft CAT6 cable. IP addresses are manually configured on each system. The client is using the Realtek NIC on Windows 10. The server is using the Aquantia AQN-107 NIC on Ubuntu 18.04. Both sides are configured with 9KB jumbo frames.

D:\Downloads\iperf-3.1.3-win64>iperf3 -c 192.168.1.237 -t 10 -O 10 -i 5 -R
Connecting to host 192.168.1.237, port 5201
Reverse mode, remote host 192.168.1.237 is sending
[  4] local 192.168.1.236 port 61654 connected to 192.168.1.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-5.00   sec  1.43 GBytes  2.45 Gbits/sec                  (omitted)
[  4]   5.00-10.00  sec  1.43 GBytes  2.45 Gbits/sec                  (omitted)
[  4]   0.00-5.00   sec  1.44 GBytes  2.47 Gbits/sec
[  4]   5.00-10.00  sec  1.43 GBytes  2.45 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  2.87 GBytes  2.47 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  2.86 GBytes  2.46 Gbits/sec                  receiver

iperf Done.

This is about as good a result as can be expected - 99% of the 2.5 Gbps link speed. The difference is mostly TCP and IP overhead. I then connected the machines to the 10 Gbps ports of a Netgear unmanaged GS110MX switch, using CAT6 cables. This was the result :
D:\Downloads\iperf-3.1.3-win64>iperf3 -c 192.168.1.237 -t 10 -O 10 -i 5 -R
Connecting to host 192.168.1.237, port 5201
Reverse mode, remote host 192.168.1.237 is sending
[  4] local 192.168.1.236 port 63175 connected to 192.168.1.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-5.00   sec  1.28 GBytes  2.19 Gbits/sec                  (omitted)
[  4]   5.00-10.00  sec  1.29 GBytes  2.22 Gbits/sec                  (omitted)
[  4]   0.00-5.00   sec  1.29 GBytes  2.22 Gbits/sec
[  4]   5.00-10.00  sec  1.30 GBytes  2.23 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  2.59 GBytes  2.22 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  2.59 GBytes  2.22 Gbits/sec                  receiver

iperf Done.
While this is slower than a direct connection, the speed is still much higher than 2 Gbps, and about 88% of the 2.5 Gbps link speed.

Finally, using the same CAT6 cables, I moved both systems to the Trendnet TEG-7080ES switch. This is the result of the performance test :
D:\Downloads\iperf-3.1.3-win64>iperf3 -c 192.168.1.237 -t 10 -O 10 -i 5 -R
Connecting to host 192.168.1.237, port 5201
Reverse mode, remote host 192.168.1.237 is sending
[  4] local 192.168.1.236 port 61997 connected to 192.168.1.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-5.00   sec   325 MBytes   545 Mbits/sec                  (omitted)
[  4]   5.00-10.00  sec   312 MBytes   524 Mbits/sec                  (omitted)
[  4]   0.00-5.00   sec   325 MBytes   546 Mbits/sec
[  4]   5.00-10.00  sec   364 MBytes   610 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   689 MBytes   579 Mbits/sec  10231             sender
[  4]   0.00-10.00  sec   689 MBytes   578 Mbits/sec                  receiver

iperf Done.

As you can see, the card can't even deliver 1 Gbps in this case. We are very far from the link speed - only about 23% !

The Trendnet TEG-7080ES admin console shows the following :