User Tools

Site Tools


networking:network_testing

Network Testing

Route Tracing

Using TCP

:!: May require sudo

  • Requires something listening on the port you specify
    • For example a web server listening on port 443 (SSL)
  • Use -n to eliminate name resolution
    • Faster
  • Uses TCP SYN and ACK instead of ICMP

Using port 443:

traceroute -T -O info -p 443 hostname.domain.tld

tcptraceroute hostname.domain.tld 443

This will also illuminate asymmetrical routing:

tracepath hostname.domain.tld

Latency Testing

Linux

Windows

:!: Tools must be run with admin privileges.

GPing: https://sourceforge.net/projects/gping/

  • Runs in memory

PingLogger: http://pinglogger.co.uk/

  • Creates database in same folder
  • Doesn't log actual time

Throughput Testing with Iperf

Windows: http://linhost.info/2010/02/iperf-on-windows/

Download: http://iperf.fr/

What's Happening: http://www.es.net/assets/Uploads/201007-JTIperf.pdf

More Under the Hood: http://www.nanog.org/meetings/nanog43/presentations/Dugan_Iperf_N43.pdf

Examples: http://www.enterprisenetworkingplanet.com/netos/article.php/3657236/Measure-Network-Performance-with-iperf.htm

  • Command line only
  • Requires an Iperf client and an Iperf server
  • Server listens on port 5001 by default
    • It may be necessary to open this port on the firewall
  • Run tests multiple times and average
  • Adjust settings up and down, then run test again
    • TCP window size (TCP)
    • Buffer size (TCP)
    • Bandwidth (UDP)
  • Use the UDP test below as a quickie starting point

Server

Start the iperf server:

iperf -s

Windows firewall:

New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-TCP' -Direction Inbound -Protocol TCP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-UDP' -Direction Inbound -Protocol UDP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule

Client

Start the iperf client and point it at the IP address of the iperf server:

iperf -c 192.168.1.70

Sample results:

------------------------------------------------------------
Client connecting to 192.168.1.70, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.201 port 49269 connected with 192.168.1.70 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  25.5 MBytes  21.2 Mbits/sec

Options

:!: Changing the iperf options will modify the parameters of the testing.

For help on options type:

iperf --help

This is an example of options that fully test a Gigabit network by changing:

  • TCP window size
  • Length of buffer to read or write
    • The default is 8 KB
  • Using 5 parallel threads
    • The default is 1

Client

iperf -c 192.168.1.2 -w 512k -l 512k -P 5

Server

iperf -s -w 512k -l 512k

Sample results:

------------------------------------------------------------
Server listening on TCP port 5000
TCP window size:   256 KByte (WARNING: requested   512 KByte)
------------------------------------------------------------
[  7] local 192.168.1.2 port 5000 connected with 192.168.1.3 port 1499
[  4] local 192.168.1.2 port 5000 connected with 192.168.1.3 port 1500
[  5] local 192.168.1.2 port 5000 connected with 192.168.1.3 port 1501
[  6] local 192.168.1.2 port 5000 connected with 192.168.1.3 port 1502
[  8] local 192.168.1.2 port 5000 connected with 192.168.1.3 port 1503
[  6]  0.0-10.0 sec    221 MBytes    185 Mbits/sec
[  7]  0.0-10.0 sec    227 MBytes    190 Mbits/sec
[  8]  0.0-10.0 sec    226 MBytes    189 Mbits/sec
[  4]  0.0-10.1 sec    222 MBytes    186 Mbits/sec
[  5]  0.0-10.1 sec    225 MBytes    188 Mbits/sec
[SUM]  0.0-10.1 sec  1.10 GBytes    935 Mbits/sec

:!: Make sure your testing client and server have Gigabit NICs (don't ask me how I know).

UDP Test

  • UDP
  • Send at 1Gbps
    • Adjust for your network
    • Use something just over your physical connection rate
  • Use 10 threads

Server:

iperf -su

Client:

iperf -c 192.168.2.50 -u -b 1G -P 10

Switch Testing

Switch testing with Iperf

10Gb Network testing with NTttcp

https://www.smallnetbuilder.com/archives/lanwan/lanwan-features/32345-confessions-of-a-10-gbe-network-newbie-part-2-test-toolkit

https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769

:!:Note Unless you have a large RAID array hard disks will not fill a 10Gb pipe. For complete testing a RAMDisk formatted for 12GB is necessary.

  • Download NTttcp Utility and copy to 2 Windows PCs on the network.
  • Make sure the NTttcp traffic can pass the firewall on both PCs. Specify a firewall exception for the program name.
  • Run this command First on the Receiver
    ntttcp.exe -r -m 16,*,192.168.0.140 -l 128k -a 2 -t 20
  • Run this command Second on the Server
    ntttcp.exe -s -m 16,*,192.168.0.140 -l 128k -a 2 -t 20

:!:Note The receiver machine in this case has an IP address of 192.168.0.140. You must specify the receiver’s IP address on the server instance.

networking/network_testing.txt · Last modified: 2023/07/04 14:32 by gcooper