Low Power Wireless / WPAN IPv6

Annee academique : 2024-2025 Semestre : S9 Categorie : Reseaux sans fil et IoT

Cours connexes :


PART A : PRESENTATION GENERALE

Vue d'ensemble

Le cours “Low Power Wireless / WPAN IPv6” offre une exploration approfondie des principes et des applications des reseaux sans fil personnels a faible consommation (LP-WPAN). L’objectif principal est de comprendre comment integrer IPv6 dans des reseaux contraints, en utilisant des mecanismes d’adaptation tels que 6LoWPAN, afin de permettre a des dispositifs a ressources limitees de communiquer sur Internet.

Ce cours couvre l’ensemble de la pile protocolaire adaptee aux objets connectes : de la couche physique IEEE 802.15.4 jusqu’aux protocoles applicatifs comme CoAP et MQTT-SN, en passant par la couche d’adaptation 6LoWPAN, le protocole de routage RPL, et les mecanismes de compression d’en-tetes IPv6.

Objectifs pedagogiques :

Position dans le cursus

Ce module s’appuie sur les bases acquises precedemment :

Il prepare a :


PART B : EXPERIENCE ET CONTEXTE

Organisation et ressources

Le module combinait cours magistraux et travaux pratiques sur des plateformes reelles :

Cours magistraux :

Travaux pratiques :

Outils utilises :

Environnement et contexte

Durant ce cours, j’ai travaille sur les aspects theoriques et pratiques des reseaux LP-WPAN. La partie initiale du cours couvrait les concepts fondamentaux des reseaux et des telecommunications, comme les interferences et les reseaux brouilles. Nous avons ensuite approfondi la pile protocolaire TCP/IP adaptee aux LP-WPAN, en utilisant la norme IEEE 802.15.4 pour les couches MAC et physique. Cette norme est couramment utilisee dans des protocoles comme ZigBee. Nous avons egalement explore l’utilisation d’IPv6 avec une couche intermediaire, 6LoWPAN, pour reduire la taille des paquets.

Ma fonction

Dans ce cours, j’etais responsable de :


PART C : ASPECTS TECHNIQUES

1. Panorama des technologies sans fil pour l'IoT

Le cours commence par un panorama complet des technologies sans fil disponibles pour l’IoT. L’objectif est de comprendre les criteres de choix d’une technologie selon les contraintes de l’application : portee, debit, consommation energetique, cout, et topologie de reseau.

Classification par portee et debit :

Technologie Portee Debit Consommation Usage typique
IEEE 802.15.4 / ZigBee 10-100 m 250 kbps Tres faible Domotique, capteurs
BLE (Bluetooth Low Energy) 10-50 m 1-2 Mbps Tres faible Wearables, beacons
Thread 10-30 m 250 kbps Tres faible Smart home
LoRa / LoRaWAN 2-15 km 0.3-50 kbps Tres faible Agriculture, smart city
Sigfox 10-50 km 100-600 bps Ultra faible Compteurs, tracking
NB-IoT 1-10 km 200 kbps Faible Compteurs, industriel
Wi-Fi (802.11ah) 100-1000 m 150 kbps-8 Mbps Moyenne IoT domestique
Z-Wave 30-100 m 100 kbps Tres faible Domotique

Distinction WPAN vs LPWAN :

Les reseaux WPAN (Wireless Personal Area Network) sont des reseaux a courte portee, comme IEEE 802.15.4 et BLE, adaptes aux applications necessitant des communications frequentes a faible distance. Les reseaux LPWAN (Low Power Wide Area Network) comme LoRa, Sigfox et NB-IoT sont conçus pour des communications longue portee avec un debit tres faible, adaptes aux applications de telemetrie et de suivi.

Criteres de selection :

Le choix d’une technologie repose sur plusieurs facteurs :

2. IEEE 802.15.4 : la norme fondamentale des LP-WPAN

La norme IEEE 802.15.4 definit les couches physique (PHY) et controle d’acces au medium (MAC) pour les reseaux LP-WPAN. C’est la base sur laquelle reposent de nombreux protocoles comme ZigBee, Thread et 6LoWPAN.

Couche physique (PHY) :

Couche MAC :

Types de dispositifs :

Type Role Capacites
FFD (Full Function Device) Coordinateur PAN, routeur Toutes fonctions MAC, peut relayer
RFD (Reduced Function Device) Noeud terminal Fonctions limitees, ne peut pas relayer

Topologies supportees :

3. IPv6 pour l'IoT : fondamentaux

IPv6 est le protocole de choix pour les reseaux IoT en raison de son espace d’adressage quasi illimite (2^128 adresses), de ses capacites d’auto-configuration, et de sa connectivite de bout en bout. Cependant, l’en-tete IPv6 standard (40 octets minimum) est trop volumineux pour les trames IEEE 802.15.4 limitees a 127 octets.

Auto-configuration des adresses link-local :


Nous avons execute la commande ifconfig eth0 up pour activer l’interface reseau eth0. Ensuite, nous avons utilise ip -6 addr show dev eth0 pour afficher les adresses IPv6 assignees a l’interface. La sortie montrait une adresse au format inet6 fe80::527c:6fff:fe56:e8b0.

Cette adresse est une adresse IPv6 link-local, automatiquement configuree sur toutes les interfaces IPv6. Les adresses link-local utilisent le prefixe fe80::/10 et la partie restante de l’adresse est derivee de l’adresse MAC de l’interface en utilisant le format Modified EUI-64.

Processus de derivation EUI-64 :

  1. Prendre l’adresse MAC 48 bits (ex: 50:7C:6F:56:E8:B0)
  2. Inserer FF:FE au milieu : 50:7C:6F:FF:FE:56:E8:B0
  3. Inverser le bit U/L (7eme bit du premier octet) : 52:7C:6F:FF:FE:56:E8:B0
  4. Resultat : fe80::527c:6fff:fe56:e8b0

Auto-configuration des adresses unicast globales :


Nous avons explore le processus d’auto-configuration des adresses unicast globales IPv6 en utilisant les Router Advertisements (RA). Le routeur envoie periodiquement des messages ICMPv6 Router Advertisement contenant le prefixe reseau. Les noeuds terminaux derivent leur adresse globale en combinant ce prefixe avec leur identifiant d’interface (EUI-64 ou adresse aleatoire).

Messages ICMPv6 impliques :

4. 6LoWPAN : adaptation d'IPv6 aux reseaux contraints

6LoWPAN (IPv6 over Low-Power Wireless Personal Area Networks) est la couche d’adaptation cle qui permet l’utilisation d’IPv6 sur des reseaux IEEE 802.15.4. Il resout le probleme fondamental de l’incompatibilite entre la taille de l’en-tete IPv6 (40 octets minimum) et la taille maximale de la trame IEEE 802.15.4 (127 octets, dont seulement environ 80-100 octets utiles apres en-tete MAC).

Fonctions principales de 6LoWPAN :

Architecture de la pile protocolaire 6LoWPAN :

+-----------------------------------+
|  Application (CoAP, MQTT-SN)      |
+-----------------------------------+
|  Transport (UDP)                  |
+-----------------------------------+
|  Reseau (IPv6)                    |
+-----------------------------------+
|  Adaptation (6LoWPAN)             |
|  - Compression en-tetes (IPHC)   |
|  - Fragmentation                  |
|  - Mesh addressing                |
+-----------------------------------+
|  MAC (IEEE 802.15.4)              |
+-----------------------------------+
|  PHY (IEEE 802.15.4)              |
+-----------------------------------+

Compression d’en-tetes IPHC (IP Header Compression) :


Le mecanisme IPHC permet de compresser l’en-tete IPv6 en exploitant les informations deja disponibles dans le contexte de communication ou dans l’en-tete MAC IEEE 802.15.4 :

Champ IPv6 Taille originale Methode de compression Taille compressee
Version 4 bits Toujours IPv6, elidee 0
Traffic Class 8 bits Souvent 0, elidee 0-8 bits
Flow Label 20 bits Souvent 0, elidee 0-20 bits
Payload Length 16 bits Deduite de la trame MAC 0
Next Header 8 bits Compressee via NHC 0-8 bits
Hop Limit 8 bits Valeurs communes (1, 64, 255) 0-8 bits
Adresse source 128 bits Derivee de l’adresse MAC 0-128 bits
Adresse destination 128 bits Derivee de l’adresse MAC 0-128 bits

Modes de compression des adresses :


Nous avons utilise Wireshark pour capturer et analyser des paquets ICMPv6 encapsules dans des trames 6LoWPAN. En examinant la section ICMPv6, nous pouvions voir l’en-tete IPHC (IP Header Compression), qui fournit les informations sur les champs comprimes de l’en-tete IPv6. Cette analyse nous a permis de comprendre comment 6LoWPAN reduit l’overhead des en-tetes IPv6 pour les rendre compatibles avec les reseaux a faible puissance et a pertes.

Fragmentation 6LoWPAN :

Lorsqu’un paquet IPv6 depasse la MTU de la couche IEEE 802.15.4, 6LoWPAN le fragmente en plusieurs trames :

Adressage Mesh :

L’en-tete mesh de 6LoWPAN permet l’acheminement des trames au niveau couche 2 dans un reseau maille. Il contient les adresses source et destination IEEE 802.15.4 originales, permettant aux noeuds intermediaires de relayer les trames sans necessite de routage IP.

5. Technologies LPWAN : LoRa, Sigfox, NB-IoT

En complement des technologies WPAN a courte portee, le cours aborde les technologies LPWAN (Low Power Wide Area Network) pour les communications longue portee.

LoRa / LoRaWAN :

LoRa (Long Range) est une technologie de modulation radio proprietaire (Semtech) utilisant la technique CSS (Chirp Spread Spectrum) :

LoRaWAN est l’architecture reseau au-dessus de LoRa :

Sigfox :

NB-IoT (Narrowband IoT) :

6. ZigBee et Thread : piles protocolaires sur IEEE 802.15.4

ZigBee :

ZigBee est une pile protocolaire complete construite sur IEEE 802.15.4 :

Thread :

Thread est une pile protocolaire moderne basee sur 6LoWPAN :

BLE (Bluetooth Low Energy) :

7. RPL : protocole de routage pour LLN

RPL (Routing Protocol for Low-Power and Lossy Networks, RFC 6550) est le protocole de routage standardise par l’IETF pour les reseaux 6LoWPAN. Il est specialement concu pour les reseaux a faible puissance et a pertes (LLN - Low-Power and Lossy Networks).


Principe de fonctionnement :

RPL construit un DODAG (Destination-Oriented Directed Acyclic Graph) : un graphe acyclique dirige oriente vers un noeud racine (root) qui sert de passerelle vers Internet.

Construction du DODAG :

  1. Le noeud racine initie la construction en emettant des messages DIO (DODAG Information Object)
  2. Chaque noeud recevant un DIO calcule son rang (distance au root) selon une fonction objectif (OF)
  3. Le noeud selectionne un parent prefere parmi les voisins offrant le meilleur rang
  4. Le processus se propage de proche en proche jusqu’aux feuilles

Messages RPL :

Message Direction Role
DIO (DODAG Information Object) Descendant (root vers feuilles) Annonce le DODAG, transmet parametres et metriques
DIS (DODAG Information Solicitation) Montant Sollicite un DIO des voisins
DAO (Destination Advertisement Object) Montant (feuilles vers root) Annonce les routes descendantes vers les noeuds
DAO-ACK Descendant Acquittement d’un DAO

Fonctions objectif :

La fonction objectif determine comment un noeud choisit son parent et calcule son rang :

Modes de trafic supportes :

8. Protocoles MAC economes en energie

La couche MAC est determinante pour la consommation energetique des dispositifs LP-WPAN. Plusieurs protocoles ont ete concus pour optimiser cette consommation :

Sources de gaspillage energetique :

Approches principales :

Protocoles representatifs :

9. Protocoles applicatifs pour l'IoT contraint

Connectivite IPv6 de bout en bout et MQTT :

Nous avons etabli une connectivite IPv6 de bout en bout avec un serveur applicatif et mis en place MQTT pour la distribution de donnees. Cela impliquait la configuration du broker MQTT et l’utilisation d’outils comme mosquitto_sub et mosquitto_pub pour distribuer les donnees entre les producteurs et les consommateurs de topics.

CoAP (Constrained Application Protocol) :

CoAP est un protocole applicatif concu pour les dispositifs contraints (RFC 7252) :

MQTT-SN (MQTT for Sensor Networks) :

MQTT-SN est une adaptation de MQTT pour les reseaux de capteurs :

10. Architecture reseau pour dispositifs contraints

L’architecture reseau pour les dispositifs IoT contraints suit un modele hierarchique :

Internet / Cloud
       |
  Border Router (6LBR)
  - Routeur de bordure 6LoWPAN
  - Traduction IPv6 <-> 6LoWPAN
  - Point d'acces au reseau IP
       |
  Reseau 6LoWPAN (maille)
  - Routeurs 6LoWPAN (6LR)
  - Relaient les trames dans le reseau maille
  - Participent au routage RPL
       |
  Noeuds terminaux (6LN)
  - Capteurs / actionneurs
  - Dispositifs a ressources limitees
  - Communiquent via 6LoWPAN

Classification des dispositifs contraints (RFC 7228) :

Classe RAM Flash Designation
Classe 0 < 10 KB < 100 KB Tres contraint (pas d’IP possible)
Classe 1 ~10 KB ~100 KB Contraint (6LoWPAN/CoAP possible)
Classe 2 ~50 KB ~250 KB Modere (pile IP complete possible)

Passerelle de bordure (6LBR) :

Le Border Router est un element critique de l’architecture. Il assure :


PART D : ANALYSE ET REFLEXION

Competences acquises

Comprehension de la pile protocolaire LP-WPAN : Maitrise de l’ensemble de la pile protocolaire, de la couche physique IEEE 802.15.4 aux protocoles applicatifs CoAP et MQTT-SN, en passant par la couche d’adaptation 6LoWPAN et le routage RPL.

Analyse de trames reseau : Capacite a capturer et analyser des trames 6LoWPAN avec Wireshark, comprenant les mecanismes de compression d’en-tetes IPHC et la fragmentation.

Conception d’architectures IoT : Aptitude a concevoir des architectures reseau adaptees aux contraintes des dispositifs IoT : energie, memoire, bande passante.

Comparaison technologique : Capacite a comparer et selectionner les technologies sans fil adaptees a un cas d’usage donne (WPAN vs LPWAN, ZigBee vs Thread vs BLE).

Connaissances et competences mobilisees

Auto-evaluation

J’ai trouve le cours LP-WPAN comme une introduction precieuse aux reseaux sans fil a faible puissance. J’ai particulierement apprecie travailler avec IPv6 et 6LoWPAN. Il reste des domaines ou j’ai encore des incertitudes et ou je dois approfondir mes connaissances, mais avec le temps et la pratique, je suis confiant dans ma maitrise de ces concepts.

Les travaux pratiques etaient bien guides par l’enseignant, ce qui m’a permis de mieux comprendre car le sujet etait assez complexe au depart, mais il a reussi a transmettre les competences du cours efficacement.

La partie la plus enrichissante a ete l’analyse des trames 6LoWPAN avec Wireshark : voir concretement comment les en-tetes IPv6 sont comprimes de 40 octets a quelques octets seulement est tres revelateur de l’ingenierie derriere ces protocoles.

Mon avis

C’etait un nouveau concept que j’ai apprecie travailler. Cela m’a offert une perspective nouvelle sur les possibilites des reseaux et m’a permis d’explorer des solutions innovantes dans les reseaux sans fil a faible puissance. Les experiences pratiques etaient interessantes car elles demontraient les applications concretes des technologies LP-WPAN.

Le panorama des technologies (LoRa, Sigfox, NB-IoT, BLE, Thread) m’a donne une vision globale des solutions disponibles pour l’IoT, ce qui est essentiel pour un ingenieur devant choisir la technologie adaptee a chaque projet.

La comprehension de l’architecture 6LoWPAN et du routage RPL est particulierement pertinente pour les projets IoT professionnels, ou la connectivite IP de bout en bout est de plus en plus recherchee.


Documents de Cours

Chapitre 0 : Wireless Network Survey for IoT

Panorama des technologies sans fil pour l'IoT : classification, comparaison des protocoles, criteres de selection.

Telecharger

Chapitre 2 : 6LoWPAN - Network Architecture

Architecture 6LoWPAN : compression d'en-tetes, fragmentation, adressage mesh, integration IPv6.

Telecharger


Rapports et Projets

Rapport de TP : LP-WPAN IPv6

Ouvrir le rapport complet

Ouvrir le sujet de TP


Cours suivi en 2024-2025 a l’INSA Toulouse, Departement Genie Electrique et Informatique.