Outils pour utilisateurs

Outils du site


cours:informatique:iot:programmer_internet_des_objets:130_architecture_iot

Ceci est une ancienne révision du document !


Architecture de l'IoT

Cours “Programmer l'Internet des objets” proposé sur la plateforme FUN-MOOC par l'Institut Mines Télécom.

Les topologies de réseaux - vidéo

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 :

  • 6LoWPAN pour les réseaux de type IEEE802.15.4 ;
  • SCHC (que l'on prononce “CHIC”) pour les réseaux LPWAN.

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 topologies de réseaux

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.

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) ;
  • Les topologies en étoile (star).

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.

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 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 :

  • 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 toutes les en-têtes IPv6 sans configuration.
  • SCHC (prononcer 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.

UDP et CoAP

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 :

  • 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 qui, à l’instar de HTTPS, chiffre les échanges.

Conclusion

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.

Complément : les réseaux LPWAN - vidéo

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.

Complément : les réseaux LPWAN

cours/informatique/iot/programmer_internet_des_objets/130_architecture_iot.1683712580.txt.gz · Dernière modification : 2023/05/10 09:56 de yoann