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

Hallo, Chabrowiten! Russlands erster Online-Kurs für IoT-Entwickler startet im Oktober in OTUS. Die Anmeldung für den Kurs ist ab sofort möglich. In diesem Zusammenhang stellen wir Ihnen weiterhin nützliche Materialien zur Verfügung.

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

Das Internet der Dinge (IoT, Internet der Dinge) wird auf der bestehenden Netzwerkinfrastruktur, Technologien und Protokollen aufbauen, die derzeit in Haushalten/Büros und im Internet verwendet werden, und wird noch viel mehr bieten.

Der Zweck dieses Leitfadens besteht darin, einen kurzen Überblick über Netzwerk- und Anwendungsprotokolle für IoT zu geben.

Notiz. Sie müssen Wissen haben Grundlagen der Netzwerktechnologien.

IoT-Netzwerke

IoT wird auf bestehenden TCP/IP-Netzwerken laufen.

TCP/IP verwendet ein vierschichtiges Modell mit spezifischen Protokollen auf jeder Schicht. Cm. Verständnis des TCP/IP-4-Schichten-Modells (Wir verstehen das vierschichtige Modell von TCP/IP).

Das folgende Diagramm zeigt einen Vergleich der derzeit verwendeten Protokolle mit denen, die am wahrscheinlichsten für IoT verwendet werden.

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

Diagrammnotizen:

  1. Die Schriftgröße zeigt die Beliebtheit des Protokolls an. Auf der linken Seite ist beispielsweise IPv4 größer, da es im modernen Internet viel beliebter ist. Allerdings ist es auf der rechten Seite kleiner, da IPv6 im IoT voraussichtlich beliebter werden wird.

  2. Es werden nicht alle Protokolle angezeigt.

  3. Die meisten Änderungen finden auf der Kanal- (Ebene 1 und 2) und Anwendungsebene (Ebene 4) statt.

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

Link-Layer-Protokolle

Auf der Datenverbindungsebene (Data Link) müssen Sie Geräte miteinander verbinden. Sie können sowohl nah, beispielsweise in lokalen Netzwerken (Local Networks), als auch weit voneinander entfernt sein: in städtischen (Metropolitan Area Networks) und globalen Netzwerken (Wide Area Networks).

Derzeit verwenden Heim- und Büronetzwerke (LAN) auf dieser Ebene Ethernet und Wi-Fi und Mobilfunknetzwerke (WAN) 3G/4G. Allerdings haben viele IoT-Geräte, wie zum Beispiel Sensoren, einen geringen Stromverbrauch und werden nur mit Batterien betrieben. In diesen Fällen ist Ethernet nicht geeignet, aber WLAN mit geringem Stromverbrauch und Bluetooth mit geringem Stromverbrauch können verwendet werden.

Während bestehende drahtlose Technologien (Wi-Fi, Bluetooth, 3G/4G) weiterhin zur Verbindung dieser Geräte verwendet werden, lohnt es sich auch, einen Blick auf neue Technologien zu werfen, die speziell für IoT-Anwendungen entwickelt wurden und wahrscheinlich immer beliebter werden.

Unter ihnen:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Langstrecken-WAN

  • SigFox

  • LTE-M

Sie werden im Artikel ausführlicher beschrieben. Ein Überblick über IOT-Funktechnologien (Überblick über drahtlose IoT-Technologien).

Netzwerkschicht

Auf der Netzwerkebene (Networking) wird das Protokoll langfristig dominieren IPv6. Es ist unwahrscheinlich, dass IPv4 zum Einsatz kommt, aber es könnte in der Anfangsphase eine Rolle spielen. Die meisten Heim-IoT-Geräte, wie zum Beispiel intelligente Glühbirnen, verwenden derzeit IPv4.

Transportschicht 

Auf der Transportschicht (Transport) werden das Internet und das Web von TCP dominiert. Es wird sowohl in HTTP als auch in vielen anderen gängigen Internetprotokollen (SMTP, POP3, IMAP4 usw.) verwendet.

MQTT, von dem ich erwarte, dass es eines der wichtigsten Protokolle der Anwendungsschicht für die Nachrichtenübermittlung wird, verwendet derzeit TCP.

Aufgrund des geringeren Overheads erwarte ich jedoch, dass UDP in Zukunft für das IoT immer beliebter wird. Wahrscheinlich weiter verbreitet MQTT-SN, läuft über UDP. Siehe Vergleichsartikel TCP gegen UDP .

Anwendungsschicht und Messaging-Protokolle

Wichtige Merkmale für IoT-Protokolle:

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

  • Latenz ist die Zeit, die zum Senden einer Nachricht benötigt wird.

  • Stromverbrauch.

  • Sicherheit.

  • Verfügbarkeit von Software.

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

HTTP ist wahrscheinlich das bekannteste Protokoll dieser Ebene, das dem Web (WWW) zugrunde liegt. Es wird für das IoT weiterhin wichtig sein, da es für die REST-API verwendet wird – den Hauptmechanismus für die Interaktion zwischen Webanwendungen und Diensten. Aufgrund des hohen Overheads ist es jedoch unwahrscheinlich, dass HTTP das wichtigste IoT-Protokoll wird, obwohl es im Internet weiterhin weit verbreitet sein wird.

MQTT (Message Queuing Telemetry Transport) hat sich aufgrund seiner Leichtigkeit und Benutzerfreundlichkeit zum wichtigsten Messaging-Protokoll im IoT entwickelt. Siehe Artikel Einführung in MQTT für Einsteiger (Einführung in MQTT für Anfänger).

Vergleich von HTTP und MQTT für IoT

MQTT entwickelt sich schnell zum De-facto-Standard für IoT-Anwendungen. Dies liegt an seiner Leichtigkeit und Geschwindigkeit im Vergleich zu HTTP und der Tatsache, dass es sich um ein Eins-zu-viele-Protokoll und nicht um eins-zu-eins (HTTP) handelt.

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

Ein gutes Beispiel ist das Versenden von Informationen an mehrere Clients, z. B. Ankünfte und Abfahrten von Zügen/Bussen/Flugzeugen. In diesem Szenario verursacht ein Eins-zu-Eins-Protokoll wie HTTP viel Overhead und belastet die Webserver stark. Die Skalierung dieser Webserver kann schwierig sein. Mit MQTT verbinden sich Clients mit einem Broker, der zum Lastausgleich einfach hinzugefügt werden kann. Sehen Sie sich das Video-Tutorial dazu an HTML-Daten über MQTT erneut veröffentlichen (Beispiel für Flugankünfte) und Artikel MQTT vs. HTTP für IOT.

Andere Messaging-Protokolle

HTTP wurde nicht für IoT-Anwendungen entwickelt, wird aber, wie bereits erwähnt, aufgrund seiner weiten Verbreitung in noch einige Zeit weit verbreitet sein API.

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

Es gibt jedoch auch andere Protokolle, die eine Überlegung wert sind.

Protokolle

  • MQTT - (Message Queuing Telemetry Transport). Verwendet TCP/IP. Das Publish-Subscribe-Modell erfordert einen Nachrichtenbroker.

  • AMQP - (Advanced Message Queuing Protocol). Verwendet TCP/IP. Publisher-Subscriber- und Point-to-Point-Modelle.

  • COAP - (Eingeschränktes Anwendungsprotokoll). Verwendet UDP. Speziell für IoT entwickelt, verwendet das Anforderungs-Antwort-Modell wie in HTTP. RFC 7252.

  • DDS - (Datenverteilungsdienst) 

Hierin Artikel Es werden die wichtigsten Protokolle und ihre Anwendungen betrachtet. Die Schlussfolgerung dieses Artikels ist, dass das IoT je nach beabsichtigter Verwendung eine Reihe von Protokollen verwenden wird.

Rückblickend betrachtet war das HTTP-Protokoll, das sich in den Anfangsjahren des Internets durchsetzen sollte, jedoch nur eines von vielen Protokollen.

Obwohl HTTP ursprünglich nicht für die Datei- und E-Mail-Übertragung konzipiert wurde, wird es heute für beides verwendet.

Ich gehe davon aus, dass dasselbe mit den Messaging-Protokollen im IoT passieren wird: Die meisten Dienste werden ein vorherrschendes Protokoll verwenden.

Nachfolgend finden Sie Google Trends-Diagramme, die zeigen, wie sich die Popularität von MQTT, COAP und AMQP in den letzten Jahren verändert hat.

Übersicht über Google Trends 

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

Protokollunterstützung nach Plattform

  • 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 finden auf der Kanal- (Ebene 1 und 2) und Anwendungsebene (Ebene 4) statt.

Die Netzwerk- und Transportschichten bleiben wahrscheinlich unverändert.

Auf der Anwendungsebene nutzen IoT-Komponenten Messaging-Protokolle. Obwohl wir uns noch in einem frühen Stadium der IoT-Entwicklung befinden, ist es wahrscheinlich, dass ein oder vielleicht zwei Messaging-Protokolle herausstechen werden.

In den letzten Jahren ist MQTT am beliebtesten geworden, und darauf konzentriere ich mich jetzt auf dieser Website.

Auch HTTP wird 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-Lektion zum Thema anzumelden „Chatbot für schnelle Befehle an das Gerät“.

Weiterlesen:

Source: habr.com

Kommentar hinzufügen