Présentation des protocoles de mise en réseau et de messagerie pour l'IoT

Salut les Khabrovites ! Premier développeur IoT de cours en ligne de Russie lance dans OTUS en octobre. L'inscription au cours est ouverte dès maintenant, dans le cadre de laquelle nous continuons à partager avec vous du matériel utile.

Présentation des protocoles de mise en réseau et de messagerie pour l'IoT

L'Internet des objets (IoT, Internet des objets) sera construit au-dessus de l'infrastructure réseau existante, des technologies et des protocoles actuellement utilisés dans les maisons/bureaux et Internet, et offrira bien plus.

L'objectif de ce guide est de fournir un bref aperçu des protocoles de mise en réseau et d'application pour l'IoT.

Note. Vous devez avoir des connaissances bases des technologies réseaux.

Réseaux IdO

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

TCP/IP utilise un modèle à quatre couches avec des protocoles spécifiques à chaque couche. Cm. Comprendre le modèle TCP/IP à 4 couches (on comprend le modèle à quatre couches de TCP/IP).

Le schéma ci-dessous montre une comparaison des protocoles actuellement utilisés et ceux les plus susceptibles d'être utilisés pour l'IoT.

Présentation des protocoles de mise en réseau et de messagerie pour l'IoT

Remarques sur le graphique :

  1. La taille de la police indique la popularité du protocole. Par exemple, à gauche, IPv4 est plus grand, car il est beaucoup plus populaire sur l'Internet moderne. Cependant, il est plus petit à droite car IPv6 devrait être plus populaire dans l'IoT.

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

  3. La plupart des changements se situent au niveau du canal (niveaux 1 et 2) et des applications (niveau 4).

  4. Les couches réseau et transport resteront probablement inchangées.

Protocoles de couche liaison

Au niveau de la liaison de données (Data Link), vous devez connecter les appareils entre eux. Ils peuvent être à la fois proches, par exemple, dans les réseaux locaux (réseaux locaux) et très éloignés les uns des autres : dans les réseaux urbains (réseaux métropolitains) et mondiaux (réseaux étendus).

Actuellement, à ce niveau, les réseaux domestiques et professionnels (LAN) utilisent Ethernet et Wi-Fi, et les réseaux mobiles (WAN) utilisent la 3G/4G. Cependant, de nombreux appareils IoT sont à faible consommation d'énergie, tels que les capteurs, et ne sont alimentés que par des batteries. Dans ces cas, Ethernet n'est pas adapté, mais le Wi-Fi et le Bluetooth à faible puissance peuvent être utilisés.

Alors que les technologies sans fil existantes (Wi-Fi, Bluetooth, 3G/4G) continueront d'être utilisées pour connecter ces appareils, il convient également d'examiner de nouvelles technologies spécifiquement conçues pour les applications IoT qui sont susceptibles de gagner en popularité.

Parmi ceux-ci:

  • BLE – Bluetooth basse consommation

  • LoRaWAN - WAN longue portée

  • SIGFOX

  • LTE-M

Ils sont décrits plus en détail dans l'article. Un aperçu des technologies sans fil IOT (aperçu des technologies IoT sans fil).

couche réseau

Au niveau de la couche réseau (Networking), le protocole dominera à long terme IPv6. Il est peu probable que l'IPv4 soit utilisé, mais il peut jouer un rôle dans les premières étapes. La plupart des appareils IoT domestiques, tels que les ampoules intelligentes, utilisent actuellement IPv4.

couche de transport 

Au niveau de la couche transport (Transport), Internet et le Web sont dominés par TCP. Il est utilisé à la fois dans HTTP et dans de nombreux autres protocoles Internet populaires (SMTP, POP3, IMAP4, etc.).

MQTT, qui devrait devenir l'un des principaux protocoles de couche application pour la messagerie, utilise actuellement TCP.

Cependant, à l'avenir, en raison de la baisse des frais généraux, je m'attends à ce que l'UDP devienne plus populaire pour l'IoT. Probablement plus répandu MQTT-SN, fonctionnant sur UDP. Voir l'article comparatif TCP contre UDP .

Couche application et protocoles de messagerie

Caractéristiques importantes pour les protocoles IoT :

  • Vitesse - la quantité de données transférées par seconde.

  • La latence est le temps qu'il faut pour envoyer un message.

  • Consommation électrique

  • Sécurité.

  • Disponibilité du logiciel.

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

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

MQTT (Message Queuing Telemetry Transport) est devenu le principal protocole de messagerie dans l'IoT en raison de sa légèreté et de sa facilité d'utilisation. Voir l'article Introduction à MQTT pour les débutants (Introduction à MQTT pour les débutants).

Comparaison de 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 et au fait qu'il s'agit d'un protocole un-à-plusieurs plutôt que d'un à un (HTTP).

De nombreuses applications Web modernes utiliseraient volontiers MQTT au lieu de HTTP s'il était disponible au moment de leur développement.

Un bon exemple est l'envoi d'informations à plusieurs clients, comme les arrivées et les départs de trains/bus/avions. Dans ce scénario, un protocole un-à-un comme HTTP a beaucoup de temps système et met beaucoup de charge sur les serveurs Web. La mise à l'échelle de ces serveurs Web peut être difficile. Avec MQTT, les clients se connectent à un courtier, qui peut être facilement ajouté pour l'équilibrage de charge. Regardez le tutoriel vidéo à ce sujet Republier des données HTML sur MQTT (exemple d'arrivées de vols) et articles MQTT contre HTTP pour 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 en raison de son utilisation généralisée dans API.

Presque toutes les plates-formes IoT prennent en charge HTTP et MQTT.

Cependant, il existe d'autres protocoles à considérer.

Protocoles

  • MQTT - (Message Queuing Telemetry Transport). Utilise TCP/IP. Le modèle de publication-abonnement nécessite un courtier de messages.

  • AMQP - (Protocole avancé de file d'attente de messages). Utilise TCP/IP. Modèles éditeur-abonné et point à point.

  • COAP - (Protocole d'application contrainte). Utilise UDP. Conçu spécifiquement pour l'IoT, utilise le modèle requête-réponse comme dans HTTP. RFC 7252.

  • DDS - (Service de diffusion de données) 

Dans ce article les principaux protocoles et leurs applications sont considérés. La conclusion de cet article est que l'IoT utilisera un ensemble de protocoles, en fonction de leur utilisation prévue.

Cependant, rétrospectivement, dans les premières années d'Internet, le protocole HTTP qui deviendrait dominant n'était qu'un des nombreux protocoles.

Bien que HTTP n'ait pas été conçu à l'origine pour le transfert de fichiers et d'e-mails, il est aujourd'hui utilisé pour les deux.

Je m'attends à ce que la même chose se produise avec les protocoles de messagerie dans l'IoT : la plupart des services utiliseront un protocole prédominant.

Vous trouverez ci-dessous des graphiques Google Trends montrant comment la popularité de MQTT, COAP et AMQP a changé au cours des dernières années.

Présentation de Google Trends 

Présentation des protocoles de mise en réseau et de messagerie pour l'IoT

Prise en charge du protocole par plate-forme

  • 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 situent au niveau du canal (niveaux 1 et 2) et des applications (niveau 4).

Les couches réseau et transport resteront probablement inchangées.

Au niveau de la couche application, les composants IoT utiliseront des protocoles de messagerie. Bien que nous en soyons encore à un stade précoce du développement de l'IoT, il est probable qu'un ou peut-être deux protocoles de messagerie se démarqueront.

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

HTTP continuera également à être utilisé car il est déjà bien intégré aux plates-formes IoT existantes.

C'est tout. Nous vous invitons à vous inscrire pour une leçon de démonstration gratuite sur le sujet "Chatbot pour des commandes rapides vers l'appareil".

Lire la suite:

Source: habr.com

Ajouter un commentaire