Forward Error Correction (FEC) Framework Extension to Sliding Window Codes
RFC 8680

Document Type RFC - Proposed Standard (January 2020; No errata)
Updates RFC 6363
Authors Vincent Roca  , Ali Begen 
Last updated 2020-01-14
Replaces draft-roca-tsvwg-fecframev2
Stream Internent Engineering Task Force (IETF)
Formats plain text html xml pdf htmlized (tools) htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Wesley Eddy
Shepherd write-up Show (last changed 2018-09-24)
IESG IESG state RFC 8680 (Proposed Standard)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Magnus Westerlund
Send notices to David Black <>, Wesley Eddy <>
IANA IANA review state IANA OK - No Actions Needed
IANA action state No IANA Actions

Internet Engineering Task Force (IETF)                           V. Roca
Request for Comments: 8680                                         INRIA
Updates: 6363                                                   A. Begen
Category: Standards Track                                Networked Media
ISSN: 2070-1721                                             January 2020

  Forward Error Correction (FEC) Framework Extension to Sliding Window


   RFC 6363 describes a framework for using Forward Error Correction
   (FEC) codes to provide protection against packet loss.  The framework
   supports applying FEC to arbitrary packet flows over unreliable
   transport and is primarily intended for real-time, or streaming,
   media.  However, FECFRAME as per RFC 6363 is restricted to block FEC
   codes.  This document updates RFC 6363 to support FEC codes based on
   a sliding encoding window, in addition to block FEC codes, in a
   backward-compatible way.  During multicast/broadcast real-time
   content delivery, the use of sliding window codes significantly
   improves robustness in harsh environments, with less repair traffic
   and lower FEC-related added latency.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
   2.  Terminology
     2.1.  Definitions and Abbreviations
     2.2.  Requirements Language
   3.  Summary of Architecture Overview
   4.  Procedural Overview
     4.1.  General
     4.2.  Sender Operation with Sliding Window FEC Codes
     4.3.  Receiver Operation with Sliding Window FEC Codes
   5.  Protocol Specification
     5.1.  General
     5.2.  FEC Framework Configuration Information
     5.3.  FEC Scheme Requirements
   6.  Feedback
   7.  Transport Protocols
   8.  Congestion Control
   9.  Security Considerations
   10. Operations and Management Considerations
   11. IANA Considerations
   12. References
     12.1.  Normative References
     12.2.  Informative References
   Appendix A.  About Sliding Encoding Window Management
   Authors' Addresses

1.  Introduction

   Many applications need to transport a continuous stream of packetized
   data from a source (sender) to one or more destinations (receivers)
   over networks that do not provide guaranteed packet delivery.  In
   particular, packets may be lost, which is strictly the focus of this
   document: we assume that transmitted packets are either lost (e.g.,
   because of a congested router, a poor signal-to-noise ratio in a
   wireless network, or because the number of bit errors exceeds the
   correction capabilities of the physical-layer error-correcting code)
   or were received by the transport protocol without any corruption
   (i.e., the bit errors, if any, have been fixed by the physical-layer
   error-correcting code and therefore are hidden to the upper layers).

   For these use cases, Forward Error Correction (FEC) applied within
   the transport or application layer is an efficient technique to
   improve packet transmission robustness in the presence of packet
   losses (or "erasures") without going through packet retransmissions
   that create a delay often incompatible with real-time constraints.
   The FEC Building Block defined in [RFC5052] provides a framework for
   the definition of Content Delivery Protocols (CDPs) that make use of
   separately defined FEC schemes.  Any CDP defined according to the
   requirements of the FEC Building Block can then easily be used with
   any FEC scheme that is also defined according to the requirements of
   the FEC Building Block.

   Then, FECFRAME [RFC6363] provides a framework to define Content
   Delivery Protocols (CDPs) that provide FEC protection for arbitrary
Show full document text