## 5 Case Studies on the OMF-Enabled Testbed
### Case Study 3: Achievable Throughput Measurements  
In contrast to the three previous experiment examples, this case study does not evaluate the accuracy of estimation tools but conducts performance measurements on a two-hop 802.11 g wireless ad hoc testbed to determine the maximum achievable throughput for TCP and UDP. To this end, two well-known end-to-end throughput measurement tools, namely iperf and netperf have been used.  
Achievable throughput is defined as the maximum rate at which data can be successfully transmitted over a network channel without packet loss, considering the payload size and the limitations imposed by the underlying protocol layers. For TCP and UDP, this can be expressed as:  
\[\text{Throughput}=\frac{\text{PS (bytes)}\times 8}{\text{RTT (seconds)}}\times\text{Efficiency} \tag{7}\]  
In Equation (7), PS refers to the data portion of the packet excluding headers (i.e., payload size), RTT is the roundtrip time, and Efficiency accounts for the impact of protocol overhead and retransmissions.  
The measurements of achievable throughput for TCP and UDP have been specified in an experiment description file using the testbed setup and configuration illustrated in Figure 3d, with the exception that no cross-traffic has been generated during the measurements. Particularly, using the ethtool, the WiFi mode has been set to 802.11 g, and the link layer rates have been adjusted to 18 Mbps, 36 Mbps, and 54 Mbps. As iperf and netperf are both-ended tools and their sender and receiver components were run on research nodes S and R, respectively. The maximum achievable throughput that is obtained on the transport layer strongly depends on the payload size. For example, a TCP segment or a UDP datagram with a larger payload size leads to a correspondingly larger throughput, since the overheads of layers 2 and 3 have a much greater impact on small payloads than on large payloads. In this respect, it is necessary to use the maximum possible payload size of a TCP segment or a UDP datagram to determine the maximum achievable throughput of the transport layer. The maximum possible TCP/UDP payload sizes, including headers, are limited by the maximum transmission unit (MTU) of layer 2. Thus, the achievable throughput on the transport layer is defined as the maximum transmission rate on this layer, which can be reached using the maximum possible payload size limited by MTU. Accordingly, the iperf and netperf measurements were conducted using a payload size of 1500 Byte, which is the MSS for Ethernet. Furthermore, the window sizes of both tools were set to 8 KByte. The rest of the other tool parameters were used in default settings.  
The measured achievable throughput for TCP and UDP at the three link layer rates are illustrated in Figure 6a,b, respectively. The results indicate that on a two-hop 802.11 g wireless ad hoc testbed, iperf was only able to exploit 30.94%, 21.33% and 18.01% of TCP's effective capacities of 18 Mbps, 36 Mbps, and 54 Mbps, respectively. Similarly, netperf could utilize 28.89%, 19.47%, and 17.13% of TCP's effective capacities of 18 Mbps, 36 Mbps, and 54 Mbps, respectively. When the performance of both benchmarking tools are compared, it is observed that the achievable TCP throughput reduces between 0.66 Mbps and 1.40 Mbps while changing the software from iperf to netperf. Furthermore, it is seen that in each experiment scenario UDP achieves significantly higher throughput than TCP. This is caused by the fact that in contrast to TCP, UDP does not include any connection management, congestion, and flow control or retransmission mechanisms that have a detrimental effect on the overall achievable throughput. Particularly, as compared to the achieved throughput of TCP, the percentage increment rates in achieved throughput of UDP for 18 Mbps, 36 Mbps, and 54 Mbps link layer rates are 20.99%, 21.33%, and 22.16% in case of iperf; and 18.89%, 19.47%, and 17.13% in case of netperf, respectively.