Cours “Programmer l'Internet des objets” proposé sur la plateforme FUN-MOOC par l'Institut Mines Télécom.
Transcription de la vidéo L'empilement protocolaire pour l'IoT ⚙️ MOOC PLIDO.
Nous avons abordé précédemment la pile protocolaire utilisée dans l'Internet classique avec les protocoles les plus répandus. Nous allons voir ajourd' hui son évolution pour intégrer les objets communicants contraints en mémoire et autonomes énergétiquement.
Concernant le niveau 2, le but est de gagner en energie lors des transmission. Déja on peu dire adieu à Ethernet car cela imposerait d'utiliser l'infrastructure filaire et donc on ne pourrait pas placer les objets où on veut, surtout s'ils se déplacent. Les communications par ondes radio sont privilégiées pour l'IoT.
Le WiFi est également trop gourmand en energie, on lui préfère donc une évolution appelée IEEE 802.15.4 qui reprend son principe de fonctionnement mais l'adapte à un faible débit et à des trames de petite taille. En particulier pour économiser l'energie, la portée est réduite à une dizaine de mètres et il faut généralement utiliser des relais pour atteindre une destination.
Bluetooth a également été adapté pour des objets avec une basse consommation : BLE pour Bluetooth Low Energie.
Du coté de la téléphonie cellulaire, la norme évolue également pour prendre en compte les objets. La norme 4G a intégré les communications à plus bas débit (LTE-M et NB-IoT). La 5G intégrera une classe permettant la communication avec les objets économe en énergie et réduisant les temps de latence.
Finalement une nouvelle classe de réseau est apparue avec les réseaux LPWAN dédiés aux objets. LPWAN signifie Low Power Wide Area Network. Ils permettent de transmettre à faible puissance sur de longues distances (~ 2 km en ville et 20km en campagne) par contre les trafics sont fortement contraints. Les deux représentants les plus connus sont sigfox et LoRaWAN. Nous verrons plus en détail comment les utiliser et si vous avez la chance d'avoir un Pycom, vous pouvez expérimenter sur ces réseaux.
Au niveau 3, on se tourne vers IPv6 puisque IPv4 à son espace d'adressage saturé. Cependant IPv6 implique des entêtes plus grandes ce qui peut être gênant car les protocoles utilisés au niveau 2 ont été adaptés pour transporter de plus petites trames. Il existe deux sous-couches d'adaptation qui vont comprimer les entetes :
Pour les couches supérieures, on a pu voir que TCP(couche 4) et HTTP (couche 7) étaient les protocoles dominants sur l'architecture classique. Pour l'IoT ce n'est pas optimal, TCP et HTTP sont des protocoles complexes qui requièrent beaucoup de mémoire. Pour réduire l'impact de la pile protocolaire, l'IETF a définit un nouveau protocole appelé CoAP qui ne demande que quelques kilo Octets pour fonctionner. CoAP repose sur UDP ce qui simplifie encore la mise en œuvre. CoAP permet de manipuler des ressources identifiées par leur URI donc s'insère sans problème dans l'architecture du web.
Pour la structuration des données, XML est moins efficace car beaucoup trop verbeux. JSON est beaucoup plus efficace pour transporter des informations structurées. Il existe un équivalent binaire que nous verrons pas la suite CBOR qui est beaucoup plus performant, simple à mettre en œuvre et compatible avec JSON.
Finalement, la beauté de la pile Internet, c'est qu'on est pas obligé de tout mettre en œuvre. Par exemple le compteur électrique Linky que tous les français connaissent en implémente qu'une partie. Au lieu d'utiliser CoAP, les électriciens utilisent leur propre application suivant la norme DLMS/Cosem. Celle-ci repose sur UDP puis IPv6, 6LoWPAN et finalement sur une variante de IEE802.15.4 adaptée pour transporter l'information sur les câbles électriques.
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é.
Nous allons passer en revue ces adaptations de la pile protocolaire de l'internet.
Les réseaux pour l’internet des objets peuvent être divisés en deux catégories :
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 objets.
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.
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 permettant à un appareil d'envoyer 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 est beaucoup plus réduit que dans le cas de réseaux maillés.
Le protocole IP (niveau 3 de la pile protocolaire) offre une version uniforme du réseau quelle que soit la technologie utilisée au 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 le schéma ci-dessus 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…).
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 :
Pour poursuivre dans l’intégration des objets dans l’internet, le protocole CoAP signifiant Constraint Application Protocol) [RFC 7252] se substitue à HTTP. 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 :
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 qui, à l’instar de HTTPS, chiffre les échanges.
Vous avez maintenant une idée générale de la pile protocolaire utilisée dans l'internet, et de son évolution pour intégrer des objets contraints en mémoire et en énergie.
Nous allons revoir ces différents protocoles, et les mettre en œuvre dans des objets communicants.
Transcription de la vidéo Les principes communs aux réseaux LPWAN (LoRaWAN, Sigfox, 5G, ...) ⚙️ MOOC PLIDO.
Les réseaux LPWAN pour Low Powered Wide Area Network peuvent utiliser des bandes de fréquences non licenciées : c'est à dire que tout le monde peut émettre gratuitement sans demander une autorisation.
Pour évier qu'une utilisation particulière vienne s'accaparer cette bande de fréquence, tout équipement ne doit pas émettre plus d'1% du temps dans cette bande : ainsi si vous émettez pendant 1 secondes, vous devrez vous taire pendant 99 secondes. Cette contrainte est appelée en anglais le duty cycle.
Sigfox et LoRaWAN fonctionnent dans la même gamme de fréquences et suivant la même architecture. Nous reprenons la terminologies du RFC 8376 pour être neutre.
Les opérateurs de réseau placent des passerelles radio (radio gateway) sur le territoire qu'ils souhaitent couvrir. Les radio gateway sont reliés à un équipement central la passerelle réseau ou network gateway qui va traiter les messages reçus par les radio gateway. Chaque opérateur possède sa propre infrastructure composée de radio gateway - network gateway.
Les radio gateway écoutent une bande de fréquence à la recherche de trames émises par les objets. Ainsi si un objet Sigfox émet une trame, elle ne sera comprise que par les radio gateway de Sigfox et envoyée à son network gateway.
Les radio gateway de LoRaWAN ne percevrons que du bruit lors de la transmission Sigfox et inversement. Sigfox est un opérateur global et ne possède qu'un seul network gateway.
En revanche LoRaWAN est un protocole et plusieurs opérateurs peuvent le mettre en œuvre. Quand un objet LoraWAN émet tous les radio gateway LoRaWAN récupèrent le message et le transmettent à leur network gateway respectif. Les network gateway vont identifier l'objet source, s'il n'est pas reconnu, le message sera éliminé. Le propriétaire de l'objet doit ensuite configurer le network gateway sur lequel il a enregistré l'objet pour lui dire quoi faire de la donnée. Le network gateway va de cette manière envoyer la donnée via un POST HTTP, un topic MQTT ou encore une web socket.
La voie de retour est plus problématique. En effet la radio gateway est également soumise ou duty cycle et donc ne peut émettre que 1% du temps. Supposons que nous ayons 20 objets émettant 1% du temps. Si on impose des acquittements pour chaques messages et que les ACK sont de la même taille que les données : la radio gateway devra émettre 20% du temps, ce qui est impossible. Les réseau LPWAN en bande non licenciée imposent donc de ne pas acquitter les messages et son surtout dédiés à un usage de collecte d'information : c'est à dire des capteurs sur le terrain qui remontent de l'information. On ne pilotera pas des feux tricolores avec ce type de technologie.
Les réseaux 4G/5G occupant des bandes de fréquences licenciées offrent également des services de type LPWAN. Pour simplifier cela correspond à endormir plus longtemps les objets pour leur faire économiser de l’ énergie. Le fait d'avoir leur propre bande retire la contrainte du duty cycle, les opérateurs peuvent utiliser toute la capacité de la voie descendante entre l'objet et le réseau. Un contrôle plus fin des messages peut être réalisé conduisant à plus d'interactivité et à des communications symétriques.
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 (Low Power Wide Area Network). 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.
Pionnier de cette technologie, Sigfox définit son propre protocole de transmission et opère son réseau dans un grand nombre de pays.
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, …
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).
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ée 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 :
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.
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.