--- 1/draft-ietf-rmt-fec-bb-revised-02.txt 2006-02-04 17:02:45.000000000 +0100 +++ 2/draft-ietf-rmt-fec-bb-revised-03.txt 2006-02-04 17:02:45.000000000 +0100 @@ -1,20 +1,20 @@ Reliable Multicast M. Watson Internet-Draft M. Luby -Expires: April 21, 2006 Digital Fountain +Expires: July 24, 2006 Digital Fountain L. Vicisano Cisco Systems, Inc. - October 18, 2005 + January 20, 2006 Forward Error Correction (FEC) Building Block - draft-ietf-rmt-fec-bb-revised-02 + draft-ietf-rmt-fec-bb-revised-03 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that @@ -25,25 +25,25 @@ and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on April 21, 2006. + This Internet-Draft will expire on July 24, 2006. Copyright Notice - Copyright (C) The Internet Society (2005). + Copyright (C) The Internet Society (2006). Abstract This document describes how to use Forward Error Correction (FEC) codes to efficiently provide and/or augment reliability for data transport. This document defines a framework for the definition of the information that needs to be communicated in order to use an FEC code for delivering content, in addition to the encoded data itself, and for definition of formats and codes for communcation of that information. Both information communicated with the encoded data @@ -78,26 +78,27 @@ 7. FEC scheme specifications . . . . . . . . . . . . . . . . . . 17 8. CDP specifications . . . . . . . . . . . . . . . . . . . . . . 20 9. Common algorithms . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Block partitioning algorithm . . . . . . . . . . . . . . . 21 9.1.1. First Step . . . . . . . . . . . . . . . . . . . . . . 21 9.1.2. Second step . . . . . . . . . . . . . . . . . . . . . 22 10. Requirements from other building blocks . . . . . . . . . . . 23 11. Security Considerations . . . . . . . . . . . . . . . . . . . 24 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 12.1. Explicit IANA Assignment Guidelines . . . . . . . . . . . 25 - 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 - 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28 - 14.1. Normative References . . . . . . . . . . . . . . . . . . . 28 - 14.2. Informative References . . . . . . . . . . . . . . . . . . 28 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 - Intellectual Property and Copyright Statements . . . . . . . . . . 30 + 13. Changes from RFC3452 . . . . . . . . . . . . . . . . . . . . . 27 + 14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 + 15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 + 15.1. Normative References . . . . . . . . . . . . . . . . . . . 29 + 15.2. Informative References . . . . . . . . . . . . . . . . . . 29 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30 + Intellectual Property and Copyright Statements . . . . . . . . . . 31 1. Introduction This document describes how to use Forward Error Correction (FEC) codes to provide support for reliable delivery of content within the context of a Content Delivery Protocol (CDP). This document describes a building block as defined in [10]. This document is a product of the IETF RMT WG and follows the general guidelines provided in [8]. @@ -113,20 +114,34 @@ Note that a 'CDP' in the context of this document may consist of several distinct protocol mechanisms and may support any kind of application requiring reliable transport - for example object delivery and streaming applications. This document also provides detailed guidelines on how to write an RFC for an FEC scheme corresponding to a new FEC Encoding ID (for both Fully-Specified and Under-Specified FEC Schemes). + RFC3452 [3] contained a previous version of this specification, which + was published in the "Experimental" category. It was the stated + intent of the RMT working group to re-submit this specification as an + IETF Proposed Standard in due course. + + This Proposed Standard specification is thus based on RFC3452 [3] + updated according to accumulated experience and growing protocol + maturity since the publication of RFC3452 [3]. Said experience + applies both to this specification itself and to congestion control + strategies related to the use of this specification. + + The differences between RFC3452 [3] and this document listed in + Section 13 + 2. Definitions/Abbreviations Object: An ordered sequence of bytes to be transferred by the transport protocol. For example, a file or stream. Symbol: A unit of data processed by the Forward Error Correction code. A symbol is always considered as a unit i.e. it is either completely received or completely lost. Source symbol: A symbol containing information from the original @@ -957,37 +972,69 @@ o A pointer to publicly accessible documentation describing the Under-Specified FEC scheme, associated with the value of "ietf: rmt:fec:encoding:instance" assigned, and a way to obtain it (e.g., a pointer to a publicly available reference-implementation or the name and contacts of a company that sells it, either separately or embedded in a product). It is the responsibility of the requestor to keep all the above information up to date. -13. Acknowledgments +13. Changes from RFC3452 + + This section lists the changes between the Experimental version of + this specification, [3], and this version: + + o The requirements for definition of a new FEC Scheme and the + requirements for specification of new Content Delivery Protocols + which use FEC Schemes are made more explicit to permit independent + definition of FEC Schemes and Content Delivery Protocols. + + o The definitions of basic FEC Schemes have been removed with the + intention of publishing these separately. + + o The FEC Object Transmission Information is more explicitly defined + and in particular three classes of FEC OTI (Mandatory, Common and + Scheme-specific) are introduced to permit re-usable definition of + explicit fields in Content Delivery Protocols to carry these + elements. + + o FEC Schemes are required to specify a complete encoding for the + FEC Object Transmission which can be carried transparently by + Content Delivery protocols (instead of defining explicit + elements). + + o The possibility for FEC Schemes to define two FEC Payload ID + formats for use with souce and repair packets respectively in the + case of systematic FEC codes is introduced. + + o The file blocking algorithm from FLUTE is included here as a + common algorithm which is recommended to be re-used by FEC Schemes + when appropriate. + +14. Acknowledgments This document is largely based on RFC3452 [3] and thus thanks are due to the additional authors of that document: J. Gemmell, L. Rizzo, M. Handley, J. Crowcroft. -14. References +15. References -14.1. Normative References +15.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. -14.2. Informative References +15.2. Informative References [3] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M., and J. Crowcroft, "Forward Error Correction (FEC) Building Block", RFC 3452, December 2002. [4] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M., and J. Crowcroft, "The Use of Forward Error Correction (FEC) in Reliable Multicast", RFC 3453, December 2002. [5] Kermode, R. and L. Vicisano, "Author Guidelines for Reliable @@ -1071,18 +1118,18 @@ This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement - Copyright (C) The Internet Society (2005). This document is subject + Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.