NetWork Communications Research Group (NWCRG) N. Kuhn, Ed.
Internet-Draft CNES
Intended status: Informational E. Lochin, Ed.
Expires: October 16, 2020 ENAC
April 14, 2020

Network coding for satellite systems
draft-irtf-nwcrg-network-coding-satellites-12

Abstract

This document is the product of the Coding for Efficient Network Communications Research Group (NWCRG). It conforms to the directions found in the NWCRG taxonomy [RFC8406]. Thus, the scope of the document is network coding as a linear combination of packets in and above the network layer. Physical and MAC layer coding are beyond the scope of the document. The document focuses on a multi-gateway satellite system and identifies the use-cases where network coding provides significant performance improvements. The objective is to contribute to a larger deployment of network coding techniques in and above the network layer in satellite communication systems. These systems generally exploit PHY layer loss recovery mechanisms. The document also identifies open research issues related to the deployment of network coding in satellite communication systems.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months 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."

This Internet-Draft will expire on October 16, 2020.

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

This document is the 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 intends to inform the SATellite COMmunication (SATCOM) and Internet research communities about recent developments in Network Coding. A glossary is proposed in Section 6 to clarify the terminology use throughout the document.

As will be shown in this document, the implementation of network coding techniques above the network layer of the ISO model, at application or transport layers, offers an opportunity for improving the end-to-end performance of SATCOM systems. While physical- and link-layer coding error protection is usually enough to provide Quasi-Error Free transmission thus minimizing packet loss, when residual errors at those layers cause packet losses, retransmissions add significant delays (in particular in geostationary system 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.

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 made it to commercial systems in the satellite industry. In this context, this document aims at identifying opportunities for further usage of network coding in commercial SATCOM networks.

The notation used in this document is based on the NWCRG taxonomy [RFC8406]:

2. A Note on Satellite Networks Topology

There are multiple SATCOM systems, for example broadcast TV, point to point communication or IoT and monitoring. Therefore, depending on the purpose of the system, the associated ground segments architecture will be different. This section focuses on a satellite system that follows the ETSI DVB standards to provide broadband Internet access via ground-based gateways [ETSIEN2014]. 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.

In this context, Figure 1 shows an example of a multi-gateway satellite system. More information on a generic SATCOM ground segment architecture for bidirectional Internet access can be found in [SAT2017].

 
+--------------------------+ 
| 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|
          +----------+               +----------+
        

Figure 1: Data plane functions in a generic satellite multi-gateway system. More details can be found in DVB standard documents.

3. Use-cases for Improving SATCOM System Performance Using Network Coding

This section details use-cases where network coding techniques could improve SATCOM system performance.

3.1. Two-way Relay Channel Mode

This use-case considers two-way communication between end-users, through a satellite link as seen in Figure 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 flows. This results in non-negligible capacity savings that has been demonstrated in the past [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 resource on-board and may not be supported by today's satellites.

-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}-+  |     |                
+-----------+        +-----+                
        

Figure 2: Network Architecture for Two-way Relay Channel using NC

3.2. Reliable Multicast

The use of multicast servers is one way to better utilize satellite broadcast capabilities. Multicast is proposed in the SHINE ESA project [I-D.vazquez-nfvrg-netcod-function-virtualization] [SHINE]. 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 Figure 3.

-Li}- : packet indicating the loss of packet i of a multicast flow M
={M== : multicast flow including the missing packets

+-----------+       +-----+                
|Sat term A |-Li}-+ |     |                           
+-----------+     | |     |      +---------+  +------+
    ^^            +-|     |-Li}--|         |  |Multi |
    ||              | SAT |-Lj}--| Gateway |--|Cast  |
    ===={M==========|     |={M===|         |  |Server|
    ||              |     |      +---------+  +------+
    vv            +-|     |                           
+-----------+     | |     |                           
|Sat term B |-Lj}-+ |     |                
+-----------+       +-----+
        

Figure 3: Network Architecture for a Reliable Multicast using NC

A multicast flow (M) is forwarded to both satellite terminals A and B. However 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 NC, 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.

This could also be achieved by using other multicast or broadcast systems, such as NACK-Oriented Reliable Multicast (NORM) [RFC5740] or File Delivery over Unidirectional Transport (FLUTE) [RFC6726]. Both NORM and FLUTE are limited to block coding, none of them supporting more flexible sliding window encoding schemes that allow decoding before receiving the whole block an added delay benefit [RFC8406][RFC8681].

3.3. Hybrid Access

This use-case considers improving multiple path communications with network coding at the transport layer (see Figure 4). 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 [ETSITR2017].

To cope with packet loss (due to either end-user mobility or physical-layer residual errors), network coding can be introduced both at the CPE and at the concentrator. Apart from packet losses, other gains from this approach include a better tolerance to out-of-order packet delivery which occur when exploited links exhibit high asymmetry in terms of RTT. Depending on the ground architecture [I-D.chin-nfvrg-cloud-5g-core-structure-yang] [SAT2017], some ground equipment might be hosting both SATCOM and cellular network functionality.

-{}- : bidirectional link

                        +---+    +--------------+
                   +-{}-|SAT|-{}-|BACKBONE      |
+----+    +---+    |    +---+    |+------------+| 
|End |-{}-|CPE|-{}-|             ||CONCENTRATOR||
|User|    +---+    |    +---+    |+------------+|    +-----------+
+----+             |-{}-|DSL|-{}-|              |-{}-|Application|
                   |    +---+    |              |    |Server     |
                   |             |              |    +-----------+
                   |    +---+    |              | 
                   +-{}-|LTE|-{}-+--------------+              
                        +---+    
        

Figure 4: Network Architecture for a Hybrid Access Using Network Coding

3.4. LAN Packet Losses

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 mechanism need to be used. The WIFI packet losses will result in an end-to-end retransmission that will harm the end-user quality of experience and poorly utilize SATCOM bottleneck resource for non-revenue generating traffic. In this use-case, adding network coding techniques will prevent the end-to-end retransmission from occurring since the packet losses would probably recovered.

The architecture is shown in Figure 5.

-{}- : bidirectional link
-''- : Wi-Fi link
C : where network coding techniques could be introduced 

+----+    +--------+    +---+    +-------+    +-------+    +--------+
|End |    |Sat.    |    |SAT|    |Phy    |    |Access |    |Network |
|user|-''-|Terminal|-{}-|   |-{}-|Gateway|-{}-|Gateway|-{}-|Function| 
+----+    +--------+    +---+    +-------+    +-------+    +--------+
   C                      C           C           C 
        

Figure 5: Network Architecture for dealing with LAN Losses

3.5. Varying Channel Conditions

This use-case considers the usage of network coding to cope with sub second 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., very high frequency bands, mobile users) or depending on the deployment use-cases (e.g., performance of the network between each individual data block), the relevance of adding network coding is different.

The system architecture is shown in Figure 6.

-{}- : bidirectional link
C : where network coding techniques could be introduced 

+---------+    +---+    +--------+    +-------+    +--------+
|Satellite|    |SAT|    |Physical|    |Access |    |Network |
|Terminal |-{}-|   |-{}-|Gateway |-{}-|Gateway|-{}-|Function| 
+---------+    +---+    +--------+    +-------+    +--------+
     C                       C            C           C 
        

Figure 6: Network Architecture for dealing with Varying Link Characteristics

3.6. Improving Gateway Handover

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.

Figure 7 illustrates this use-case.

-{}- : 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
        

Figure 7: Network Architecture for dealing with Gateway Handover

4. Research Challenges

This section proposes a few potential approaches to introduce and use network coding in SATCOM systems.

4.1. Joint-use of Network Coding and Congestion Control in SATCOM Systems

Many SATCOM systems typically use Performance Enhancing Proxy (PEP) RFC 3135. PEPs usually split end-to-end connections and forward transport or application layer packets to the satellite baseband gateway that deals with layer-2 and layer-1 encapsulation. PEPs contribute to mitigate congestion in a SATCOM systems 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 the Section 3 of this document.

Deploying network coding in the PEP could be relevant and be 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 [I-D.irtf-nwcrg-coding-and-congestion]

4.2. Efficient Use of Satellite Resources

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 QoE while optimizing capacity usage ? At which layer this supplementary redundancy should be added ?

This problem has been tackled in the past by the deployment of physical-layer error-correction codes, but there remains questions 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 was discussed in Section 3.5.

4.3. Interaction with Virtualized Satellite Gateways and Terminals

In the emerging virtualized network infrastructure, network coding could be easily deployed as a Virtual Network Functions (VNF). The next generation of SATCOM ground segments will rely on a virtualized environment to integrate to 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 [I-D.chin-nfvrg-cloud-5g-core-structure-yang]. As one example, the network coding VNF deployment in a virtualized environment has been presented in [I-D.vazquez-nfvrg-netcod-function-virtualization].

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 a virtualized SATCOM equipment is the management of limited buffered capacities in large gateways.

4.4. Delay/Disruption Tolerant Networks

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 be available only intermittently. Delay/Disruption Tolerant Networking [RFC4838] is a solution to enable reliable internetworking space communications where both standard ad-hoc routing and E2E Internet protocols cannot be used. Moreover, DTN can also be seen as an alternative solution to transfer data between a central PEP and a remote PEP.

Network Coding enables E2E reliable communications over a DTN with potential adaptive re-encoding, as proposed in [THAI15]. Here, the use-cases proposed in Section 3.5 would legitimize the usage of network coding within the DTN stack to improve the physical channel utilization 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 [CCSDS-131.5-O-1]. One research challenge remains on how such network coding can be integrated in the IETF DTN stack.

5. Conclusion

This document introduces some wide-scale network coding techniques opportunities in satellite telecommunications systems.

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 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.

6. Glossary

The glossary of this memo extends the glossary of the taxonomy document [RFC8406] as follows:

7. Acknowledgements

Many thanks to John Border, Stuart Card, Tomaso de Cola, Vincent Roca, Lloyd Wood and Marie-Jose Montpetit for their help in writing this document.

8. IANA Considerations

This memo includes no request to IANA.

9. Security Considerations

Security considerations are inherent to any access network, and in particular SATCOM systems. The use of FEC or Network Coding in SATCOM also comes with risks (e.g., a single corrupted redundant packet may propagate to several flows when they are protected together in an Inter-Flow coding approach, see section Section 3). However, this is not specific to the SATCOM use-case and this document does not further elaborate on it.

10. Informative References

[ASMS2010] De Cola, T. and et. al., "Demonstration at opening session of ASMS 2010", Advanced Satellite Multimedia Systems (ASMS) Conference , 2010.
[CCSDS-131.5-O-1] "Erasure correcting codes for use in near-earth and deep-space communications", CCSDS Experimental specification 131.5-0-1, 2014.
[ETSIEN2014] , "Digital Video Broadcasting (DVB); Second Generation DVB Interactive Satellite System (DVB-RCS2); Part 2: Lower Layers for Satellite standard", ETSI EN 301 545-2, 2014.
[ETSITR2017] , "Satellite Earth Stations and Systems (SES); Multi-link routing scheme in hybrid access network with heterogeneous links", ETSI TR 103 351, 2017.
[I-D.chin-nfvrg-cloud-5g-core-structure-yang] Chen, C. and Z. Pan, "Yang Data Model for Cloud Native 5G Core structure", Internet-Draft draft-chin-nfvrg-cloud-5g-core-structure-yang-00, December 2017.
[I-D.irtf-nwcrg-coding-and-congestion] Kuhn, N., Lochin, E., Michel, F. and M. Welzl, "Coding and congestion control in transport", Internet-Draft draft-irtf-nwcrg-coding-and-congestion-02, March 2020.
[I-D.vazquez-nfvrg-netcod-function-virtualization] Vazquez-Castro, M., Do-Duy, T., Romano, S. and A. Tulino, "Network Coding Function Virtualization", Internet-Draft draft-vazquez-nfvrg-netcod-function-virtualization-02, November 2017.
[RFC3135] Border, J., Kojo, M., Griner, J., Montenegro, G. and Z. Shelby, "Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations", RFC 3135, DOI 10.17487/RFC3135, June 2001.
[RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, R., Scott, K., Fall, K. and H. Weiss, "Delay-Tolerant Networking Architecture", RFC 4838, DOI 10.17487/RFC4838, April 2007.
[RFC5740] Adamson, B., Bormann, C., Handley, M. and J. Macker, "NACK-Oriented Reliable Multicast (NORM) Transport Protocol", RFC 5740, DOI 10.17487/RFC5740, November 2009.
[RFC6726] Paila, T., Walsh, R., Luby, M., Roca, V. and R. Lehtonen, "FLUTE - File Delivery over Unidirectional Transport", RFC 6726, DOI 10.17487/RFC6726, November 2012.
[RFC8406] Adamson, B., Adjih, C., Bilbao, J., Firoiu, V., Fitzek, F., Ghanem, S., Lochin, E., Masucci, A., Montpetit, M-J., Pedersen, M., Peralta, G., Roca, V., Saxena, P. and S. Sivakumar, "Taxonomy of Coding Techniques for Efficient Network Communications", RFC 8406, DOI 10.17487/RFC8406, June 2018.
[RFC8681] Roca, V. and B. Teibi, "Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC) Schemes for FECFRAME", RFC 8681, DOI 10.17487/RFC8681, January 2020.
[SAT2017] Ahmed, T., Dubois, E., Dupe, JB., Ferrus, R., Gelard, P. and N. Kuhn, "Software-defined satellite cloud RAN", International Journal on Satellite Communnications and Networking vol. 36 - https://doi.org/10.1002/sat.1206, 2017.
[SHINE] Pietro Romano, S. and et. al., "Secure Hybrid In Network caching Environment (SHINE) ESA project", ESA project , 2017 on-going.
[THAI15] Thai, T., Chaganti, V., Lochin, E., Lacan, J., Dubois, E. and P. Gelard, "Enabling E2E reliable communications with adaptive re-encoding over delay tolerant networks", Proceedings of the IEEE International Conference on Communications http://dx.doi.org/10.1109/ICC.2015.7248441, June 2015.

Authors' Addresses

Nicolas Kuhn (editor) CNES 18 Avenue Edouard Belin Toulouse, 31400 France EMail: nicolas.kuhn@cnes.fr
Emmanuel Lochin (editor) ENAC 10 Avenue Edouard Belin Toulouse, 31400 France EMail: emmanuel.lochin@enac.fr