[[reseaux:accueilreseaux|{{ :iconemaison.jpg?nolink&30|Sommaire "Réseau et communication"}}]]
===== L'architecture de l'IoT =====
{{ :reseaux:iot:protocolesiot.jpg?nolink|}}
[Mise à jour le 16/8/2022]
* **Source** : Mooc Fun "Programmer l'internet des objets"
* **Vidéo** : L'empilement protocolaire pour l'IoT
* **Lectures connexes**
* Une brève introduction aux réseaux IoT
==== 1. Les protocoles de l'IoT ====
Les objets se caractérisent par une **capacité de traitement limitée** et par une **consommation énergétique réduite** pour préserver l’autonomie imposée par une **alimentation sur batterie**. Or, les activités les plus consommatrices pour un équipement sont l’émission et la réception de données.
Pour maximiser l’autonomie des équipements, il faut revoir l’intégralité des protocoles, mais en les calquant sur les architectures existantes pour en assurer la compatibilité.
* **vidéo** : les L'empilement protocolaire pour l'IoT{{ :reseaux:iot:capture17.png?nolink&600 |}}
=== 1.1 Les topologies de réseaux (Couche 1 et 2) ===
Les réseaux pour l’internet des objets peuvent être divisés en deux catégories : les **topologies maillées** (**mesh**) et **étoilées** (**star**).
{{ :reseaux:iot:mesh_star.jpg?nolink&400 |}}
* **Réseaux maillés** \\ Les réseaux maillés, tels que la famille **IEEE 802.15.4**, sont une adaptation d’un protocole d’accès **Wi-Fi** pour préserver l’énergie. \\ La **portée** de transmission est limitée à **50 mètres** pour limiter la consommation d'énergie ; et par conséquent, les messages doivent être relayés par d’autres nœuds pour atteindre leur destination. \\ \\ Le débit est de **quelques centaines de kilobits/s** et la taille de la **trame** est de **quelques centaines d’octets**. \\ Ces réseaux sont **performants pour transporter des données IoT**, __**mais**__ le **protocole de routage**, ainsi que le **relayage des trames**, **consomment l’énergie des objet**s.
* **Topologies en étoile** \\ Les topologies en étoile ne nécessitent pas de tels mécanismes de routage. Toutes les communications se font avec un point central qui relaie les informations vers la destination. \\ Les progrès réalisés dans le traitement des signaux permettent d’étendre la portée de transmission à faible puissance. Cette famille de réseaux est appelée **réseaux étendus à faible puissance** (**Low-Power Wide-Area Networks, LPWAN**) comme **Sigfox**, **LoRaWAN**, ou même du côté de la téléphonie cellulaire avec des évolutions de la norme 4G et une intégration plus complète dans la **5G**. Le [RFC 8376] donne, en anglais, un aperçu de ces techniques. \\ \\ Avec une puissance de transmission de **25 mW**, il est possible de communiquer sur une distance de **3 km** en milieu urbain et de **20 km** dans un environnement dégagé. Les LPWAN sont compatibles avec les appareils de classe 0 car ils ne nécessitent pas la mise en place d’une pile IP. \\ \\ La figure ci-dessous décrit une architecture typique pour les **LPWAN**.{{ :reseaux:iot:tolologiestar.jpg?nolink |}} \\ L’appareil envoie des données brutes sur le réseau radio. Le signal radio est capté par une ou plusieurs passerelles radio, et la trame est envoyée à une passerelle réseau (LNS - LoRa Network Server- pour les réseaux LoRaWAN, et SCEF - Service Capability Exposure Function Gateway - pour les réseaux 3GPP). \\ \\ Le propriétaire de l’appareil a associé l’appareil à un connecteur dans le LPWAN Gateway (NGW) qui peut être un URI (Universal Ressource Identifier), une adresse de broker MQTT (Message Queuing Telemetry Transport) ou une Web socket. Lorsque l’appareil envoie des données, il est relié à l’application par ce tunnel. \\ \\ Certaines technologies telles que LoRaWAN ou Sigfox utilisent des bandes sans licence, imposant un cycle d’utilisation (duty cycle) de 0,1 à 10 % selon les canaux pour assurer l’équité entre les nœuds, empêchant ainsi qu'un équipement ne monopolise le canal de transmission. Comme cette restriction s’applique également à l’antenne du fournisseur, la communication entre le réseau et l’appareil est considérablement limitée.
L’utilisation principale de ces réseaux LPWAN est la télémétrie où un appareil envoie régulièrement des informations ou une alarme de temps en temps (par exemple des capteurs de température). Le débit et la taille des messages sont beaucoup plus réduits que dans le cas de réseaux maillés.
=== 1.2 IPv6 et couches d'adaptation ===
Le **protocole IP** (**niveau 3** de la pile protocolaire) offre une version uniforme du réseau quelle que soit la technologie de niveau 2.
Comme l’espace d’adresses d’IPv4 est presque saturé, les travaux pour l’**internet des objets** portent principalement sur **IPv6** où la taille de l’adresse est étendue sur **128 bits** offrant 296 fois plus d’adresses.
On peut aussi remarquer sur la figure ci-dessous que l'en-tête IPv6 comporte peu de champs. Ceux-ci ne varient pas d'un paquet à l'autre dans un flux donné. En revanche, la taille de l'en-tête IPv6 est doublée par rapport à son équivalent en version 4. Cet écart sera d'autant plus grand en regard des données transportées qui ne pèsent généralement que quelques octets (mesures d'une température...).
{{ :reseaux:iot:ipv6.png?nolink |}}
Une **couche d'adaptation** entre la couche IP et le niveau 2 est nécessaire **puisque les niveaux 2 conçus pour l'internet des objets ne peuvent pas transporter naturellement de grands paquets**. Deux actions sont mises en œuvre : **compression** de la taille des en-têtes pour réduire leur impact, et **fragmentation** pour découper le paquet en petites trames si la première mesure ne suffit pas.
Il existe deux grandes familles de couche d'adaptation :
* **6LoWPAN** [RFC4944, RFC 6282], qui va intégrer un mécanisme de compression de l'en-tête IPv6 et de fragmentation pour envoyer un gros paquet divisé en petites trames. En effet, dans un réseau maillé, il n'est pas possible de se priver d'informations fournies par la couche IP car les nœuds intermédiaires en ont besoin pour acheminer le message vers le destinataire. 6LoWPAN est sans état et compresse tous les en-têtes IPv6 sans configuration.
* **SCHC** (prononcé **chic**) pour Static Context Header Compression [RFC 8724] va imposer des règles décrivant l'en-tête du message et va envoyer le numéro de la règle en remplacement de l'en-tête. La compression est beaucoup plus importante et peut porter sur plusieurs couches protocolaires. Cependant, pour la mettre en œuvre, il faut avoir une idée des flux qui vont circuler sur le réseau. SCHC est spécifié pour les réseaux en étoile et plus particulièrement les LPWAN.
{{ :reseaux:iot:coap.png?nolink&120|}}
=== 1.3 UDP et CoAP ===
Pour poursuivre dans l’intégration des objets dans l’internet, le protocole **CoAP** (**C**onstraint **A**pplication **P**rotocol) [RFC 7252] **se substitue à HTTP** (**couche 7**). Il en reprend le mécanisme de nommage, d’utilisation des ressources, et les primitives de manipulation entre un client et un serveur.
La capacité de traitement du capteur et son alimentation en énergie sont souvent très limitées. La grande force de CoAP est d’être :
* facile à mettre en œuvre. Les mises en œuvre de CoAP nécessitent **peu de mémoire** ;
* entièrement **compatible avec HTTP** et il est possible d’aller d’un protocole à l’autre au travers de passerelles génériques, c’est-à-dire non liées à un usage particulier.
De ce fait, CoAP va manipuler des ressources, identifiées par des URI. Il est donc possible d'ancrer les données fournies par les objets dans l'écosystème actuel des communications entre ordinateurs, fortement structuré autour des principes REST.
La sécurité, en particulier le chiffrement des données, suit aussi les mêmes chemins que l’internet traditionnel. Il existe un **chiffrement** au-dessus d’**UDP**(**couche 4**) qui, à l’instar de HTTPS, chiffre les échanges.
==== 2. Les réseaux LPWAN ====
{{ :reseaux:iot:lpwan.jpg?nolink&250|}}
* **Ressource vidéo** : LPWAN
Les progrès en traitement du signal permettent d'étendre la portée de transmission d’un objet et éviter d’avoir à relayer l’information.
En effet, la construction d’un **maillage** est une opération qui peut être **coûteuse en énergie** et qui va de toute façon demander à chaque nœud du réseau de partager son énergie pour relayer les messages des autres.
Pour simplifier les infrastructures, une **nouvelle catégorie de réseaux** est apparue, dédiée à l’internet des objets : les **LPWAN** (**L**ow **P**ower **W**ide **A**rea **N**etwork).
Comme leur nom l’indique, ces réseaux couvrent une large étendue (de l’ordre de **2 km** en ville et **15 km** sans obstacle) pour une faible consommation d'énergie. En contrepartie, le trafic est très limité et s’en tient à une **centaine de messages par jour**.
**Sigfox** \\ Pionnier de cette technologie, **Sigfox** définit son propre protocole de transmission et opère son réseau dans un grand nombre de pays.
**LoRa** \\ D'autres technologies radio présentent des performances similaires à Sigfox, en particulier la modulation **LoRa**. La LoRa Alliance regroupant des industriels à défini le standard LoRaWAN. L'approche commerciale est différente de Sigfox. Sigfox fédère le marché en ayant défini le standard permettant aux objets de communiquer avec des applications généralement situées dans le cloud. La LoRa Alliance repose sur une modulation propriétaire intégrée aux composant produit par la société Semtech, mais il n'y a pas un unique réseau LoraWAN. \\ Des opérateurs, comme en France Bouygues Télécom et Orange offrent une couverture nationale, mais d'autres initiatives existent, comme **The Things Network** qui propose une approche collaborative ; des propriétaires d'antenne LoRaWAN les mettent à disposition de la communauté pour construire un réseau mondial. Il est également possible de déployer son propre réseau LoRaWAN pour couvrir un domicile, une entreprise, une ville, ...
**Contrainte des LPWAN sur fréquences non licenciées** \\
**Sigfox** et **LoRaWAN** opèrent dans la bande **non licenciée** des **868 MHz** qui offre une faible atténuation et une bonne pénétration dans les bâtiments.
Pour permettre un accès équitable, le régulateur impose qu’un émetteur n’émette pas plus qu'un pourcentage du temps. Ce pourcentage dépend de la fréquence et varie entre **0.1%** et **10%**.
Si, pour un objet, ce n’est pas une contrainte, cela le devient pour les stations de l’infrastructure qui doivent limiter les transmissions vers les objets.
Le mécanisme le plus populaire est le **duty-cycling** où le nœud désactive la communication pendant un certain temps, proportionnel au temps de transmission. Ainsi pour un duty-cycle de **1%**, l'émission d’une **trame** de **1 seconde** impose un **silence de 99 secondes**, soit 1 minute et 39 secondes (voir figure ci-dessous).
{{ :reseaux:iot:dutycycle.jpg?nolink |}}
Cette contrainte est imposée aussi bien aux objets qu’aux antennes des opérateurs. Ce type de réseau est donc **bien adapté pour le relevé d’informations sur le terrain**.
Les **LPWAN ont une architecture en étoile autour d’une Radio Gateway**, généralement placée sur un point haut et disposant d’une capacité de traitement de signal sophistiqué pour détecter une communication noyée dans le bruit des autres transmissions. Les objets peuvent rester simples et peu coûteux. Les débits sont relativement faibles, de l’ordre de la **centaine de bits ou kilobits par seconde** pour des messages d’une **dizaine à une centaine d’octets**.
Les réseaux LPWAN ont les caractéristiques suivantes :
* **Portée** de **15 à 20 km** dans des environnements avec peu de distorsion et environ **2 à 5 km** dans les environnements **urbains**.
* **Débits** de données de **0,3 kbit/s à 50 kbit/s** pour **LoRaWAN** et **100 bit/s pour Sigfox**.
* **Durée de vie** d'un objet jusqu'à **10 ans sur batterie**.
Un objet Sigfox peut envoyer jusqu’à 140 messages par jour (la taille de la charge utile pour chaque message est de 12 octets). Dans le sens contraire, Sigfox n'autorise que 4 messages de 8 octets chacun pour configurer l'équipement.
LoRaWAN est moins contraint, les opérateurs n'imposent pas de limitation sur le nombre de messages émis par un objet, s'il reste dans la contrainte du duty cycle, en revanche les messages vers les objets sont limités ou facturés.
**Réseau LPWAN sur fréquence spécifique** \\
Arrivé plus tardivement sur le marché, le 3GPP, avec l'évolution des protocoles de 4G et en ligne de mire la 5G, propose également un mode économe en énergie qui s’apparente aux technologies LPWAN. En bénéficiant de l’infrastructure et des fréquences des opérateurs, les limitations imposées sur les fréquences non licenciées tombent, la bande de fréquence peut être utilisée à 100% en émission et réception pour les objets rattachés à un opérateur.
Les communications vers les objets sont facilitées et le réseau peut coordonner leur instant d'émission, autorisant de futurs usages comme les communications avec les véhicules ou les robots.