Compact Forward Error Correction (FEC) Schemes
RFC 3695
Document | Type |
RFC - Experimental
(February 2004; No errata)
Obsoleted by RFC 5445
|
|
---|---|---|---|
Last updated | 2015-10-14 | ||
Stream | IETF | ||
Formats | plain text pdf htmlized bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 3695 (Experimental) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Allison Mankin | ||
Send notices to | <RogerKermode@msn.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 described in this document can be used to provide reliability for other service models as well. The two new FEC Encoding IDs 0 and 130 are described in Section 2,Show full document text