<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-irtf-nwcrg-network-coding-satellites-15" indexInclude="true" ipr="trust200902" number="8975" prepTime="2021-01-22T09:07:32" scripts="Common,Latin" sortRefs="true" submissionType="IRTF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-irtf-nwcrg-network-coding-satellites-15" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8975" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Network Coding for Satellite Systems">Network Coding for Satellite Systems</title>
    <seriesInfo name="RFC" value="8975" stream="IRTF"/>
    <author role="editor" fullname="Nicolas Kuhn" initials="N" surname="Kuhn">
      <organization showOnFrontPage="true">CNES</organization>
      <address>
        <postal>
          <street>18 avenue Edouard Belin</street>
          <city>Toulouse</city>
          <region/>
          <code>31400</code>
          <country>France</country>
        </postal>
        <phone/>
        <email>nicolas.kuhn@cnes.fr</email>
      </address>
    </author>
    <author role="editor" fullname="Emmanuel Lochin" initials="E" surname="Lochin">
      <organization showOnFrontPage="true">ENAC</organization>
      <address>
        <postal>
          <street>7 avenue Edouard Belin</street>
          <city>Toulouse</city>
          <region/>
          <code>31400</code>
          <country>France</country>
        </postal>
        <phone/>
        <email>emmanuel.lochin@enac.fr</email>
      </address>
    </author>
    <date month="01" year="2021"/>
    <area>Transport</area>
    <workgroup>Coding for Efficient Network Communications</workgroup>
    <keyword>SATCOM</keyword>
    <keyword>coding techniques</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document is a product of the Coding for Efficient Network Communications Research Group (NWCRG). It conforms to the directions found in the NWCRG taxonomy (RFC 8406).</t>
      <t indent="0" pn="section-abstract-2">The objective is to contribute to a larger deployment of Network Coding techniques in and above the network layer in satellite communication systems. This document also identifies open research issues related to the deployment of Network Coding in satellite communication systems.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Research Task Force
            (IRTF).  The IRTF publishes the results of Internet-related
            research and development activities.  These results might not be
            suitable for deployment.  This RFC represents the consensus of the Coding for Efficient Network Communications
            Research Group of the Internet Research Task Force (IRTF).
            Documents approved for publication by the IRSG are not a
            candidate for any level of Internet Standard; see Section 2 of RFC
            7841.   
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8975" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-a-note-on-the-topology-of-s">A Note on the Topology of Satellite Networks</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-cases-for-improving-sat">Use Cases for Improving SATCOM System Performance Using Network Coding</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-two-way-relay-channel-mode">Two-Way Relay Channel Mode</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reliable-multicast">Reliable Multicast</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hybrid-access">Hybrid Access</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-lan-packet-losses">LAN Packet Losses</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-varying-channel-conditions">Varying Channel Conditions</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t indent="0" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-improving-gateway-handover">Improving Gateway Handover</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-research-challenges">Research Challenges</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-joint-use-of-network-coding">Joint Use of Network Coding and Congestion Control in SATCOM Systems</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-efficient-use-of-satellite-">Efficient Use of Satellite Resources</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-interaction-with-virtualize">Interaction with Virtualized Satellite Gateways and Terminals</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-delay-disruption-tolerant-n">Delay/Disruption-Tolerant Networking (DTN)</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conclusion">Conclusion</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-glossary">Glossary</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sec_introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document is a product of and represents the collaborative work and consensus of the Coding for Efficient Network Communications Research Group (NWCRG); while it is not an IETF product and not a standard, it is intended to inform the SATellite COMmunication (SATCOM) and Internet research communities about recent developments in Network Coding. A glossary is included in <xref target="sec_glossary" format="default" sectionFormat="of" derivedContent="Section 6"/> to clarify the terminology used throughout the document.</t>
      <t indent="0" pn="section-1-2">As will be shown in this document, the implementation of Network Coding techniques above the network layer, at application or transport layers (as described in <xref target="RFC1122" format="default" sectionFormat="of" derivedContent="RFC1122"/>), offers an opportunity for improving the end-to-end performance of SATCOM systems. Physical- and link-layer coding error protection is usually enough to provide quasi-error-free transmission, thus minimizing packet loss. However, when residual errors at those layers cause packet losses, retransmissions add significant delays (in particular, in geostationary systems with over 0.7 second round-trip delays). Hence, the use of Network Coding at the upper layers can improve the quality of service in SATCOM subnetworks and eventually favorably impact the experience of end users.</t>
      <t indent="0" pn="section-1-3">While there is an active research community working on Network Coding techniques above the network layer in general and in SATCOM in particular, not much of this work has been deployed in commercial systems. In this context, this document identifies opportunities for further usage of Network Coding in commercial SATCOM networks.</t>
      <t indent="0" pn="section-1-4">The notation used in this document is based on the NWCRG taxonomy <xref target="RFC8406" format="default" sectionFormat="of" derivedContent="RFC8406"> </xref>:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-5">
        <li pn="section-1-5.1">Channel and link error-correcting codes are considered part of the error protection for the PHYsical (PHY) layer and are out of the scope of this document.</li>
        <li pn="section-1-5.2">Forward Erasure Correction (FEC) (also called "Application-Level FEC") operates above the link layer and targets packet-loss recovery.</li>
        <li pn="section-1-5.3">This document considers only coding (or coding techniques or coding schemes) that uses a linear combination of packets; it excludes, for example, content coding (e.g., to compress a video flow) or other non-linear operations.</li>
      </ul>
    </section>
    <section anchor="sec_sat_topo" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-a-note-on-the-topology-of-s">A Note on the Topology of Satellite Networks</name>
      <t indent="0" pn="section-2-1">There are multiple SATCOM systems, for example, broadcast TV, point-to point-communication, and Internet of Things (IoT) monitoring. Therefore, depending on the purpose of the system, the associated ground segment architecture will be different. This section focuses on a satellite system that follows the European Telecommunications Standards Institute (ETSI) Digital Video Broadcasting (DVB) standards to provide broadband Internet access via ground-based gateways <xref target="ETSI-EN-2020" format="default" sectionFormat="of" derivedContent="ETSI-EN-2020"/>. One must note that the overall data capacity of one satellite may be higher than the capacity that one single gateway supports. Hence, there are usually multiple gateways for one unique satellite platform.</t>
      <t indent="0" pn="section-2-2">In this context, <xref target="fig_sat_gateway" format="default" sectionFormat="of" derivedContent="Figure 1"/> shows an example of a multigateway satellite system, where BBFRAME stands for "Base-Band FRAME", PLFRAME for "Physical Layer FRAME", and PEP for "Performance Enhancing Proxy". More information on a generic SATCOM ground segment architecture for bidirectional Internet access can be found in <xref target="SAT2017" format="default" sectionFormat="of" derivedContent="SAT2017"/> or in DVB standard documents.</t>
      <figure anchor="fig_sat_gateway" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-data-plane-functions-in-a-g">Data-Plane Functions in a Generic Satellite Multigateway System</name>
        <artwork name="" type="" align="left" alt="" pn="section-2-3.1">
+--------------------------+ 
| application servers      |
| (data, coding, multicast)|
+--------------------------+     
       | ... |   
       -----------------------------------
       |     |   |             |   |     |
+---------------------+     +---------------------+ 
| network function    |     | network function    | 
|(firewall, PEP, etc.)|     |(firewall, PEP, etc.)| 
+---------------------+     +---------------------+ 
    | ... | IP packets             |  ...   |
                                                ---
+------------------+         +------------------+ |
| access gateway   |         | access gateway   | |
+------------------+         +------------------+ |
       | BBFRAME                         |        | gateway
+------------------+         +------------------+ |
| physical gateway |         | physical gateway | |
+------------------+         +------------------+ |
                                                ---
       | PLFRAME                         |
+------------------+         +------------------+ 
| outdoor unit     |         | outdoor unit     |
+------------------+         +------------------+
       | satellite link                  |
+------------------+         +------------------+ 
| outdoor unit     |         | outdoor unit     |
+------------------+         +------------------+
       |                                 |
+------------------+         +------------------+ 
| sat terminals    |         | sat terminals    |
+------------------+         +------------------+
       |        |                  |        |
+----------+    |            +----------+   |      
|end user 1|    |            |end user 3|   |     
+----------+    |            +----------+   |    
          +----------+               +----------+ 
          |end user 2|               |end user 4|
          +----------+               +----------+
        </artwork>
      </figure>
    </section>
    <section anchor="sec_use_cases" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-use-cases-for-improving-sat">Use Cases for Improving SATCOM System Performance Using Network Coding</name>
      <t indent="0" pn="section-3-1">This section details use cases where Network Coding techniques could improve SATCOM system performance.</t>
      <section anchor="subsec_two-way" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-two-way-relay-channel-mode">Two-Way Relay Channel Mode</name>
        <t indent="0" pn="section-3.1-1">This use case considers two-way communication between end users through a satellite link, as seen in <xref target="fig_two_way" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
        <t indent="0" pn="section-3.1-2">Satellite terminal A sends a packet flow A, and satellite terminal B sends a packet flow B, to a coding server. The coding server then sends a combination of both flows instead of each individual flow. This results in non-negligible capacity savings, which has been demonstrated in the past <xref target="ASMS2010" format="default" sectionFormat="of" derivedContent="ASMS2010"/>. In the example, a dedicated coding server is introduced (note that its location could be different based on deployment use case). The Network Coding operations could also be done at the satellite level, although this would require a lot of computational resources onboard and may not be supported by today's satellites.</t>
        <figure anchor="fig_two_way" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-network-architecture-for-tw">Network Architecture for Two-Way Relay Channel Using Network Coding </name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-3.1">
-X}-   : traffic from satellite terminal X to the server
={X+Y= : traffic from X and Y combined sent from 
         the server to terminals X and Y  

+-----------+        +-----+                
|Sat term A |--A}-+  |     |                           
+-----------+     |  |     |      +---------+      +------+
    ^^            +--|     |--A}--|         |--A}--|Coding|
    ||               | SAT |--B}--| Gateway |--B}--|Server|
    ===={A+B=========|     |={A+B=|         |={A+B=|      |
    ||               |     |      +---------+      +------+
    vv            +--|     |                           
+-----------+     |  |     |                           
|Sat term B |--B}-+  |     |                
+-----------+        +-----+                
        </artwork>
        </figure>
      </section>
      <section anchor="subsec_rel-mul" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-reliable-multicast">Reliable Multicast</name>
        <t indent="0" pn="section-3.2-1">The use of multicast servers is one way to better utilize satellite broadcast capabilities. As one example, satellite-based multicast is proposed in the Secure Hybrid In Network caching Environment (SHINE) project of the European Space Agency (ESA) <xref target="I-D.vazquez-nfvrg-netcod-function-virtualization" format="default" sectionFormat="of" derivedContent="NETCOD-FUNCTION-VIRT"> </xref> <xref target="SHINE" format="default" sectionFormat="of" derivedContent="SHINE"> </xref>. This use case considers adding redundancy to a multicast flow depending on what has been received by different end users, resulting in non-negligible savings of the scarce SATCOM resources. This scenario is shown in <xref target="fig_rel_multi" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</t>
        <figure anchor="fig_rel_multi" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-network-architecture-for-a-">Network Architecture for a Reliable Multicast Using Network Coding</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2-2.1">
-Li}- : packet indicating the loss of packet i of a multicast flow M
={M== : multicast flow including the missing packets

+-----------+       +-----+                
|Terminal A |-Li}-+ |     |                           
+-----------+     | |     |      +---------+  +------+
    ^^            +-|     |-Li}--|         |  |Multi |
    ||              | SAT |-Lj}--| Gateway |--|Cast  |
    ===={M==========|     |={M===|         |  |Server|
    ||              |     |      +---------+  +------+
    vv            +-|     |                           
+-----------+     | |     |                           
|Terminal B |-Lj}-+ |     |                
+-----------+       +-----+
        </artwork>
        </figure>
        <t indent="0" pn="section-3.2-3">A multicast flow (M) is forwarded to both satellite terminals A and B. M is composed of packets Nk (not shown in <xref target="fig_rel_multi" format="default" sectionFormat="of" derivedContent="Figure 3"/>). Packet Ni (respectively Nj) gets lost at terminal A (respectively B), and terminal A (respectively B) returns a negative acknowledgment Li (respectively Lj), indicating that the packet is missing. Using coding, either the access gateway or the multicast server can include a repair packet (rather than the individual Ni and Nj packets) in the multicast flow to let both terminals recover from losses.</t>
        <t indent="0" pn="section-3.2-4">This could also be achieved by using other multicast or broadcast systems, such as NACK-Oriented Reliable Multicast (NORM) <xref target="RFC5740" format="default" sectionFormat="of" derivedContent="RFC5740"/> or File Delivery over Unidirectional 
Transport (FLUTE) <xref target="RFC6726" format="default" sectionFormat="of" derivedContent="RFC6726"/>. Both NORM and FLUTE are limited to block coding; neither of them supports more flexible sliding window encoding schemes that allow decoding before receiving the whole block, which is an added delay benefit <xref target="RFC8406" format="default" sectionFormat="of" derivedContent="RFC8406"/> <xref target="RFC8681" format="default" sectionFormat="of" derivedContent="RFC8681"/>.</t>
      </section>
      <section anchor="subsec_hybrid" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-hybrid-access">Hybrid Access</name>
        <t indent="0" pn="section-3.3-1">This use case considers improving multiple-path communications with Network Coding at the transport layer (see <xref target="fig_hyb_access" format="default" sectionFormat="of" derivedContent="Figure 4"/>, where DSL stands for "Digital Subscriber Line", LTE for "Long Term Evolution", and SAT for "SATellite"). This use case is inspired by the Broadband Access via Integrated Terrestrial Satellite Systems (BATS) project and has been published as an ETSI Technical Report <xref target="ETSI-TR-2017" format="default" sectionFormat="of" derivedContent="ETSI-TR-2017"/>.</t>
        <t indent="0" pn="section-3.3-2">To cope with packet loss (due to either end-user mobility or physical-layer residual errors), Network Coding can be introduced. Depending on the protocol, Network Coding could be applied at the Customer Premises Equipment (CPE), the concentrator, or both. 

Apart from coping with packet loss, other benefits of this approach include a better tolerance for out-of-order packet delivery, which occurs when exploited links exhibit high asymmetry in terms of Round-Trip Time (RTT). Depending on the ground architecture <xref target="I-D.chin-nfvrg-cloud-5g-core-structure-yang" format="default" sectionFormat="of" derivedContent="5G-CORE-YANG"/> <xref target="SAT2017" format="default" sectionFormat="of" derivedContent="SAT2017"/>, some ground equipment might be hosting both SATCOM and cellular network functionality.</t>
        <figure anchor="fig_hyb_access" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-network-architecture-for-hy">Network Architecture for Hybrid Access Using Network Coding</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.3-3.1">
-{}- : bidirectional link

                        +---+    +--------------+
                   +-{}-|SAT|-{}-|BACKBONE      |
+----+    +---+    |    +---+    |+------------+| 
|End |-{}-|CPE|-{}-|             ||CONCENTRATOR||
|User|    +---+    |    +---+    |+------------+|    +-----------+
+----+             |-{}-|DSL|-{}-|              |-{}-|Application|
                   |    +---+    |              |    |Server     |
                   |             |              |    +-----------+
                   |    +---+    |              | 
                   +-{}-|LTE|-{}-+--------------+              
                        +---+    
        </artwork>
        </figure>
      </section>
      <section anchor="subsec_varying_wifi" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-lan-packet-losses">LAN Packet Losses</name>
        <t indent="0" pn="section-3.4-1">This use case considers using Network Coding in the scenario where a lossy WiFi link is used to connect to the SATCOM network. When encrypted end-to-end applications based on UDP are used, a Performance Enhancing Proxy (PEP) cannot operate; hence, other mechanisms need to be used. The WiFi packet losses will result in an end-to-end retransmission that will harm the quality of the end user's experience and poorly utilize SATCOM bottleneck resources for traffic that does not generate revenue. In this use case, adding Network Coding techniques will prevent the end-to-end retransmission from occurring since the packet losses would probably be recovered.</t>
        <t indent="0" pn="section-3.4-2">The architecture is shown in <xref target="fig_varying_wifi-loss" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
        <figure anchor="fig_varying_wifi-loss" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-network-architecture-for-de">Network Architecture for Dealing with LAN Losses</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.4-3.1">
-{}- : bidirectional link
-''- : WiFi link
C : where Network Coding techniques could be introduced 

+----+    +--------+    +---+    +-------+    +-------+    +--------+
|End |    |Sat.    |    |SAT|    |Phy    |    |Access |    |Network |
|user|-''-|Terminal|-{}-|   |-{}-|Gateway|-{}-|Gateway|-{}-|Function| 
+----+    +--------+    +---+    +-------+    +-------+    +--------+
   C          C                                  C            C 
        </artwork>
        </figure>
      </section>
      <section anchor="subsec_varying" numbered="true" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-varying-channel-conditions">Varying Channel Conditions</name>
        <t indent="0" pn="section-3.5-1">This use case considers the usage of Network Coding to cope with subsecond physical channel condition changes where the physical-layer mechanisms (Adaptive Coding and Modulation (ACM)) may not adapt the modulation and error-correction coding in time; the residual errors lead to higher-layer packet losses that can be recovered with Network Coding. This use case is mostly relevant when mobile users are considered or when the satellite frequency band introduces quick changes in channel condition (Q/V bands, Ka band, etc.). Depending on the use case (e.g., bands with very high frequency, mobile users), the relevance of adding Network Coding is different.</t>
        <t indent="0" pn="section-3.5-2">The system architecture is shown in <xref target="fig_varying_capa" format="default" sectionFormat="of" derivedContent="Figure 6"/>.</t>
        <figure anchor="fig_varying_capa" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-network-architecture-for-dea">Network Architecture for Dealing with Varying Link Characteristics</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.5-3.1">
-{}- : bidirectional link
C : where Network Coding techniques could be introduced 

+---------+    +---+    +--------+    +-------+    +--------+
|Satellite|    |SAT|    |Physical|    |Access |    |Network |
|Terminal |-{}-|   |-{}-|Gateway |-{}-|Gateway|-{}-|Function| 
+---------+    +---+    +--------+    +-------+    +--------+
     C                       C            C           C 
        </artwork>
        </figure>
      </section>
      <section anchor="subsec_gat_hand" numbered="true" toc="include" removeInRFC="false" pn="section-3.6">
        <name slugifiedName="name-improving-gateway-handover">Improving Gateway Handover</name>
        <t indent="0" pn="section-3.6-1">This use case considers the recovery of packets that may be lost during gateway handover. Whether for off-loading a given equipment or because the transmission quality differs from gateway to gateway, switching the transmission gateway may be beneficial. However, packet losses can occur if the gateways are not properly synchronized or if the algorithm used to trigger gateway handover is not properly tuned. During these critical phases, Network Coding can be added to improve the reliability of the transmission and allow a seamless gateway handover.</t>
        <t indent="0" pn="section-3.6-2"><xref target="fig_gat_hand" format="default" sectionFormat="of" derivedContent="Figure 7"/> illustrates this use case.</t>
        <figure anchor="fig_gat_hand" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-network-architecture-for-deal">Network Architecture for Dealing with Gateway Handover</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.6-3.1">
-{}- : bidirectional link
! : management interface
C : where Network Coding techniques could be introduced 
                                        C             C
                      +--------+    +-------+    +--------+
                      |Physical|    |Access |    |Network |
                 +-{}-|gateway |-{}-|gateway|-{}-|function| 
                 |    +--------+    +-------+    +--------+
                 |                        !       !
+---------+    +---+              +---------------+
|Satellite|    |SAT|              | Control-plane |
|Terminal |-{}-|   |              | manager       |
+---------+    +---+              +---------------+
                 |                        !       !
                 |    +--------+    +-------+    +--------+
                 +-{}-|Physical|-{}-|Access |-{}-|Network |
                      |gateway |    |gateway|    |function| 
                      +--------+    +-------+    +--------+
                                        C             C
        </artwork>
        </figure>
      </section>
    </section>
    <section anchor="sec_deploy" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-research-challenges">Research Challenges</name>
      <t indent="0" pn="section-4-1">This section proposes a few potential approaches to introducing and using Network Coding in SATCOM systems.</t>
      <section anchor="sec_deploy_pep" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-joint-use-of-network-coding">Joint Use of Network Coding and Congestion Control in SATCOM Systems</name>
        <t indent="0" pn="section-4.1-1">Many SATCOM systems typically use Performance Enhancing Proxy (PEP) <xref target="RFC3135" format="default" sectionFormat="of" derivedContent="RFC3135"/>. PEPs usually split end-to-end connections and forward transport or application-layer packets to the satellite baseband gateway. PEPs contribute to mitigating congestion in a SATCOM system by limiting the impact of long delays on Internet protocols. A PEP mechanism could also include Network Coding operation and thus support the use cases that have been discussed in <xref target="sec_use_cases" format="default" sectionFormat="of" derivedContent="Section 3"/> of this document.</t>
        <t indent="0" pn="section-4.1-2">Deploying Network Coding in the PEP could be relevant and independent from the specifics of a SATCOM link. This, however, leads to research questions dealing with the potential interaction between Network Coding and congestion control. This is discussed in <xref target="I-D.irtf-nwcrg-coding-and-congestion" format="default" sectionFormat="of" derivedContent="NWCRG-CODING"/>.</t>
      </section>
      <section anchor="sec_deploy_coding" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-efficient-use-of-satellite-">Efficient Use of Satellite Resources</name>
        <t indent="0" pn="section-4.2-1">There is a recurrent trade-off in SATCOM systems: how much overhead from redundant reliability packets can be introduced to guarantee a better end-user Quality of Experience (QoE) while optimizing capacity usage? At which layer should this supplementary redundancy be added?</t>
        <t indent="0" pn="section-4.2-2">This problem has been tackled in the past by the deployment of physical-layer error-correction codes, but questions remain on adapting the coding overhead and added delay for, e.g., the quickly varying channel conditions use case where ACM may not be reacting quickly enough, as discussed in <xref target="subsec_varying" format="default" sectionFormat="of" derivedContent="Section 3.5"/>. A higher layer with Network Coding does not react more quickly than the physical layer, but it may operate over a packet-based time window that is larger than the physical one.</t>
      </section>
      <section anchor="sec_deploy_nfv" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-interaction-with-virtualize">Interaction with Virtualized Satellite Gateways and Terminals</name>
        <t indent="0" pn="section-4.3-1">In the emerging virtualized network infrastructure, Network Coding could be easily deployed as Virtual Network Functions (VNFs). The next generation of SATCOM ground segments will rely on a virtualized environment to integrate with terrestrial networks. This trend towards Network Function Virtualization (NFV) is also central to 5G and next-generation cellular networks, making this research applicable to other deployment scenarios <xref target="I-D.chin-nfvrg-cloud-5g-core-structure-yang" format="default" sectionFormat="of" derivedContent="5G-CORE-YANG"> </xref>. As one example, Network Coding VNF deployment in a virtualized environment has been presented in <xref target="I-D.vazquez-nfvrg-netcod-function-virtualization" format="default" sectionFormat="of" derivedContent="NETCOD-FUNCTION-VIRT"> </xref>.</t>
        <t indent="0" pn="section-4.3-2">A research challenge would be the optimization of the NFV service function chaining, considering a virtualized infrastructure and other SATCOM-specific functions, in order to guarantee efficient radio-link usage and provide easy-to-deploy SATCOM services. Moreover, another challenge related to virtualized SATCOM equipment is the management of limited buffered capacities in large gateways.</t>
      </section>
      <section anchor="subsec_dtn" numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-delay-disruption-tolerant-n">Delay/Disruption-Tolerant Networking (DTN)</name>
        <t indent="0" pn="section-4.4-1">Communications among deep-space platforms and terrestrial gateways can be a challenge. Reliable end-to-end (E2E) communications over such paths must cope with very long delays and frequent link disruptions; indeed, E2E connectivity may only be available intermittently, if at all. Delay/Disruption-Tolerant Networking (DTN) <xref target="RFC4838" format="default" sectionFormat="of" derivedContent="RFC4838"/> is a solution to enable reliable internetworking space communications where neither standard ad hoc routing nor E2E Internet protocols can be used. Moreover, DTN can also be seen as an alternative solution to transfer data between a central PEP and a remote PEP.</t>
        <t indent="0" pn="section-4.4-2">Network Coding enables E2E reliable communications over a DTN with potential adaptive re-encoding, as proposed in <xref target="THAI15" format="default" sectionFormat="of" derivedContent="THAI15"/>. Here, the use case proposed in <xref target="subsec_varying" format="default" sectionFormat="of" derivedContent="Section 3.5"/> would encourage the usage of Network Coding within the DTN stack to improve utilization of the physical channel and minimize the effects of the E2E transmission delays. In this context, the use of packet erasure coding techniques inside a Consultative Committee for Space Data Systems (CCSDS) architecture has been specified in <xref target="CCSDS-131.5-O-1" format="default" sectionFormat="of" derivedContent="CCSDS-131.5-O-1"/>. One research challenge remains: how such Network Coding can be integrated in the IETF DTN stack.</t>
      </section>
    </section>
    <section anchor="sec_conclu" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-conclusion">Conclusion</name>
      <t indent="0" pn="section-5-1">This document introduces some wide-scale Network Coding technique opportunities in satellite telecommunications systems.</t>
      <t indent="0" pn="section-5-2">Even though this document focuses on satellite systems, it is worth pointing out that some scenarios proposed here may be relevant to other wireless telecommunication systems. As one example, the generic architecture proposed in <xref target="fig_sat_gateway" format="default" sectionFormat="of" derivedContent="Figure 1"/> may be mapped onto cellular networks as follows: the 'network function' block gathers some of the functions of the Evolved Packet Core subsystem, while the 'access gateway' and 'physical gateway' blocks gather the same type of functions as the Universal Mobile Terrestrial Radio Access Network. This mapping extends the opportunities identified in this document, since they may also be relevant for cellular networks.</t>
    </section>
    <section anchor="sec_glossary" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-glossary">Glossary</name>
      <t indent="0" pn="section-6-1">The glossary of this memo extends the definitions of the taxonomy document <xref target="RFC8406" format="default" sectionFormat="of" derivedContent="RFC8406"> </xref> as follows:</t>
      <dl newline="false" indent="12" spacing="normal" pn="section-6-2">
        <dt pn="section-6-2.1">ACM:</dt>
        <dd pn="section-6-2.2">Adaptive Coding and Modulation</dd>
        <dt pn="section-6-2.3">BBFRAME:</dt>
        <dd pn="section-6-2.4">Base-Band FRAME -- satellite communication Layer 2 encapsulation works as follows: (1) each Layer 3 packet is encapsulated with a Generic Stream Encapsulation (GSE) mechanism, (2) GSE packets are gathered to create BBFRAMEs, (3) BBFRAMEs contain information related to how they have to be modulated, and (4) BBFRAMEs are forwarded to the physical layer.</dd>
        <dt pn="section-6-2.5">COM:</dt>
        <dd pn="section-6-2.6">COMmunication</dd>
        <dt pn="section-6-2.7">CPE:</dt>
        <dd pn="section-6-2.8">Customer Premises Equipment</dd>
        <dt pn="section-6-2.9">DSL:</dt>
        <dd pn="section-6-2.10">Digital Subscriber Line</dd>
        <dt pn="section-6-2.11">DTN:</dt>
        <dd pn="section-6-2.12">Delay/Disruption-Tolerant Networking</dd>
        <dt pn="section-6-2.13">DVB:</dt>
        <dd pn="section-6-2.14">Digital Video Broadcasting</dd>
        <dt pn="section-6-2.15">E2E:</dt>
        <dd pn="section-6-2.16">End-to-End</dd>
        <dt pn="section-6-2.17">ETSI:</dt>
        <dd pn="section-6-2.18">European Telecommunications Standards Institute</dd>
        <dt pn="section-6-2.19">FEC:</dt>
        <dd pn="section-6-2.20">Forward Erasure Correction</dd>
        <dt pn="section-6-2.21">FLUTE:</dt>
        <dd pn="section-6-2.22">File Delivery over Unidirectional Transport <xref target="RFC6726" format="default" sectionFormat="of" derivedContent="RFC6726"/></dd>
        <dt pn="section-6-2.23">IntraF:</dt>
        <dd pn="section-6-2.24">Intra-Flow Coding</dd>
        <dt pn="section-6-2.25">InterF:</dt>
        <dd pn="section-6-2.26">Inter-Flow Coding</dd>
        <dt pn="section-6-2.27">IoT:</dt>
        <dd pn="section-6-2.28">Internet of Things</dd>
        <dt pn="section-6-2.29">LTE:</dt>
        <dd pn="section-6-2.30">Long Term Evolution</dd>
        <dt pn="section-6-2.31">MPC:</dt>
        <dd pn="section-6-2.32">Multi-Path Coding</dd>
        <dt pn="section-6-2.33">NC:</dt>
        <dd pn="section-6-2.34">Network Coding</dd>
        <dt pn="section-6-2.35">NFV:</dt>
        <dd pn="section-6-2.36">Network Function Virtualization -- concept of running software-defined network functions</dd>
        <dt pn="section-6-2.37">NORM:</dt>
        <dd pn="section-6-2.38">NACK-Oriented Reliable Multicast <xref target="RFC5740" format="default" sectionFormat="of" derivedContent="RFC5740"/></dd>
        <dt pn="section-6-2.39">PEP:</dt>
        <dd pn="section-6-2.40">Performance Enhancing Proxy <xref target="RFC3135" format="default" sectionFormat="of" derivedContent="RFC3135"/> -- a typical PEP for satellite communications includes compression, caching, TCP ACK spoofing, and specific congestion-control tuning.</dd>
        <dt pn="section-6-2.41">PLFRAME:</dt>
        <dd pn="section-6-2.42">Physical Layer FRAME -- modulated version of a BBFRAME with additional information (e.g., related to synchronization)</dd>
        <dt pn="section-6-2.43">QEF:</dt>
        <dd pn="section-6-2.44">Quasi-Error-Free</dd>
        <dt pn="section-6-2.45">QoE:</dt>
        <dd pn="section-6-2.46">Quality of Experience</dd>
        <dt pn="section-6-2.47">QoS:</dt>
        <dd pn="section-6-2.48">Quality of Service</dd>
        <dt pn="section-6-2.49">RTT:</dt>
        <dd pn="section-6-2.50">Round-Trip Time</dd>
        <dt pn="section-6-2.51">SAT:</dt>
        <dd pn="section-6-2.52">SATellite</dd>
        <dt pn="section-6-2.53">SATCOM:</dt>
        <dd pn="section-6-2.54">Generic term related to all kinds of SATellite-COMmunication systems</dd>
        <dt pn="section-6-2.55">SPC:</dt>
        <dd pn="section-6-2.56">Single-Path Coding</dd>
        <dt pn="section-6-2.57">VNF:</dt>
        <dd pn="section-6-2.58">Virtual Network Function -- implementation of a network function using software.</dd>
      </dl>
    </section>
    <section anchor="sec_IANA" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-7-1">This document has no IANA actions.</t>
    </section>
    <section anchor="sec_ecurity" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">Security considerations are inherent to any access network, in particular SATCOM systems. As with cellular networks, over-the-air data can be encrypted using, e.g., the algorithms in <xref target="ETSI-TS-2011" format="default" sectionFormat="of" derivedContent="ETSI-TS-2011"/>. Because the operator may not enable this <xref target="SSP-2020" format="default" sectionFormat="of" derivedContent="SSP-2020"/>, the applications should apply cryptographic protection. The use of FEC or Network Coding in SATCOM comes with risks (e.g., a single corrupted redundant packet may propagate to several flows when they are protected together in an interflow coding approach; see <xref target="sec_use_cases" format="default" sectionFormat="of" derivedContent="Section 3"/>). While this document does not further elaborate on this, the security considerations discussed in <xref target="RFC6363" format="default" sectionFormat="of" derivedContent="RFC6363"/> apply.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.chin-nfvrg-cloud-5g-core-structure-yang" to="5G-CORE-YANG"/>
    <displayreference target="I-D.irtf-nwcrg-coding-and-congestion" to="NWCRG-CODING"/>
    <displayreference target="I-D.vazquez-nfvrg-netcod-function-virtualization" to="NETCOD-FUNCTION-VIRT"/>
    <references pn="section-9">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="I-D.chin-nfvrg-cloud-5g-core-structure-yang" quoteTitle="true" target="https://tools.ietf.org/html/draft-chin-nfvrg-cloud-5g-core-structure-yang-00" derivedAnchor="5G-CORE-YANG">
        <front>
          <title>Yang Data Model for Cloud Native 5G Core structure</title>
          <author fullname="Chin Chen">
            <organization showOnFrontPage="true">Ericsson</organization>
          </author>
          <author fullname="Adrian Pan">
            <organization showOnFrontPage="true">Ericsson</organization>
          </author>
          <date month="December" day="28" year="2017"/>
          <abstract>
            <t indent="0">   In 5G core network, all network functions are componentized,
virtualized and grouped into VNF. Network management system will manage
the functions based on VNF. This document presents YANG model proposal
on overall structure of cloud native 5G core network. The structure is
itself represented as an example YANG model, with all of the related
component models logically organized in a way that is operationally
intuitive, but this model is not expected to be implemented.  The
identified component modules are expected to be defined and
implemented.



            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-chin-nfvrg-cloud-5g-core-structure-yang-00"/>
        <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-chin-nfvrg-cloud-5g-core-structure-yang-00.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="ASMS2010" quoteTitle="true" derivedAnchor="ASMS2010">
        <front>
          <title>Demonstration at opening session of ASMS 2010</title>
          <author/>
          <date year="2010"/>
        </front>
        <refcontent>5th Advanced Satellite Multimedia Systems (ASMS) Conference</refcontent>
      </reference>
      <reference anchor="CCSDS-131.5-O-1" quoteTitle="true" derivedAnchor="CCSDS-131.5-O-1">
        <front>
          <title>Erasure Correcting Codes for Use in Near-Earth and Deep-Space Communications</title>
          <author>
            <organization showOnFrontPage="true">The Consultative Committee for Space Data Systems</organization>
          </author>
          <date year="2014" month="November"/>
        </front>
        <seriesInfo name="Experimental Specification CCSDS" value="131.5-0-1"/>
      </reference>
      <reference anchor="ETSI-EN-2020" quoteTitle="true" derivedAnchor="ETSI-EN-2020">
        <front>
          <title>Digital Video Broadcasting (DVB); Second Generation DVB Interactive Satellite System (DVB-RCS2); Part 2: Lower Layers for Satellite standard</title>
          <author initials="" surname="">
            <organization showOnFrontPage="true">ETSI</organization>
          </author>
          <date year="2020" month="July"/>
        </front>
        <seriesInfo name="ETSI EN" value="301 545-2 V1.3.1"/>
      </reference>
      <reference anchor="ETSI-TR-2017" quoteTitle="true" derivedAnchor="ETSI-TR-2017">
        <front>
          <title>Satellite Earth Stations and Systems (SES); Multi-link routing scheme in hybrid access network with heterogeneous links</title>
          <author initials="" surname="">
            <organization showOnFrontPage="true">ETSI</organization>
          </author>
          <date year="2017" month="July"/>
        </front>
        <seriesInfo name="ETSI TR" value="103 351 V1.1.1"/>
      </reference>
      <reference anchor="ETSI-TS-2011" quoteTitle="true" derivedAnchor="ETSI-TS-2011">
        <front>
          <title>Digital Video Broadcasting (DVB); Content Protection and Copy Management (DVB-CPCM); Part 5: CPCM Security Toolbox</title>
          <author initials="" surname="">
            <organization showOnFrontPage="true">ETSI</organization>
          </author>
          <date year="2011" month="February"/>
        </front>
        <seriesInfo name="ETSI TS" value="102 825-5 V1.2.1"/>
      </reference>
      <reference anchor="I-D.vazquez-nfvrg-netcod-function-virtualization" quoteTitle="true" target="https://tools.ietf.org/html/draft-vazquez-nfvrg-netcod-function-virtualization-02" derivedAnchor="NETCOD-FUNCTION-VIRT">
        <front>
          <title>Network Coding Function Virtualization</title>
          <author fullname="M.A. Vazquez-Castro">
            <organization showOnFrontPage="true">UAB</organization>
          </author>
          <author fullname="Tan Do-Duy">
            <organization showOnFrontPage="true">UAB</organization>
          </author>
          <author fullname="Simon Pietro Romano">
            <organization showOnFrontPage="true">Unina</organization>
          </author>
          <author fullname="Antonia Maria Tulino">
            <organization showOnFrontPage="true">Unina</organization>
          </author>
          <date month="November" day="16" year="2017"/>
          <abstract>
            <t indent="0">   This document describes network coding as a network function.  It
   also describes how a network coding function can be virtualized and
   integrated with virtual network functions architectures.  The network
   coding function is not a traditionally implemented network function
   in dedicated hardware as those that have triggered network function
   virtualization.  It refers to a novel network functionality that
   generalizes classic packet-level end-to-end coding.  Classic packet-
   level end-to-end coding helps in the provision of quality of service
   by trading off delay and reliability.  Network coding goes beyond
   that by enabling in-network optimized re-encoding, which can provide
   both throughput gains and diverse network-controlled degrees of
   reliability.  Consequently, a virtualized network coding function can
   serve as a flow engineering tool over virtualized networks (e.g. over
   network slices).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-vazquez-nfvrg-netcod-function-virtualization-02"/>
        <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-vazquez-nfvrg-netcod-function-virtualization-02.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.irtf-nwcrg-coding-and-congestion" quoteTitle="true" target="https://tools.ietf.org/html/draft-irtf-nwcrg-coding-and-congestion-04" derivedAnchor="NWCRG-CODING">
        <front>
          <title>Coding and congestion control in transport</title>
          <author fullname="Nicolas Kuhn">
            <organization showOnFrontPage="true">CNES</organization>
          </author>
          <author fullname="Emmanuel Lochin">
            <organization showOnFrontPage="true">ENAC</organization>
          </author>
          <author fullname="Francois Michel">
            <organization showOnFrontPage="true">UCLouvain</organization>
          </author>
          <author fullname="Michael Welzl">
            <organization showOnFrontPage="true">University of Oslo</organization>
          </author>
          <date month="October" day="30" year="2020"/>
          <abstract>
            <t indent="0">   Forward Erasure Correction (FEC) is a reliability mechanism that is
   distinct and separate from the retransmission logic in reliable
   transfer protocols such as TCP.  Using FEC coding can help deal with
   transfer tail losses or with networks having non-congestion losses.
   However, FEC coding mechanisms should not hide congestion signals.
   This memo offers a discussion of how FEC coding and congestion
   control can coexist.  Another objective is to encourage the research
   community to also consider congestion control aspects when proposing
   and comparing FEC coding solutions in communication systems.

   This document is the product of the Coding for Efficient Network
   Communications Research Group (NWCRG).  The scope of the document is
   end-to-end communications: FEC coding for tunnels is out-of-the scope
   of the document.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-irtf-nwcrg-coding-and-congestion-04"/>
        <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-irtf-nwcrg-coding-and-congestion-04.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="RFC1122" target="https://www.rfc-editor.org/info/rfc1122" quoteTitle="true" derivedAnchor="RFC1122">
        <front>
          <title>Requirements for Internet Hosts - Communication Layers</title>
          <author initials="R." surname="Braden" fullname="R. Braden" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1989" month="October"/>
          <abstract>
            <t indent="0">This RFC is an official specification for the Internet community.  It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="3"/>
        <seriesInfo name="RFC" value="1122"/>
        <seriesInfo name="DOI" value="10.17487/RFC1122"/>
      </reference>
      <reference anchor="RFC3135" target="https://www.rfc-editor.org/info/rfc3135" quoteTitle="true" derivedAnchor="RFC3135">
        <front>
          <title>Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations</title>
          <author initials="J." surname="Border" fullname="J. Border">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Kojo" fullname="M. Kojo">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Griner" fullname="J. Griner">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Montenegro" fullname="G. Montenegro">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="Z." surname="Shelby" fullname="Z. Shelby">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2001" month="June"/>
          <abstract>
            <t indent="0">This document is a survey of Performance Enhancing Proxies (PEPs) often employed to improve degraded TCP performance caused by characteristics of specific link environments, for example, in satellite, wireless WAN, and wireless LAN environments.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3135"/>
        <seriesInfo name="DOI" value="10.17487/RFC3135"/>
      </reference>
      <reference anchor="RFC4838" target="https://www.rfc-editor.org/info/rfc4838" quoteTitle="true" derivedAnchor="RFC4838">
        <front>
          <title>Delay-Tolerant Networking Architecture</title>
          <author initials="V." surname="Cerf" fullname="V. Cerf">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Burleigh" fullname="S. Burleigh">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Hooke" fullname="A. Hooke">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="L." surname="Torgerson" fullname="L. Torgerson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Durst" fullname="R. Durst">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="K." surname="Scott" fullname="K. Scott">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="K." surname="Fall" fullname="K. Fall">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Weiss" fullname="H. Weiss">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2007" month="April"/>
          <abstract>
            <t indent="0">This document describes an architecture for delay-tolerant and disruption-tolerant networks, and is an evolution of the architecture originally designed for the Interplanetary Internet, a communication system envisioned to provide Internet-like services across interplanetary distances in support of deep space exploration.  This document describes an architecture that addresses a variety of problems with internetworks having operational and performance characteristics that make conventional (Internet-like) networking approaches either unworkable or impractical.  We define a message- oriented overlay that exists above the transport (or other) layers of the networks it interconnects.  The document presents a motivation for the architecture, an architectural overview, review of state management required for its operation, and a discussion of application design issues.  This document represents the consensus of the IRTF DTN research group and has been widely reviewed by that group.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4838"/>
        <seriesInfo name="DOI" value="10.17487/RFC4838"/>
      </reference>
      <reference anchor="RFC5740" target="https://www.rfc-editor.org/info/rfc5740" quoteTitle="true" derivedAnchor="RFC5740">
        <front>
          <title>NACK-Oriented Reliable Multicast (NORM) Transport Protocol</title>
          <author initials="B." surname="Adamson" fullname="B. Adamson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Bormann" fullname="C. Bormann">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Handley" fullname="M. Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Macker" fullname="J. Macker">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2009" month="November"/>
          <abstract>
            <t indent="0">This document describes the messages and procedures of the Negative- ACKnowledgment (NACK) Oriented Reliable Multicast (NORM) protocol. This protocol can provide end-to-end reliable transport of bulk data objects or streams over generic IP multicast routing and forwarding services.  NORM uses a selective, negative acknowledgment mechanism for transport reliability and offers additional protocol mechanisms to allow for operation with minimal a priori coordination among senders and receivers.  A congestion control scheme is specified to allow the NORM protocol to fairly share available network bandwidth with other transport protocols such as Transmission Control Protocol (TCP).  It is capable of operating with both reciprocal multicast routing among senders and receivers and with asymmetric connectivity (possibly a unicast return path) between the senders and receivers. The protocol offers a number of features to allow different types of applications or possibly other higher-level transport protocols to utilize its service in different ways.  The protocol leverages the use of FEC-based (forward error correction) repair and other IETF Reliable Multicast Transport (RMT) building blocks in its design. This document obsoletes RFC 3940.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5740"/>
        <seriesInfo name="DOI" value="10.17487/RFC5740"/>
      </reference>
      <reference anchor="RFC6363" target="https://www.rfc-editor.org/info/rfc6363" quoteTitle="true" derivedAnchor="RFC6363">
        <front>
          <title>Forward Error Correction (FEC) Framework</title>
          <author initials="M." surname="Watson" fullname="M. Watson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Begen" fullname="A. Begen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Roca" fullname="V. Roca">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2011" month="October"/>
          <abstract>
            <t indent="0">This document describes a framework for using Forward Error Correction (FEC) codes with applications in public and private IP networks 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.  This framework can be used to define Content Delivery Protocols that provide FEC for streaming media delivery or other packet flows.  Content Delivery Protocols defined using this framework can support any FEC scheme (and associated FEC codes) that is compliant with various requirements defined in this document. Thus, Content Delivery Protocols can be defined that are not specific to a particular FEC scheme, and FEC schemes can be defined that are not specific to a particular Content Delivery Protocol.   [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6363"/>
        <seriesInfo name="DOI" value="10.17487/RFC6363"/>
      </reference>
      <reference anchor="RFC6726" target="https://www.rfc-editor.org/info/rfc6726" quoteTitle="true" derivedAnchor="RFC6726">
        <front>
          <title>FLUTE - File Delivery over Unidirectional Transport</title>
          <author initials="T." surname="Paila" fullname="T. Paila">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Walsh" fullname="R. Walsh">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Luby" fullname="M. Luby">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Roca" fullname="V. Roca">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Lehtonen" fullname="R. Lehtonen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2012" month="November"/>
          <abstract>
            <t indent="0">This document defines File Delivery over Unidirectional Transport (FLUTE), a protocol for the unidirectional delivery of files over the Internet, which is particularly suited to multicast networks.  The specification builds on Asynchronous Layered Coding, the base protocol designed for massively scalable multicast distribution. This document obsoletes RFC 3926.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6726"/>
        <seriesInfo name="DOI" value="10.17487/RFC6726"/>
      </reference>
      <reference anchor="RFC8406" target="https://www.rfc-editor.org/info/rfc8406" quoteTitle="true" derivedAnchor="RFC8406">
        <front>
          <title>Taxonomy of Coding Techniques for Efficient Network Communications</title>
          <author initials="B." surname="Adamson" fullname="B. Adamson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Adjih" fullname="C. Adjih">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Bilbao" fullname="J. Bilbao">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Firoiu" fullname="V. Firoiu">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="F." surname="Fitzek" fullname="F. Fitzek">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Ghanem" fullname="S. Ghanem">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Lochin" fullname="E. Lochin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Masucci" fullname="A. Masucci">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M-J." surname="Montpetit" fullname="M-J. Montpetit">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Pedersen" fullname="M. Pedersen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Peralta" fullname="G. Peralta">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="V." surname="Roca" fullname="V. Roca" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Saxena" fullname="P. Saxena">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Sivakumar" fullname="S. Sivakumar">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2018" month="June"/>
          <abstract>
            <t indent="0">This document summarizes recommended terminology for Network Coding concepts and constructs.  It provides a comprehensive set of terms in order to avoid ambiguities in future IRTF and IETF documents on Network Coding.  This document is the product of the Coding for Efficient Network Communications Research Group (NWCRG), and it is in line with the terminology used by the RFCs produced by the Reliable Multicast Transport (RMT) and FEC Framework (FECFRAME) IETF working groups.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8406"/>
        <seriesInfo name="DOI" value="10.17487/RFC8406"/>
      </reference>
      <reference anchor="RFC8681" target="https://www.rfc-editor.org/info/rfc8681" quoteTitle="true" derivedAnchor="RFC8681">
        <front>
          <title>Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC) Schemes for FECFRAME</title>
          <author initials="V." surname="Roca" fullname="V. Roca">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Teibi" fullname="B. Teibi">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2020" month="January"/>
          <abstract>
            <t indent="0">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), 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.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8681"/>
        <seriesInfo name="DOI" value="10.17487/RFC8681"/>
      </reference>
      <reference anchor="SAT2017" quoteTitle="true" target="https://doi.org/10.1002/sat.1206" derivedAnchor="SAT2017">
        <front>
          <title>Software-defined satellite cloud RAN</title>
          <author initials="T" surname="Ahmed">
                    </author>
          <author initials="E" surname="Dubois">
                    </author>
          <author initials="JB" surname="Dupé">
                    </author>
          <author initials="R" surname="Ferrús">
                    </author>
          <author initials="P" surname="Gélard">
                    </author>
          <author initials="N" surname="Kuhn">
                    </author>
          <date year="2017" month="February" day="2"/>
        </front>
        <refcontent>International Journal of Satellite Communications and Networking, Vol. 36</refcontent>
        <seriesInfo name="DOI" value="10.1002/sat.1206"/>
      </reference>
      <reference anchor="SHINE" target="https://ieeexplore.ieee.org/document/8530996" quoteTitle="true" derivedAnchor="SHINE">
        <front>
          <title>SHINE: Secure Hybrid In Network caching Environment</title>
          <author initials="S." surname="Romano"/>
          <author initials="C." surname="Roseti"/>
          <author initials="A" surname="Tulino"/>
          <date month="June" year="2018"/>
        </front>
        <refcontent>International Symposium on Networks, Computers and Communications (ISNCC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/ISNCC.2018.8530996"/>
      </reference>
      <reference anchor="SSP-2020" quoteTitle="true" target="https://doi.org/10.1109/SP40000.2020.00056" derivedAnchor="SSP-2020">
        <front>
          <title>A Tale of Sea and Sky On the Security of Maritime VSAT Communications</title>
          <author initials="J" surname="Pavur"/>
          <author initials="D" surname="Moser"/>
          <author initials="M" surname="Strohmeier"/>
          <author initials="V" surname="Lenders"/>
          <author initials="I" surname="Martinovic"/>
          <date year="2020"/>
        </front>
        <refcontent>IEEE Symposium on Security and Privacy</refcontent>
        <seriesInfo name="DOI" value="10.1109/SP40000.2020.00056"/>
      </reference>
      <reference anchor="THAI15" quoteTitle="true" target="https://doi.org/10.1109/ICC.2015.7248441" derivedAnchor="THAI15">
        <front>
          <title>Enabling E2E reliable communications with adaptive re-encoding over Delay Tolerant Networks</title>
          <author initials="T" surname="Thai">
                     </author>
          <author initials="V." surname="Chaganti">
                     </author>
          <author initials="E." surname="Lochin">
                     </author>
          <author initials="J." surname="Lacan">
                     </author>
          <author initials="E." surname="Dubois">
                     </author>
          <author initials="P." surname="Gelard">
                     </author>
          <date month="June" year="2015"/>
        </front>
        <refcontent>IEEE International Conference on Communications</refcontent>
        <seriesInfo name="DOI" value="10.1109/ICC.2015.7248441"/>
      </reference>
    </references>
    <section anchor="sec_acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">Many thanks to <contact fullname="John Border"/>, <contact fullname="Stuart Card"/>, <contact fullname="Tomaso de Cola"/>, <contact fullname="Marie-Jose Montpetit"/>, <contact fullname="Vincent Roca"/>, and <contact fullname="Lloyd Wood"/> for their help in writing this document.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author role="editor" fullname="Nicolas Kuhn" initials="N" surname="Kuhn">
        <organization showOnFrontPage="true">CNES</organization>
        <address>
          <postal>
            <street>18 avenue Edouard Belin</street>
            <city>Toulouse</city>
            <region/>
            <code>31400</code>
            <country>France</country>
          </postal>
          <phone/>
          <email>nicolas.kuhn@cnes.fr</email>
        </address>
      </author>
      <author role="editor" fullname="Emmanuel Lochin" initials="E" surname="Lochin">
        <organization showOnFrontPage="true">ENAC</organization>
        <address>
          <postal>
            <street>7 avenue Edouard Belin</street>
            <city>Toulouse</city>
            <region/>
            <code>31400</code>
            <country>France</country>
          </postal>
          <phone/>
          <email>emmanuel.lochin@enac.fr</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
