RFC 3453 (rfc3453) - Page 2 of 18


The Use of Forward Error Correction (FEC) in Reliable Multicast



Alternative Format: Original Text Document



RFC 3453               FEC in Reliable Multicast           December 2002


Table of Contents

   1. Rationale and Overview . . . . . . . . . . . . . . . . . . . .   2
     1.1. Application of FEC codes . . . . . . . . . . . . . . . . .   5
   2. FEC Codes. . . . . . . . . . . . . . . . . . . . . . . . . . .   6
     2.1. Simple codes . . . . . . . . . . . . . . . . . . . . . . .   6
     2.2. Small block FEC codes. . . . . . . . . . . . . . . . . . .   8
     2.3. Large block FEC codes. . . . . . . . . . . . . . . . . . .  10
     2.4. Expandable FEC codes . . . . . . . . . . . . . . . . . . .  11
     2.5. Source blocks with variable length source symbols. . . . .  13
   3. Security Considerations. . . . . . . . . . . . . . . . . . . .  14
   4. Intellectual Property Disclosure . . . . . . . . . . . . . . .  14
   5. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . .  15
   6. References . . . . . . . . . . . . . . . . . . . . . . . . . .  15
   7. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .  17
   8. Full Copyright Statement . . . . . . . . . . . . . . . . . . .  18

1.  Rationale and Overview

   There are many ways to provide reliability for transmission
   protocols.  A common method is to use ARQ, automatic request for
   retransmission.  With ARQ, receivers use a back channel to the sender
   to send requests for retransmission of lost packets.  ARQ works well
   for one-to-one reliable protocols, as evidenced by the pervasive
   success of TCP/IP.  ARQ has also been an effective reliability tool
   for one-to-many reliability protocols, and in particular for some
   reliable IP multicast protocols.  However, for one-to-very-many
   reliability protocols, ARQ has limitations, including the feedback
   implosion problem because many receivers are transmitting back to the
   sender, and the need for a back channel to send these requests from
   the receiver.  Another limitation is that receivers may experience
   different loss patterns of packets, and thus receivers may be delayed
   by retransmission of packets that other receivers have lost that but
   they have already received.  This may also cause wasteful use of
   bandwidth used to retransmit packets that have already been received
   by many of the receivers.

   In environments where ARQ is either costly or impossible because
   there is either a very limited capacity back channel or no back
   channel at all, such as satellite transmission, a Data Carousel
   approach to reliability is sometimes used [1].  With a Data Carousel,
   the sender partitions the object into equal length pieces of data,
   which we hereafter call source symbols, places them into packets, and
   then continually cycles through and sends these packets.  Receivers
   continually receive packets until they have received a copy of each
   packet.  Data Carousel has the advantage that it requires no back
   channel because there is no data that flows from receivers to the
   sender.  However, Data Carousel also has limitations.  For example,



Luby, et. al.                Informational