This article needs additional citations for verification .(November 2020) |
Static Context Header Compression(SCHC) is a standard compression and fragmentation mechanism defined in the IPv6 over LPWAN working group at the IETF. It offers compression and fragmentation of IPv6/UDP/CoAP packets to allow their transmission over the Low-Power Wide-Area Networks (LPWAN).
Low-Power Wide-Area Network (LPWAN) gathers the connectivity technologies tailored for Internet of Things (IoT), allowing for:
The trade-off for achieving these features includes severe limitation in terms of throughput and packet size supported. [1] Also, LPWAN come with limitations on transmission modalities since, in order to save battery, devices are dormant most of the time and wake up only episodically to transmit and receive data for a short time window.
As a result, the LPWAN use their specific protocols, each adapted to their own specificities. Most importantly, they cannot carry IPv6, which was designed to allocate addresses to the billions of IoT connected devices.
In the early 2000s, the IETF produced the first wave of mature standards for compression and fragmentation:
Yet, these compression schemes cannot fit the LPWAN specificities. [2] [3] [4]
SCHC associates the benefits of the RoHC context, which provides high flexibility in the fields processing, and of the 6LoWPAN operations to avoid transiting fields that are known by the other side. [4]
SCHC takes advantage of the LPWAN characteristics (no routing, highly predictable traffic format and content of messages) to reduce the overhead to a few bytes and save network traffic.
The SCHC compression is based on the notion of context. A context is a set of rules that describes the communication context, meaning the header fields. It is shared and pre-provisioned in both the end-devices and the core network. The "static context" assumes that the rule description does not change during transmission. Thanks to this mechanism, IPv6/UDP headers are in most cases reduced to a small identifier.
When compression is not enough, SCHC provides a fragmentation mechanism that works in 3 different ways:
In this mode the SCHC packet is separated in multiple fragments that are blindly sent to the receiver, if the receiver missed any one packet then it won't be able to re build the sent packet.
In this mode the concept of "windows" is used, windows have a predefined size, allowing the receiver to keep a count of which windows or windows parts have been received, at the moment the receiver gets the last fragment from the sender it will calculate which parts of the packets it has missed and send a message describing that to the sender. The sender will then initialize the retransmission of the missing packet parts.
In Ack-Always mode the same retransmission mechanism as for Ack-On-Error is used except that it is not done at the end of the transmission but for each window.
The Generic Framework for Static Context Header Compression and Fragmentation, RFC 8724 has been published in April 2020. It describes the generic framework that can be used on all LPWAN technologies, and more generally on all Internet networks.
Additional work is dedicated to the definition of standard parameter settings and modes of operation to optimize SCHC's performance according to the implemented protocols and the underlying LPWAN technologies:
On May 17, 2022, The LoRa Alliance (global association of companies backing the open LoRaWAN® standard for the internet of things low-power wide-area networks) announced that LoRaWAN now seamlessly supports Internet Protocol version 6 (IPv6) from end-to-end. [5] By expanding the breadth of device-to-application solutions with IPv6, LoRaWAN's addressable IoT market is also broadened to include internet based standards required in smart electricity metering and new applications in smart buildings, industries, logistics, and homes. The Alliance released a technical specification TS 10–1.0.0 to explain how to use SCHC as an adaptation layer to enable LoRaWAN end-devices to use IPv6-based stacks over LoRaWAN [6] and expands its certification program to include SCHC over LoRaWAN® Enabling IPv6 Solutions. [7]
In addition, SCHC is being adopted in a joint standardization effort carried out by the DLMS User Association and the LoRa Alliance for the smart metering industries. [8] [9]
Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
In computer networking, the maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. The MTU relates to, but is not identical to the maximum frame size that can be transported on the data link layer, e.g., Ethernet frame.
In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in virtual private networks (VPNs).
Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to bypass the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.
IEEE 802.15.4 is a technical standard which defines the operation of a low-rate wireless personal area network (LR-WPAN). It specifies the physical layer and media access control for LR-WPANs, and is maintained by the IEEE 802.15 working group, which defined the standard in 2003. It is the basis for the Zigbee, ISA100.11a, WirelessHART, MiWi, 6LoWPAN, Thread, Matter and SNAP specifications, each of which further extends the standard by developing the upper layers which are not defined in IEEE 802.15.4. In particular, 6LoWPAN defines a binding for the IPv6 version of the Internet Protocol (IP) over WPANs, and is itself used by upper layers like Thread.
Robust Header Compression (ROHC) is a standardized method to compress the IP, UDP, UDP-Lite, RTP, and TCP headers of Internet packets.
Internet Control Message Protocol version 6 (ICMPv6) is the implementation of the Internet Control Message Protocol (ICMP) for Internet Protocol version 6 (IPv6). ICMPv6 is an integral part of IPv6 and performs error reporting and diagnostic functions.
6LoWPAN was a working group of the Internet Engineering Task Force (IETF). It was created with the intention of applying the Internet Protocol (IP) even to the smallest devices, enabling low-power devices with limited processing capabilities to participate in the Internet of Things.
Path MTU Discovery (PMTUD) is a standardized technique in computer networking for determining the maximum transmission unit (MTU) size on the network path between two Internet Protocol (IP) hosts, usually with the goal of avoiding IP fragmentation. PMTUD was originally intended for routers in Internet Protocol Version 4 (IPv4). However, all modern operating systems use it on endpoints. In IPv6, this function has been explicitly delegated to the end points of a communications session. As an extension to the standard path MTU discovery, a technique called Packetization Layer Path MTU Discovery works without support from ICMP.
The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the destination host specified by an IP address. The internet layer derives its name from its function facilitating internetworking, which is the concept of connecting multiple networks with each other through gateways.
Locator/ID Separation Protocol (LISP) is a "map-and-encapsulate" protocol which is developed by the Internet Engineering Task Force LISP Working Group. The basic idea behind the separation is that the Internet architecture combines two functions, routing locators and identifiers in one number space: the IP address. LISP supports the separation of the IPv4 and IPv6 address space following a network-based map-and-encapsulate scheme. In LISP, both identifiers and locators can be IP addresses or arbitrary elements like a set of GPS coordinates or a MAC address.
An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6). Packets consist of control information for addressing and routing and a payload of user data. The control information in IPv6 packets is subdivided into a mandatory fixed header and optional extension headers. The payload of an IPv6 packet is typically a datagram or segment of the higher-level transport layer protocol, but may be data for an internet layer or link layer instead.
Constrained Application Protocol (CoAP) is a specialized Internet application protocol for constrained devices, as defined in RFC 7252. It enables those constrained devices called "nodes" to communicate with the wider Internet using similar protocols. CoAP is designed for use between devices on the same constrained network, between devices and general nodes on the Internet, and between devices on different constrained networks both joined by an internet. CoAP is also being used via other mechanisms, such as SMS on mobile communication networks.
Geoff Mulligan is an American computer scientist who developed embedded internet technology and 6LoWPAN. He was chairman of the LoRa Alliance from its creation in 2015 until 2018, was previously founder and chairman of the IPSO Alliance, is a consultant on the Internet of Things, and in 2013, was appointed a Presidential Innovation Fellow.
A low-power, wide-area network is a type of wireless telecommunication wide area network designed to allow long-range communication at a low bit rate between IoT devices, such as sensors operated on a battery.
Senet Inc. is an American Low Power Wide Area Network (LPWAN) provider for IoT/M2M applications. The Senet Network is described as "the first and only public provider of LPWA networks with class leading LoRa® modulation for IoT/M2M applications in North America”. Its platform is positioned to meet the needs of the growing “Internet of Things” (IoT) ecosystem.
LoRa is a physical proprietary radio communication technique. It is based on spread spectrum modulation techniques derived from chirp spread spectrum (CSS) technology. It was developed by Cycleo, a company of Grenoble, France, and patented in 2014 (patent 9647718-B2. Cycleo was later acquired by Semtech.
RPL is a routing protocol for wireless networks with low power consumption and generally susceptible to packet loss. It is a proactive protocol based on distance vectors and operates on IEEE 802.15.4, optimized for multi-hop and many-to-one communication, but also supports one-to-one messages.