Aperçu des protocoles réseau et des protocoles de messagerie pour l'IoT

Bonjour, habitants de Habr ! Le premier cours en ligne IoT en Russie démarre chez OTUS en octobre. Les inscriptions pour le cours sont ouvertes, c'est pourquoi nous continuons à partager avec vous des matériaux utiles.

Aperçu des protocoles réseau et des protocoles de messagerie pour l'IoT

L'Internet des objets (IoT, Internet des objets) sera construit sur la base de l'infrastructure réseau existante, des technologies et des protocoles utilisés actuellement dans les maisons/bureaux et sur Internet, et proposera beaucoup d'autres choses.

L'objectif de ce guide est de donner un aperçu des protocoles réseau et applicatifs pour IoT.

Remarque : Vous devez avoir des connaissances des bases des technologies réseau.

des réseaux IoT

L'IoT fonctionnera sur des réseaux TCP/IP existants.

TCP/IP utilise un modèle à quatre niveaux avec des protocoles spécifiques à chaque niveau. Voir comprendre le modèle en 4 couches TCP/IP (comprendre le modèle à quatre niveaux TCP/IP).

Le diagramme ci-dessous montre une comparaison des protocoles actuellement utilisés et de ceux qui seront probablement utilisés pour l'IoT.

Aperçu des protocoles réseau et des protocoles de messagerie pour l'IoT

Remarques sur le diagramme :

  1. La taille de la police reflète le degré de popularité du protocole. Par exemple, à gauche, IPv4 est plus grand car il est beaucoup plus populaire sur Internet aujourd'hui. Cependant, à droite, il est plus petit, car on s'attend à ce qu'IPv6 soit plus populaire dans l'IoT.

  2. Tous les protocoles ne sont pas affichés.

  3. La plupart des changements se produisent au niveau de liaison (niveaux 1 et 2) et au niveau applicatif (niveau 4).

  4. Les niveaux réseau et transport resteront probablement inchangés.

Les protocoles de niveau de liaison

Au niveau de liaison (Data Link), vous devez connecter les appareils entre eux. Ils peuvent se trouver à proximité, par exemple, dans des réseaux locaux, ou à grande distance les uns des autres : dans des réseaux métropolitains et des réseaux étendus.

Actuellement, les réseaux domestiques et de bureaux utilisent Ethernet et Wi-Fi à ce niveau, tandis que les réseaux mobiles utilisent 3G/4G. Cependant, de nombreux appareils IoT sont à faible consommation, par exemple, les capteurs, et fonctionnent uniquement sur batterie. Dans ces cas, Ethernet n'est pas adapté, mais vous pouvez utiliser du Wi-Fi à faible consommation et du Bluetooth à faible consommation.

Bien que les technologies sans fil existantes (Wi-Fi, Bluetooth, 3G/4G) continueront d'être utilisées pour connecter ces appareils, il convient également de prêter attention aux nouvelles technologies spécialement conçues pour les applications IoT, dont la popularité devrait croître.

Parmi eux :

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

Plus de détails sont décrits dans l'article Un aperçu des technologies sans fil IoT (overview des technologies sans fil IoT).

Niveau réseau

Au niveau réseau (Networking), le protocole qui dominera à long terme sera IPv6. Il est peu probable que IPv4 soit utilisé, mais il pourrait jouer un certain rôle dans les premières étapes. La plupart des appareils IoT domestiques, comme les ampoules intelligentes, utilisent actuellement IPv4.

Niveau de transport 

Au niveau de transport (Transport), TCP domine sur Internet et le web. Il est utilisé à la fois dans HTTP et dans de nombreux autres protocoles Internet populaires (SMTP, POP3, IMAP4, etc.).

MQTT, qui, je m'attends, deviendra l'un des principaux protocoles de niveau application pour la messagerie, utilise actuellement TCP.

Cependant, à l'avenir, en raison des frais généraux inférieurs, je m'attends à ce que UDP devienne plus populaire pour l'IoT. Il est probable qu'une diffusion plus large soit obtenue par MQTT-SN, fonctionnant par-dessus UDP. Voir l'article sur la comparaison TCP vs UDP .

Niveau application et protocoles de messagerie

Caractéristiques importantes pour les protocoles IoT :

  • Vitesse — quantité de données transmises par seconde.

  • Latence — temps nécessaire pour transmettre un message.

  • Puissance consommée.

  • Sécurité.

  • Disponibilité des outils logiciels.

Actuellement, deux protocoles principaux sont fortement utilisés à ce niveau : HTTP et MQTT.

HTTP est probablement le protocole le plus connu de ce niveau, qui sous-tend le web (WWW). Il continuera à être important pour l'IoT car il est utilisé pour les API REST — le mécanisme principal d'interaction entre les applications et services web. Cependant, en raison de ses frais généraux élevés, il est peu probable qu'HTTP devienne le protocole principal de l'IoT, bien qu'il soit encore largement utilisé sur Internet.

MQTT (Message Queuing Telemetry Transport) est devenu le protocole principal de messagerie dans l'IoT, grâce à sa légèreté et sa facilité d'utilisation. Voir l'article Introduction to MQTT for beginners (Introduction à MQTT pour les débutants).

Comparaison entre HTTP et MQTT pour l'IoT

MQTT devient rapidement la norme de facto pour les applications IoT. Cela est dû à sa légèreté et sa rapidité par rapport à HTTP ainsi qu'à son caractère « un à plusieurs », contrairement à « un à un » (HTTP).

De nombreuses applications web modernes seraient ravies d'utiliser MQTT à la place d'HTTP si celui-ci avait été disponible au moment de leur développement.

Un bon exemple est l'envoi d'informations à de nombreux clients, par exemple sur les arrivées et départs de trains / bus / avions. Dans ce scénario, un protocole « un-à-un », comme HTTP, a de grandes surcharges et impose une lourde charge aux serveurs web. L'échelle de ces serveurs web peut être difficile à gérer. Avec MQTT, les clients se connectent à un courtier, qui peut facilement être ajouté pour l'équilibrage de charge. Consultez ce tutoriel avec vidéo. Republier des données HTML via MQTT (Exemple d'arrivées de vol) et un article. MQTT contre HTTP pour l'IOT.

Autres protocoles de messagerie

HTTP n'a pas été conçu pour les applications IoT, mais, comme mentionné, il sera largement utilisé pendant un certain temps grâce à sa large adoption dans. API.

Presque toutes les plateformes IoT prennent en charge HTTP et MQTT.

Cependant, il existe d'autres protocoles qui méritent d'être examinés.

Protocoles

  • MQTT — (Message Queuing Telemetry Transport). Utilise TCP/IP. Pour le modèle « éditeur-abonné », un courtier de messages est nécessaire.

  • AMQP — (Advanced Message Queuing Protocol). Utilise TCP/IP. Modèles « éditeur-abonné » et « point à point ».

  • COAP — (Constrained Application Protocol). Utilise UDP. Conçu spécifiquement pour IoT, il utilise un modèle de demande-réponse similaire à HTTP. RFC 7252.

  • DDS — (Data Distribution Service) 

Dans cet article, article les principaux protocoles et leurs applications sont examinés. La conclusion de cet article est que l'IOT utilisera une gamme de protocoles, en fonction de leur application prévue.

Cependant, en regardant en arrière, dans les premières années de l'Internet, le protocole HTTP, devenu dominant par la suite, n'était qu'un des nombreux protocoles.

Bien que HTTP n'ait pas été initialement conçu pour le transfert de fichiers et d'emails, il est aujourd'hui utilisé pour les deux.

Je m'attends à ce qu'il en soit de même pour l'IOT avec les protocoles de messagerie : la plupart des services utiliseront un protocole dominant.

Ci-dessous sont des graphiques Google Trends montrant comment la popularité de MQTT, COAP et AMQP a évolué au cours des dernières années.

Aperçu de Google Trends 

Aperçu des protocoles réseau et des protocoles de messagerie pour l'IoT

Support des protocoles par plateforme

  • Microsoft Azure — MQTT, AMQP, HTTP et HTTPS

  • AWS — MQTT, HTTPS, MQTT sur websockets

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Résumé

La plupart des changements se produisent au niveau de liaison (niveaux 1 et 2) et au niveau applicatif (niveau 4).

Les niveaux réseau et transport resteront probablement inchangés.

Au niveau applicatif, les composants IoT utiliseront des protocoles de messagerie. Bien que nous en soyons encore au stade précoce du développement de l'IoT, il est fort probable qu'un ou deux protocoles de messagerie se démarquent.

Au cours des dernières années, MQTT est devenu le plus populaire, et c'est sur celui-ci que je me concentre actuellement sur ce site.

HTTP continuera également à être utilisé, car il est déjà bien intégré dans les plateformes IoT existantes.

Voilà qui conclut. Nous vous invitons à vous inscrire à un cours de démonstration gratuit sur le thème « Chatbot pour commandes rapides au dispositif ».

Lire aussi :

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster