schc Working Group S. Aguilar Internet-Draft C. Gomez Intended status: Standards Track R. Vidal Expires: 12 November 2023 Universitat Politecnica de Catalunya 11 May 2023 SCHC Convergence Profile draft-aguilar-schc-convergence-00 Abstract The present document defines a profile of Static Context Header Compression and fragmentation (SCHC) [RFC8724] for multi-radio devices or multi-network application. This profile can be used simultaneously over LoRaWAN, Sigfox, NB-IoT and any other technology that may use SCHC Fragmentation/Reassembly functionality. 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 12 November 2023. Copyright Notice Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved. Aguilar, et al. Expires 12 November 2023 [Page 1] Internet-Draft SCHC Convergence May 2023 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Motivation and Use Cases . . . . . . . . . . . . . . . . . . 3 3.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 4 4. SCHC over All Profile . . . . . . . . . . . . . . . . . . . . 4 4.1. SCHC over All Architecture . . . . . . . . . . . . . . . 4 4.2. Single SCHC ID . . . . . . . . . . . . . . . . . . . . . 6 4.3. Uplink Fragmentation . . . . . . . . . . . . . . . . . . 7 4.3.1. Uplink ACK-on-Error Mode: Two-byte SCHC Header . . . 8 4.3.2. Downlink Consideration in Uplink Fragmentation . . . 9 4.4. Rule Management . . . . . . . . . . . . . . . . . . . . . 9 4.5. SCHC over All F/R Message Formats . . . . . . . . . . . . 9 4.5.1. Regular SCHC Fragment . . . . . . . . . . . . . . . . 9 4.5.2. All-1 SCHC Fragment . . . . . . . . . . . . . . . . . 10 4.5.3. SCHC ACK Format . . . . . . . . . . . . . . . . . . . 10 4.5.4. SCHC Receiver-Abort Message . . . . . . . . . . . . . 10 4.5.5. SCHC Sender-Abort Messages . . . . . . . . . . . . . 11 4.5.6. SCHC ACK Request . . . . . . . . . . . . . . . . . . 11 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 6. Normative References . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction The Static Context Header Compression and fragmentation (SCHC) specification [RFC8724] provides generic adaptation layer functionality, including Compression/Decompression (C/D) and Fragmentation and Reassembly (F/R) functionality. The latter offers three different modes, providing different features. SCHC over LoRaWAN [RFC9011], SCHC over Sigfox [I-D.lpwan-schc-over-sigfox] and SCHC over NB-IoT [I-D.lpwan-schc-over-nbiot] are technology-specific SCHC profiles, which provide an optimal configuration of SCHC over the corresponding technologies. However, the F/R functionalities of these profiles are not compatible. Therefore, multi-radio devices (e.g., supporting Aguilar, et al. Expires 12 November 2023 [Page 2] Internet-Draft SCHC Convergence May 2023 LoRaWAN, Sigfox and NB-IoT interfaces on the same device) require multiple implementations of the SCHC F/R sublayer, one for each technology. Moreover, multi-network solutions, where the same application is deployed over different LPWAN technologies also require multiple implementations of the SCHC F/R sublayer, one for each deployment. To reduce implementation complexity, and enable a single convergent F/R sublayer, this document provides the F/R details for a SCHC profile that can be used over all the LPWAN technologies overviewed in [RFC8376], leveraging the benefits of the Compound ACK. This profile can also be used over other technologies that may use SCHC Fragmentation/Reassembly functionality. 2. Terminology It is assumed that the reader is familiar with the terms and mechanisms defined in [RFC8376] and in [RFC8724]. 3. Motivation and Use Cases 3.1. Motivation IoT applications running over LPWAN devices are tied up to the selected LPWAN technology. The LPWAN constrains influence the design of the IoT application itself. This presents problems when migrating to other LPWANs or networks, as it may imply redesigning the complete IoT application (from device code to backend code). The LPWAN, as a Layer 2 (L2), should be transparent to IoT application (and developers), as it is in the IP domain. Current advances in the adoption of IPv6 over LPWAN achieved interoperability for application thanks to SCHC [RFC8724], and a single SCHC C/D sublayer. However, each LPWAN technology requires a different implementation of the SCHC F/R sublayer, with different (but actually very similar) F/R modes. Therefore, an IoT application using multiple LPWANs (multiple radios o multiple networks) will require multiple SCHC F/R implementation in device and backend code. This is not the case for the C/D sublayer. To reduce code complexity and maintenance, and achieve a single convergent SCHC F/R sublayer, this document provides a SCHC Profile which considers the singularities of LoRaWAN, Sigfox and NB-IoT, while providing general F/R modes that work over all of these technologies simultaneously. Aguilar, et al. Expires 12 November 2023 [Page 3] Internet-Draft SCHC Convergence May 2023 3.2. Use Cases The SCHC over All profile has several use cases: * Generic SCHC F/R Profile for implementation of SCHC to test over a new technology. SCHC out-of-the-box F/R modes. * Multi-radio devices: Devices implementing more than one LPWAN radio. * Multi-network applications: Applications deployed over more than one LPWAN. * Network Redundancy: - Devices using another LPWAN as backup, - devices sending the same SCHC Fragment in different networks to increase the probability of successful fragmented packet reception. * Increased device duty-cycle as more networks are available, e.g., if SCHC Packet transmission is not possible over LoRaWAN due to duty-cycle restriction, SCHC Packet transmission may be performed over Sigfox or NB-IoT. This applies also for SCHC Fragments. * Devices sending SCHC Fragments over different LPWANs to check available coverage. 4. SCHC over All Profile 4.1. SCHC over All Architecture [RFC8376] overviews the LoRaWAN, Sigfox, and NB-IoT protocols and their network architectures. More specifically, [RFC9011] maps the network architecture entities between LoRaWAN and LPWAN, as described in [RFC8724]. Similarly, [I-D.lpwan-schc-over-sigfox] and [I-D.lpwan-schc-over-nbiot] for Sigfox and NB-IoT performs the same mapping for Sigfox and NB-IoT, respectively. Figure 1 shows the architecture when using several SCHC F/R implementations, one for each LPWAN technology. In this case, it is possible to send SCHC Packets over different LPWAN networks. Aguilar, et al. Expires 12 November 2023 [Page 4] Internet-Draft SCHC Convergence May 2023 () () () | | () () () () / \/ \ +---------+ +---------+ () () () () () / / \ \====| Network |===|SCHC over|=== () () () () | Gateway | | NB-IoT | || () () () () () | (NB-IoT)| +---------+ || () () () () +---------+ || () () () () || +-----------+ () () () | | || |Application| () () () () / \/ \ +---------+ +---------+ || +-----------+ () () () () () / / \ \====| Network |===|SCHC over|====| SCHC C/D | () () () () | Core | | Sigfox | || +-----------+ () () () () () | (Sigfox)| +---------+ || () () () () +---------+ || () () () () || () () () | | +---------+ +---------+ || () () () () / \/ \ | Network | |SCHC over| || () () () () / / \ \====| Server |===| LoRaWAN |=== () () () () |(LoRaWAN)| +---------+ () () () () +---------+ End devices Radio Gateways Network Server SCHC C/D and F/R (devices) (RGW) (NGW) Figure 1: Architecture when using several SCHC F/R implementations Figure 2 presents the SCHC over All architecture, with a single SCHC C/D and F/R sublayer. This architecture provides a single implementation of the SCHC F/R sublayer. Aguilar, et al. Expires 12 November 2023 [Page 5] Internet-Draft SCHC Convergence May 2023 () () () | | () () () () / \/ \ +---------+ () () () () () / / \ \====| Network |========== () () () () | Gateway | || () () () () () | (NB-IoT)| || () () () () +---------+ || () () () () () +---------+ () () () | | |SCHC C/D | () () () () / \/ \ +---------+ |---------| +-----------+ () () () () () / / \ \====| Network |===|SCHC over|==|Application| () () () () | Core | | All | +-----------+ () () () () () | (Sigfox)| +---------+ () () () () +---------+ || () () () () || () () () | | || () () () () / \/ \ +---------+ || () () () () () / / \ \====| Network |========== () () () () | Server | () () () () () |(LoRaWAN)| () () () () +---------+ End devices Radio Gateways Network Server SCHC C/D and F/R (devices) (RGW) (NGW) Server Figure 2: SCHC over All architecture In the SCHC over All Profile, as devices have a single SCHC F/R implementation, F/R RuleIDs are the same, independently of the LPWAN technology used, reducing the device memory and complexity requirements when compared to multiple SCHC F/R implementation. 4.2. Single SCHC ID To simplify the access to RuleIDs and to converge the different device IDs provided by the networks involved, a device needs to have a new identifier called the single SCHC ID. A device ID translation table maps the network device ID to single SCHC ID. Then, with the single Device ID, it is possible to look up the Rules set and identify the corresponding Rules for such device. This dissociates the network device ID form the Rules, allowing to use the same Rule set for the same device independently of the access network. The network device IDs used by the LPWAN technologies included in this Profile are: * LoRaWAN: DevID Aguilar, et al. Expires 12 November 2023 [Page 6] Internet-Draft SCHC Convergence May 2023 * Sigfox: DeviceID * NB-IoT: IMEI Figure 3 presents a diagram of the SCHC over All architecture including the Single SCHC device ID translation table. +-----------+ | Table |========== | Device ID | || |translation| || +-----------+ || +---------+ |SCHC C/D | +---------+ +-----------+ (from All LPWANs) ===|SCHC over|==|Application| | All | +-----------+ +---------+ Figure 3: Single SCHC device ID translation table diagram 4.3. Uplink Fragmentation ACK-on-Error mode is RECOMMENDED for the transmission of Uplink SCHC Packets that require fragmentation and need to be sent reliably. ACK-on-Error mode is optimal, since it leads to a reduced number of ACKs in the lower capacity Downlink channel as Downlink messages can be sent asynchronously and opportunistically. Moreover, ACK-on-Error mode supports variable MTU (which is critical for changing from one LPWAN technology to another when sending SCHC Fragments spread across different LPWANs), and out-of-order delivery (in case SCHC Fragments are received out-of-order at the SCHC F/R receiver). SCHC over LoRaWAN [RFC9011], SCHC over Sigfox [I-D.lpwan-schc-over-sigfox] and SCHC over NB-IoT [I-D.lpwan-schc-over-nbiot] provide uplink fragmentation SCHC profiles. At the SCHC Fragment level, these profiles are not compatible with one another. However, one of the SCHC over Sigfox uplink fragmentation modes (Two-bytes Option 2) has several similarities with the ACK-on-Error SCHC over LoRaWAN profile. Such similarities include: * 2-byte SCHC Fragmentation Header size. * 10-byte tile size. * 2-byte Rule ID size. Aguilar, et al. Expires 12 November 2023 [Page 7] Internet-Draft SCHC Convergence May 2023 * No DTag Differences between the SCHC over LoRaWAN and SCHC over Sigfox (Two- byte Option 2) uplink fragmentation profiles include: * WINDOW_SIZE (tiles per window). * M size (maximum number of windows). * N size (tiles per window). * Different RCS size and algoritm. SCHC over LoRaWAN ACK-on-Error includes a WINDOW_SIZE of 64 tiles. This allows feedback from receiver to sender with larger ACKs. Larger ACKs provide better performance in error-prone environments. On the other hand, SCHC over Sigfox leverages the Compound ACK with a WINDOW_SIZE of 32, allowing more downlink opportunities, and enabling larger ACKs, notifying more than one window, in error-prone environments and smaller ACKs, notifying one window. Therefore, the SCHC over All Profile uses smaller WINDOW_SIZE values than the ones proposed in SCHC over LoRaWAN [RFC9011], as it uses the Compound ACK to accomplish larger ACK size, while still having the option of smaller ACKs and more downlink opportunities. In error-prone environments, larger ACKs pool more fragment error in a single ACK, reducing the total number of ACKs, compared to the increase in ACK size. Smaller ACKs performed better when error are scatter, as ACKs will be small and less frequent. 4.3.1. Uplink ACK-on-Error Mode: Two-byte SCHC Header In order to take advance of the similarities of the different LPWAN profiles, the SCHC Uplink Fragmentation Header size is RECOMMENDED to have a size of 16 bits and be composed as follows: * Rule ID size is: 8 bits * DTag size (T) is: 0 bits * Window index (W) size (M): 3 bits * Fragment Compressed Number (FCN) size (N): 5 bits. * MAX_ACK_REQUESTS: 5 Aguilar, et al. Expires 12 November 2023 [Page 8] Internet-Draft SCHC Convergence May 2023 * WINDOW_SIZE: 31 (with a maximum value of FCN=0b1011) * Regular tile size: 10 bytes * All-1 tile size: 1 to 10 bytes * Retransmission Timer: Application-dependent. The RECOMMENDED value is 12 hours. * Inactivity Timer: Application-dependent. The RECOMMENDED value is 12 hours. * RCS size: 32 bits 4.3.2. Downlink Consideration in Uplink Fragmentation When fragmentation is performed in the Uplink, the Compound ACK allows to optimally manage receiver acknowledgements, as the number of windows and the moment the Compound ACK is transferred can be freely selected, e.g., depending on network conditions or capacity. This advantage, compared with [RFC8724] and [RFC9011], benefits smaller windows sizes, as smaller windows sizes provide more downlink opportunities than a larger windows for the same number of tiles. 4.4. Rule Management The RuleID MUST be 8 bits. In LoRaWAN it MUST be encoded in the LoRaWAN FPort. 4.5. SCHC over All F/R Message Formats This section depicts the different formats of SCHC Fragment, SCHC ACK (including the SCHC Compound ACK defined in [I-D.ietf-lpwan-schc-compound-ack]), SCHC Aborts and ACK Request used in SCHC over All Uplink ACK-on-Error mode. 4.5.1. Regular SCHC Fragment Figure 4 shows an example of a regular SCHC fragment for all fragments except the last one. The penultimate tile of a SCHC Packet is of the regular size. + ------ + -------------------------- + | RuleID | W | FCN | Payload | + ------ + ------ + ------ + -------- + | 8 bits | 3 bits | 5 bits | Variable | Figure 4: Regular SCHC Fragment Aguilar, et al. Expires 12 November 2023 [Page 9] Internet-Draft SCHC Convergence May 2023 4.5.2. All-1 SCHC Fragment + ------ + ---------------------------- + | RuleID | W | FCN=All-1 | RCS | + ------ + ------ + --------- + ------- + | 8 bits | 3 bits | 5 bits | 32 bits | Figure 5: All-1 SCHC Fragment (no tile) + ------ + ---------------------------------------------------------- + | RuleID | W | FCN=All-1 | RCS | Last tile | Opt. padding | + ------ + ------ + --------- + ------- + ------------ + ------------ + | 8 bits | 3 bits | 5 bits | 32 bits | 1 to X bits | 0 to 7 bits Figure 6: All-1 SCHC Fragment (with tile) 4.5.3. SCHC ACK Format + ------ + --------------------------+ | RuleID | W | C = 1 | padding | + ------ + ----- + ----- + --------- + | 8 bits | 3 bit | 1 bit | X bits | Figure 7: Successful SCHC ACK | FPort | LoRaWAN payload | + ------ + --------------------------------- + ---------------- + | RuleID | W | C = 0 | Compressed bitmap | Optional padding | | | | | (C = 0) | (b'0...0) | + ------ + ----- + ----- + ----------------- + ---------------- + | 8 bits | 2 bit | 1 bit | 5 to 63 bits | 0, 6 or 7 bits | |-- SCHC ACK Header --|- W=w1 -|...|---- W=wi -----| +------+------+-------+--------+...+------+--------+------+-------+ |RuleID|W=b'w1| C=b'0 | Bitmap |...|W=b'wi| Bitmap | 000 |b'0-pad| +------+------+-------+--------+...+------+--------+------+-------+ |8 bits|3 bits| 1 bit | 31 bits|...|3 bits| 31 bits|3 bits| Losses are found in windows W = w1,...,wi; where w1| <-- L2 Word --> | Figure 9: SCHC Receiver-Abort 4.5.5. SCHC Sender-Abort Messages |---- Sender-Abort Header ----| +-----------------------------+ | RuleID | W | FCN=ALL-1 | +--------+--------+-----------+ | 8 bits | 3 bits | 5 bits | Figure 10: SCHC Sender-Abort 4.5.6. SCHC ACK Request |------- ACK Request Header -------| +------- +------------------------ + | RuleID | W | FCN = b'00000 | + ------ + ------ + -------------- + | 8 bits | 3 bits | 5 bits | Figure 11: SCHC ACK Request 5. Acknowledgements Carles Gomez has been funded in part by the Spanish Government through the TEC2016-79988-P grant, and the PID2019-106808RA-I00 grant (funded by MCIN / AEI / 10.13039/501100011033), and by Secretaria d'Universitats i Recerca del Departament d'Empresa i Coneixement de la Generalitat de Catalunya 2017 through grant SGR 376. Sergio Aguilar has been funded by the ERDF and the Spanish Government through project TEC2016-79988-P and project PID2019-106808RA-I00, AEI/FEDER, EU (funded by MCIN / AEI / 10.13039/501100011033). 6. Normative References Aguilar, et al. Expires 12 November 2023 [Page 11] Internet-Draft SCHC Convergence May 2023 [I-D.ietf-lpwan-schc-compound-ack] Zuniga, JC., Gomez, C., Aguilar, S., Toutain, L., Cespedes, S., and D. Wistuba, "SCHC Compound ACK", Work in Progress, Internet-Draft, draft-ietf-lpwan-schc-compound- ack-07, October 2022, . [I-D.lpwan-schc-over-nbiot] Ramos, E. and A. Minaburo, "SCHC over NBIoT", Work in Progress, Internet-Draft, draft-ietf-lpwan-schc-over- nbiot-12, October 2022, . [I-D.lpwan-schc-over-sigfox] Zuniga, JC., Gomez, C., Aguilar, S., Toutain, L., Cespedes, S., Wistuba, D., and J. Boite, "SCHC over Sigfox LPWAN", Work in Progress, Internet-Draft, draft-ietf- lpwan-schc-over-sigfox-13, October 2022, . [RFC8376] Farrell, S., Ed., "Low-Power Wide Area Network (LPWAN) Overview", RFC 8376, DOI 10.17487/RFC8376, May 2018, . [RFC8724] Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC. Zuniga, "SCHC: Generic Framework for Static Context Header Compression and Fragmentation", RFC 8724, DOI 10.17487/RFC8724, April 2020, . [RFC9011] Gimenez, O., Ed. and I. Petrov, Ed., "Static Context Header Compression and Fragmentation (SCHC) over LoRaWAN", RFC 9011, DOI 10.17487/RFC9011, April 2021, . Authors' Addresses Sergio Aguilar Universitat Politecnica de Catalunya C/Esteve Terradas, 7 08860 Castelldefels Spain Email: sergio.aguilar.romero@upc.edu Aguilar, et al. Expires 12 November 2023 [Page 12] Internet-Draft SCHC Convergence May 2023 Carles Gomez Universitat Politecnica de Catalunya C/Esteve Terradas, 7 08860 Castelldefels Spain Email: carles.gomez@upc.edu Rafael Vidal Universitat Politecnica de Catalunya C/Esteve Terradas, 7 08860 Castelldefels Spain Email: rafael.vidal@upc.edu Aguilar, et al. Expires 12 November 2023 [Page 13]