Protocoles pour l’IoT
3 jours
Objectifs : Comprendre les protocoles IoT standard qui se répartissent entre protocoles d’accès (WiFi 802.11ah, WiFi 802.11ax, 802.15.4, G3_CPL), protocoles purement de niveau application (CoAP, MQTT, MQTT-SN, AMQP), pile protocolaire complète de la couche application à la couche d’accès (Zigbee, Bluetooth Low Energy, M-BUS, Wireless M-BUS, DLMS/COSEM) et enfin des protocoles de médiation (6LowPAN pour transporter des paquets IPv6 dans des trames 802.15.4 ou G3_CPL ; SCHC pour comprimer des en-têtes UDP et IPv6 avant de transporter les paquets IPv6 sur des LPWAN ; Time Sensitive Network qui s’appuie sur le protocole PTP qui utilise des trames Ethernet pour distribuer des informations de synchronisation temporelle).
Public: Ingénieurs Télécom, Architectes Réseau, Consultants Télécom
Pré-requis : Connaissance de base sur le monde de l’Internet des Objets
Dans le monde de l’IoT l’usage de protocoles de communication de données propriétaires diminue à mesure que les développeurs réalisent que des protocoles de communication de données standard, fiables et interopérables existent. Toutefois, un très grand nombre de protocoles standard existent et il reste au développeur d'application travaillant sur des produits et systèmes destinés à l'Internet des objets (IoT) de bien identifier le protocole de communication de données le plus approprié pour son besoin et son écosystème. Faire le bon choix reste complexe pour qui souhaite développer un objet connecté.
Le but de cette formation est de
• Présenter les différents protocoles de communication (protocoles d’application, protocoles d’accès et piles protocolaires) standard pour l’IoT
• Identifier pour chacun d’entre eux les domaines d’application pour lesquels il est le plus approprié, leurs avantages et leurs inconvénients
• Comparer ces protocoles IoT
Parmi les protocoles présentés dans cette formation figurent :
• MQTT (Message Queue Telemetry Transport) est un protocole de messagerie publish/subscribe, asynchrone, fonctionnant sur TCP/IP, simple et extrêmement léger. Il fonctionne sur le principe client/serveur.
• CoAP (Constrained Application Protocol) est un protocole applicatif « HTTP-Like » optimisé pour les devices contraints (i.e., limités en ressources et fonctionnant sur des liens de communications à bas débit) dans le contexte de l’Internet des objets.
• MQTT-SN (MQTT for Sensor Network) est une variante leightweight du protocole MQTT, optimisé pour les devices fonctionnant dans des environnements contraints.
• LWM2M (Lightweight Machine to Machine) est un enabler de couche application basée sur le protocole CoAP conçue pour la gestion des devices IoT et la communication des devices.
• AMQP (Advanced Message Queuing Protocol) originaire du monde de la finance, est dans son principe de fonctionnement assez proche du protocole MQTT. AMQP apporte un mécanisme supplémentaire de « files d’attente ». En effet, les producteurs émettent des messages qui sont dirigés vers une ou plusieurs files d’attente. Une fois le message « déposé » dans la file d’attente, il est prêt à être consommé par des « consumers ». Sur le même principe que pour le protocole MQTT, les « consumers » reçoivent les messages des files d’attente auxquelles ils sont abonnés.
• SCHC (Static Context Header Compression) permet de compresser les en-têtes UDP/IP à jusqu’à 95% lorsque le device IoT utilise la pile de protocole UDP/IP dans des environnements contraints, e.g., LPWAN.
• 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks) est une couche d’adaptation pour faire fonctionner le protocole IPv6 sur IEEE802.15.4, IEEE 1901.2 (i.e., Narrowband PLC), BLE, IEEE 802.11ah, etc.
• BLE (Bluetooth Low Energy) aussi appelé Bluetooth 4.0 est une évolution du Bluetooth Core, qui utilise des ondes radio à courte portée avec une consommation d'énergie minimale. Il s’agit d’une pile protocolaire de la couche application à la couche d’accès (MAC et Physique).
• 802.11ah (WiFi Low Energy) : Bien que IEEE 802.15.4 utilisé par Zigbee soit un protocole à faible consommation d'énergie et convient à plusieurs applications IoT, ce protocole ne convient pas aux applications IoT constituées d'un grand nombre de devices IoT, qui sont dispersés sur des distances plus importantes. Pour combler cette lacune, le groupe IEEE 802.11 a défini 802.11ah pour développer une nouvelle norme en tenant compte des avantages de la norme IEEE802.11 et des technologies de communication de capteurs de faible puissance. 802.11ah traite du protocole d’accès (couches physique et MAC).
• Le Wi-Fi 6 ou 802.11ax est un protocole d’accès qui permet aux points d'accès WiFi de soutenir davantage de clients dans des environnements denses et offre une meilleure expérience aux réseaux LAN sans fil. Il offre des performances plus prévisibles pour les applications avancées, comme la vidéo 4K ou 8K, les applications de collaboration haute densité et haute définition, les bureaux exclusivement sans fil et l'Internet des objets.
• Le protocole d’accès CPL-G3 est le standard CPL bande étroite qui permet de supporter le protocole internet iPv6. Ce dernier permet de gérer via l’Internet les systèmes de gestion de compteurs.
• M-BUS : Le M-Bus (ainsi que Wireless M-BUS) est un bus de terrain utilisé pour lire les données de consommation d'énergie des compteurs d'électricité, compteurs de gaz, compteurs d'eau et divers capteurs et actionneurs de différents fabricants. M-BUS est une pile protocolaire de la couche application à la couche physique.
• DLMS/COSEM : DLMS (Device Language Message Specification) est une pile protocolaire de la couche d’application à la couche d’accès pour l’échange de données relatives à des compteurs d’énergie selon le modèle de données COSEM (COmpanion Specification for Energy Metering).
1. CoAP : Constrained Application Protocol
1.1. Capacités CoAP
1.1.1. Création, suppression, interrogation et modification des ressources
1.1.2. Souscription/notification à des changements d ’état de ressource
1.1.3. Découverte des types de ressource supportés par un device
1.1.4. Gestion du multicast afin d ’optimiser les demandes à émettre à un groupe de devices
1.2. Modes confirmé et non confirmé CoAP
1.3. Couches Messages et couche requêtes/réponses
1.4. Format des messages CoAP
1.5. Fragmentation/Réassemblage CoAP
1.6. SenML pour le formatage des données d’application échangées via CoAP
1.7. OSCORE pour un chiffrement de bout en bout des requêtes/réponses CoAP et des données d’application
1.8. Mapping CoAPHTTP et vice versa
2. LWM2M : Lightweight M2M
2.1. Entités Client, Bootstrap server et Application server
2.2. Pile protocolaire
2.3. Modèle de ressource
2.4. Utilisation de LWM2M sur les WPANs et les LPWANs (i.e., LoRaWAN et NB-IoT)
2.5. Interfaces de l’API LWM2M
2.5.1. Bootstrap
2.5.2. Client Registration
2.5.3. Device Management and Service Enablement
2.5.4. Information Reporting.
2.6. Call flows
3. MQTT : Message Queue Telemetry Transport
3.1. Architecture MQTT
3.1.1. Client MQTT
3.1.2. Serveur/Broker MQTT
3.2. Fonctionnement MQTT
3.3. Protocole MQTT et procédures MQTT
3.4. Les 3 niveaux de QoS pour les publications
3.5. Structure des topics MQTT
3.5.1. Exemples de topics pour l’IoT
4. MQTT-SN : MQTT for Sensor Networks
4.1. MQTT-SN versus MQTT
4.2. Architecture MQTT-SN : Client, Gateway, Forwarder
4.3. Protocole MQTT-SN
4.4. QoS pour les publications
4.5. MQTT-SN versus CoAP
5. AMQP : Advanced Message Queuing Protocol
5.1. Vue d’ensemble du message queuing
5.2. Le protocole AMQP
5.2.1. Exchanges
5.2.1.1. Direct exchange
5.2.1.2. Fanout exchange
5.2.1.3. Topic exchange
5.2.1.4. Headers exchange
5.2.2. Queues
5.2.3. Bindings
5.2.4. Producer/Consumer
5.2.5. Flux de messages
5.2.6. Message AMQP
6. Zigbee
6.1. Propriétés Zigbee
6.2. Domaines d’application Zigbee
6.3. Pile protocolaire Zigbee
6.4. Entités Zigbee
6.5. Coordinator, Router, End device
6.6. Topologies de reseau Zigbee
6.7. Adressage Zigbee
6.8. Profils Zigbee
7. 6LowPAN
7.1. Pourquoi 6LoWPAN?
7.2. Domaines d’application 6LoWPAN
7.3. Principes 6LoWPAN : Compression des en-têtes IPv6 et UDP et fragmentation du datagramme IPv6
7.4. Architecture 6LoWPAN
7.5. Pile de protocole 6LoWPAN
7.6. Couches MAC/Phy pour l’application 6LoWPAN : IEEE 802 15.4, CPL, BLE, IEEE 802.11ah, etc.
7.7. Format 6LowPAN
7.8. Zigbee IP et 6LowPAN
8. SCHC : Static Context Header Compression
8.1. Vue d’ensemble SCHC
8.2. Format du paquet SCHC
8.3. Compression/Décompression
8.4. Fragmentation/Réassemblage
8.5. Compression SCHC pour les en-têtes IPv6 et UDP
8.6. Différences entre SCHC et 6LoWPAN
9. BLE : Bluetooth Low Energy
9.1. Caractéristiques des communications courte distance
9.2. Caractéristiques de Bluetooth Low Energy (BLE) versus caractéristiques de Bluetooth
9.3. Architecture BLE
9.4. La radio BLE
9.5. La couche liaison de données BLE
9.6. Les couches supérieures BLE
9.7. Profils BLE, Implémentation et Qualification
9.8. Sécurité BLE
10. WiFi HaLow
10.1. Introduction à 802.11ah
10.2. Pourquoi 802.11ah Wi-Fi HaLow?
10.3. Les couches physique et MAC de WiFi HaLow
11. WiFi 6
11.1. Les défis actuels du WiFi
11.2. Introduction à 802.11ax
11.3. Technologies clé du 802.11ax
11.3.1. MU-OFDMA
11.3.2. MU-MIMO
11.3.3. Spatial reuse
12. M-BUS et Wireless M-BUS
12.1. Applications M-BUS
12.2. Principes M-BUS
12.3. M-BUS
12.3.1. Développement du standard M-BUS
12.3.2. Architecture M-BUS
12.3.3. Couche physique
12.3.4. Couche liaison de données (IEC 870-5-1)
12.3.5. Couche reseau
12.3.6. Couche application (EN 1434)
12.3.7. Relation entre Modbus et M-BUS
12.4. Wireless M-BUS
12.4.1. Développement du standard M-BUS
12.4.2. Architecture Wireless M-BUS
12.4.3. Couche physique (EN 13757-4)
12.4.4. Couche liaison de données (EN 60870-5-2)
12.4.5. Couche application (EN 13757-3)
12.4.6. Sécurité
13. DLMS/COSEM
13.1. Domaine d’application : réseaux d’énergie
13.2. Couche application (IEC 62 056-53)
13.3. Modèle de données COSEM
13.4. Couche de transport pour la couche réseau IPv4 (IEC 62 056-47)
13.5. Couche liaison de données, e.g., HDLC (IEC 62 056-46)
13.6. Couche physique (IEC 62 056-42)
14. CPL : Courant Porteur de Ligne
14.1. Consommation électrique
14.2. Solutions « historiques »
14.3. Solutions à haut débit
14.4. Solutions à bas débit
14.4.1. G3-CPL
14.5. Comparatif des solutions CPL
14.6. Avantages et inconvénients du CPL
15. Time Sensitive Networking
15.1. Normes pour la mise en réseau sensible au temps
15.1.1. IEEE 1588-2008-Precision Time Protocol (PTP)
15.1.2. IEEE 802.1AS-2011 – Time
15.1.3. IEEE 802.1Qav – Credit Based Shaper
16. Synthèse et comparaison