Dummynet and Forward Error Correction

In this paper we present a couple of tools developed by the author on FreeBSD, and available from the author's Web page in source format. The first one, called dummynet, is a tool designed for the performance evaluation of network protocols and applications. Despite its original design goal, there has been a lot of interest on using dummynet as a bandwidth manager in network servers. dummynet simulates the effect of finite queues, bandwidth limitations, and queueing delays, and is embedded in the protocol stack of the host, allowing even complex experiments to be run on a single machine, using existing applications and protocol implementations. The second tool is a software implementation of an erasure code especially suited for use in network protocols. Erasure codes are used in Forward Error Correction (FEC) techniques to reduce or remove the need for retransmissions in presence of communiction errors. FEC has been rarely used in network protocols, because of the encoding/decoding overhead, and also because the underlying theory of error correcting codes is generally not well known to network researchers. In this paper we discuss the theory behind a simple erasure code, and provide performance data to show that the encoding/decoding overhead is acceptable for many applications even on low-end machines.

[1]  Madhu Sudan,et al.  Priority encoding transmission , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[2]  Srinivasan Keshav,et al.  REAL: A Network Simulator , 1988 .

[3]  Steven McCanne,et al.  Receiver-driven layered multicast , 1996, SIGCOMM '96.

[4]  Daniel A. Spielman,et al.  Practical loss-resilient codes , 1997, STOC '97.

[5]  Christian Huitema,et al.  The case for packet level FEC , 1996, Protocols for High-Speed Networks.

[6]  Jon Crowcroft,et al.  TCP-like congestion control for layered multicast data transfer , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[7]  Jim Gemmell,et al.  Using Multicast FEC to Solve the Midnight Madness Problem , 1997 .

[8]  Ernst W. Biersack,et al.  Optimal multicast feedback , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[9]  Donald F. Towsley,et al.  Parity-based loss recovery for reliable multicast transmission , 1997, TNET.

[10]  R. Blahut Theory and practice of error control codes , 1983 .

[11]  Shu Lin,et al.  Automatic-repeat-request error-control schemes , 1984, IEEE Communications Magazine.

[12]  Luigi Rizzo,et al.  RMDP: an FEC-based reliable multicast protocol for wireless environments , 1998, MOCO.

[13]  Luigi Rizzo,et al.  Dummynet: a simple approach to the evaluation of network protocols , 1997, CCRV.

[14]  Luigi Rizzo,et al.  Effective erasure codes for reliable computer communication protocols , 1997, CCRV.

[15]  J.L. Massey,et al.  Theory and practice of error control codes , 1986, Proceedings of the IEEE.

[16]  William H. Press,et al.  Numerical Recipes in FORTRAN - The Art of Scientific Computing, 2nd Edition , 1987 .

[17]  Stephen Deering,et al.  Multicast routing in a datagram internetwork , 1992 .