An embedded network simulator to support network protocols' development

  • Luigi Rizzo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1245)


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.


Protocol evaluation TCP/IP simulation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S.Keshav: “REAL: A Network Simulator”, Technical Report 88/472, Dept. of Computer Science, UC Berkeley, 1988. Available as ( Simulator sources available as Scholar
  2. 2.
    A.Heybey: “The network simulator”, Technical Report, MIT, Sept.1990Google Scholar
  3. 3.
    J.Hoe: “Startup dynamics of TCP's Congestion Control and Avoidance Schemes”, Master's Thesis, MIT, June 1995Google Scholar
  4. 4.
    S.McCanne, S.Floyd: ns-LBNL Network Simulator. Available from ( Scholar
  5. 5.
    N.C. Hutchinson, L.L. Peterson: “The x-kernel: An architecture for implementing network protocols”, IEEE Trans. on Software Engineering, 17(1):64–76, Jan. 1991.CrossRefGoogle Scholar
  6. 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
  7. 7.
    S. Floyd, V. Jacobson: “Random Early Detection Gateways for Congestion Avoidance”, IEEE/ACM Trans. on Networking, 1(4):397–413, Aug. 1993. Available from Scholar
  8. 8.
    V.Jacobson, “Congestion Avoidance and Control”, Proceedings of SIGCOMM'88 (Stanford, CA, Aug.88), ACM.Google Scholar
  9. 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. 10.
    L.S.Brakmo, L.Peterson: “Performance Problems in BSD4.4. TCP”, 1994. Available as Scholar
  11. 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 Scholar
  12. 12.
    K. Fall, S.Floyd: “Comparison of Tahoe, Reno and SACK TCP”, Tech. Report, 1995. Available from Scholar
  13. 13.
    L.Rizzo, Simulator's sources. Available as Scholar
  14. 14.
    M. Mathis, J. Mahdavi, S. Floyd, A. Romanow: “RFC2018: TCP Selective Acknowledgement Option”, Oct.1996.Google Scholar
  15. 15.
    L.Rizzo: Sources for a SACK implementation for FreeBSD. Available as Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Luigi Rizzo
    • 1
  1. 1.Dip. di Ingegneria dell'InformazioneUniversità di PisaPisaItaly

Personalised recommendations