2.5GbE Networking on Linux
After detailing using 2.5GbE NICs in his home lab on Windows 10, Tom Fenton does the same thing on Linux.
In a a previous article I discussed using 2.5GbE NICs in my home lab. In that article I used the NICs on Windows 10 systems. In this article I will use the NICs on the same systems but with Linux installed on them. I will first give a quick overview of why I am interested in 2.5GbE networking, discuss my testing systems, test the network performance between a Linux and Windows 10 system, between two Linux systems, and then give you my final thoughts on 2.5GbE networking on Linux systems.
There are a few factors that got me interested in using 2.5GbE networking in my home lab; Intel release a NIC that supported it, wireless networking speeds, and the availability of routers supporting multigigabit networking.
Last year we started to see Intel's i225 2.5GbE NICs appear in systems. This NIC is the successor to its widely used i210-AT 1GbE NIC. As the 2.5 GbE NIC is priced slightly less than its predecessor I expect that it will soon become the de facto standard for systems.
Further pushing 2.5GbE adoption is Wave 2 802.11ac. This is a wireless networking standard that is starting to appear on systems. This standard has a maximum theoretical rate of 2.34 Gbps. To fully utilizes this throughput wired connections (NICs, switches and wireless routers) that support it will need higher speeds to prevent bottlenecks from occurring in the network.
To do my testing I will be using an Intel NUC 11 Pro and Intel 11 NUC Computer Element (CE). The Pro has a built in Intel i225-LM NIC and I will be using a USB 2.5 GbE adapter on the CE.
To connect 2.5GbE systems reasonably priced routers are starting to be sold. I will be using a MikroTic CRS305-1G-4S+IN which has one Gigabit Ethernet port and four SFP+ 10Gbps ports. It costs $150.
As the switch does not come with SFP+ adapters I purchased two MkroTik SFP+ 10GbE adapters, which will work with a 2.5GbE network. They were $20 each.
Linux to Windows Testing
To get a base line on performance I used the same configuration that I used on my Windows 10 testing in my previous article.
I will use iperf3 to test the throughput between the systems. It is a widely used tool to tests the network throughput between systems.
I installed Ubuntu 21.04 (Hirsute Hippo) on the NUC 11 Pro.
I verified the NIC by entering nmcli -p. This reported that an "Intel I225-LM" was found.
I entered lshw -C network to get more information about the NIC. This reported its capacity was 1Gbit/s. I think that this was just a carryover from a previous module.
The Windows system was the Intel NUC 11 CE. As this system does not have a built in 2.5GbE NIC I used a CableCreations USB 3 Type-A 2.5GbE adapter that I purchased for $30.
I now had a 2.5GbE connecting between the two systems.
I started a iperf3 server (-s) on the Windows 10 system and bound it to the 2.5 NIC (-B10.0.0.214) by entering iperf3 -s -B10.0.0.214.
On the Ubuntu system I started the test by entering
Iperf3 –c 10.0.0.214 –t 10 -i 5 -f g -B10.0.0.136
This started the client system (-c) and connected it to an iperf3 server (10.0.0.214); iperf3 ran a test for 10 seconds (-t 10), showed the results in Gb (-f g), and reported statistics every 5 seconds (-i 5). The results showed that the maximum bandwidth between the two systems was 2.37Gbps.
Linux to Linux Testing
To test the throughput between two Linux systems I installed Ubuntu 21.04 on the NUC 11 CE system.
I verified the NIC by entering nmcli -p. This reported that a "Realtek 10/100/1G/2.5G" was found.
I entered lshw to get more information about the USB NIC. This reported that a Realtek NIC was on the system.
I started a iperf3 server on the NUC 11 CE system bound to the 2.5 NIC by entering
iperf3 -s -B10.0.0.214.
On the NUC 11 Pro system I started my throughput testing by entering
Iperf3 –c 10.0.0.214 –t 10 -i 5 -f g -B10.0.0.136
The results showed that the bandwidth between the two systems was 2.34Gbps.
As a final test I ran iperf3 for 15 minutes by changing -t 10 to -t 900. This showed that the work could support a sustained transfer rate of 2.35Gbps and transfer 247GB in 15 minutes.
The throughput is also shown in the ControlUp graph.
I found that both the onboard Intel and USB Realtek 2.5GbE NICs were identified and worked with Ubuntu 21.04 without any issues and delivered ~2.35 throughput between my Linux-to-Windows and Linux-to-Linux and testing even over extended periods of time.
As we start to see more and more 2.5GbE networking on servers, desktops and laptops and I am glad that they work well with Linux as well as Windows systems, however one of the major roadblocks to utilizing the higher speed networking is finding inexpensive switches that support it. You can read about the cost considerations of using 2.5 GbE networking in the aforementioned article on using 2.5GbE networking on Windows.
Tom Fenton has a wealth of hands-on IT experience gained over the past 25 years in a variety of technologies, with the past 15 years focusing on virtualization and storage. He previously worked at VMware as a Senior Course Developer, Solutions Engineer, and in the Competitive Marketing group. He has also worked as a Senior Validation Engineer with The Taneja Group, where he headed the Validation Service Lab and was instrumental in starting up its vSphere Virtual Volumes practice. He's on Twitter @vDoppler.