Überblick über Netzwerkprotokolle und Messaging-Protokolle für IoT

Hallo, Habr-Leute! Der erste Online-Kurs für IoT-Entwickler in Russland beginnt im OTUS bereits im Oktober. Momentan sind die Anmeldungen für den Kurs geöffnet, weshalb wir weiterhin nützliche Materialien mit Ihnen teilen.

Überblick über Netzwerkprotokolle und Messaging-Protokolle für IoT

Das Internet der Dinge (IoT, Internet of Things) wird auf der bestehenden Netzwerk-Infrastruktur, den Technologien und Protokollen basieren, die derzeit in Häusern/Büros und im Internet verwendet werden, und viele weitere Möglichkeiten bieten.

Ziel dieses Leitfadens ist es, einen kurzen Überblick über Netzwerk- und Anwendungsprotokolle für IoT zu geben.

Hinweis: Sie sollten Kenntnisse über die Grundlagen der Netzwerktechnologien.

IoT-Netzwerke

Das IoT wird in bestehenden TCP/IP-Netzwerken funktionieren.

TCP/IP verwendet ein vierstufiges Modell mit spezifischen Protokollen auf jeder Ebene. Siehe understanding the TCP/IP 4 layer model (Verständnis des vierstufigen TCP/IP-Modells).

Im folgenden Diagramm werden die derzeit verwendeten Protokolle und die wahrscheinlich für IoT verwendeten Protokolle verglichen.

Überblick über Netzwerkprotokolle und Messaging-Protokolle für IoT

Anmerkungen zum Diagramm:

  1. Die Schriftgröße zeigt die Verbreitung des Protokolls an. Zum Beispiel ist IPv4 links größer, da es im modernen Internet viel populärer ist. Rechts ist es jedoch kleiner, da erwartet wird, dass IPv6 im IoT beliebter sein wird.

  2. Es sind nicht alle Protokolle dargestellt.

  3. Die meisten Änderungen kümmern sich um die Datenlink- (Ebenen 1 und 2) und die Anwendungsebenen (Ebene 4).

  4. Die Netzwerk- und Transportschichten werden wahrscheinlich unverändert bleiben.

Protokolle der Datenlink-Schicht

Auf der Datenlink-Schicht müssen Sie Geräte miteinander verbinden. Diese können sowohl nah beieinander, wie in lokalen Netzwerken, als auch weit voneinander entfernt, in städtischen (metropolitan area networks) und globalen Netzwerken (wide area networks), sein.

Derzeit werden auf dieser Ebene in Haushalts- und Büronetzwerken (LAN) Ethernet und Wi-Fi eingesetzt, und in mobilen (WAN) -Netzen 3G/4G. Viele IoT-Geräte sind jedoch energieeffizient, zum Beispiel Sensoren, und werden nur mit Batterien betrieben. In diesen Fällen ist Ethernet ungeeignet, aber man kann low powered Wi-Fi und low powered Bluetooth verwenden.

Obwohl für die Verbindung dieser Geräte nach wie vor bestehende drahtlose Technologien (Wi-Fi, Bluetooth, 3G/4G) verwendet werden, sollte auch auf neue Technologien geachtet werden, die speziell für IoT-Anwendungen entwickelt wurden und wahrscheinlich an Popularität gewinnen werden.

Zu diesen gehören:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

Genauer beschrieben werden sie im Artikel Ein Überblick über drahtlose IOT-Technologien (Überblick über drahtlose IoT-Technologien).

Netzwerkschicht

In der Netzwerkschicht (Networking) wird langfristig das Protokoll dominieren IPv6. Es ist unwahrscheinlich, dass IPv4 verwendet wird, aber es könnte in den frühen Phasen eine bestimmte Rolle spielen. Die meisten IoT-Geräte für Zuhause, wie intelligente Glühbirnen, nutzen derzeit IPv4.

Transportschicht 

In der Transportschicht (Transport) dominieren TCP im Internet und im Web. Es wird sowohl in HTTP als auch in vielen anderen beliebten Internetprotokollen (SMTP, POP3, IMAP4 usw.) verwendet.

MQTT, das ich als eines der Hauptprotokolle der Anwendungsebene für Nachrichtenübertragung erwarte, verwendet derzeit TCP.

Ich gehe jedoch davon aus, dass in Zukunft aufgrund geringerer Overhead-Kosten UDP populärer für IoT werden wird. Wahrscheinlich wird sich MQTT-SN, das über UDP läuft, weiter verbreiten. Siehe den Artikel über den Vergleich TCP vs UDP .

Anwendungsebene und Nachrichtenprotokolle

Wichtige Merkmale für IoT-Protokolle:

  • Geschwindigkeit – die Menge an übertragenen Daten pro Sekunde.

  • Latenz – die Zeit, die für die Übertragung einer Nachricht benötigt wird.

  • Energieverbrauch.

  • Sicherheit.

  • Verfügbarkeit von Softwaretools.

Derzeit werden auf dieser Ebene aktiv zwei Hauptprotokolle verwendet: HTTP und MQTT.

HTTP ist wahrscheinlich das bekannteste Protokoll auf dieser Ebene, das die Grundlage des Webs (WWW) bildet. Es wird nach wie vor eine wichtige Rolle für IoT spielen, da es für REST-APIs – den Hauptmechanismus für die Interaktion von Webanwendungen und -diensten – verwendet wird. Aufgrund des hohen Overheads wird HTTP jedoch wahrscheinlich nicht das Hauptprotokoll für IoT werden, obwohl es weiterhin weit verbreitet im Internet verwendet wird.

MQTT (Message Queuing Telemetry Transport) hat sich aufgrund seiner Leichtigkeit und Benutzerfreundlichkeit als Hauptprotokoll für die Nachrichtenübertragung in IoT durchgesetzt. Siehe den Artikel Einführung in MQTT für Anfänger (Einführung in MQTT für Anfänger).

Vergleich von HTTP und MQTT für IoT

MQTT wird schnell zum De-facto-Standard für IoT-Anwendungen. Dies geschieht aufgrund seiner Leichtigkeit und Geschwindigkeit im Vergleich zu HTTP und weil es ein „eins zu vielen“-Protokoll und nicht ein „eins zu eins“-Protokoll (wie HTTP) ist.

Viele moderne Webanwendungen würden gerne MQTT anstelle von HTTP nutzen, sofern es zum Zeitpunkt ihrer Entwicklung verfügbar gewesen wäre.

Ein gutes Beispiel ist die Übermittlung von Informationen an viele Kunden, z. B. zu Ankünften und Abfahrten von Zügen / Bussen / Flugzeugen. In diesem Szenario hat das "Eins-zu-Eins"-Protokoll, wie HTTP, hohe Overheads und belastet die Webserver stark. Die Skalierung dieser Webserver kann schwierig sein. Mit MQTT verbinden sich die Clients mit einem Broker, der leicht zur Lastenverteilung hinzugefügt werden kann. Siehe dazu dieses Tutorial mit Video. HTML-Daten über MQTT erneut veröffentlichen (Beispiel Flugankünfte) und Artikel MQTT vs HTTP für IoT.

Andere Nachrichtenprotokolle

HTTP wurde nicht für IoT-Anwendungen entwickelt, wird aber, wie bereits erwähnt, noch eine Weile aufgrund seiner weit verbreiteten Nutzung genutzt werden. API.

Fast alle IoT-Plattformen unterstützen sowohl HTTP als auch MQTT.

Es gibt jedoch auch andere Protokolle, die in Betracht gezogen werden sollten.

Protokolle

In diesem Artikel werden die wichtigsten Protokolle und deren Anwendungen behandelt. Das Fazit dieses Artikels ist, dass IoT eine Sammlung von Protokollen verwenden wird, abhängig von ihrer beabsichtigten Anwendung.

Wenn wir jedoch zurückblicken, war in den ersten Jahren des Internets das HTTP-Protokoll, das später dominant wurde, nur eines von vielen Protokollen.

Obwohl HTTP ursprünglich nicht für den Austausch von Dateien und E-Mails gedacht war, wird es heute sowohl dafür als auch für das andere verwendet.

Ich erwarte, dass im IoT mit Nachrichtenprotokollen das Gleiche passiert: Die meisten Dienste werden ein dominierendes Protokoll verwenden.

Im Folgenden sind Grafiken aus Google Trends zu sehen, die zeigen, wie sich die Beliebtheit von MQTT, COAP und AMQP in den letzten Jahren verändert hat.

Google Trends Überblick 

Überblick über Netzwerkprotokolle und Messaging-Protokolle für IoT

Protokollunterstützung nach Plattformen

  • Microsoft Azure - MQTT, AMQP, HTTP und HTTPS

  • AWS - MQTT, HTTPS, MQTT über WebSockets

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx - MQTT, HTTPS, MQTT, AMQP

Zusammenfassung

Die meisten Änderungen kümmern sich um die Datenlink- (Ebenen 1 und 2) und die Anwendungsebenen (Ebene 4).

Die Netzwerk- und Transportschichten werden wahrscheinlich unverändert bleiben.

Auf praktischer Ebene werden IoT-Komponenten Messaging-Protokolle verwenden. Obwohl wir uns noch in der frühen Entwicklungsphase des IoT befinden, ist es sehr wahrscheinlich, dass sich eines oder möglicherweise zwei Messaging-Protokolle herauskristallisieren werden.

In den letzten Jahren wurde MQTT das beliebteste, und genau darauf konzentriere ich mich derzeit auf dieser Website.

HTTP wird ebenfalls weiterhin verwendet, da es bereits gut in bestehende IoT-Plattformen integriert ist.

Das ist alles. Wir laden Sie ein, sich für eine kostenlose Demo-Stunde zum Thema anzumelden „Chatbot für schnelle Befehle an das Gerät“.

Weiterlesen:

Quelle: habr.com

60GB SSD 8Gb DDR4