Dein letzter Login ist schon eine Weile her.

Bitte überprüfe, ob alle Angaben in Deinem Profil noch aktuell sind.


25.10.2018
von Jan-Dirk
in IT-Talents

Was ist MQTT?

x
Wir haben den besten IT-Job für Dich!
Jetzt fündig werden

Message Queue Telemetry Transport - Der Standard für Internet of Things- und Machine to Machine-Kommunikation

Das offene MQTT-Protokoll (Message Queue Telemetry Transport) hat sich als der populärste Ansatz für sichere Kommunikation im Internet of Things (IoT) und damit auch Machine to Machine (M2M)-Kommunikation erwiesen.

Lesezeit: ca. 3 Min.

Bewerten

Themen auf dieser Seite:

IT-Talents.de ist Deine Plattform für Förderung und Weiterbildung während des IT-Studiums!
Fördermöglichkeiten ansehen


Was ist MQTT?

MQTT ist ein Protokoll für die IoT- bzw. M2M-Kommunikation von Geräten und Applikationen. Es unterscheidet sich von Request/Response-Protokollen wie HTTP oder CoAP dadurch, dass es alle Kommunikationsteilnehmer entkoppelt: Für den Datenaustausch werden Nachrichten über einen zentralen Verteiler an die Teilnehmer gesendet, weshalb kein tieferes Wissen über empfangende Applikationen vorhanden sein muss.

Das MQTT Protokoll wurde ursprünglich für ressourcenarme Geräte entwickelt, die über schlechte Konnektivität verfügen, und zeichnet sich daher durch extreme Schlankheit aus. Dadurch ist MQTT ideal geeignet für die Embedded-Entwicklung.

Seit der Einführung 1999 hat sich MQTT kontinuierlich weiterentwickelt, mittlerweile ist Version 3.1.1 ein offizieller OASIS und ISO Standard. Der Nachfolger, MQTT 5, wurde 2018 spezifiziert.

Wie funktioniert MQTT in der Machine to Machine-Kommunikation (M2M)?

MQTT realisiert eine 1:N-Kommunikation, d.h. ein Teilnehmer sendet eine Nachricht, die mehrere Abonnenten zugestellt bekommen können. Ein Teilnehmer kann sowohl Daten senden als auch empfangen. Jede Kommunikation findet über einen zentralen Verteiler statt, den sogenannten MQTT Message Broker. Der Publisher (Produzent von Nachrichten) und der Subscriber (Empfanger der Nachrichten) sind dadurch entkoppelt. Eine Nachricht enthält neben dem "Topic" die eigentlichen Nutzdaten. Das Topic kann wie ein Dateisystempfad eine Hierarchie mit Haupt- und untergeordneten Themen abbilden. Möchte ein MQTT-Client Nachrichten für ein Topic empfangen, abonniert er es beim Message Broker. Ein Abonnement kann direkt für ein konkretes Topic erfolgen, oder es können Teilbäume der Topic-Hierarchie durch sog. Wildcards abonniert werden. Die interessierten Clients werden durch den Broker beim Eintreffen neuer Nachrichten benachrichtigt, statt selbst beim Server Änderungen anzufragen. Sendende und empfangende Clients bleiben über eine stehende TCP-Verbindung mit dem MQTT Broker verbunden. Die Verbindung bauen die Clients selber auf und benötigen anders als der Broker keine IP-Adresse.

Der MQTT Broker kann nun mittels Push-Verfahren eine Nachricht ohne Verzogerung an Clients ausliefern. Damit implementiert MQTT das Publish/Subscribe-Muster und gewährleistet eine hocheffiziente Kommunikation zwischen den Teilnehmern.

Protokolle für die M2M-Kommunikation müssen Leichtgewichte sein. MQTT enthält daher keine kryptografischer Verfahren, sondern nützt zur Absicherung externe Protokolle bzw. überlässt sie der Anwendung.

Auf IT-Talents.de kannst Du Dich mit dem Who-is-Who der IT-Branche vernetzen!
Jetzt Top-Unternehmen anschauen


Eigenschaften und Besonderheiten von MQTT

MQTT ist optimal für den Austausch kleiner Nachrichten in großer Zahl mit hoher Frequenz. Die bandbreitenschonende Push-Kommunikation und die Einfachheit in der Implementierung und Nutzung ist eine der Besonderheiten des Nachrichtenprotokolls.

Daneben bietet MQTT weitere Protokollfeatures, darunter:

  • Quality-of-Service-Levels zur Sicherstellung des Empfangs einer Nachricht (auch bei zwischenzeitlicher Trennung der Verbindung)
  • Retained Messages: Die zuletzt gesendete Nachricht kann beim Broker hinterlegt werden und sofort an neue Subscriber geschickt werden.
  • Last Will and Testament: Hiermit kann einem Client-Geräteverbund angezeigt werden, dass sich ein Client unerwartet abgemeldet hat. Ein Client hinterlegt dazu eine "Last Will"-Message beim Broker, der diese an alle Subscriber sendet, wenn sich der Client nicht ordentlich abgemeldet hat.
  • Persistent Sessions: Der Broker kann einem nicht verbundenen Client alle verpassten Messages vorhalten und sie ihm senden, sobald er sich neu verbindet.

Als Enterprise-Protokoll fehlen MQTT Features wie Transaktionen und Custom Header. Enterprise-Anwendungen können aber leicht über einen Broker, der mehrere Protokolle unterstützt, verbunden werden. Es stehen zahlreiche Broker und Client-Bibliotheken für viele Plattformen und Programmiersprachen sowie Werkzeuge wie Protokoll-Analyzer zur Verfügung.
Spezielle Broker wie der HiveMQ Broker bieten ein Plugin-System, mit dem Applikationslogik für den Broker nachgerüstet werden kann, z.B. das Speichern von Messages in Datenbanken. Zu Testzwecken kann man einen der öffentlichen Broker verwenden.

MQTT 5 bringt Vereinfachungen für hochskalierbare Systeme, wie verbesserte Fehlerbehandlung, Vereinfachungen für die Entwicklung eigener Client-Bibliotheken, verbesserte Authentifizierungs- und Autorisierungsmechanismen sowie Identifikation und Formalisierung von typischen Kommunikationsmustern.
Broker wie HiveMQ bieten eine Kompatibilitätsschicht der verschiedenen Protokollversionen.

Wie kann ich MQTT beim Entwickeln nutzen?

Für alle gängigen Programmiersprachen sind produktionsreife Implementierungen verfügbar. Zum Start benötigt der Entwickler einen MQTT Broker sowie eine MQTT Client Bibliothek. Es empfiehlt sich z.B. der MQTT Broker Mosquitto, der in C geschrieben und ideal für den Betrieb auf ressourcenarmer Hardware ist. Für Cloud Deployment eignet sich der Broker HiveMQ, der speziell für professionelle Umgebungen und Hochverfügbarkeit konzipiert wurde.

Zur Applikationsentwicklung ist das Eclipse Paho Projekt beliebt. MQTT-Implementierungen findet man hier für diverse Programmiersprachen. Für Cloud-Backend-Dienste gibt es die MQTT Bibliothek MQTT Bee.

Wenn Du willst: IT-Talents.de ist Dein Headhunter! Unser Team macht sich für Dich auf die Suche nach dem passenden Arbeitgeber. Bequem und persönlich.
Jetzt JobScout anschauen


Fazit

Das heute populärste offene Kommunikationsprotokoll für das Internet of Things bietet mit leichtgewichtiger Push-Funktionalität viele Funktionen, die dem Anwendungsentwickler das Leben vereinfachen, eine sichere, performante und gut wartbare Kommunikation der Applikation mit und zwischen anderen Geräten zu implementieren.

Aktuelle Aktionen:

IT-Stipendien November 2019

1200€ Förderung für IT-Talente



Sei dabei und sichere Dir bei den IT-Stipendien im November 2019 jeweils bis zu 1200€ Förderung!
Es werden mindestens 4 Stipendien vergeben!
Jetzt bewerben!

IT-Talents ist ein Netzwerk nur für IT'ler. Auf unserer Plattform kannst Du Dich als registriertes Mitglied mit wenigen Klicks auf die Jobs unserer Partnerunternehmen oder auf IT-Projekte für Studierende bewerben. Darüberhinaus führen wir Wettbewerbe durch und vergeben IT-Stipendien.

Jetzt Mitglied werden.

Verwandte Artikel

Was ist SAP BPC?

12. Sep 2019 in Software

Der Unternehmenserfolg hängt nicht nur von der Nachfrage an Produkten und Dienstleistungen ab. Es ist auch das Ergebnis …

weiter

Was ist eine E-Mail und wie funktioniert sie?

19. Aug 2019 in IT-Talents

Mittlerweile haben sich E-Mails auf der ganzen Welt durchgesetzt und lösen Briefe, Faxe und Telegramme immer mehr ab. …

weiter

Was ist Docker?

13. Aug 2019 in IT-Talents

Docker bietet Entwicklern die Möglichkeit, dass ihre Arbeiten, wie entwickelte Softwares oder geschriebene Codes auf …

weiter

Was macht ein IT-Auditor?

17. Jul 2019 in IT-Talents

Was genau macht eigentlich ein IT-Auditor? In diesem Artikel schlüsseln wir nicht nur die Verantwortlichkeiten eines …

weiter

Was ist E-Commerce?

13. Jul 2019 in IT-Talents

E-Commerce, auch Internethandel oder Onlinehandel genannt, ist der Fachbegriff für jegliche Ein- und Verkaufsvorgänge, d…

weiter

E-Commerce Manager - der Beruf, die Aufgaben und das Gehalt

05. Jul 2019 in IT-Talents

E-Commerce, also der Handel im Internet, nimmt eine immer größere Bedeutung in der heutigen Gesellschaft ein. Dadurch w…

weiter

Was macht ein Kaufmann/Kauffrau im E-Commerce?

03. Jul 2019 in IT-Talents

Der Onlinehandel boomt und macht derzeit einen Großteil der Wirtschaft aus. Mit dem Ausbildungsberuf Kaufmann/frau im …

weiter

Was ist SAP PM?

15. May 2019 in Software

SAP PM bietet eine umfassende Palette von Business-Softwarelösungen, damit Unternehmen ihre Geschäftsmodelle optimieren u…

weiter

Was ist SAP EWM?

14. May 2019 in Software

Die reibungslosen Prozesse im Bereich der Lagerlogistik sind von fundamentaler Bedeutung für Unternehmen. Aus diesem …

weiter

Schnell-Login für unsere Mitglieder

Tipp: Halte Dein Profil aktuell.

Lass' uns wissen, falls sich etwas Neues bei Dir ergibt.

Tipp: Vervollständige Dein Profil für noch bessere Karrierechancen.

Bist Du Schüler, Student oder bereits berufstätig? Teile uns Deinen aktuellen Status mit, damit wir Dir sinnvolle Aufgaben anbieten können.

Jetzt Status angeben

Wann stehst Du der IT-Branche zur Verfügung?

Bitte Monat und Jahr angeben.

{{ perspectiveForm.availableFrom.$error.dynamic }}

Neuer Versuch

Wo möchtest Du durchstarten?

{{ location.geolocation.name }}×
Bitte mindestens ein Ort angeben.

Als {{currentUser.status.title}} bist Du bereit für:


Lade Beschäftigungsarten

Bitte wähle den Zeitpunkt, Ort und min. eine Beschäftigungsart aus.

You have voted!
Schliessen
Vote for:
stars
Vote
You have not rated!