Internet Engineering Task Force N. Kuhn, Ed. Internet-Draft CNES Intended status: Informational E. Lochin, Ed. Expires: May 21, 2020 ISAE-SUPAERO November 18, 2019 Network coding for satellite systems draft-irtf-nwcrg-network-coding-satellites-08 Abstract This document is the product of the Coding for Efficient Network Communications Research Group (NWCRG). This document follows the taxonomy document [RFC8406] and considers coding as a linear combination of packets that operate in and above the network layer. In this context, this memo details a multi-gateway satellite system to identify use-cases where network coding is relevant. As example, network coding operating in and above the network layer can be exploited to cope with residual losses or provide reliable multicast services. The objective is to contribute to a larger deployment of such techniques in SATCOM systems. This memo also identifies open research issues related to the deployment of network coding in SATCOM systems, such as the interaction between congestion control and network coding techniques. 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 May 21, 2020. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. Kuhn & Lochin Expires May 21, 2020 [Page 1] Internet-Draft Network coding for satellite systems November 2019 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 2. A note on satellite topology . . . . . . . . . . . . . . . . 3 3. Use-cases for improving the SATCOM system performance with network coding . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Two-way relay channel mode . . . . . . . . . . . . . . . 5 3.2. Reliable multicast . . . . . . . . . . . . . . . . . . . 5 3.3. Hybrid access . . . . . . . . . . . . . . . . . . . . . . 6 3.4. Dealing with LAN losses . . . . . . . . . . . . . . . . . 7 3.5. Dealing with varying channel conditions . . . . . . . . . 8 3.6. Improving the gateway handovers . . . . . . . . . . . . . 8 4. Research challenges . . . . . . . . . . . . . . . . . . . . . 9 4.1. On the joint-use of network coding and congestion control in SATCOM systems . . . . . . . . . . . . . . . . . . . . 9 4.2. On the efficient usage of satellite resource . . . . . . 10 4.3. Interaction with virtualized satellite gateways and terminals . . . . . . . . . . . . . . . . . . . . . . . . 10 4.4. Delay/Disruption Tolerant Networks . . . . . . . . . . . 10 5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 11 6. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 10. Informative References . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 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); it is not an IETF product and is not a standard. A glossary is proposed in Section 6. Exploiting network coding techniques at application or transport layers is an opportunity for improving the end-to-end performance of SATCOM systems. Physical and link layers coding protection is usually sufficient to guarranty Quasi-Error Free, with a negligeable Kuhn & Lochin Expires May 21, 2020 [Page 2] Internet-Draft Network coding for satellite systems November 2019 delay compared to the propagation time (e.g., with a GEO sat). When the physical and link layers coding fails, retransmissions add significant delays. Hence the use of network coding in upper layers can improve the quality of experience of end users. We notice an active research activity on network coding techniques above the network layer and SATCOM. That being said, not much has actually made it to industrial developments. In this context, this document aims at identifying opportunities for further usage of network coding in these systems. The notations used in this document are based on the taxonomy document [RFC8406]: o Channel and link codings are gathered in the PHY layer coding and are out of the scope of this document. o FEC (also called Application-Level FEC) operates in and above the network layer. o This document considers coding (or coding techniques or coding schemes) as a linear combination and not as a content coding (e.g., to compress a video flow). 2. A note on satellite topology There are multiple SATCOM systems, such as those dedicated to broadcasting TV or to IoT applications: depending on the purpose of the SATCOM system, the ground segments are different. This section focuses on a satellite system that follows the ETSI DVB standards to provide broadband Internet access. The capacity that is carried out by one satellite may be higher than the capacity that one single gateway can carry out: 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]. Kuhn & Lochin Expires May 21, 2020 [Page 3] Internet-Draft Network coding for satellite systems November 2019 +--------------------------+ | 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. Kuhn & Lochin Expires May 21, 2020 [Page 4] Internet-Draft Network coding for satellite systems November 2019 3. Use-cases for improving the SATCOM system performance with network coding This section details use-cases where network coding techniques could improve SATCOM systems. 3.1. Two-way relay channel mode This use-case considers a two-way communication between end users, through a satellite link. Figure 2 proposes an illustration of this scenario. Satellite terminal A sends a flow A and satellite terminal B sends a flow B to a coding server. The coding server sends a combination of both terminal flows. This results in non-negligible capacity savings and has been demonstrated [ASMS2010]. In the proposed example, a dedicated coding server is introduced (note that its location could be different for another deployment use-case). The network coding operations could also be done at the satellite level, although this would require lots of computational ressource on-board and may not be relevant with 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 with NC 3.2. Reliable multicast Using multicast servers is a way to better exploit the satellite broadcast capabilities. This approach 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 Kuhn & Lochin Expires May 21, 2020 [Page 5] Internet-Draft Network coding for satellite systems November 2019 in non-negligible scarce resource saving. We propose an illustration for this scenario 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 with NC A multicast flow (M) is forwarded to both satellite terminals A and B. However packet Ni (resp. Nj) gets lost at terminal A (resp. B), and terminal A (resp. B) returns a negative acknowledgment Li (resp. Lj), indicating that the packet is missing. Then either the access gateway or the multicast server includes a repair packet (rather than the individual Ni and Nj packets) in the multicast flow to let both terminals recover from losses. This could 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]. Note that both NORM and FLUTE are limited to block coding, none of them supporting sliding window encoding schemes [RFC8406]. 3.3. Hybrid access This use-case considers improving multiple path communications with network coding at the transport layer. We propose an illustration for this scenario in Figure 4. This use-case is inspired from 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 impairments), network coding could be introduced both at the CPE and at the concentrator. Apart from packet losses, other gains could be envisioned, such as a better tolerance to out-of-order packets which occur when exploited links exhibit high asymetry in Kuhn & Lochin Expires May 21, 2020 [Page 6] Internet-Draft Network coding for satellite systems November 2019 terms of RTT. Depending on the ground architecture [I-D.chin-nfvrg-cloud-5g-core-structure-yang] [SAT2017], some equipments might be hosting both SATCOM and cellular functions. -{}- : bidirectional link +---+ +--------------+ +-{}-|SAT|-{}-|BACKBONE | +----+ +---+ | +---+ |+------------+| |End |-{}-|CPE|-{}-| ||CONCENTRATOR|| |User| +---+ | +---+ |+------------+| +-----------+ +----+ |-{}-|DSL|-{}-| |-{}-|Application| | +---+ | | |Server | | | | +-----------+ | +---+ | | +-{}-|LTE|-{}-+--------------+ +---+ Figure 4: Network architecture for an hybrid access using network coding 3.4. Dealing with LAN losses This use-case considers the usage of network coding to cope with cases where the end user connects to the satellite terminal with a Wi-Fi link that exhibits losses. In the case of encrypted end-to-end applications based on UDP, PEP cannot operate. The Wi-Fi losses result in an end-to-end retransmission that would harm the quality of experience of the end user. In this use-case, adding network coding techniques could prevent the end-to-end retransmission from occuring. The architecture is recalled in Figure 5. -{}- : bidirectional link -''- : Wi-Fi link C : where network coding techniques could be introduced +----+ +---------+ +---+ +--------+ +-------+ +--------+ |End | |Satellite| |SAT| |Physical| |Access | |Network | |user|-''-|Terminal |-{}-| |-{}-|Gateway |-{}-|Gateway|-{}-|Function| +----+ +---------+ +---+ +--------+ +-------+ +--------+ C C C C Figure 5: Network architecture for dealing with LAN losses Kuhn & Lochin Expires May 21, 2020 [Page 7] Internet-Draft Network coding for satellite systems November 2019 3.5. Dealing with varying channel conditions This use-case considers the usage of network coding to cope with cases where channel condition change in less than a second and the mechanisms that are exploited to adapt the physical-layer codes (Adaptative Coding and Modulation (ACM)) may not adapt the modulation and coding in time: remaining errors could be recovered with higher layer redundancy packets. This use-case is mostly relevant when mobile users are considered or when the chosen band induces 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 block), the relevance of adding network coding is different. The architecture is recalled 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 the gateway handovers This use-case considers the recovery of packets that may be lost during gateway handovers. Whether this is for off-loading one given equipment or because the transmission quality is not the same on each gateway, changing the transmission gateway may be relevant. However, packet losses can occur if the gateways are not properly synchronized or if the algorithm that is exploited to trigger gateway handovers 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. Kuhn & Lochin Expires May 21, 2020 [Page 8] Internet-Draft Network coding for satellite systems November 2019 -{}- : 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 schemes 4. Research challenges This section proposes a few potential approaches to introduce and use network coding in SATCOM systems. 4.1. On the joint-use of network coding and congestion control in SATCOM systems SATCOM systems typically feature Performance Enhancing Proxy (PEP) RFC 3135 [RFC3135]. 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 encapsulations. PEP contributes to mitigate congestion in a SATCOM systems. PEP could host network coding mechanisms and thus support use-cases that have been discussed in this document. Deploying network coding in the PEP could be relevant and independent from the specific characteristics of a SATCOM link. This leads to research questions on the interaction between network coding and congestion control. Kuhn & Lochin Expires May 21, 2020 [Page 9] Internet-Draft Network coding for satellite systems November 2019 4.2. On the efficient usage of satellite resource The recurrent trade-off in SATCOM systems remains: 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 network coding should be added ? This problem has been tackled in the past for physical-layer code, but there remains questions on how to adapt the overhead for, e.g., the quickly varying channel conditions use-case where ACM may not be reacting quickly enough. 4.3. Interaction with virtualized satellite gateways and terminals Related to the foreseen virtualized network infrastructure, network coding could be easily deployed as VNF. Next generation of SATCOM ground segments could rely on a virtualized environment. This trend can also be seen in cellular networks, making these discussions extendable 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 is 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, to guarantee efficient radio usage and easy-to-deploy SATCOM services. Moreover, another challenge related to a virtualized SATCOM equipment is the management of limited buffered capacities. 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 long delay and frequent link disruptions; indeed, E2E connectivity may be available only intermittently or never. 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 the data between a central PEP and a remote PEP. Coding enables E2E reliable communication over DTN with adaptive re- encoding, as proposed in [THAI15]. In this case, the use-cases proposed in Section 3.5 would legitimize the usage of coding within the DTN stack to improve the channel utilization and the E2E transmission delay. In this context, the use of erasure coding techniques inside a Consultative Committee for Space Data Systems Kuhn & Lochin Expires May 21, 2020 [Page 10] Internet-Draft Network coding for satellite systems November 2019 (CCSDS) architecture has been specified in [CCSDS-131.5-O-1]. A research challenge would be on how such network coding can be integrated in the IETF DTN stack. 5. Conclusion This document discuses some opportunities to introduce network coding techniques at a wider scale in satellite telecommunications systems. Even though this document focuses on satellite systems, it is worth pointing out that some scenarios proposed may be relevant to other wireless telecommunication systems. As one example, the generic architecture proposed in Figure 1 may be mapped to 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 draft since they may be also relevant for cellular networks. 6. Glossary The glossary of this memo extends the glossary of the taxonomy document [RFC8406] as follows: o ACM : Adaptive Coding and Modulation; o BBFRAME: Base-Band FRAME - satellite communication layer 2 encapsulation work 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 (4) BBFRAMEs are forwarded to the physical-layer; o CPE: Customer Premises Equipment; o COM: COMmunication; o DSL: Digital Subscriber Line; o DTN: Delay/Disruption Tolerant Network; o DVB: Digital Video Broadcasting; o E2E: End-to-end; o ETSI: European Telecommunications Standards Institute; Kuhn & Lochin Expires May 21, 2020 [Page 11] Internet-Draft Network coding for satellite systems November 2019 o FEC: Forward Erasure Correction; o FLUTE: File Delivery over Unidirectional Transport; o IntraF: Intra-Flow Coding; o InterF: Inter-Flow Coding; o IoT: Internet of Things; o LTE: Long Term Evolution; o MPC: Multi-Path Coding; o NC: Network Coding; o NFV: Network Function Virtualization; o NORM: NACK-Oriented Reliable Multicast; o PEP: Performance Enhancing Proxy [RFC3135] - a typical PEP for satellite communications include compression, caching and TCP acceleration; o PLFRAME: Physical Layer FRAME - modulated version of a BBFRAME with additional information (e.g., related to synchronization); o QEF: Quasi-Error-Free; o QoE: Quality-of-Experience; o QoS: Quality-of-Service; o SAT: SATellite; o SATCOM: generic term related to all kinds of SATellite COMmunication systems; o SPC: Single-Path Coding; o VNF: Virtual Network Function. 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. Kuhn & Lochin Expires May 21, 2020 [Page 12] Internet-Draft Network coding for satellite systems November 2019 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. [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", draft-chin-nfvrg-cloud-5g-core-structure- yang-00 (work in progress), December 2017. [I-D.vazquez-nfvrg-netcod-function-virtualization] Vazquez-Castro, M., Do-Duy, T., Romano, S., and A. Tulino, "Network Coding Function Virtualization", draft-vazquez- nfvrg-netcod-function-virtualization-02 (work in progress), 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, . Kuhn & Lochin Expires May 21, 2020 [Page 13] Internet-Draft Network coding for satellite systems November 2019 [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., Ed., Saxena, P., and S. Sivakumar, "Taxonomy of Coding Techniques for Efficient Network Communications", RFC 8406, DOI 10.17487/RFC8406, June 2018, . [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 Kuhn & Lochin Expires May 21, 2020 [Page 14] Internet-Draft Network coding for satellite systems November 2019 Emmanuel Lochin (editor) ISAE-SUPAERO 10 Avenue Edouard Belin Toulouse 31400 France Email: emmanuel.lochin@isae-supaero.fr Kuhn & Lochin Expires May 21, 2020 [Page 15]