MQTT (message queuing telemetry transport)

Message Queuing Telemetry Transport (MQTT) ist ein äußerst einfach aufgebautes Publish-Subscribe-Protokoll für den Nachrichtenaustausch zwischen Geräten und komponenten geringer Funktionalität, beispielsweise von Smart Sensoren. Das MQTT-Protokoll wurde speziell für Geräte mit eingeschränkter Funktionsvielfalt und für unzuverlässige Netze mit kleiner Bandbreite und hoher Latenzzeit entwickelt. Es wird u.a. in Low Power Wide Area Networks (LPWAN) eingesetzt.


Das MQTT-Protokoll eignet sich für die Übertragung kleiner Datenmengen über schlechte Verbindungen. Es minimiert die Netzwerk-Bandbreite und stellt geringe Anforderungen an die Geräte, während gleichzeitig die Datenübermittlung eine hohe Zuverlässigkeit erreicht. Diese Anforderungen bestehen vorwiegend bei Sensornetzwerken, bei Machine to Machine (M2M), in der Telemedizin, der Patientenüberwachung und beim Internet of Things (IoT). Bei diesen Anwendungen sind die angeschlossenen Geräte Always On und kommunizieren ständig miteinander.

Das offene, lizenzfreie MQTT-Protokoll wurde bereits 1999 von IBM für die Satellitenkommunikation entwickelt und später in vielen industriellen Anwendungen eingesetzt. Es ist ein Anwendungsprotokoll, das auf dem TCP-Protokoll aufsetzt und auch die IP-Protokolle IPv4 und IPv6 unterstützt. Das MQTT-Protokoll kann über das TLS-Protokoll, Transport Layer Security (TLS), verschlüsselt übertragen werden. Es ist äußerst einfach zu implementieren, kennt drei unterschiedliche Dienstgüten (QoS) für Service-Optionen und kann ununterbrochen Sitzungen mit festen und mobilen Geräten betreiben.

Seit 2013 befasst sich die OASIS mit dessen Standardisierung. Das MQTT-Protokoll ist auch bekannt unter dem Namen SCADA-Protokoll und unter WebSphere MQTT (WMQTT). Die Internet Assigned Numbers Authority (IANA) hat für MQTT die Ports 1883 und 8883 reserviert. Um die Sicherheit der Nachrichtenübermittlung zu gewährleisten, kann der Benutzer seinen Namen und sein Passwort in einem MQTT-Paket übertragen. Außerdem können die Nachrichten mit Secure Socket Layer (SSL) verschlüsselt werden.

Publish-Subscribe-Verfahren

Publish-Subscribe-Verfahren

Das MQTT-Protokoll arbeitet im dem ereignisgesteuerten Publish-Subscribe-Verfahren mit einem zentralen Server, der den MQTT-Broker bildet und über den die Datenquellen, genannt Publisher, und die Datennutzer, genannt Subscriber, miteinander verbunden werden. Publisher können Sensoren sein, die ihre Messwerte an den Broker melden, Subscriber können Laptops, Tablets sein Smartphones sein, die die Broker-Dienste abbonieren und die abbonierten Informationen vom Broker zugestellt bekommen.

MQTT hat kein festgelegtes Datenformat. Die Daten können als Rohdaten, in JSON oder XML übertragen werden.

Informationen zum Artikel
Deutsch: MQTT-Protokoll
Englisch: message queuing telemetry transport - MQTT
Veröffentlicht: 20.12.2017
Wörter: 371
Tags: #Anwendungsprotokolle
Links: Always-on-Betrieb, Bandbreite, Broker, Daten, Datenformat