lab.SCHC

< Lab.SCHC FullSDK Documentation /

On this page:

The SCHC Mechanism

SCHC (pronounce “chic”) is the acronym for Static Context Header Compression, a standard compression and fragmentation mechanism defined by the IPv6 over LPWAN working group at the IETF.

Standards

Designation IETF Standard Usage
SCHC RFC 8724 The global Compression & Fragmentation mechanism
SCHC over LoRaWAN RFC 9011 The L2 technology adaptation
SCHC for CoAP RFC 8824 The application adaptation

Principle

The principle is to transport legacy protocol data sent by connected objects in IPv6/UDP packets that are compressed and fragmented with the SCHC mechanism, to make them transportable over the LPWAN radio link.

Static Context

SCHC architecture prevents continuous synchronization between elements communicating on the network. Synchronization is actually the operation that consumes the most bandwidth.

Communication Context

In LPWAN networks, the nature of data flows is highly predictable. The communication context is a collection of header fields that are recurring and not relevant, in comparison with the payload that contains the metering data.

Lab.SCHC FullSDK stores these communication contexts both in the device and in the network management platform, referred to as the SCHC Gateway, rather than saturating the bandwidth with such information. By reducing the amount of data transmitted over radio connectivity, using IP becomes possible.

Rules

The SCHC mechanism translates the communication context into a set of rules, each having a RuleID.

Rules are configured both on the SCHC Gateway, and on the connected objects, so that sender and recipient share the same set of rules to describe the communication. A “static” context assumes that the description of the rule does not change during transmission.

With this mechanism, IPv6/UDP headers are reduced to a RuleID of 1 byte (in most cases) within the LoRaWAN frame.

Header Compression

Data compression is an encoding operation that shortens the size of data transmission and/or storage. The data is restored by a decompression algorithm.

LPWAN technologies have severe constraints concerning the frame size, i.e. the size of messages that can be sent at a time. This is due to their low data rates, frame loss, and regulatory rules.

The IETF already produced compression schemes in the early 2000s (RoHC in 2001, and 6LoWPAN in 2007), but these compression mechanisms cannot be applied “as-is” to LPWAN specific networks.

Since 2019, SCHC’s header compression mechanism however makes it possible to transmit IPv6/UDP packets over low-power wide-area networks (LPWANs). By taking advantage of the features of LPWANs (no routing, traffic format, and highly predictable message content) it reduces the overhead to a few bytes and saves network traffic. And solves the difficulty encountered by RoHC and 6LoWPAN mechanisms by the fact.

The compression rules are configured in the SCHC Gateway and loaded on the device as a package without having to recompile the library.

Fragmentation

Fragmentation is actually a feature of IPv4 and IPv6 that splits an initial packet into smaller fragments named datagrams so that the resulting fragments can be transmitted over a link with a maximum transmission unit smaller than the packet size. Once received by the destination, a reassembly mechanisms reconstructs the packet.

A datagram is a data packet transmitted with its source and destination addresses over a telecommunications network (WAN) or a local area network (LAN).

Fragmentation Modes

SCHC’s fragmentation mechanisms can work in three different modes: “No-Ack”, “Ack-On-Error”, or “Ack-Always”.

Mode Description
No-Ack In this mode, the SCHC packet is split into several fragments which are blindly sent to the receiver. If the receiver missed a packet, it will not be able to reconstruct the sent packet.
Ack-On-Error In this mode, the concept of “windows” is used. The windows have a predefined size, allowing the receiver to point out which windows or parts of windows have been received. The moment the receiver gets the last fragment sent from the sender, it will calculate which parts of the packets are missing and notify the sender. The sender will then initiate retransmission of the missing packet parts.
Ack-Always In this mode, a retransmission mechanism similar to Ack-On-Error is used, with the difference that the acknowledgment is not made at the end of the transmission but for each window.

The SCHC Adaptation Layer

SCHC adaptation layer enables the use of the IP stack on very constrained networks for end-to-end IP communication from the object to the application. It dynamically adapts compression and fragmentation to the underlying network conditions and capabilities, overcoming the variability of LoRaWAN parameters between regions, operators, and radio conditions.

About stacks

In a stack, each protocol layer relies on those below in order to provide additional functionality.

There are two major models:

stacks

SCHC model activates the IP stack on constrained IoT networks by bringing an adaptation layer between levels 2 and 3. Like a bridge over LPWAN and IP, it ensures technology adaptation from level 1 through level 2, and application adapation from level 2 up to level 5.

In the OSI and TCP/IP models, levels 1 to 3 are “media” layers and level 4 to 7 are “host” layers. SCHC adapatation process occurs at the level of the media layers dealing with frames and packets.