IoT-Geräte verwenden unterschiedliche Kommunikations- und Nachrichtenprotokolle auf verschiedenen Ebenen. Bei der Entwicklung von IoT-Geräten bestimmen der Typ, die Schichten und die Funktionen, die das Gerät ausführen soll, häufig die endgültige Wahl. MQTT, XMPP, DDS, AMQP und CoAP sind einige der Kommunikationsprotokolle, die in der IoT-Anwendungsschicht weit verbreitet sind. In diesem Artikel erfahren Sie mehr über die Vor- und Nachteile dieser Kommunikationsprotokolle.
MQTT
MQTT ist ein Machine-to-Machine (M2M) Protokoll. Es handelt sich um ein Publish-Subscribe-basiertes Nachrichtenprotokoll zur Übertragung von Gerätedaten an den Server. Der Hauptzweck von MQTT besteht darin, IoT-Geräte aus der Ferne zu verwalten. Es wird hauptsächlich für große Netze kleiner Geräte verwendet, die über das Internet überwacht oder verwaltet werden müssen, z. B. Parksensoren, Unterwasserleitungen, Energienetze usw.
So funktioniert MQTT
Vorteil:
▪ Leichtgewicht für eingeschränkte Netze
▪ Flexible Auswahl der Dienstqualität bei gegebenen Merkmalen
▪ Standardisiert durch den Technischen Ausschuss der OASIS
▪ Einfach und schnell zu implementieren
Manko:
▪ Hoher Stromverbrauch aufgrund der TCP-basierten Verbindung
▪ Fehlende Verschlüsselung
Häufige Anwendungsszenarien:
Viele Parksensoren sind in großen Tiefgaragen installiert, um die Anzahl und den Standort von leeren oder freien Parkplätzen zu ermitteln.
XMPP
XMPP verwendet das XML-Format für den Nachrichtenaustausch. Das Hauptmerkmal dieses Protokolls ist sein Adressierungsmechanismus. Es verwendet eine Adresse namens Jabber ID (JID), um Geräte/Knoten im IoT-Netzwerk zu identifizieren. JID folgt dem Standard - name@domain.com. Dieser Adressierungsmechanismus ermöglicht es zwei Knoten, unabhängig von ihrer Entfernung im Netz Informationen auszutauschen.
XMPP-Nachrichten werden normalerweise über die zugrunde liegende TCP-Verbindung übertragen. Es verwendet einen Abfragemechanismus, um das Ziel der Nachricht zu ermitteln. XMPP ist mit einer Client-Server-Architektur implementiert. Der Client startet den XML-Stream durch Senden eines Start-Tags. Der Server antwortet dem Client dann mit dem XML-Stream. Da es sich bei XMPP um ein offenes Protokoll handelt, kann jeder seinen eigenen XMPP-Server in seinem Netzwerk betreiben, ohne mit dem Internet verbunden zu sein.
Wie XMPP funktioniert
Vorteil:
▪ Adressierungsschema zur Identifizierung von Geräten im Netz
▪ Client - Server Architektur
Manko:
▪ Textbasierte Nachrichten, keine Ende-zu-Ende-Verschlüsselung konfiguriert
▪ Keine Vorschriften zur Dienstleistungsqualität
Häufige Anwendungsszenarien:
Ein intelligentes Thermostat, auf das man von einem Smartphone aus über einen Webserver zugreifen kann; eine Spielkonsole, die Sofortnachrichten zwischen zwei Online-Spielern ermöglicht.
DDS
DDS basiert ebenfalls auf einem Publish-Subscribe-Modell. DDS verbindet die Geräte direkt, im Gegensatz zu MQTT, das die Geräte mit Servern verbindet. Aus diesem Grund ist DDS schneller als MQTT. Da die Kommunikation mit dem Server entfällt, können Millionen von Nachrichten in Sekundenschnelle an mehrere verschiedene Empfänger übermittelt werden. DDS kann für die Kommunikation von Gerät zu Gerät über einen Datenbus verwendet werden. Es bietet eine detaillierte Dienstqualität und Zuverlässigkeit.
Wie DDS funktioniert
Vorteil:
▪ Basierend auf einem einfachen Publish-Subscribe-Kommunikationsparadigma
▪ Flexible und anpassungsfähige Architektur, die die "automatische Erkennung" neuer oder veralteter Endpunktanwendungen unterstützt
▪ Geringer Overhead - kann mit Hochleistungssystemen verwendet werden
▪ Deterministische Datenlieferung
▪ Dynamisch skalierbar
▪ Effiziente Nutzung der Übertragungsbandbreite
Häufige Anwendungsszenarien:
Militärische Systeme, Windkraftanlagen, Krankenhausintegration, medizinische Bildgebung, Anlagenverfolgungssysteme sowie Automobilprüfungen und -sicherheit.
AMQP
Advanced Message Queuing Protocol (AMQP) ist ein offenes Standardprotokoll für die Anwendungsschicht, das zum Senden von Transaktionsnachrichten zwischen Servern verwendet wird. Als nachrichtenzentrierte Middleware kann es Tausende von Transaktionen in Warteschlangen zuverlässig verarbeiten. AMQP konzentriert sich darauf, dass keine Nachrichten verloren gehen, da Nachrichten mit TCP oder UDP transportiert werden können. Die Verwendung von TCP bietet zuverlässige Punkt-zu-Punkt-Verbindungen. Außerdem muss der Endpunkt die Annahme jeder Nachricht bestätigen. Der Standard beschreibt auch einen optionalen Transaktionsmodus mit einer formalen mehrphasigen Commit-Sequenz. AMQP konzentriert sich auf die Verfolgung von Nachrichten und stellt sicher, dass jede Nachricht wie erwartet zugestellt wird, unabhängig von Fehlern oder Neustarts.
Wie AMQP funktioniert
Vorteil:
▪ Nachrichten können über TCP und UDP gesendet werden
▪ Bietet eine Ende-zu-Ende-Verschlüsselung
Manko:
Relativ hohe Ressourcenauslastung, d.h. Strom- und Speicherverbrauch
Häufige Anwendungsszenarien:
AMQP wird hauptsächlich für Geschäftsnachrichten verwendet. Es definiert normalerweise Geräte wie Mobiltelefone, die mit Backend-Rechenzentren kommunizieren.
Zusammenfassend
Alle oben aufgeführten Protokolle eignen sich besonders gut für verschiedene Betriebsszenarien. Jedes Protokoll kann auf der Grundlage seiner Vor- und Nachteile für die Entwicklung von IoT-Anwendungen sorgfältig ausgewählt werden. Die wichtigsten Faktoren, die bei der Auswahl eines Protokolls für Ihre Anwendung zu berücksichtigen sind, sind die Dienstqualität, die Sicherheit und die für die Anwendung erforderliche Zuverlässigkeit.
Jedes Protokoll kann auf der Grundlage seiner Vor- und Nachteile für die Entwicklung von IoT-Anwendungen sorgfältig ausgewählt werden. Die wichtigsten Faktoren, die wir bei der Auswahl eines Transportprotokolls für eine Anwendung berücksichtigen müssen, sind Dienstqualität, Sicherheit und die für die Anwendung erforderliche Zuverlässigkeit.