1st International ICST Workshop on ns-2: The IP Network Simulator

Research Article

NS-2 TCP-Linux: an NS-2 TCP implementation with congestion control algorithms from Linux

  • @INPROCEEDINGS{10.1145/1190455.1190463,
        author={David X.  Wei and Pei  Cao},
        title={NS-2 TCP-Linux: an NS-2 TCP implementation with congestion control algorithms from Linux},
        proceedings={1st International ICST Workshop on ns-2: The IP Network Simulator},
        publisher={ACM},
        proceedings_a={WNS2},
        year={2012},
        month={4},
        keywords={NS-2 TCP Congestion Control Linux},
        doi={10.1145/1190455.1190463}
    }
    
  • David X. Wei
    Pei Cao
    Year: 2012
    NS-2 TCP-Linux: an NS-2 TCP implementation with congestion control algorithms from Linux
    WNS2
    ACM
    DOI: 10.1145/1190455.1190463
David X. Wei1,*, Pei Cao1,*
  • 1: Department of Computer Science, California Institute of Technology
*Contact email: davidwei@acm.org, cao@theory.cs.stanford.edu

Abstract

This paper introduces NS-2 TCP-Linux, a new NS-2 TCP implementation that embeds the source code of TCP congestion control modules from Linux kernels. Compared to existing NS-2 TCP implementations, NS-2 TCP-Linux has three improvements: 1) a standard interface for congestion control algorithms similar to that in Linux 2.6, ensuring better extensibility for emerging congestion control algorithms; 2) a redesigned loss detection module (i.e. Scoreboard) that is more accurate; and 3) a new event queue scheduler that increases the simulation speed. As a result, NS-2 TCP-Linux is more extensible, runs faster and produces simulation results that are much closer to the actual TCP behavior of Linux. In addition to helping the network research community, NS-2 TCP-Linux will also help the Linux kernel community to debug and test their new congestion control algorithms.In this paper, we explain the design of NS-2 TCP-Linux. We also present a preliminary evaluation of three aspects of NS-2 TCP-Linux: extensibility to new congestion control algorithms, accuracy of the simulation results and simulation performance in terms of simulation speed and memory usage.Based on these results, we strongly believe that NS-2 TCP-Linux is a promising alternative or even a replacement for existing TCP implementations in NS-2. We call for participation to test and improve this new TCP implementation.