Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC) Schemes for FECFRAME
RFC 8681

Document Type RFC - Proposed Standard (January 2020; No errata)
Last updated 2020-01-14
Replaces draft-roca-tsvwg-rlc-fec-scheme
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Reviews
Stream WG state Submitted to IESG for Publication
Document shepherd Wesley Eddy
Shepherd write-up Show (last changed 2018-08-01)
IESG IESG state RFC 8681 (Proposed Standard)
Consensus Boilerplate Yes
Telechat date
Responsible AD Magnus Westerlund
Send notices to David Black <david.black@dell.com>, Wesley Eddy <wes@mti-systems.com>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack


Internet Engineering Task Force (IETF)                           V. Roca
Request for Comments: 8681                                      B. Teibi
Category: Standards Track                                          INRIA
ISSN: 2070-1721                                             January 2020

Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC)
                          Schemes for FECFRAME

Abstract

   This document describes two fully specified Forward Erasure
   Correction (FEC) Schemes for Sliding Window Random Linear Codes
   (RLC), one for RLC over the Galois Field (a.k.a., Finite Field)
   GF(2), a second one for RLC over the Galois Field GF(2^(8)), each
   time with the possibility of controlling the code density.  They can
   protect arbitrary media streams along the lines defined by FECFRAME
   extended to Sliding Window FEC Codes.  These Sliding Window FEC Codes
   rely on an encoding window that slides over the source symbols,
   generating new repair symbols whenever needed.  Compared to block FEC
   codes, these Sliding Window FEC Codes offer key advantages with real-
   time flows in terms of reduced FEC-related latency while often
   providing improved packet erasure recovery capabilities.

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
   https://www.rfc-editor.org/info/rfc8681.

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
   (https://trustee.ietf.org/license-info) 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
     1.1.  Limits of Block Codes with Real-Time Flows
     1.2.  Lower Latency and Better Protection of Real-Time Flows with
           the Sliding Window RLC Codes
     1.3.  Small Transmission Overheads with the Sliding Window RLC
           FEC Scheme
     1.4.  Document Organization
   2.  Definitions and Abbreviations
   3.  Common Procedures
     3.1.  Codec Parameters
     3.2.  ADU, ADUI, and Source Symbols Mappings
     3.3.  Encoding Window Management
     3.4.  Source Symbol Identification
     3.5.  Pseudorandom Number Generator (PRNG)
     3.6.  Coding Coefficients Generation Function
     3.7.  Finite Field Operations
       3.7.1.  Finite Field Definitions
       3.7.2.  Linear Combination of Source Symbol Computation
   4.  Sliding Window RLC FEC Scheme over GF(2^(8)) for Arbitrary
           Packet Flows
     4.1.  Formats and Codes
       4.1.1.  FEC Framework Configuration Information
       4.1.2.  Explicit Source FEC Payload ID
       4.1.3.  Repair FEC Payload ID
     4.2.  Procedures
   5.  Sliding Window RLC FEC Scheme over GF(2) for Arbitrary Packet
           Flows
     5.1.  Formats and Codes
       5.1.1.  FEC Framework Configuration Information
       5.1.2.  Explicit Source FEC Payload ID
       5.1.3.  Repair FEC Payload ID
     5.2.  Procedures
   6.  FEC Code Specification
     6.1.  Encoding Side
     6.2.  Decoding Side
   7.  Security Considerations
     7.1.  Attacks Against the Data Flow
       7.1.1.  Access to Confidential Content
       7.1.2.  Content Corruption
     7.2.  Attacks Against the FEC Parameters
     7.3.  When Several Source Flows are to be Protected Together
     7.4.  Baseline Secure FEC Framework Operation
     7.5.  Additional Security Considerations for Numerical
           Computations
   8.  Operations and Management Considerations
     8.1.  Operational Recommendations: Finite Field GF(2) Versus
           GF(2^(8))
     8.2.  Operational Recommendations: Coding Coefficients Density
           Threshold
   9.  IANA Considerations
   10. References
     10.1.  Normative References
     10.2.  Informative References
   Appendix A.  TinyMT32 Validation Criteria (Normative)
   Appendix B.  Assessing the PRNG Adequacy (Informational)
   Appendix C.  Possible Parameter Derivation (Informational)
     C.1.  Case of a CBR Real-Time Flow
     C.2.  Other Types of Real-Time Flow
     C.3.  Case of a Non-Real-Time Flow
   Appendix D.  Decoding Beyond Maximum Latency Optimization
Show full document text