This paper discusses the use of Forward Error Correction (FEC) techniques in reliable communication protocols, particularly for multicast applications. The author, Luigi Rizzo, addresses the limitations of Automatic Repeat reQuest (ARQ) techniques in handling large groups of receivers and uncorrelated packet losses. FEC techniques, which involve transmitting redundant packets based on error-correcting codes, are proposed as a solution. Despite the widespread use of error-correcting codes in various fields, few implementations exist in computer communications due to software complexity and application-specific concerns. To address this gap, the paper provides a basic description of erasure codes, presents an efficient implementation of a simple but flexible erasure code, and discusses its performance and potential applications.
The erasure code described in the paper is based on Vandermonde matrices computed over finite fields, making it suitable for efficient implementation on common microprocessors. The code can be used in both unicast and multicast protocols, offering benefits such as reduced feedback requirements and improved reliability. The paper also discusses the trade-offs between FEC and ARQ techniques, highlighting their advantages in different scenarios. Finally, the author provides a portable C implementation of the erasure code and discusses its performance, showing that it can be effectively used in a wide range of applications, including network whiteboards, audio/video conferencing, and file transfers over LANs and WANs.This paper discusses the use of Forward Error Correction (FEC) techniques in reliable communication protocols, particularly for multicast applications. The author, Luigi Rizzo, addresses the limitations of Automatic Repeat reQuest (ARQ) techniques in handling large groups of receivers and uncorrelated packet losses. FEC techniques, which involve transmitting redundant packets based on error-correcting codes, are proposed as a solution. Despite the widespread use of error-correcting codes in various fields, few implementations exist in computer communications due to software complexity and application-specific concerns. To address this gap, the paper provides a basic description of erasure codes, presents an efficient implementation of a simple but flexible erasure code, and discusses its performance and potential applications.
The erasure code described in the paper is based on Vandermonde matrices computed over finite fields, making it suitable for efficient implementation on common microprocessors. The code can be used in both unicast and multicast protocols, offering benefits such as reduced feedback requirements and improved reliability. The paper also discusses the trade-offs between FEC and ARQ techniques, highlighting their advantages in different scenarios. Finally, the author provides a portable C implementation of the erasure code and discusses its performance, showing that it can be effectively used in a wide range of applications, including network whiteboards, audio/video conferencing, and file transfers over LANs and WANs.