This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
networking:network_testing [2013/06/30 11:05] gcooper |
networking:network_testing [2023/07/04 14:32] (current) gcooper |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Network Testing ====== | ====== Network Testing ====== | ||
+ | |||
+ | ===== Route Tracing ===== | ||
+ | |||
+ | |||
+ | ==== Using TCP ==== | ||
+ | |||
+ | :!: May require '' | ||
+ | |||
+ | * Requires something listening on the port you specify | ||
+ | * For example a web server listening on port 443 (SSL) | ||
+ | * Use '' | ||
+ | * 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 ==== | ||
+ | |||
+ | **SmokePing**: | ||
+ | |||
+ | ==== Windows ==== | ||
+ | |||
+ | :!: Tools must be run with **admin privileges**. | ||
+ | |||
+ | **GPing**: https:// | ||
+ | |||
+ | * Runs in memory | ||
+ | |||
+ | **PingLogger**: | ||
+ | |||
+ | * Creates database in same folder | ||
+ | * Doesn' | ||
===== Throughput Testing with Iperf ===== | ===== Throughput Testing with Iperf ===== | ||
Line 6: | Line 52: | ||
Download: http:// | Download: http:// | ||
+ | |||
+ | What's Happening: http:// | ||
+ | |||
+ | More Under the Hood: http:// | ||
+ | |||
+ | Examples: http:// | ||
* Command line only | * Command line only | ||
Line 11: | Line 63: | ||
* Server listens on port 5001 by default | * Server listens on port 5001 by default | ||
* It may be necessary to open this port on the firewall | * 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 ==== | ==== Server ==== | ||
Line 18: | Line 76: | ||
< | < | ||
iperf -s | iperf -s | ||
+ | </ | ||
+ | |||
+ | Windows firewall: | ||
+ | |||
+ | < | ||
+ | New-NetFirewallRule -DisplayName ' | ||
+ | New-NetFirewallRule -DisplayName ' | ||
</ | </ | ||
Line 52: | Line 117: | ||
This is an example of options that fully test a Gigabit network by changing: | This is an example of options that fully test a Gigabit network by changing: | ||
- | * TCP windows | + | * TCP window size |
- | * Using parallel | + | * Length of buffer to read or write |
+ | * The default is 8 KB | ||
+ | * Using 5 parallel | ||
+ | * The default is 1 | ||
=== Client === | === Client === | ||
Line 88: | Line 156: | ||
:!: Make sure your testing client and server have Gigabit NICs (don't ask me how I know). | :!: 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 ====== | ||
Switch testing with Iperf | Switch testing with Iperf | ||
+ | |||
+ | ===== 10Gb Network testing with NTttcp ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | |||
+ | :!:**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** | ||
+ | * Run this command **Second** on the **Server** < | ||
+ | |||
+ | |||
+ | :!:**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. | ||
+ | |||
+ | |||
+ |