Internet der Dinge Zwei Protokolle zur Auswahl

Protokolle MQTT und CoAP etablieren sich im bommenden IoT-Markt.
Protokolle MQTT und CoAP etablieren sich im bommenden IoT-Markt.

Zwei abgespeckte Protokolle – MQTT (Message Queuing Telemetry Transport) und CoAP (Constrained Application Protocol) – sind dabei, sich im boomenden IoT-Markt zu etablieren. MQTT stammt aus dem Jahr 1999 und gilt als ausgereift. CoAP ist relativ neu, gewinnt aber mehr und mehr an Interesse.

Bereits 2014 habe die Zahl vernetzter Geräte bzw. Einrichtungen die Zahl der auf der Erde lebenden Menschen überschritten. Bis zum Jahr 2020 sollen an die 50 Milliarden Geräte an das Internet der Dinge (IoT) angeschlossen sein (Bild 1) – so die Prognose von Philip N. Howard von der George Washington University [1]. Anders ausgedrückt: Die Menschen werden weiterhin immer mehr Geräte mit dem Internet verbinden. Für einen explosionsartigen Zuwachs werden jedoch „Dinge“ sorgen, die bisher nicht an das Internet angeschlossen waren, noch gar nicht existierten oder bisher eine Internetverbindung nur für Grundfunktionen nutzen. Die Frage ist, wie werden diese Milliarden Dinge mit der Cloud und dem Dienstanbieter kommunizieren?

Anforderungen an das IoT-Kommunikationsprotokoll

Eine Definition von IoT besagt, dass Geräte mit dem Internet verbunden werden, die zuvor nicht ans Internet angeschlossen waren. Ein Unternehmen kann Hochleistungsleuchten in seiner Fabrik mit dem Internet verbinden, ein Triathlet einen batteriebetriebenen Pulsmesser und ein Dienstleister für die Gebäudeautomatisierung einen energieautarken Funksensor. Entscheidend ist, dass in allen diesen genannten Fällen das Ding über das Internet kommunizieren muss, um als IoT-Knoten angesehen zu werden.

 SchichtProtokollBeschreibung
AnwendungHTTPDefiniert TCP/IP-Anwendungsprotokolle und die Schnittstelle zu den Diensten der Transportschicht.
TransportTCP/UDPUnterstützt die Verwaltung der Sitzung. Definiert die Servicestufe und den Status der Verbindung.
InternetIPFührt IP-Routing mit Quell- und Zieladressinformationen durch
Tabelle 1. Die Internet Protocol Suite umfasst die Anwendungs-, Transport- und Internet-Schichten oberhalb des Netzzugangs. (Quelle: Internet Engineering Task Force)

Da das Gerät, das System oder die Einrichtung das Internet nutzen muss, ist die Internet Protocol Suite [2] der Internet Engineering Task Force (IETF) einzuhalten (Tabelle 1). Allerdings wurde das Internet, historisch gesehen, zur Verbindung von ressourcenreichen Geräten mit hoher Leistung, viel Speicher und zahlreichen Verbindungsoptionen geschaffen. Die Protokolle sind deshalb zu mächtig, um für Anwendungen im wachsenden Internet der Dinge tauglich zu sein. Es gibt noch andere Aspekte des Internets der Dinge, die Änderungen durch die IETF erfordern. Netzwerke mit IoT-Endknoten sind verlustbehaftet, und die Geräte, die dort angeschlossen sind, haben nur sehr wenig Leistung, beschränkte Ressourcen und sollen über Jahre in Betrieb sein.

Die Anforderungen für das Netzwerk und dessen Endgeräte sind in Tabelle 2 aufgeführt. Das neue Modell benötigt abgespeckte, leichtere Protokolle, die keine großen Ressourcen erfordern. Message Queuing Telemetry Transport (MQTT) und Constrained Application Protocol (CoAP) adressieren diese Anforderungen durch kleine Nachrichtengrößen, Nachrichtenverwaltung und geringen Nachrichten-Protokollballast.

Abgespeckte Kommunikations­protokolle für IoT

Die Protokolle MQTT und CoAP unterstützen die Kommunikation von Internet-basierten, ressourcenreichen Geräten mit IoT-basierten ressourcenbeschränkten Geräten.

Beide Protokolle weisen eine abgespeckte Anwendungsschicht auf, verzichten auf den Großteil der Fehlerkorrektur zum Wiederholen von Nachrichten mit einfachen Zuverlässigkeitsstrategien oder vertrauen auf ressourcenreichere Geräte für die Nachbearbeitung der Rohdaten vom Endknoten (Bild 2).

IBM entwickelte MQTT für die Satellitenkommunikation mit Ausrüstungen zur Ölförderung. Im Kern war es zuverlässig und energiesparend konzipiert, also war es sinnvoll, das Protokoll für IoT-Netzwerke einzusetzen. Der MQTT-Standard wurde von der Open Standards Society (OASIS) übernommen und als Version 3.1.1 veröffentlicht [3]. Auch die Eclipse Community und viele kommerzielle Unternehmen, die Open Source Stacks und Beratung bieten, unterstützen das Protokoll.