21

I have some machines connected in my workplace network using Ethernet cables. I know some types of Ethernet cable can handle speeds up to 5 Gbps but I'm not sure which ones. So I want to determine the max speed of each Ethernet cable run in my environment. I have access to each end of the cables I need to test.

How I can do this? Is there a way to do it with terminal?

4
  • No. You could potentially run a dummy transfer from/to each client but that is going to be influenced by a lot of factors (system speed, cable, number and setup of hops, actual NICs used and configuration settings for them).
    – Seth
    Commented Jan 10, 2018 at 13:24
  • In most cases the cable is labeled in such a way to indicate it's speed (Cat 5, Cat 6, ect.).
    – Ramhound
    Commented Jan 10, 2018 at 13:24
  • Do you have access to both ends of the cable? Commented Jan 10, 2018 at 14:28
  • @TwistyImpersonator yes
    – Tak
    Commented Jan 10, 2018 at 16:35

2 Answers 2

29

Use iPerf to determine real-world bandwidth

According to the iPerf website:

iPerf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks.

You can download it from the official site here. Documentation is available here.

iPerf determines the real world bandwidth of the connection. It's a better testing method than assuming a cable marked "Cat5e" can deliver 1 Gbps because the cable's installation method and environment can negatively impact its performance. These factors may not be obvious to simple inspection but will show up immediately in a test done with iPerf.

To test the maximum bandwidth of a network cable, do the following:

  1. Install iPerf on two computers, then connect both to opposing ends of the cable.

  2. On one of the computers, start iPerf in Server mode:

     iperf -s
    
  3. On the other computer, run iPerf in client mode to test the connection:

     iperf -c <IP of server>
    

At the end of the test output you will see a summary section like this:

Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-15.00  sec  53.0 MBytes  29.6 Mbits/sec                  sender
[  5]   0.00-15.00  sec  53.0 MBytes  29.6 Mbits/sec                  receiver

Under the Bandwidth heading you'll see the achieved bandwidth over the connection. (This example result is from a test performed over a 802.11g wireless connection; results on a cabled connection should be much higher.)

What if the results shown for "sender" and "receiver" are different?

It's possible the receiver will show a slightly smaller result due to buffering. The iPerf test is time-bound, so some data already sent (i.e. delivered to the sending network adapter's buffer) may not be received before the test completes. The best way to minimize this effect is to not run tests of an overly short duration. The default of 15 seconds is usually sufficient.

Or use a cable tester

A potential drawback of iPerf is that its results can be influenced by the specific hardware configuration of the computers used to do the testing. If you want to eliminate this small variable, then you must use a cable tester that can test for bandwidth. An example is the Fluke Networks CableIQ Qualification Tester. The Fluke website describes this feature of the unit:

[The] CableIQ qualification tester....gives even the most novice tech the vision to see what speeds existing cabling can support, quickly isolate cabling from network problems, and discover what is at the far end of any cable....CableIQ quickly reveals whether a link, including patch cords, is qualified for voice, 10/100BASE-T, VoIP, or Gig.

Cable testers are usually easy to use. Here's what a sample test result screen looks like:

enter image description here

But such testers are usually expensive for quality models, making a method like iPerf an attractive alternative.

2
  • Can the client and server be directly connected with a single cable? But how to determine their IP addresses then?
    – wlnirvana
    Commented Sep 7, 2020 at 9:13
  • Do you think it requires crossover ethernet cable when connecting two computers end to end without a router? Commented Jan 7, 2023 at 21:26
0

To actually know what speed the cable is can cost lost of money using a Ethernet cable tester - this equipment will check if the cable is good for certain speed at a certain length. So therefore I would suggest checking the label first -- if the label says its CAT6a, its rated up to 10Gbps which would cover 5Gbps per second. Doing a speed test from PC to PC, etc may not be accurate because your computing power might need to be very powerful in order to push that kind of data. CAT6A would guarantee up to 90 meters whereas CAT 7 would be guaranteed for 100 meters for 10Gbps speed.

-- At last, the cables may not matter because you may just have 1Gigabit network links. If you have a 10Gbps server NIC card on a server or NAS or whatever, just make sure that the switch-port on the other end is also 10Gbps capable and buy a new CAT 7 cable.

-- If that's not the case, your modern workstation is probably rated up to 1Gbps (most common) and most stores these days sell at least CAT5E rated for 1Gbps.

2
  • Doing a speed test from PC to PC, etc may not be accurate because your computing power might need to be very powerful ... not true. iPerf can saturate a high-bandwidth link with very low CPU overhead. Commented Jan 10, 2018 at 19:19
  • "not true. iPerf can saturate a high-bandwidth link with very low CPU overhead." - not true since active data traffic passes require more than CPU including low latency at the motherboard level + fast disk + OS. Therefore not very accurate in terms of saturation of workstations. Commented Feb 9, 2022 at 7:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .