{"id":6771,"date":"2022-10-28T07:21:17","date_gmt":"2022-10-28T07:21:17","guid":{"rendered":"https:\/\/network-king.net\/mqtt-das-meistgenutzte-messaging-protokoll-im-iot\/"},"modified":"2022-11-05T07:35:58","modified_gmt":"2022-11-05T07:35:58","slug":"mqtt-das-meistgenutzte-messaging-protokoll-im-iot","status":"publish","type":"articles","link":"https:\/\/network-king.net\/de\/mqtt-das-meistgenutzte-messaging-protokoll-im-iot\/","title":{"rendered":"MQTT: Das meistgenutzte Messaging-Protokoll im IoT"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li><a href=\"#h-was-ist-das-mqtt-protokoll\">Was ist das MQTT-Protokoll?<\/a><\/li>\n\n\n\n<li><a href=\"#h-wer-hat-mqtt-entwickelt\">Wer hat MQTT entwickelt?<\/a><\/li>\n\n\n\n<li><a href=\"#h-wem-gehort-mqtt\">Wem geh\u00f6rt MQTT?<\/a><\/li>\n\n\n\n<li><a href=\"#h-was-ist-die-neueste-version-von-mqtt\">Was ist die neueste Version von MQTT?<\/a><\/li>\n\n\n\n<li><a href=\"#h-was-sind-die-vorteile-von-mqtt\">Was sind die Vorteile von MQTT?<\/a><\/li>\n\n\n\n<li><a href=\"#h-wo-wird-mqtt-eingesetzt\">Wo wird MQTT eingesetzt?<\/a><\/li>\n\n\n\n<li><a href=\"#h-wie-funktioniert-mqtt\">Wie funktioniert MQTT?<\/a><\/li>\n\n\n\n<li><a href=\"#h-was-sind-die-unterschiede-zwischen-mqtt-und-mqtt-sn\">Was sind die Unterschiede zwischen MQTT und MQTT-SN?<\/a><\/li>\n\n\n\n<li><a href=\"#h-wie-gewahrleistet-mqtt-die-dienstgute-qos\">Wie gew\u00e4hrleistet MQTT die Dienstg\u00fcte (QoS)?<\/a><\/li>\n\n\n\n<li><a href=\"#h-wie-wird-bei-mqtt-die-sicherheit-umgesetzt\">Wie wird bei MQTT die Sicherheit umgesetzt?<\/a><\/li>\n\n\n\n<li><a href=\"#h-fazit\">Fazit<\/a><\/li>\n<\/ul>\n\n\n\n<p>Das Internet der Dinge (IoT) ist in den letzten Jahren explosionsartig gewachsen. Das hat zu einer einzigartigen Konstellation in unserer Geschichte gef\u00fchrt: Wir sind von einer steigenden Zahl vernetzter, teils unsichtbarer Ger\u00e4te umgeben, die st\u00e4ndig daran arbeiten, unsere Umwelt sicherer und komfortabler zu machen \u2013 und unseren Alltag effizienter zu gestalten.<\/p>\n\n\n\n<p>Allein k\u00f6nnen diese Ger\u00e4te jedoch nur wenig ausrichten. Denn ihr Potenzial wird nur dann voll ausgesch\u00f6pft, wenn sie miteinander kommunizieren. Aus diesem Grund ist ein leichtes, skalierbares Kommunikationsprotokoll vonn\u00f6ten, das in kosteng\u00fcnstigen Ger\u00e4ten implementiert werden kann, die nicht immer \u00fcber zuverl\u00e4ssige Verbindungen arbeiten.<\/p>\n\n\n\n<p>Ein solches Protokoll existiert bereits seit Mitte der 1990er Jahre und wartet nur auf seinen Einsatz: MQTT wurde entwickelt, um den Anforderungen der \u00d6lindustrie gerecht zu werden. Es wurde schnell zu einem De-facto-Standard f\u00fcr die Nachrichten\u00fcbermittlung im Internet der Dinge, der f\u00fcr ganz unterschiedliche Anwendungen verwendet wird, zum Beispiel die Steuerung einer Fahrzeugflotte oder das Chatten mit Freunden.<\/p>\n\n\n\n<p>In diesem Artikel erkl\u00e4ren wir, was MQTT ist, wie es funktioniert, wo es eingesetzt wird und warum es f\u00fcr das IoT-Segment so attraktiv ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-das-mqtt-protokoll\">Was ist das MQTT-Protokoll?<\/h2>\n\n\n\n<p>MQTT ist ein Protokoll die \u00dcbermittlung von Nachrichten von einer Maschine zur anderen (M2M, Machine to Machine), dessen Hauptmerkmale Leichtigkeit und Einfachheit sind. Es wurde f\u00fcr den Einsatz in Ger\u00e4ten mit begrenzten Ressourcen und eingeschr\u00e4nkter Bandbreite entwickelt, die \u00fcber unzuverl\u00e4ssige Verbindungen oder mit hoher Latenzzeit kommunizieren.<\/p>\n\n\n\n<p>Diese Eigenschaften sind es, die es f\u00fcr Anwendungen im Internet der Dinge ideal machen: z. B. die Fern\u00fcberwachung von Instrumenten oder den Nachrichtenaustausch zwischen mobilen Ger\u00e4ten, bei denen die Bandbreite oder die Stromversorgung begrenzt bzw. kostspielig sind. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wer-hat-mqtt-entwickelt\">Wer hat MQTT entwickelt?<\/h2>\n\n\n\n<p>MQTT wurde 1999 von Andy Stanford-Clark (von IBM) und Arlen Nipper (von Eurotech, Inc.) entwickelt. Bei einem Auftritt in einem IBM-Podcast im Jahr 2011 erinnerte sich Nipper an einige der Umst\u00e4nde, die zur Entstehung des Protokolls f\u00fchrten.<\/p>\n\n\n\n<p>\u201eWie Sie sich bestimmt vorstellen k\u00f6nnen, hatten wir Anfang oder Mitte der 1990er Jahre noch nicht die Netzanbindung, die wir heute haben. Eines der Projekte, an denen ich gearbeitet habe, war ein SCADA-System (Supervisory Control and Data Acquisition) f\u00fcr eine neue Philips Conoco Pipeline. Daf\u00fcr ben\u00f6tigten wir Echtzeitdaten. Damals haben wir in dieser Branche aber noch \u00fcber 1.200-Baud- oder 300-Baud-W\u00e4hlleitungen und Satellitenterminals (VSAT) mit sehr begrenzter Bandbreite kommuniziert.\u201c<\/p>\n\n\n\n<p>\u201eF\u00fcr MQTT hatten wir f\u00fcnf Ziele: Einerseits sollte es einfach zu implementieren sein und Daten mit Quality of Service (QoS) liefern. Au\u00dferdem musste es leicht und bandbreiteneffizient sein, da der Datentransfer damals teuer war. Dar\u00fcber hinaus sollte es datenunabh\u00e4ngig sein und \u00fcber Sitzungspersistenz verf\u00fcgen\u201c, sagte er.<\/p>\n\n\n\n<p>Mit dem Aufkommen des Internets der Dinge (IOT) entstand der Bedarf f\u00fcr ein Protokoll mit genau den Eigenschaften von MQTT. Angel Diaz, Vizepr\u00e4sident f\u00fcr Software-Standards bei IBM, sagt:<\/p>\n\n\n\n<p>\u201eAls Planet sind wir st\u00e4rker vernetzt. Ein Internet der Dinge hat sich herausgebildet. Und das Netz von Ger\u00e4ten, die miteinander kommunizieren und zusammenarbeiten k\u00f6nnen, hat sich explosionsartig vergr\u00f6\u00dfert.\u201c<\/p>\n\n\n\n<p>\u201eEs geschah also [&#8230;], dass ein echter Bedarf f\u00fcr eine Protokoll-Art mit Publisher-Assigner-Architektur aufkam, um die bidirektionale Zustellung von Nachrichten auf eine besser vorhersehbare Weise zu erm\u00f6glichen.\u201c<\/p>\n\n\n\n<p>\u201eDamit konnten wir von einer einfachen Punkt-zu-Punkt-Interaktion zu einer komplexeren Wechselbeziehung \u00fcber das Netz \u00fcbergehen. MQTT ist also ein Protokoll, das genau das erm\u00f6glicht: Das Ver\u00f6ffentlichen und Signieren von Nachrichten und eine vorhersehbare, wechselseitige \u00dcbermittlung dieser Nachrichten.\u201c<\/p>\n\n\n\n<p>Urspr\u00fcnglich war MQTT ein Akronym f\u00fcr \u201eMQ Telemetry Transport\u201c. \u201eMQ\u201c war dabei ein Verweis auf eine IBM-Middleware-Produktlinie namens MQSeries und stand dort f\u00fcr \u201eMessage Queue\u201c. Seit 2013 ist der Begriff jedoch der Name des Protokolls.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wem-gehort-mqtt\">Wem geh\u00f6rt MQTT?<\/h2>\n\n\n\n<p>Obwohl MQTT urspr\u00fcnglich von IBM entwickelt wurde, ist es seit 2013 ein offenes Protokoll. Es wird vom OASIS-Konsortium (Organization for the Advancement of Structured Information Standards) mit Sitz in Massachusetts, USA gepflegt.<\/p>\n\n\n\n<p>Die erste Version des Protokolls, die unter der Verantwortung der OASIS ver\u00f6ffentlicht wurde, war 3.1.1 im Oktober 2014. Diese Version ist auch eine Empfehlung der ISO (International Standards Organization) und der IEC (International Electrotechnical Commission) und tr\u00e4gt die Bezeichnung ISO\/IEC 20922:2016.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-die-neueste-version-von-mqtt\">Was ist die neueste Version von MQTT?<\/h2>\n\n\n\n<p>Die neueste Version von MQTT ist die Version 5, die im M\u00e4rz 2019 von OASIS ver\u00f6ffentlicht wurde. Bei der Festlegung der Ziele stand das zust\u00e4ndige Komitee bei OASIS (OASIS Message Queuing Telemetry Transport Technical Committee) vor der Herausforderung, aufgrund des lang gehegten Wunsches der User neue Funktionen hinzuzuf\u00fcgen \u2013 ohne dabei die Belastung zu erh\u00f6hen oder die Benutzerfreundlichkeit zu verringern. Zudem sollten die Leistung und Skalierbarkeit verbessert werden.<\/p>\n\n\n\n<p>Um diesen Anforderungen nachzukommen, wurden f\u00fcr die Version 5 folgende Ziele festgelegt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verbesserungen bei der Skalierbarkeit und bei gro\u00dfen Systemen<\/li>\n\n\n\n<li>verbesserte Fehlerberichterstattung<\/li>\n\n\n\n<li>Formalisierung gemeinsamer Muster, einschlie\u00dflich der Aufdeckung von F\u00e4higkeiten und der Beantwortung von Anfragen<\/li>\n\n\n\n<li>Erweiterungsmechanismen einschlie\u00dflich der Benutzereigenschaften<\/li>\n\n\n\n<li>verbesserte Leistung und Unterst\u00fctzung f\u00fcr kleine Kunden<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-was-sind-die-vorteile-von-mqtt\">Was sind die Vorteile von MQTT?<\/h2>\n\n\n\n<p>Neben der Leichtigkeit und Einfachheit ist einer der Hauptvorteile von MQTT seine Flexibilit\u00e4t: Denn es konzentriert sich auf den Transport von Nachrichten zwischen zwei Punkten, ohne zu reflektieren, wer die Daten erzeugt oder wie sie genutzt werden sollen.<\/p>\n\n\n\n<p>\u201eWenn ich ein eingebettetes Ger\u00e4t erfinde, brauche ich auch ein Protokoll. Und dann muss ich zur IT-Abteilung laufen und eine Anwendung entwickeln, die mit meinem Ger\u00e4t kommuniziert. Das Ergebnis ist eine L\u00f6sung [&#8230;], die in der Zeit erstarrt ist\u201c, so Niper.<\/p>\n\n\n\n<p>\u201eAus der Zusammenarbeit mit IBM habe ich bei diesem Projekt gelernt: Durch die Einf\u00fchrung einer Publisher-Assigner-Architektur [&#8230;] l\u00e4sst sich die Implementierung von den Datenkonsumenten und den -produzenten auf der Gesch\u00e4fts- oder Ger\u00e4teseite trennen.\u201c<\/p>\n\n\n\n<p>\u201eSo k\u00f6nnen die Verbraucher sehr interessante Anwendungen auf einem End-to-End-Ger\u00e4t schreiben, die Daten ver\u00f6ffentlichen \u2013 ohne dabei zu wissen, wer die Daten konsumiert. Und auf der anderen Seite gibt es Menschen, die die Daten nutzen.\u201c<\/p>\n\n\n\n<p>Dar\u00fcber hinaus erleichtert das Publisher-Subscriber-Modell auch die Skalierbarkeit. Denn unabh\u00e4ngig davon, ob es 10, 100 oder 1.000 Abonnenten zu einem bestimmten Thema gibt. Der Aufwand, den ein Herausgeber betreiben muss, um eine Nachricht an alle zu senden, bleibt derselbe \u2013 eine einzige Verbindung zum Vermittler und eine einzige Nachricht. <\/p>\n\n\n\n<p>Da MQTT ein offener Standard ist, gibt es eine Vielzahl von Implementierungen \u2013 entweder kommerziell oder als Open Source. Das bedeutet, dass es unabh\u00e4ngig von der Hardwareplattform, dem Betriebssystem oder der Programmiersprache, die Sie zur Entwicklung Ihrer Anwendung verwenden, mit Sicherheit eine oder mehrere Implementierungsm\u00f6glichkeiten gibt, die Ihren Anforderungen entsprechen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wo-wird-mqtt-eingesetzt\">Wo wird MQTT eingesetzt?<\/h2>\n\n\n\n<p>Das MQTT-Protokoll wird in unz\u00e4hligen Situationen genutzt \u2013 von industriellen Umgebungen bis hin zur Steuerung von Ger\u00e4ten im Smart Home. Im Grunde genommen ist MQTT \u00fcberall dort im Einsatz, wo ein Nachrichtenaustausch zwischen Ger\u00e4ten erforderlich ist.<\/p>\n\n\n\n<p>Das deutsche Unternehmen CASO Design stellt intelligente Ger\u00e4te f\u00fcr die K\u00fcche her, wie z. B. klimatisierte Weinkeller und Sous-Vide-Umw\u00e4lzger\u00e4te. Bei der Entwicklung der Produkte verfolgte das Unternehmen unter anderem das Ziel, dass diese von Nutzern von praktisch von \u00fcberall gesteuert werden k\u00f6nnen. Au\u00dferdem sollten mehrere Nutzer ein einziges Ger\u00e4t bedienen k\u00f6nnen und die Daten f\u00fcr verschiedene Anwendungen nutzbar sein.<\/p>\n\n\n\n<p>Das ist auch der Grund, aus dem L\u00f6sungen wie eine Bluetooth-Verbindung \u00fcber das UDP-Protokoll, die die physische N\u00e4he zwischen dem Benutzer und dem Ger\u00e4t erfordern, verworfen wurden. So entschied sich das Unternehmen letztendlich f\u00fcr MQTT: Denn \u00fcber Wi-Fi-Verbindungen oder Mobilfunknetze kann ein Ger\u00e4t mit einem Benutzer \u00fcberall auf der Welt kommunizieren.<\/p>\n\n\n\n<p>Dabei lassen sich mehrere Ger\u00e4te \u00fcber eine einzige App steuern. Sie sendet Befehle und benachrichtigt den Benutzer, wenn sich die Temperatur \u00e4ndert oder der Kochvorgang beendet ist. <\/p>\n\n\n\n<p>BMW nutzt MQTT wiederum in den BMW Mobility Services, einem Vehicle-Sharing-System f\u00fcr Flottenbetreiber. Denn eine herk\u00f6mmliche Methode zur Fernsteuerung eines Fahrzeugs w\u00e4re das Senden einer SMS: Diese \u201eweckt\u201c den Bordcomputer, der wiederum eine HTTP-Sitzung mit einem in der Cloud laufenden Back-End-Dienst initiiert.<\/p>\n\n\n\n<p>Jeder, der schon einmal einen Authentifizierungscode erhalten hat, wei\u00df jedoch, dass SMS nicht immer planbar sind. Eine Nachricht kann sofort oder erst nach einigen Minuten ankommen \u2013 oder sie kann unterwegs einfach verschwinden. Au\u00dferdem ist HTTP langsam. Und auch die Gr\u00f6\u00dfe sowie die Anzahl der Nachrichten, die f\u00fcr den Aufbau einer Verbindung ben\u00f6tigt werden, erh\u00f6hen die Netzbetriebskosten.<\/p>\n\n\n\n<p>MQTT war aufgrund seiner Leichtigkeit, einfachen Implementierung und garantierten Dienstqualit\u00e4t die perfekte L\u00f6sung. Denn an einem typischen Tag verarbeitet der BMW-Dienst 90.000 Transaktionen pro Minute, wobei mehr als 80.000 Kunden angeschlossen sind. Und dies in einem Umfeld, in dem die Netzzuverl\u00e4ssigkeit aufgrund der sehr mobilen und verstreuten Natur der Anwendung gering ist.<\/p>\n\n\n\n<p>Laut Stanford-Clark, dem Mitbegr\u00fcnder von MQTT, wird das Protokoll jedoch nicht nur in Automatisierungssystemen eingesetzt. So \u00fcbernahm Facebook es im Jahr 2011 als Transportschicht f\u00fcr seine beliebte Instant-Messaging-App Messenger. \u201eDadurch wurde MGTT buchst\u00e4blich \u00fcber Nacht von 800 Millionen Menschen genutzt\u201c, sagte er.<\/p>\n\n\n\n<p>Und so funktioniert das Ganze: In Messenger wird bei jeder Unterhaltung ein Thread erstellt, den die Chatteilnehmer abonnieren und in den sie Beitr\u00e4ge schreiben. Anstelle eines einzigen gibt es jedoch mehrere Vermittler \u2013 und ein \u201eTopic Director\u201c leitet die Datenpakete an den f\u00fcr einen bestimmten Chat zust\u00e4ndigen Vermittler weiter.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus wird MQTT in Cloud-Plattformen wie Amazons AWS, Microsofts Azure, IBMs Watson und Googles IoT-Plattformen verwendet. Damit ist MQTT im Jahr 2018 das meistgenutzte Protokoll f\u00fcr den Nachrichtentransport im Internet der Dinge geworden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-funktioniert-mqtt\">Wie funktioniert MQTT?<\/h2>\n\n\n\n<p>MQTT arbeitet mit einer Publisher-Subscriber-Architektur. Clients k\u00f6nnen Nachrichten senden (als Herausgeber) oder empfangen (als Abonnenten). Es gibt aber keine direkte Verbindung zwischen ihnen: Denn die gesamte Kommunikation wird von einem Vermittler (Broker) gesteuert, der die ver\u00f6ffentlichten Nachrichten in einer Hierarchie von Themen organisiert und an interessierte Parteien verteilt.<\/p>\n\n\n\n<p>Eine Analogie dazu ist eine traditionelle Zeitungsredaktion. Die Publisher w\u00e4ren hier die Reporter, die die Nachrichten sammeln und an die Redaktion weiterleiten. Diese wiederum fungiert als Vermittler und gliedert die Informationen in Abschnitte oder Themen. Die Abonnenten konsultieren hingegen die Zeitung, um Informationen zu den Themen zu erhalten, die sie interessieren.<\/p>\n\n\n\n<p>Ein praktischeres Beispiel: Stellen Sie sich vor, dass ein Client ein Sensor ist, der die Temperatur eines Motors \u00fcberwacht. Wenn der Sensor \u00fcber neue Informationen verf\u00fcgt (z. B. einen Temperaturanstieg), sendet er eine Nachricht zu diesem Thema (z. B. \u201eTemperatur\u201c) und die Information (z. B. \u201e+10 \u00b0C\u201c) an den Vermittler. Dieser wiederum leitet die Auskunft dann an alle Abonnenten des Themas \u201eTemperatur\u201c weiter.<\/p>\n\n\n\n<p>Allerdings schlie\u00dfen sich die Rollen von Publisher und Abonnent nicht aus \u2013 und das bedeutet Folgendes: Derselbe Kunde, der Informationen \u00fcber die Motortemperatur sendet, kann einen Thread \u00fcber den F\u00fcllstand der K\u00fchlfl\u00fcssigkeit abonnieren. So kann er diesen unter Kontrolle halten und die Informationen nutzen, um entsprechend zu handeln.<\/p>\n\n\n\n<p>Der Vermittler kann wiederum eine dedizierte Appliance, ein PC mit Open-Source-Software im lokalen Netzwerk, ein Server in einem Unternehmensrechenzentrum oder sogar eine virtualisierte Instanz in der Cloud sein. Und auch der Standort und die Art des Vermittlers spielen keine Rolle, solange er \u00fcber TCP\/IP mit Herausgebern und Abonnenten \u201esprechen\u201c kann.<\/p>\n\n\n\n<p>So wie eine Nachbarschaftszeitung keine Informationen \u00fcber eine neue Entdeckung in der Quantenphysik ver\u00f6ffentlicht, verwirft ein Vermittler eine Nachricht \u00fcber Themen, f\u00fcr die es keine Abonnenten gibt. Optional kann der Herausgeber jedoch angeben, dass diese Mitteilung zur\u00fcckgehalten werden soll, bis ein Abonnent sein Interesse an dem Thema bekundet.<\/p>\n\n\n\n<p>In diesem Fall erh\u00e4lt der Subscriber die Nachricht, sobald er das entsprechende Thema abonniert hat. Auf diese Weise bekommt er sofort die neuesten verf\u00fcgbaren Informationen, ohne dass er auf eine Aktualisierung durch einen Publisher warten muss.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus k\u00f6nnen die Publisher auch eine als \u201eLetzter Wille und Testament\u201c bekannte Nachricht definieren. Diese wird dann an alle Abonnenten eines Themas gesendet, wenn die Verbindung zwischen dem Vermittler und dem Publisher pl\u00f6tzlich unterbrochen wird.<\/p>\n\n\n\n<p>Apropos Verbindungen: MQTT verf\u00fcgt \u00fcber eine Funktion namens \u201ePersistent Sessions\u201c, die den Overhead beim erneuten Verbinden eines Clients mit einem Vermittler reduziert \u2013 insbesondere in instabilen Netzen, in denen dies h\u00e4ufig vorkommen kann.<\/p>\n\n\n\n<p>Normalerweise muss ein Client, wenn er sich erneut mit einem Vermittler in Verbindung setzt, alle Themen, die ihn interessieren, noch einmal abonnieren. Wenn jedoch eine dauerhafte Sitzung angefordert wird, speichert der Vermittler verschiedene Informationen \u00fcber den Kunden, die zum Zeitpunkt der erneuten Verbindung sofort verf\u00fcgbar sind.<\/p>\n\n\n\n<p>So kann der Client die Kommunikation dort fortsetzen, wo er sie unterbrochen hat \u2013 ohne Zeit (und Ressourcen) f\u00fcr die Neusignierung von Threads, die Neudefinition von QoS-Stufen usw. zu verschwenden.<\/p>\n\n\n\n<p>Die MQTT-Daten\u00fcbertragung erfolgt in der Regel \u00fcber das TCP\/IP-Protokoll (unter Verwendung des Standardports 1883). Allerdings kann stattdessen auch jedes andere Protokoll verwendet werden, das ordnungsgem\u00e4\u00dfe, bidirektionale und verlustfreie Paketverbindungen bietet. Zudem ist die Gr\u00f6\u00dfe der Nachrichten unterschiedlich und kann je nach Bedarf zwischen 2 Byte und 256 Megabyte liegen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-was-sind-die-unterschiede-zwischen-mqtt-und-mqtt-sn\">Was sind die Unterschiede zwischen MQTT und MQTT-SN?<\/h2>\n\n\n\n<p>MQTT f\u00fcr Sensornetzwerke (MQTT-SN) ist eine Erweiterung des MQTT-Protokolls f\u00fcr den Einsatz in drahtlosen Sensornetzwerken (WSN).<\/p>\n\n\n\n<p>Solche Netze bestehen in der Regel aus einer gro\u00dfen Anzahl von Sensoren und Aktoren (SA) mit begrenzter Verarbeitungs- und Speicherkapazit\u00e4t. Diese kommunizieren \u00fcber drahtlose Verbindungen mit niedriger Bandbreite sowie kurzer Reichweite und sind au\u00dferdem nicht besonders zuverl\u00e4ssig, da sie anf\u00e4llig f\u00fcr Unterbrechungen durch Hindernisse oder St\u00f6rungen sind.<\/p>\n\n\n\n<p>Das MQTT-Protokoll scheint f\u00fcr diese Situation ideal zu sein \u2013 es erfordert jedoch eine TCP\/IP-Implementierung, die f\u00fcr so einfache Ger\u00e4te und Verbindungen wie die in den SAs verwendeten zu kostspielig sein k\u00f6nnte.<\/p>\n\n\n\n<p>F\u00fcr MQTT-SN wird so etwas nicht ben\u00f6tigt. Denn MQTT-SN kann \u00fcber jede Art von Netz betrieben werden, das eine bidirektionale Daten\u00fcbertragung zwischen einem Ger\u00e4t und einem Gateway erm\u00f6glicht.<\/p>\n\n\n\n<p>MQTT-SN wurde 2007 ebenfalls von IBM entwickelt und sollte urspr\u00fcnglich in Netzwerken eingesetzt werden, die auf dem Zigbee-Protokoll basieren. Dieses beruht wiederum auf dem IEEE-Standard 802.15.4 f\u00fcr Wireless Personal Area Networks (WPANs).<\/p>\n\n\n\n<p>Wie MQTT ist auch MQTT-SN ein Standard, der von OASIS gepflegt wird. Die aktuellste Version der Spezifikation ist 1.2. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-gewahrleistet-mqtt-die-dienstgute-qos\">Wie gew\u00e4hrleistet MQTT die Dienstg\u00fcte (QoS)?<\/h2>\n\n\n\n<p>Beim Aufbau einer Verbindung mit einem Vermittler kann ein Kunde (entweder Herausgeber oder Teilnehmer) je nach den Anforderungen der Anwendung drei Stufen der Dienstqualit\u00e4t festlegen.<\/p>\n\n\n\n<p>Beim Aufbau einer Verbindung mit einem Vermittler kann ein Kunde (entweder Herausgeber oder Teilnehmer) je nach den Anforderungen der Anwendung drei Stufen der Dienstqualit\u00e4t festlegen.<\/p>\n\n\n\n<p>Eine Analogie f\u00fcr diese Ebene w\u00e4re ein Supermarkt, der ein Unternehmen damit beauftragt, Flugbl\u00e4tter mit Angeboten f\u00fcr seine Kunden an die Haushalte einer Stadt zu verteilen. Er bittet nicht um eine Best\u00e4tigung, dass jedes Flugblatt zugestellt wurde. Und auch die Kunden machen sich nicht die M\u00fche, im Supermarkt anzurufen, um zu best\u00e4tigen, dass sie ein Exemplar erhalten haben.<\/p>\n\n\n\n<p>Stufe 1 wird als \u201eat least once\u201c bezeichnet. Wenn auf dieser Ebene nach einem bestimmten Zeitintervall keine Empfangsbest\u00e4tigung f\u00fcr die Nachricht vorliegt, wird sie erneut gesendet, bis diese Zeitspanne verstrichen ist. Au\u00dferdem ist es m\u00f6glich, dass eine Nachricht mehr als einmal empfangen oder zugestellt wird, z. B. wenn die Empfangsbest\u00e4tigung unterwegs aufgrund eines Verbindungsfehlers verloren geht.<\/p>\n\n\n\n<p>In diesem Fall k\u00f6nnten wir, um die vorherige Analogie aufzugreifen, die Flugbl\u00e4tter durch einen Rechnungsbrief ersetzen. Wenn keine Empfangsbest\u00e4tigung (durch die Bezahlung der Rechnung) vorliegt, wird diese erneut versandt, bis die Zahlung eintrifft.<\/p>\n\n\n\n<p>Die Stufe 2 wird \u201eexactly once\u201c genannt. Hier f\u00fchren sowohl der Kunde als auch der Vermittler einen zweistufigen Handshake durch, um sicherzustellen, dass nur eine Kopie der Nachricht zugestellt wird.<\/p>\n\n\n\n<p>Analog zur Post l\u00e4sst sich dies mit einem Einschreiben mit R\u00fcckschein vergleichen. Dieser geht im Anschluss an den Absender zur\u00fcck und garantiert, dass der Brief zugestellt wurde.<\/p>\n\n\n\n<p>Zudem ist es wichtig, sich daran zu erinnern, dass in MQTT immer ein Vermittler zwischen dem Herausgeber und dem Teilnehmer steht. Das bedeutet, dass es in jeder \u201eUnterhaltung\u201c zwei Verbindungen gibt: eine zwischen dem Herausgeber und dem Vermittler und eine weitere zwischen dem Vermittler und dem Teilnehmer.<\/p>\n\n\n\n<p>Diese Verbindungen k\u00f6nnen unterschiedliche QoS-Stufen haben. Ist das der Fall, stellt ein Vermittler dem Subscriber die Nachrichten immer mit der vom Abonnenten definierten QoS-Stufe zu \u2013 unabh\u00e4ngig von der, die der Herausgeber festgelegt hat.<\/p>\n\n\n\n<p>Stellen Sie sich nun einmal vor, ein Herausgeber sendet Nachrichten zu einem Thema wie \u201eKraftstofff\u00fcllstand\u201c mit QoS 1. Sie werden dem Vermittler unter Einhaltung dieses Niveaus zugestellt, d. h. mit wiederholtem Versand, bis eine Zustellbest\u00e4tigung vorliegt. Wenn der Abonnent dieses Themas jedoch QoS 0 angegeben hat, wird er die Nachricht nur einmal erhalten und der Vermittler erh\u00e4lt keine Best\u00e4tigung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-wird-bei-mqtt-die-sicherheit-umgesetzt\">Wie wird bei MQTT die Sicherheit umgesetzt?<\/h2>\n\n\n\n<p>In der Version 3.1 des Protokolls ist es m\u00f6glich, einen Benutzernamen und ein Passwort einzugeben, um eine Verbindung zu kontrollieren. Allerdings werden diese Daten \u201eoffen\u201c (im Klartext) \u00fcbertragen und es gibt keine Verschl\u00fcsselung.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus kann auch mitimplementiert SSL werden \u2013 unabh\u00e4ngig vom MQTT-Protokoll selbst. Es gibt aber einen inh\u00e4renten Nachteil beim Netzwerk- und Verarbeitungs-Overhead, da SSL kein leichtgewichtiges Protokoll ist. Denn verschl\u00fcsselte Verbindungen verwenden standardm\u00e4\u00dfig Port 8883.<\/p>\n\n\n\n<p>Au\u00dferdem k\u00f6nnen Anwendungen die gesendeten und empfangenen Informationen auch verschl\u00fcsseln. Um das Protokoll einfach und leicht zu halten, ist dies jedoch nicht standardm\u00e4\u00dfig  integriert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fazit\">Fazit<\/h2>\n\n\n\n<p>Obwohl es nicht f\u00fcr das Internet der Dinge entwickelt wurde, ist der Erfolg von MQTT direkt mit seiner Verbreitung verbunden, die sich in absehbarer Zeit nicht verlangsamen wird. Das Protokoll ist leichtgewichtig, flexibel und mit zahlreichen Implementierungen verf\u00fcgbar. Deshalb ist es sicherlich eine \u00dcberlegung wert, wenn Sie das n\u00e4chste Mal ein IoT-Ger\u00e4t oder eine Anwendung entwickeln.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Internet der Dinge (IoT) ist in den letzten Jahren explosionsartig gewachsen. Das hat zu einer einzigartigen Konstellation in unserer Geschichte gef\u00fchrt: Wir sind von einer steigenden Zahl vernetzter, teils unsichtbarer Ger\u00e4te umgeben, die st\u00e4ndig daran arbeiten, unsere Umwelt sicherer und komfortabler zu machen \u2013 und unseren Alltag effizienter zu gestalten. Allein k\u00f6nnen diese Ger\u00e4te&#8230;<\/p>\n","protected":false},"featured_media":6746,"comment_status":"closed","ping_status":"closed","template":"","format":[],"category":[231,49],"tags":[],"company":[],"topic":[],"class_list":["post-6771","articles","type-articles","status-publish","has-post-thumbnail","hentry","category-industrial-iot","category-iot"],"acf":[],"_links":{"self":[{"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/articles\/6771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/articles"}],"about":[{"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/types\/articles"}],"replies":[{"embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/comments?post=6771"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/media\/6746"}],"wp:attachment":[{"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/media?parent=6771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/category?post=6771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/tags?post=6771"},{"taxonomy":"format","embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/format?post=6771"},{"taxonomy":"company","embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/company?post=6771"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/network-king.net\/de\/wp-json\/wp\/v2\/topic?post=6771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}