# An Accurate Platform for Investigating TCP Performance in Wi-Fi Networks
## 2 Related Works
To observe the bufferbloat, they emulated the Wi-Fi network's settings and evaluated seven Active Queue Management (AQM) with single TCP and multiple TCP flows. However, the authors still used several machines to emulate the Wi-Fi network. Hence, it is nontrivial when we change Wi-Fi settings for new experiments. The work in [20] showed that MAC layer frame aggregation reduces delay and improves throughput in a Wi-Fi network. Another solution is using an algorithm called TCP Small Queues (TSQ) and TCP pacing [21]. Those mentioned works have been conducted on real Wi-Fi networks. Therefore, they incur a similar issue of changing the Wi-Fi setting mentioned above. In general, there are three classes of methods for CCA performance evaluation: using a simulator, setting up a real network, or using an emulator. Simulators have been widely used to characterize the behaviors of TCP CCAs following theoretical models [22]. For example, for CUBIC alone, there are several proposed models relying on different theories to evaluate its performance [23; 24; 25]. Real Wi-Fi networks have also shown their effectiveness in understanding the performance of TCP CCAs, as in [11; 12; 13; 15; 20; 21]. In [26], the authors discussed the advantages and disadvantages of real networks and simulators. The former are more reliable, but they have the problems of high cost and low maintainability and flex ibility. The latter are less costly, more maintainable, and flexible. However, a simulator does not involve actual communication but instead relies on formal mathematical models. The authors then introduced the network emulator Mininet-WiFi to balance the advantages of simulations and real networks [27]. Emulators typically simplify complex experimental setups while maintaining reliable accuracy. A detailed comparison of Mininet-WiFi with other emulators, simulators, and testbeds is presented in [26]. Many diverse experiments have been conducted to illustrate the effectiveness of Mininet-WiFi. Mininet-WiFi has been used in previous works because it simultaneously provides convenience and accuracy [28; 29]. However, this emulator has not been used to thoroughly consider the performance of TCP CCAs, especially in Wi-Fi networks. In [30], the authors used the simulator ns-3 and its Direct Code Execution (DCE) module to emulate heterogeneous environments. They then compared CUBIC, New Reno, and BBR with a focus on fairness. They showed that BBR might not be the best choice for the public Internet with heterogeneous settings. In [31], the authors used the emulator Mininet to evaluate and compare the performance of two BBR versions; however, this evaluation was performed considering wired networks. The authors could also find the limitations of the better version by using the emulator. In the present research, we also take an emulator-based approach to conduct a comprehensive investigation of CCAs in a Wi-Fi environment. We aim to provide a platform and tools for evaluating CCAs. An earlier version of this work has appeared in [3], where we investigated only the CCA performance in the emulator. This work extends the previous platform by adding a new evaluation scenario with a fairness index. Moreover, we compare the emulated CCA performance to that in a real network. We summarize and compare closely related works in Table 1. The table clearly shows the merits of our work compared to the others. Within the platform proposed in this study, we can change the Wi-Fi standard and topology with a few modifications in the script, reducing the time required for the experiment. The platform can support the measurement of more metrics than the previous studies (three vs. one or two metrics). Although the emulated devices are not entirely similar to actual devices, the proposed platform (considering the devices and CCAs) can provide a sufficient level of accuracy comparing the actual network's experiment. The platform can well capture the behaviors of Wi-Fi networks and CCAs.