GSoC/GCI Archive
Google Summer of Code 2012

The ns-3 Network Simulator Project

Web Page:

Mailing List:

ns-3 is a discrete-event network simulator, distributed as free and open-source software, with an emphasis on networking research and education. Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results. Simulation plays a vital role in the research and education process because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented. A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for using real application and kernel code) and integration of the tool with virtual machine environments and testbeds. We believe that these are distinguishing technical characteristics of the tool. ns-3 has been in development since 2005 and has been making regular releases since June 2008 (our last release was ns-3.13 in December 2011). ns-3 is replacing the popular ns-2 tool which was developed in the 1997-2000 timeframe but became dated and unmaintained. The tool is in wide use; we provide statistics about the project on our web site (under the Overview/Statistics page), but in summary, we logged 86,000 downloads of our releases in calendar year 2011, we have a users group with 1500 members, a developers mailing list with 1200 members, 24 maintainers, and 93 people listed as authors of the code. ns-3 is operated as an open source project with financial backing from three NSF grants, funding from the French government, and help from the Google Summer of Code. We use a GPLv2 licensing model and heavily use mailing lists and to a lesser extent an IRC channel.


  • HLA interfaces for ns-3 The project deals with developing interfaces for High Level Architecture (HLA) for ns-3 project and thus enabling it to participate in a distributed simulation (Federation) involving various federates over Run Time infrastructure (RTI). The project involves three phases. Firstly, creating a Federate and Federate Ambassador for ns-3 to communicate with the RTI. Secondly, creating a synchroniser and simulator implementation that uses time from the RTI clock. Finally, creating a helper classes and modules to simplify the process of sharing and using objects in a distributed simulation.
  • LTE Scheduling with the FemtoForum MAC Scheduler API Proposal This is the proposal for LTE Scheduling with the FemtoForum MAC Scheduler API project. Than main technical plan is introduced in approach part.
  • Network Address and Port Translation (NAT) models Implementing a solid working NAT model for the NS3 framework taking into account the different behavior that NAT exhibits in a network equipping the node to act as a successful network edge device, also giving way for further security(firewall) implementations. This would include reusing Netfilter implementation on NS3 to facilitate NAT and then implement NAT itself. This would mimc the Linux NAT model and have added extensions.