Accurate TCP Throughput Evaluation
The Importance of TCP Throughput Evaluation
The Transmission Control Protocol (TCP) is used to manage end-to-end data exchanges ensuring data is transferred correctly between each end. For example, TCP is used to manage data exchange when watching a video on YouTube. As video traffic now makes up more than 80% of internet data traffic, users must be able to access large video files without overloading the network. Consequently, accurate evaluation of data throughput at the TCP layer is a key item in evaluating offered internet services.
Factors Reducing TCP Throughput
Although communications networks have a rated speed, this speed is different from the TCP layer throughput.
Since throughput at the TCP layer depends on various factors, such as the circuit bandwidth at the communications transmission rate, delay, transmission quality, etc., many physically fast circuits may suffer low throughput at the TCP layer.
(1) Case when part of end-to-end transmission path has restricted bandwidth
(2) Case with large transmission delays due to transmission devices, such as switch, router, etc., in end-to-end communications path
(3) Case with poor transmission quality
TCP Throughput Measurement Methods
When choosing communications equipment and evaluating performance, evaluations commonly use the RFC2544 and Y.1564 standards. But these standards do not evaluate throughput at the TCP layer for networks offering communications services because the evaluation is performed at the Ethernet and IP layer. One method for evaluating throughput at the TCP layer uses an Iperf server, but when testing high-speed networks, the measurement results may be inaccurate or not reproducible due to limits on the Iperf server CPU performance and load conditions.
The RFC6349 standard specifies a method for evaluating throughput at the TCP layer; Anritsu utilizes a hardware-based method ensuring end-to-end throughput is measured accurately every time.
Measuring TCP Throughput using Network Master
Adding the Throughput option to the Network Master MT1x00A supports RFC6349 measurements (up to 10 GigE).
1. Option Configuration
•Network Master Pro MT1000A
•Network Master Flex MT1100A
2. RFC6349 Measurement Functions
3. Measurement Configurations
The following configurations are supported with RFC6349 measurements
(1) Measurement using Two MT1x00A Sets
When using two MT1x00A sets, the local MT1x00A controls measurement and the remote MT1x00A performs the hardware-based TCP throughput measurement. The test can be performed in the upstream direction, downstream direction, and both directions simultaneously.
(2) Measurement between MT1x00A Ports
When using two ports of one MT1x00A, the local port controls measurement and the remote port performs the hardware-based TCP throughput measurement. The test can be performed in the upstream direction, downstream direction, and both directions simultaneously.
(3) Measurement using Iperf server
When measuring using an Iperf server, the TCP throughput test uses hardware processing. The test direction is upstream (upload) only.
4. RFC6349 Measurement
The RFC6349 TCP throughput measurement procedure is described below.
(1) Search for Path MTU Max Size
This step searches for the MTU size at which data can be sent end-to-end over the network without fragmentation.
The TCP packet MTU is searched without using ICMP, this is very important as it is common for ICMP packets to be blocked or assigned low priority by core network elements.
The Maximum Transmission Unit (MTU) is the largest size of an IP data packet that can be sent across the network.
For example, when the Ethernet Frame size is 1518 bytes, the MTU is 1500 (18 bytes are used for the Ethernet overhead).
(2) Measure Baseline RTT and Calculate Optimum Window Size
RTT is calculated when there is no network congestion at the MTU size. Bandwidth is set to the network CIR. The optimum window size is then automatically calculated from these values.
Calculating Optimum Window Size
Measure the baseline RTT (when no congestion).
Hardware processing is used to measure the RTT from when the TCP packets are sent until the ACK packets are received.
1. After measuring the baseline RTT, the window size is calculated from the CIR for the specified network.
BDP [Bandwidth-Delay Product] (bits) * baseline RTT (s) * set CIR rate (bit/s)
2. The equation for the RTT Rx Window Size (RWIND) is as follows:
TCP RWND (bytes) = BDP/8
The RTT (Round-Trip Time) is the elapsed time from when the TCP packet is sent until the TCP ACK packet from the opposite party is received.
The BDP (Bandwidth-Delay Product) is the product of the data link contents (transmission bit count per second) and end-to-end delay (s).
(3) Measure TCP Throughput Size
Single TCP connection throughput, multi-TCP connection throughput and changes in throughput over time are measured using the searched MTU size and optimum window size. In addition, TCP throughput can also be measured for a specified window size.
(1) Test Conditions Screen - Control Screen
(2) Test Settings - Window Scan/Throughput Screen
1) Test Mode: At Automatic Setting
The TCP throughput is measured at window sizes of 25%, 50%, and 75% of the ideal window size to confirm the effect of window size. Additionally, the change in the TCP throughput over time (24 h max.) at the ideal window size is measured.
2) Test Mode: At Manual Setting
The TCP throughput is measured at the specified window size to confirm the effect of window size.
Additionally, the change in the TCP throughput over time (24 h max.) at the specified window size (8 MB max.) is measured.
(3) Test Settings - Multi-Service Screen
The TCP throughput at each TCP connection in a multi-TCP connection environment with different port numbers and QoS settings is measured.
Up to 16 TCP connections can be measured simultaneously.
•Measurement Results Screen Examples
(1) Measurement Summary Results
The MTU, RTT, window size, and throughput are displayed in table format.
(2) Window Scan Measurement Results
The window scan screen displays the throughput for each window size including ideal and actual results; selecting graphical results displays more details.
(3) Throughput Measurement Results - Display Format
The throughput measurement results screen (display format) displays the ideal window size (results gathered over a longer time) which include areas such as Transfer Time, Retransmitted Bytes, TCP efficiency, buffer delay, etc.
(4) Throughput Measurement Results - Graph Format
The throughput measurement results screen (graph format) displays the real-time change during the TCP throughput measurement.
(5) Multiservice Measurement Results - Table Format
The multiservice measurement results screen (table format) displays the TCP throughput for each of the multi-TCP connections and their TCP efficiency.
(6) Multiservice Measurement Results - Graph Format
The multiservice measurement results screen displays the real-time change during measurement in TCP throughput for each of the multi-TCP connections; this is ideal for checking that the QoS is correctly configured across the network, confirming throughput per stream.
Network Master Pro MT1000A
Network Master Flex MT1100A