Static Context Header Compression
La compression d'en-tĂȘte de contexte statique (SCHC) est un mĂ©canisme standard de compression et de fragmentation dĂ©fini par le groupe de travail LPWAN[1] de l'IETF. Il permet la compression et la fragmentation des paquets IPv6 / UDP / CoAP pour rendre possible leur transmission sur les rĂ©seaux Ă©tendus Ă faible puissance (Low-Power Wide-Area Networks ou LPWAN).
Schéma de compression adapté au LPWAN
Ă propos des LPWAN
Les réseaux étendus à faible consommation d'énergie (LPWAN) regroupent les technologies de connectivité adaptées à l'Internet des objets (IoT), permettant :
- une communication trÚs longue portée (jusqu'à 40 km),
- une trÚs faible consommation d'énergie (cÎté objet connecté),
- et efficacité énergétique (cÎté réseaux).
Pour atteindre ces fonctionnalités, un compromis est réalisé sur les débits et la taille des paquets pris en charge (RFC 8376[2]). De plus, les LPWAN comportent des limitations sur les modalités de transmission car, afin d'économiser la batterie, les appareils sont dormants la plupart du temps et ne se réveillent que de maniÚre épisodique pour transmettre et recevoir des données pendant une courte période.
De ce fait, les LPWAN utilisent leurs protocoles spécifiques, chacun adapté à ses propres spécificités. Plus important encore, ils ne peuvent pas transporter IPv6, qui à la base a été conçu pour attribuer des adresses aux milliards d'appareils connectés à l'IoT.
Standards de compression IETF
Au début des années 2000, l'IETF a produit la premiÚre vague de normes matures pour la compression et la fragmentation :
- RoHC (Robust Header Compression) en 2001,
- et 6LoWPAN (IPv6 over Low-Power Wireless Personal Area Networks) en 2007.
Pourtant, ces schémas de compression ne peuvent pas s'appliquer aux spécificités LPWAN[3] - [4] - [5]
SCHC associe les avantages du contexte RoHC, qui offre une grande flexibilité dans le traitement des champs et des opérations 6LoWPAN, pour éviter le transit de champs déjà connus par l'autre partie.[5]
La compression SCHC
SCHC tire parti des caractéristiques des LPWAN (pas de routage, format de trafic et contenu des messages hautement prévisibles) pour réduire la surcharge à quelques octets et économiser le trafic réseau.
La compression SCHC est basĂ©e sur la notion de contexte. Un contexte est un ensemble de rĂšgles qui dĂ©crit le contexte de communication, c'est-Ă -dire les champs d'en-tĂȘte. Il est partagĂ© et prĂ©-provisionnĂ© Ă la fois dans les objets connectĂ©s et dans le rĂ©seau central. Le « contexte statique » suppose que la description de la rĂšgle ne change pas pendant la transmission. GrĂące Ă ce mĂ©canisme, les en-tĂȘtes IPv6 / UDP sont rĂ©duits Ă un petit identifiant dans la plupart des cas.
La fragmentation SCHC
Lorsque la compression ne suffit pas, SCHC fournit un mécanisme de fragmentation qui fonctionne de 3 maniÚres différentes :
No-Ack
Dans ce mode, le paquet SCHC est séparé en plusieurs fragments qui sont envoyés aveuglément au récepteur. Si le récepteur a manqué un paquet, il ne sera pas en mesure de reconstruire le paquet envoyé.
Ack-On-Error
Dans ce mode, on utilise le concept de "fenĂȘtres". Les fenĂȘtres ont une taille prĂ©dĂ©finie, permettant au rĂ©cepteur de pointer quelles fenĂȘtres ou parties de fenĂȘtres qui ont Ă©tĂ© reçues. Au moment oĂč le rĂ©cepteur obtient le dernier fragment envoyĂ© par l'expĂ©diteur, il calculera quelles parties des paquets sont manquantes et en informera l'expĂ©diteur. L'expĂ©diteur initialisera alors la retransmission des parties de paquet manquantes.
Ack-Always
En mode Ack-Always, un mĂ©canisme de retransmission similaire Ă Ack-On-Error est utilisĂ© Ă la diffĂ©rence que l'acquittement n'est pas effectuĂ© Ă la fin de la transmission mais pour chaque fenĂȘtre.
La standardisation de SCHC
Le RFC 8724[6], Generic Framework for Static Context Header Compression and Fragmentation, a Ă©tĂ© publiĂ© en avril 2020[7]. Il dĂ©crit le cadre gĂ©nĂ©rique qui peut ĂȘtre utilisĂ© sur toutes les technologies LPWAN, et plus gĂ©nĂ©ralement sur tous les rĂ©seaux Internet. Un travail supplĂ©mentaire est dĂ©diĂ© Ă la dĂ©finition des paramĂštres standards et des modes de fonctionnement pour optimiser les performances de SCHC selon les protocoles implĂ©mentĂ©s et les technologies LPWAN sous-jacentes :
- RFC 9011[8] : SCHC sur LoRaWAN
- RFC 8824[9] : SCHC for CoAP
- RFC 9363[10]: YANG Data Model for SCHC
- SCHC sur NB-IoT[11]
- SCHC sur Sigfox[12]
En dehors de l'IETF, SCHC est en cours d'adoption dans le cadre d'un effort de normalisation conjoint mené par l'Association des utilisateurs DLMS et la LoRa Alliance pour le marché des compteurs intelligents[13].
Liens connexes
Les références
- groupe de travail LPWAN
- (en) « Low-Power Wide Area Network (LPWAN) Overview », Request for comments no 8376, .
- Sanchez-Gomez, Gallego-Madrid, Sanchez-Iborra et Santa, « Impact of SCHC Compression and Fragmentation in LPWAN: A Case Study with LoRaWAN », Sensors 2020, 20(1), 280, vol. 20, no 1,â , p. 280 (PMID 31947852, PMCID 6982818, DOI 10.3390/s20010280, lire en ligne)
- Gomez, Minaburo, Toutain et Barthel, « IPv6 over LPWANs: connecting Low Power Wide Area Networks to the Internet (of Things) », IEEE Wireless Communications PP(99),â (lire en ligne)
- LoRaWANÂź Empowers Very Low-Power Wireless Applications (ebook), https://lora-alliance.org/resource-hub/ebook-lorawan-empowers-very-low-power-wireless-applications, , 80â88 p. (ASIN B081RPM4DK), « Building end-to-end network with IP over LoRaWAN »
- (en) « SCHC: Generic Framework for Static Context Header Compression and Fragmentation », Request for comments no 8724, .
- « Blog Stéphane Bortzmeyer: RFC 8724: SCHC: Generic Framework for Static Context Header Compression and Fragmentation », sur www.bortzmeyer.org (consulté le )
- (en) « Static Context Header Compression and Fragmentation (SCHC) over LoRaWAN », Request for comments no 9011, .
- (en) « Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP) », Request for comments no 8824, .
- (en) Ana Minaburo, « RFC 9363: A YANG Data Model for Static Context Header Compression (SCHC) », sur www.rfc-editor.org (consulté le )
- (en) « draft-ietf-lpwan-schc-over-nbiot-04 - SCHC over NB-IoT », sur datatracker.ietf.org (consulté le )
- (en) « draft-ietf-lpwan-schc-over-sigfox-05 - SCHC over Sigfox LPWAN », sur datatracker.ietf.org (consulté le )
- Rémi Demerlé, « DLMS Over LoRaWANŸ: What It Is, and Why It's Important », sur Blog Semtech,
Liens externes
- Groupe de travail IPv6 sur réseaux étendus à faible consommation d'énergie (LPWAN) à l'IETF
- RFC 8724 : SCHC, Generic Framework for Static Context Header Compression and Fragmentation
- RFC 9011 : SCHC over LoRaWAN
- RFC 8824 : SCHC for CoAP
- RFC 9363: YANG Data Model for SCHC
- RFC 8376 : Low-Power Wide Area Network (LPWAN) Overview