datatracker.ietf.org
Sign in
Version 5.6.1.p1, 2014-07-16
Report a bug

Compact Forward Error Correction (FEC) Schemes
RFC 3695

Document type: RFC - Experimental (February 2004)
Obsoleted by RFC 5445
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 3695 (Experimental)
Responsible AD: Allison Mankin
Send notices to: <RogerKermode@msn.com>, <lorenzo@cisco.com>

Network Working Group                                            M. Luby
Request for Comments: 3695                              Digital Fountain
Category: Experimental                                       L. Vicisano
                                                                   Cisco
                                                           February 2004

             Compact Forward Error Correction (FEC) Schemes

Status of this Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

Abstract

   This document introduces some Forward Error Correction (FEC) schemes
   that supplement the FEC schemes described in RFC 3452.  The primary
   benefits of these additional FEC schemes are that they are designed
   for reliable bulk delivery of large objects using a more compact FEC
   Payload ID, and they can be used to sequentially deliver blocks of an
   object of indeterminate length.  Thus, they more flexibly support
   different delivery models with less packet header overhead.

   This document also describes the Fully-Specified FEC scheme
   corresponding to FEC Encoding ID 0.  This Fully-Specified FEC scheme
   requires no FEC coding and is introduced primarily to allow simple
   interoperability testing between different implementations of
   protocol instantiations that use the FEC building block.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Packet Header Fields . . . . . . . . . . . . . . . . . . . . .  3
       2.1.  FEC Payload ID for FEC Encoding IDs 0 and 130. . . . . .  4
       2.2.  Compact No-Code FEC scheme . . . . . . . . . . . . . . .  5
       2.3.  Compact FEC scheme . . . . . . . . . . . . . . . . . . .  5
   3.  Compact No-Code FEC scheme . . . . . . . . . . . . . . . . . .  6
       3.1.  Source Block Logistics . . . . . . . . . . . . . . . . .  7
       3.2.  Sending and Receiving a Source Block . . . . . . . . . .  8
   4.  Usage Examples . . . . . . . . . . . . . . . . . . . . . . . .  9
       4.1.  Reliable Bulk Data Delivery. . . . . . . . . . . . . . .  9

Luby & Vicisano               Experimental                      [Page 1]
RFC 3695                      FEC Schemes                  February 2004

       4.2.  Block-Stream Delivery. . . . . . . . . . . . . . . . . . 10
   5.  Security Considerations. . . . . . . . . . . . . . . . . . . . 10
   6.  IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 10
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
       7.1.  Normative References . . . . . . . . . . . . . . . . . . 11
       7.2.  Informative References . . . . . . . . . . . . . . . . . 12
   8.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Full Copyright Statement . . . . . . . . . . . . . . . . . . . 13

1.  Introduction

   This document describes two new Forward Error Correction (FEC)
   schemes corresponding to FEC Encoding IDs 0 and 130 which supplement
   the FEC schemes corresponding to FEC Encoding IDs 128 and 129
   described in the FEC Building Block [4].

   The new FEC schemes are particularly applicable when an object is
   partitioned into equal-length source blocks.  In this case, the
   source block length common to all source blocks can be communicated
   out-of-band, thus saving the additional overhead of carrying the
   source block length within the FEC Payload ID of each packet.  The
   new FEC schemes are similar to the FEC schemes with FEC Encoding ID
   128 defined in RFC 3452 [4], except that the FEC Payload ID is half
   as long.  This is the reason that these new FEC schemes are called
   Compact FEC schemes.

   The primary focus of FEC Encoding IDs 128 and 129 is to reliably
   deliver bulk objects of known length.  The FEC schemes described in
   this document are designed to be used for both reliable delivery of
   bulk objects of known length, and for the delivery of a stream of
   source blocks for an object of indeterminate length.  Within the
   block-stream delivery model, reliability guarantees can range from
   acknowledged reliable delivery of each block to unacknowledged
   enhanced-reliability delivery of time-sensitive blocks, depending on
   the properties of the protocol instantiation in which the FEC scheme
   is used.  Acknowledged reliable block-stream delivery is similar in
   spirit to the byte-stream delivery that TCP offers, except that the
   unit of delivery is a block of data instead of a byte of data.  In
   the spirit of a building block (see RFC 3048 [6]), the FEC schemes

[include full document text]