Internet Protocol Number for SCHC
Internet-Draft draft-moskowitz-intarea-schc-ip-protocol-number-01
Robert Moskowitz
HTT Consulting
Oak Park
MI
48237
USA
rgm@labs.htt-consult.com
Stuart W. Card
AX Enterprize, LLC
4947 Commercial Drive
Yorkville
NY
13495
USA
stu.card@axenterprize.com
Adam Wiethuechter
AX Enterprize, LLC
4947 Commercial Drive
Yorkville
NY
13495
USA
adam.wiethuechter@axenterprize.com
2022
Internet
INTAREA
RFC
Request for Comments
I-D
Internet-Draft
SCHC
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.
Introduction
LPWAN Static Context Header Compression (SCHC) 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 [I-D.mglt-ipsecme-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 [I-D.mglt-ipsecme-ikev2-diet-esp-extension] 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.
Additionally, SCHC can then be the Next Header within the ESP header with 'regular' SCHC rules for processing this content. This approach will greatly simplify [I-D.mglt-ipsecme-diet-esp].
DTLS 1.3 [RFC9147] adds further complications. 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.
Basic use case for SCHC as an Internet Protocol 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.
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.
Terms and Definitions
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.
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: 145) as shown below:
Internet Protocol Numbers
Decimal | Keyword | Protocol | IPv6 Extension Header | Reference
TBD1 (145) | SCHC | Static Context Header Compression | Y | This RFC
SCHC SHOULD also be added as a IPv6 Extension Header Type as shown below:
Internet Protocol Numbers
Protocol Number | Description | Reference
TBD1 (145) | Static Context Header Compression | This RFC
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.
SCHC Packet

    |------- Compressed Header -------|
    +---------------------------------+--------------------+
    |  RuleID  |  Compression Residue |      Payload       |
    +---------------------------------+--------------------+

The RuleID may be statically configured per [RFC8724], or may be negotiated within a protocol as in IKE [I-D.mglt-ipsecme-ikev2-diet-esp-extension].
IANA Considerations
IANA Internet Protocol Number Registry Update
This document requests IANA to make the following change to the "Assigned Internet Protocol Numbers" [IANA-IPN] registry:
Internet Protocol Number:
This document defines the new Internet Protocol Number value TBD1 (suggested: 145) (Section 3) in the "Assigned Internet Protocol Numbers" registry.
Decimal | Keyword | Protocol | IPv6 Extension Header | Reference
TBD1 (145) | SCHC | Static Context Header Compression | Y | This RFC
IANA Internet Protocol Version 6 (IPv6) Parameters Registry Update
This document requests IANA to make the following change to the "Internet Protocol Version 6 (IPv6) Parameters" [IANA-IPP] registry:
IPv6 Extension Header Types:
This document defines the new Internet Protocol Number value TBD1 (suggested: 145) (Section 3) for SCHC in the "IPv6 Extension Header Types" subregistry of the "Internet Protocol Version 6 (IPv6) Parameters" registry.
Protocol Number | Description | Reference
TBD1 (145) | Static Context Header Compression | This RFC
Security Considerations
TBD
References

Normative References

Informative References
[IANA-IPN]

Assigned Internet Protocol Numbers
IANA
[IANA-IPP]

Internet Protocol Version 6 (IPv6) Parameters
IANA
[I-D.mglt-ipsecme-diet-esp]
[RFC4303]
[I-D.mglt-ipsecme-ikev2-diet-esp-extension]
[RFC9147]
[RFC2119]
[RFC8174]
[RFC8724]
Acknowledgments
Discussions with Pascal Thubert, lpwan co-chair, helped develop this approach of using SCHC E2E below the current Transport Layers.