Prepare for your CCST Networking exam in 31 days. Today's review focuses on the different measurements for network performance, the sources of delay, testing network performance online, and testing network performance using the Windows iPerf tool.
1.2. Differentiate between bandwidth and throughput.
Latency, delay, speed test vs. iPerf
Key Topics
Today’s review focuses on the different measurements for network performance, the sources of delay, testing network performance online, and testing network performance using the Windows iPerf tool.
Bandwidth, Throughput, and Goodput
There are three basic measurements for network performance: bandwidth, throughput, and goodput.
Bandwidth
Bandwidth is determined by the medium’s physical properties and is measured in bits per second. For example, 10GBASE-T Ethernet has a maximum capacity of 10Gbps (gigabits per second). The available bandwidth of a connection is how Internet service providers (ISPs) advertise and charge for their services.
Throughput
Throughput is the actual rate of data transfer across the network and will be less than the bandwidth. This is because there is overhead on the link, such as routing protocols, Layer 2 minimum frame sizes (Ethernet), network congestion, and more.
Another important reason that throughput is less than bandwidth is because network engineers want to ensure the link has enough capacity to adjust to new demand bursts. For example, in Figure 28-1, Application 4 might not be able to start if the other three applications are consuming closer to 100% of the link’s capacity. For this reason, it is common for network designers to consider a link at 80% bandwidth utilization as full utilization.

Figure 28-1 Providing Enough Bandwidth for Another Application to Start
Goodput
Although less commonly mentioned, goodput is the measure of the actual payload of data that is transmitted across the network. Goodput will always be less than throughput because every data packet contains fields of overhead. For example, Ethernet has a 20-byte header and IPv6 has a 40-byte header. In addition, there will always be a small number of errors in data transmission where packets must be recent.
End-to-End Bandwidth
The bandwidth of an end-to-end path is limited by the lowest bandwidth link along the path. For example, a 1Gbps local link does not guarantee 1Gbps to all destinations. In Figure 28-2, Host A will have an end-to-end bandwidth of 1Gbps to Server E. However, Host A will be limited to 100Mbps to Server G and 10Mbps to Server H.

Figure 28-2 Lowest Bandwidth Link Determines End-to-End Bandwidth
Sources of Delay
Delay is the time it takes for a packet to travel from source to destination. Sources of delay include the following:
The physical path length
The time it takes to transmit data onto the wire (serialization delay)
Queueing when there is congestion between the source and destination
Jitter, which is the measure of difference in delay between packets
Physical Path Length
Physical path length is the actual distance that packets need to travel from the source to the destination. The physical path length is a fundamental factor in determining delay, as it contributes to the overall time it takes for a signal to traverse the distance. In general, longer physical paths result in higher delays.
Serialization Delay
Serialization delay refers to the time it takes to convert digital data into a stream of bits and transmit it onto the network. This process involves encoding the data and sending it out as a series of bits, as shown for the 8 bits in Figure 28-3.

Figure 28-3 Converting Digital Bits to the Physical Medium
Queueing Delay
Queueing delay occurs when there is congestion or contention for resources within the network. When multiple packets are trying to traverse the same network link simultaneously, they may have to wait in a queue before they can be transmitted. This queueing delay is directly related to network traffic and the network’s capacity. Higher levels of congestion lead to longer queueing delays.
Jitter
Jitter is the measure of variation in delay between packets. In an ideal network, packets would all arrive at the destination with consistent and predictable delays, as shown for the top row of packets in Figure 28-4. However, in real-world networks, factors such as varying traffic loads, different routing paths, and queueing delays can introduce variation in the arrival times of packets, as shown in the bottom row of packets in Figure 28-4.

Figure 28-4 An Example of Equally Spaced and Jittered Packets
Jitter can be a significant issue in real-time applications like Voice over Internet Protocol (VoIP) or video streaming applications, where consistent timing is essential. To mitigate jitter, network engineers often use techniques like quality of service (QoS) to prioritize certain types of traffic and reduce variability in delay.
Speed Tests
It’s relatively easy for you to test the speed of your personal Internet connections. A quick Internet search will reveal several ad-supported sites that provide this service for free. Speed tests measure the throughput of your link. Specifically, they measure the throughput between you and the destination server that the speed test chooses for your test. Some speed tests, such as the one provided by Ookla, allow you to change the destination server, as shown in Figure 28-5.

Figure 28-5 Example of a Web-Based Speed Test by Ookla
Ookla also has an app you can use to test the throughput of your cellular bandwidth, as shown in Figure 28-6.

Figure 28-6 Ookla’s Mobile App Speedtest
The iPerf Tool
Although there are a variety of other tools you could download for measuring your network’s performance, the CCST-Networking exam specifically calls out the iPerf tool. As of this writing, iPerf is in version 3 and can be downloaded for all the major operating systems at .
Example 28-1 shows the iPerf tool running on a Windows machine, testing the connection to a public iPerf server in Dallas.
Example 28-1 Output from the iPerf Windows Tool
C:\tools\iperf-3.1.3-win32> iperf3 -c dal.speedtest.clouvider.net Connecting to host dal.speedtest.clouvider.net, port 5200 [ 4] local 192.168.68.106 port 61680 connected to 2.56.188.136 port 5200 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 441 KBytes 3.60 Mbits/sec [ 4] 1.00-2.00 sec 756 KBytes 6.19 Mbits/sec [ 4] 2.00-3.01 sec 756 KBytes 6.18 Mbits/sec [ 4] 3.01-4.00 sec 693 KBytes 5.68 Mbits/sec [ 4] 4.00-5.00 sec 756 KBytes 6.20 Mbits/sec [ 4] 5.00-6.00 sec 756 KBytes 6.19 Mbits/sec [ 4] 6.00-7.00 sec 756 KBytes 6.21 Mbits/sec [ 4] 7.00-8.00 sec 756 KBytes 6.20 Mbits/sec [ 4] 8.00-9.01 sec 819 KBytes 6.62 Mbits/sec [ 4] 9.01-10.01 sec 819 KBytes 6.71 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.01 sec 7.14 MBytes 5.98 Mbits/sec sender [ 4] 0.00-10.01 sec 7.14 MBytes 5.98 Mbits/sec receiver iperf Done. C:\tools\iperf-3.1.3-win32>
In Example 28-1, the number of kilobytes of data being transferred is measured every second. This value is then converted into the number of bits per second. After 10 seconds, we can see that the average throughput is 5.98Mbps for both the sender and the receiver.
Be sure you review the documentation for iPerf at and practice different command-line options, including the following:
-s sets the device to run in server mode.
-t changes the amount of time in seconds to something other than the default 10 seconds.
-w can be used to set the TCP window size.
-4 or -6 indicate to only use IPv4 or IPv6, respectively.
Example 28-2 shows all the available options for iPerf on Windows.
Example 28-2 Windows iPerf Options
C:\tools\iperf-3.1.3-win32> iperf3 -h Usage: iperf [-s|-c host] [options] iperf [-h|--help] [-v|--version] Server or Client: -p, --port # server port to listen on/connect to -f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes -i, --interval # seconds between periodic bandwidth reports -F, --file name xmit/recv the specified file -B, --bind <host> bind to a specific interface -V, --verbose more detailed output -J, --json output in JSON format --logfile f send output to a log file -d, --debug emit debugging output -v, --version show version information and quit -h, --help show this message and quit Server specific: -s, --server run in server mode -D, --daemon run the server as a daemon -I, --pidfile file write PID file -1, --one-off handle one client connection then exit Client specific: -c, --client <host> run in client mode, connecting to <host> -u, --udp use UDP rather than TCP -b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited) (default 1 Mbit/sec for UDP, unlimited for TCP) (optional slash and packet count for burst mode) -t, --time # time in seconds to transmit for (default 10 secs) -n, --bytes #[KMG] number of bytes to transmit (instead of -t) -k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n) -l, --len #[KMG] length of buffer to read or write (default 128 KB for TCP, 8 KB for UDP) --cport <port> bind to a specific client port (TCP and UDP, default: ephemeral port) -P, --parallel # number of parallel client streams to run -R, --reverse run in reverse mode (server sends, client receives) -w, --window #[KMG] set window size / socket buffer size -M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes) -N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm -4, --version4 only use IPv4 -6, --version6 only use IPv6 -S, --tos N set the IP 'type of service' -Z, --zerocopy use a 'zero copy' method of sending data -O, --omit N omit the first n seconds -T, --title str prefix every output line with this string --get-server-output get results from server --udp-counters-64bit use 64-bit counters in UDP test packets [KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga- iperf3 homepage at: http://software.es.net/iperf/ Report bugs to: https://github.com/esnet/iperf C:\tools\iperf-3.1.3-win32>
If you want to test the performance in your own network, download iPerf on the computer that will receive the iPerf packets. Use the -s option to start an iPerf server, as shown in Example 28-3.
Example 28-3 iPerf Running in Server Mode
C:\tools\iperf-3.1.3-win32> iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
Study Resources
For today’s exam topics, refer to the following resources for more study:
Resource |
Module or Chapter |
---|---|
SFA Self Enroll: Networking Basics |
1 |
SFA Self Enroll: Network Support and Security |
1 |
SFA Instructor Led: Networking Essentials |
1, 37 |
CCST Networking 100-150 Official Cert Guide |
9 |