Skip to main content

IP Number for SCHC
draft-moskowitz-lpwan-ipnumber-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Robert Moskowitz , Stuart W. Card , Adam Wiethuechter
Last updated 2022-08-05
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-moskowitz-lpwan-ipnumber-01
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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

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, <https://datatracker.ietf.org/doc/html/draft-mglt-
              ipsecme-diet-esp-08>.

   [IANA-IPN] IANA, "Assigned Internet Protocol Numbers",
              <https://www.iana.org/assignments/protocol-numbers/
              protocol-numbers.xhtml>.

   [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, <https://datatracker.ietf.org/doc/html/draft-
              mglt-ipsecme-ikev2-diet-esp-extension-02>.

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, <https://datatracker.ietf.org/doc/html/
              draft-ietf-lpwan-architecture-02>.

   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, DOI 10.17487/RFC4303, December 2005,
              <https://www.rfc-editor.org/info/rfc4303>.

   [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,
              <https://www.rfc-editor.org/info/rfc8724>.

   [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,
              <https://www.rfc-editor.org/info/rfc9147>.

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]