MQTT
Als Message Queue Telemetry Transport (kurz MQTT) wird ein binäres Subscribe-Protokoll bezeichnet, welches Nachrichten zwischen verschiedenen Maschinen überträgt. Besonders wird das MQTT-Protokoll beim Internet of Things und der Machine-to-Machine-Kommunikation (M2M) eingesetzt. Das Protokoll eignet sich für die Übertragung von Nachrichten in Netzwerken, die relativ unzuverlässig sind und über eine geringe Bandbreite mit einer hohen Latenz verfügen. Daher ist MQTT ein Client-Server-Modell. Von Clients werden, nachdem eine Verbindung aufgebaut wurde, Nachrichten, die hierarchisch aufgebaut sind, zum Server („Broker“) geschickt. Die Nachrichten enthalten einen Header, ein Topic sowie den eigentlichen Inhalt der Nachricht. Die Nachricht kann beispielsweise in der Form „Ergeschoss-Küche-Kühlschrank-Gefrierfach-Temperatur“ aufgebaut sein. Die eigentliche Nachricht ist in diesem Beispiel die Temperatur des Gefrierfachs. Die MQTT-Nachrichten bestehen aus drei sogenannten Qulaity of Service Stufen (QoS-Stufen). Diese werden im Header festgelegt. Ja nachdem, in welcher Qos-Stufe sich die Nachrichten befinden, werden diese maximal einmal versendet und können daher verloren gehen oder sie werden mehrfach gesendet, bis eine entsprechende Bestätigung eingetroffen ist.
Anwendungsbeispiele für das MQTT-Protokoll sind:
- Übertragen von Sensordaten, wie beispielsweise Temperatur und Füllstände
- Standardnachrichten wie der Kurs der Aktien und Kurzmitteilungen
- Mobile-Apps von Facebook
Zu den reservierten Ports für das einen MQTT-Server (auch Broker genannt) gehören die Ports 1883 und 8883. Diese Ports wurden von der Internet Assigned Numbers Authority (IANA) festgelegt.
Das MQTT-Protokoll wurde 1999 von IBM und Cirrus Link Solutions entwickelt. Seit dem Jahr 2013 kümmert sich die OASIS (Organization for the Advancement of Structured Information Standards) um das Protokoll. 2018 kam mit dem MQTT5-Standard ein neuer Standard heraus, welcher umfangreiche Verbesserungen zu seinem Vorgänger, der Version 3.1.1, mit sich brachte.