Network simulation is used widely in network research to test new protocols, modifications to existing protocols and new ideas. The tool used in many cases is ns-2, which provides a wide range of protocol implementations and simulation tools. The nature of the ns-2 protocols means that they are often based on theoretical models and possibly lack the behaviour of real networks.
This project presents the Network Simulation Cradle which "cradles" real world operating systems' network stacks in a wrapper that allows the protocols to be used in the ns-2 network simulator. This provides real world code in a simulation context, allowing accurate simulation at little extra cost. Our results show that ns-2's TCP implementations do not match observed behaviour from real machines in some respects and using NSC produces results closer to real world network stacks.
This work is validated by comparing situations using a test network with the same situations in the simulator. To date it has been shown that the NSC is able to produce extremely accurate results.
Emphasis has been placed on not changing any of the network stacks by hand. Not a single line of code has been changed in the network protocol implementations of any of the above four stacks. However, a custom C parser was built to programmatically change source code.
More information of this project:
- Network stack status
- Case studies/examples of use
- Other software developed
- The C parser
- The future
The Network Simulation Cradle is available for download.
Publication simulation scripts, presentation slides and errata
Simulation with Real World Network Stacks. Winter Simulation Conference 2005.
Performance, validation and testing with the Network Simulation Cradle. MASCOTS 2006.
Validation of simulated real world TCP stacks. Winter Simulation Conference 2007.
- Presentation slides (Google Docs Presentation)
At times this work has branched off into other, related, research:
About the author
Sam Jansen works in the Wand Network Research Group as a PhD student supervised by Associate Professor Tony McGregor in the Computer Science Department at The University of Waikato in Hamilton, New Zealand.