An Implementation of Scalable, Vegas, Veno, and YeAH Congestion Control Algorithms in ns-3
Truc Anh N. Nguyen, Siddharth Gangadhar, Md. Moshfequr Rahman, James P. G. Sterbenz · 2016
Despite the modern advancements in networking, TCP congestion control is still one of the key mechanisms that ensure the stability of the Internet. Given its principal role, it is a popular research topic revisited every time TCP and its variants are studied. Open-source network simulators such as ns-3 are important tools used by the research community to gain valuable insight into existing TCP congestion control algorithms and to develop new variants. However, the current TCP infrastructure in ns-3 supports only a few congestion control algorithms. As part of the ongoing effort to extend TCP functionalities in the simulator, we implement Scalable, Vegas, Veno, and YeAH based on the original literature and their implementations in the Linux kernel; this paper presents our implementation details. The paper also discusses our validation of the added models against the theories to demonstrate their correctness. Through our evaluation, we highlight the key features of each algorithm that we study.