LPWAN R. Moskowitz Internet-Draft HTT Consulting Intended status: Standards Track S. Card Expires: 6 February 2023 A. Wiethuechter AX Enterprize, LLC 5 August 2022 IP Number for SCHC draft-moskowitz-lpwan-ipnumber-01 Abstract This document requests an Internet Protocol Number assignment for SCHC so that SCHC can be used for IP independent SCHC of other transports such as UDP and ESP. With SCHC at, effectively, the Transport Layer, this document describes how to provide Forward Error Correction (FEC), enabled via SCHC, at the IP datagram level. This is the most efficient bandwidth consumption approach to FEC. As it is done outside any security envelope, it does come with the risk of DoS attacks against the FEC. 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 6 February 2023. Copyright Notice Copyright (c) 2022 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. Moskowitz, et al. Expires 6 February 2023 [Page 1] Internet-Draft IP Number for SCHC August 2022 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 1.1. Basic use case for SCHC as an IP Number . . . . . . . . . 3 1.2. FEC use case for SCHC as an IP Number . . . . . . . . . . 4 2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 4 2.1. Requirements Terminology . . . . . . . . . . . . . . . . 4 3. Internet Protocol Number for SCHC . . . . . . . . . . . . . . 4 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 4.1. IANA IP Number Registry Update . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. Normative References . . . . . . . . . . . . . . . . . . 6 6.2. Informative References . . . . . . . . . . . . . . . . . 6 Appendix A. FEC applied to IP Datagram Example . . . . . . . . . 7 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction LPWAN Static Context Header Compression (SCHC) Architecture [lpwan-architecture] originally envisioned SCHC used at the Network layer, encompassing IP and Transport, by the network provider. Then SCHC would be used by the application; this would include any security envelope. This approach brakes down when dealing with Diet ESP [diet-esp]. When Next Header is ESP, it is challenging for the ESP process to determine if an incoming ESP payload is regular ESP [RFC4303] or a diet ESP payload. Careful allocation of the incoming SPI [ikev2-diet-esp] can mitigate this and have an implicit SCHC header, but it is not sound protocol design. If the Next Header in the IP header were SCHC, not ESP, a clear segregation of incoming traffic is directly supportable. Moskowitz, et al. Expires 6 February 2023 [Page 2] Internet-Draft IP Number for SCHC August 2022 DTLS 1.3 [RFC9147] further complicates this. DTLS 1.3 headers themselves are typically already very compressed and SCHC would not provide much value. But the UDP header in front of DTLS would benefit of a separate compression from the IP Header compression. Where it is possible with ESP's SPI to mitigate inbound packet processing challenges implicit SCHC would generate, DTLS header does not safely even provide this and a SCHC IP number is necessary to separate traffic. Once SCHC is available as an IP Number, it effectively becomes a new Transport Layer and some interesting options are now possible to support communications like UAS Command and Control (C2) that must reach the Unmanned Aircraft (UA) from the Ground Control Station (GCS). Forward Error Correction (FEC) can be provided at the IP datagram level as a function of this new SCHC Transport Layer. This addition of FEC as described in Appendix A can significantly reduce the risk of losing a message from either lossy wireless or RED (Random Early Discard) within the Internet routing fabric. 1.1. Basic use case for SCHC as an IP Number A mobile node, or network, may use different links over a period of time. In some cases the node has the multiple interfaces and, in theory, could tune the compression to each interface. In other cases, it is the whole network that is mobile and individual nodes have no "knowledge" of which link with what characteristics is actively handling the traffic. In either case, the node administrator is aware that some links are constrained and use of SCHC compression is highly recommended. One example is an UA that uses different links over the duration of an operation (i.e. flight). * Operation starts using Veriport's WiFi service. * On gaining altitude, UA transitions to a Cellular service. * On gaining more altitude, UA transitions to a constrained 700MHz UHF service. * On approach to destination vertiport, link transition is reversed. The UA could use SCHC compression only on the UHF link, but this may complicate the implementation. Moskowitz, et al. Expires 6 February 2023 [Page 3] Internet-Draft IP Number for SCHC August 2022 A more complex example is an Unmanned Cargo Aircraft that has multiple avionics systems, all Ethernet connected to an onboard router that has the multiple interfaces. Here the nodes each manage their own secure path to their ground-based server, but have no knowledge of which link is in use to intelligently use compression. 1.2. FEC use case for SCHC as an IP Number UAS C2 often requires that a command must reach the UA. There are multiple ways, with at least one wireless link in path, to achieve a high to mandatory level of delivery assurance. A common aviation approach is to use a highly reliable radio band. These RF bands tend to be narrow and are data constrained and thus typically receiver density constrained. That is, they can only send limited, short messages to a limited number of UA per ground antenna. Even within this performance constraint, this RF approach requires both the UA and GCS to be on the same wireless network, or the intervening Internet path having an assured level of packet delivery. This effectively rules out general purpose Internet paths where RED practically assures packet loss at a critical time. FEC is a long-established methodology to ensure that the message (data) gets through. It can selectively be used on a per message basis with the application signaling SCHC which RuleID to use. For example there can be two RuleIDs, one for basic compression (Section 1.1) and one that adds FEC to this (see Appendix A). Or there could be three rules so that there can be two levels of delivery assurance (and FEC overhead) for different levels of must deliver. 2. Terms and Definitions 2.1. Requirements Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Internet Protocol Number for SCHC SCHC as the IP payload SHOULD be indicated in the IPv4 "Protocol" field or the IPv6 "Next Header" field with a value of TBD1 (recommended: 144) as shown below: Moskowitz, et al. Expires 6 February 2023 [Page 4] Internet-Draft IP Number for SCHC August 2022 +=========+=========+================+================+===========+ | Decimal | Keyword | Protocol | IPv6 Extension | Reference | | | | | Header | | +=========+=========+================+================+===========+ | TBD1 | SCHC | Static Context | | This RFC | | (144) | | Header | | | | | | Compression | | | +---------+---------+----------------+----------------+-----------+ Table 1: Internet Protocol Numbers The SCHC compressed header with payload is shown below. The size of the SCHC RuleID is variable as described in [RFC8724]. An implementation should have a table of source IP address and RuleID size. The addresses should be represented in prefix format to allow for groups of addresses having the same RuleID size. |------- Compressed Header -------| +---------------------------------+--------------------+ | RuleID | Compression Residue | Payload | +---------------------------------+--------------------+ Figure 1: SCHC Packet The RuleID may be statically configured per [RFC8724], or may be negotiated within a protocol as in IKE [ikev2-diet-esp]. 4. IANA Considerations 4.1. IANA IP Number Registry Update This document requests IANA to make the following change to the "Assigned Internet Protocol Numbers" [IANA-IPN] registry: IP Number: This document defines the new IP Number value TBD1 (suggested: 144) (Section 3) in the "Assigned Internet Protocol Numbers" registry. Moskowitz, et al. Expires 6 February 2023 [Page 5] Internet-Draft IP Number for SCHC August 2022 +=========+=========+================+================+===========+ | Decimal | Keyword | Protocol | IPv6 Extension | Reference | | | | | Header | | +=========+=========+================+================+===========+ | TBD1 | SCHC | Static Context | | This RFC | | (144) | | Header | | | | | | Compression | | | +---------+---------+----------------+----------------+-----------+ Table 2 5. Security Considerations TBD 6. References 6.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 6.2. Informative References [diet-esp] Migault, D., Guggemos, T., Bormann, C., and D. Schinazi, "ESP Header Compression and Diet-ESP", Work in Progress, Internet-Draft, draft-mglt-ipsecme-diet-esp-08, 13 May 2022, . [IANA-IPN] IANA, "Assigned Internet Protocol Numbers", . [ikev2-diet-esp] Migault, D., Guggemos, T., and D. Schinazi, "Internet Key Exchange version 2 (IKEv2) extension for the ESP Header Compression (EHC) Strategy", Work in Progress, Internet- Draft, draft-mglt-ipsecme-ikev2-diet-esp-extension-02, 13 May 2022, . Moskowitz, et al. Expires 6 February 2023 [Page 6] Internet-Draft IP Number for SCHC August 2022 [lpwan-architecture] Pelov, A., Thubert, P., and A. Minaburo, "LPWAN Static Context Header Compression (SCHC) Architecture", Work in Progress, Internet-Draft, draft-ietf-lpwan-architecture- 02, 30 June 2022, . [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", RFC 4303, DOI 10.17487/RFC4303, December 2005, . [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, . [RFC9147] Rescorla, E., Tschofenig, H., and N. Modadugu, "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3", RFC 9147, DOI 10.17487/RFC9147, April 2022, . Appendix A. FEC applied to IP Datagram Example FEC, applied at the IP Datagram level, is the most efficient implementation in terms of data transmission overhead. Only the IP Header is repeated for each message fragment and FEC frame. Reed- Solomon FEC is used in this example. This does come at the potential risk and overhead caused by malicious alteration of content. The fragments have to be assembled with the potential help of FEC before any security layer Integrity Check can be validated. But this is just one of many DoS attacks and as these messages will tend to be small, any memory allocation or FEC processing should be minimal. All SCHC rules applying to the datagram are applied first. If the compressed residue is N bytes, then a Reed-Solomon block of N/2 is generated across the compressed residue. The compressed residue is now divided into 2 IP datagrams with the Reed-Solomon block being a 3rd IP datagram. The SCHC RuleID's lower 2 bits are used as a block sequence number. Moskowitz, et al. Expires 6 February 2023 [Page 7] Internet-Draft IP Number for SCHC August 2022 The receiver of these blocks uses the SCHC RuleID's lower 2 bits block sequence number to rebuild the message. If either block 1 or 2 is missing, then it is replaced with a null block and Reed-Solomon is used to reconstruct it. The SCHC RuleID represented in the upper bits is then used to decompress the message which is then passed to the proper Transport Layer. If Reed-Solomon is used to generate one parity block of length N/2 at a transmission cost of 40 + N/2 bytes (where 40 is the size of the IPv6 header), this is only a transmission savings where N greater than 80. If N is less, then just sending the message twice should result in the same recovery rate with lower transmission cost. Note that if SCHC is independently used to compress the IPv6 header, the resulting IPv6 residue size is used above. Acknowledgments Discussions with Pascal Thubert, lpwan co-chair, helped develop this approach of using SCHC E2E below the current Transport Layers. The addition of using SCHC as an actual Transport Layer for FEC support came from discussions with long-range wireless providers on mandates to assure C2 delivery and the need of an E2E approach. Authors' Addresses Robert Moskowitz HTT Consulting Oak Park, MI 48237 United States of America Email: rgm@labs.htt-consult.com Stuart W. Card AX Enterprize, LLC 4947 Commercial Drive Yorkville, NY 13495 United States of America Email: stu.card@axenterprize.com Adam Wiethuechter AX Enterprize, LLC 4947 Commercial Drive Yorkville, NY 13495 United States of America Email: adam.wiethuechter@axenterprize.com Moskowitz, et al. Expires 6 February 2023 [Page 8]