An embedded network simulator to support network protocols' development
The development of network protocols, especially if designed for use in very large scale networks, generally requires extensive simulation and tests in operational environments to assess their performance and correctness. Both approaches have limitations: simulation because of possible lack of accuracy in modeling the system (and, especially, traffic generators), tests in operating networks because of the difficulty of setting up and controlling the experimental testbed.
In this paper we propose to embed network simulators in operational systems, so as to get the advantages of both simulators and real testbeds. Such simulators can be built with minimal modifications to existing protocol stacks. They work by intercepting communications of the protocol layer under test and simulating the effects of finite queues, bandwidth limitations, communication delays, noisy channels. As a result, experiments can be run on a standalone system, while simulating arbitrarily complex networks. Thanks to the ability of using real traffic generators and protocol implementations, doing experiments becomes as simple as running the desired set of applications on a workstation.
An implementation of such a simulator, targeted to TCP and compatible with BSD-derived systems, is available from the author.
KeywordsProtocol evaluation TCP/IP simulation
Unable to display preview. Download preview PDF.
- 1.S.Keshav: “REAL: A Network Simulator”, Technical Report 88/472, Dept. of Computer Science, UC Berkeley, 1988. Available as (http://netlib.att.com/∼keshav/papers/real.ps.Z) Simulator sources available as ftp://ftp.research.att.com/dist/qos/REAL.tarGoogle Scholar
- 2.A.Heybey: “The network simulator”, Technical Report, MIT, Sept.1990Google Scholar
- 3.J.Hoe: “Startup dynamics of TCP's Congestion Control and Avoidance Schemes”, Master's Thesis, MIT, June 1995Google Scholar
- 4.S.McCanne, S.Floyd: ns-LBNL Network Simulator. Available from (http://www-nrg.ee.lbl.gov/ns/)Google Scholar
- 6.E.Limin Yan: “The Design and Implementation of an Emulated WAN”, Tech. report, CS Dept., USC, 1995. Available from http://catarina.usc.edy/lyan/delayemulator.tar.gzGoogle Scholar
- 8.V.Jacobson, “Congestion Avoidance and Control”, Proceedings of SIGCOMM'88 (Stanford, CA, Aug.88), ACM.Google Scholar
- 9.Z. Wang, J. Crowcroft, “Eliminating Periodic Packet Losses in the 4.3-Tahoe BSD TCP Congestion Control Algorithm”, ACM Computer Communications Review, Apr '92.Google Scholar
- 10.L.S.Brakmo, L.Peterson: “Performance Problems in BSD4.4. TCP”, 1994. Available as ftp://cs.arizona.edu/xkernel/Papers/tcp_problems.psGoogle Scholar
- 11.L.S.Brakmo, S.W.O'Malley, L.Peterson: “TCP Vegas: New Techniques for Congestion Detection and Avoidance”, Proceedings of SIGCOMM'94 Conference, pp.24–35, Aug.94. Available as ftp://ftp.cs.arizona.edu/xkernel/Papers/vegas.psGoogle Scholar
- 12.K. Fall, S.Floyd: “Comparison of Tahoe, Reno and SACK TCP”, Tech. Report, 1995. Available from http://www-nrg.ee.lbl.gov/nrg-papers.htmlGoogle Scholar
- 13.L.Rizzo, Simulator's sources. Available as http://www.iet.unipi.it/∼luigi/dummynet.diffsGoogle Scholar
- 14.M. Mathis, J. Mahdavi, S. Floyd, A. Romanow: “RFC2018: TCP Selective Acknowledgement Option”, Oct.1996.Google Scholar
- 15.L.Rizzo: Sources for a SACK implementation for FreeBSD. Available as http://www.iet.unipi.it/∼luigi/sack.diffsGoogle Scholar