HomeBlog MQTT 5 vs MQTT 3

Was ist neu in MQTT 5 und Vorteile über Version 3.1

von Ponlakshmi


MQTT 5

MQTT ist das am weitesten verbreitete und akzeptierte TCP/IP-Protokoll für IoT M2M-Kommunikation geworden. Die weit verbreitete Adoption hat zu einer steigenden Nachfrage nach Erweiterungen derMQTAngabe, die MQTT 5 verursacht. Diese neue Version soll den Bedürfnissen moderner IoT-Anwendungen gerecht werden, insbesondere in der Fertigung Systeme, Logistik, Smart Homes, Enterprise IoT und mobile Anwendungen, bei denen die Funktionen von MQTT 5 die Skalierbarkeit, Leistung und Zuverlässigkeit.

MQTT 5 Funktionen - Funktionsübersicht

Obwohl das MQTT-Protokoll nicht viel über die Umsetzung gesagt hat, wurde MQTT 5 sorgfältig entwickelt, um helfen den Lösungsanbietern, ihre Lösungen besser zu skalieren. Die neuen Features in der MQTT-Version 5 sollen die folgenden Ziele erreichen:


Wie ist das? Waage Anwendungen:Die Durchflussregelung der Daten zwischenMQT Brokerund die Kunden werden mit den Verbesserungen im Protokoll weitgehend rationalisiert. Strom Steuerung, Gemeinsames Abonnement und Session-Handling helfen, großformatig zu bauenInternet und Internet.


Bessere Fehlermeldung:MQT 5 Protokoll hat starke Rückgabecodes für die Fehler hinzugefügt, die während der Kommunikation passieren. Fast alle die MQTT Packets hat den Rückgabecode in einem einzigen Byte des Headers. Der Wert des Bytes gibt eine größere Anzahl von Fehlern für eine bessere Umsetzung an.


Gut definiert M2M Kommunikation:MQTT 3 unterstützt nicht, wie die Themen und Nachrichten innerhalb definiert werden müssen. MQTT 5 hat Möglichkeiten in dieMQTT KundenKommunikation miteinander. Die MQTT Anfrage und Antwort Durchfluss wird definiert, wie die Kanteneinrichtungen an der Applikationsschicht kommunizieren.


Ausbau des MQTT Spezifikationen:Den MQTT Packets und der Nutzlast können die benutzerdefinierten Eigenschaften hinzugefügt werden. Die benutzerdefinierten Eigenschaften helfen, die Protokoll, wie für die Umsetzung erforderlich. Alle Control und die Datenpakete unterstützen Eigenschaften außer PINGREQ und PINGRESP.

MQTT 5 vs MQTT 3 - Unterschiede & Vorteile

MQTT v5.0 unterscheidet sich von MQTT 3 in verschiedenen Aspekten Fortschritte in den Kommunikationsprotokollen und grundlegende Veränderungen in der Es werden Wegesitzungen, Nachrichtenübermittlung und Abonnementmanagement bearbeitet. Diese Auszeichnungen tragen zu einem weiterentwickelten und vielseitigeren Messaging-Protokoll im Vergleich zu seinem Vorgänger.


Im Folgenden sind die Fortschritte in MQTT 5 :


  • Es stellt dieIn den Warenkorb. Dies ermöglicht den Kunden setzen Sie eine maximal zulässige Zeit für eine Sitzung, Verbesserung der Sitzungsverwaltung Fähigkeiten.
  • Die! In den WarenkorbFunktion ermöglicht es Clients, eine Zeit anzugeben Verzögerung vor dem SendenLetztes Testament & Testament Nachricht. Dies bietet eine nuancierte Kontrolle über das Nachrichtenübertragungszeitpunkt.
  • Im Gegensatz zu MQTT v3.1 bietet MQTT 5 eineDas ist ein Fehler.Funktion. Dies ermöglicht es Kunden, die Lebensdauer von Nachrichten zu verwalten, indem bestimmte Zeitlimits für ihre relevant.
  • DieBenachrichtigungenermöglicht es Clients, Payload anzugeben Struktur, Förderung der standardisierten Dateninterpretation. Gleichzeitig die Einführung eines Attributs "Content Type" verbessert die Klarheit der Informationen und unterscheidet sie von MQTT 3.1.
  • Was ist das?in MQTT 5 Streamline-Kommunikation. Kunden können Concise verwenden Aliasen statt Vollständige Themenstrings, Minimierung von Daten über Kopf.
  • DieDieFeature ermöglicht eine strukturierte Anfrage-Response Modell. Kunden können Antworten auf bestimmte Themen erwarten und die Flexibilität der Kommunikation verbessern.
  • VerwendungNicht-lokale Veröffentlichung, die Kunden können wählen, nicht erhalten die Nachrichten, die sie veröffentlichen.
  • Clients aktualisieren die gespeicherte Nachrichtenkontrolledurch Angabe, wann und wie Sie senden oder Aktualisierung der gespeicherten Nachrichten.
  • DieBezeichnungdient dazu, den Server zuzulassen die Abonnements identifizieren. Es hilft auch bei der Verfolgung dieser Abonnements.
  • Geteilte Abonnementsmehr Flexibilität bieten. Sie machen das durch die Einarbeitung zusätzliche Symbole und Filterfunktionen.
  • Grundcodes für alle ACK-Nachrichtenin MQTT 5 klare Indikatoren für Meldungen oder Ablehnung. Dies erhöht die Transparenz der Kommunikation und die Fehlerbehandlung. Es steht im Gegensatz zu früheren Versionen.
  • In MQTT 5.0 können Pakete über Abschaltungen von beiden Client- und Serverseiten gesendet werden, a Fähigkeit fehlt in Version 3.1.
  • Benutzereigenschaften in MQTT 5die Speicherung von Werten für verschiedene Eigenschaften ermöglichen mit Schlüsseln.
  • Sowohl der MQTT-Client als auch der Server verhängen Einschränkungen. Diese Einschränkungen beinhalten Einschränkungen auf maximal Paket Größe (Anzahl der Bytes zu senden) & maximale Nachrichten zu senden gleichzeitig. Diese Einschränkungen gelten entweder auf Client- oder Serverseite.
  • Serverumleitung/Referenz sind Attribute, die die Übertragung vonMQTT-Paketezwischen Broker/Servern.

MQTT 5 - Technisches Bohren von Funktionen

Sitzungsablauf

Detach the Clean Session Flag in eine Clean Start-Flagge, die anzeigt, dass die Sitzung beginnen sollte ohne Verwendung vorhandener Sitzung und Sitzungsdauer, die angibt, wie lange die Sitzung nach einer trennen. Beim Abschalten, das Ablaufintervall kann geändert werden. In MQTT v3.1, Einstellung Clean Start zu 1 und Session Expiry Intervall bis 0 entspricht zur Einstellung von Clean Session auf 1.


Auslieferung der Nachricht

Nachrichtenverfall ist eine optionale Komponente derÖFFENTLICHE Steuerpaket. Die Nachrichtenübermittlung im ÖFFENTLICHEn Paket, das vom Server an einen Client geliefert wird, muss auf das Gesamtwert ohne die Zeit, die die Nachricht im Server wartet. Das Publish Expiry Interval, das für beide gilt Online und gelöschte Nachrichten, ist die Dauer der Veröffentlichung in Sekunden. Erlauben Sie die Einstellung eines Ablaufintervalls, wenn wird veröffentlicht.


Grundcode und Grundstrich

Fügen Sie einen Grundcode in allen Antwortpaketen ein.INHALT,VERFAHREN,VERFAHREN,HERSTELLUNG,VERPFLICHTUNGEN,SUBACK,UNSUBACK,DISCONNECT, undAUTHwerden einige Beispiele. Auf diese Weise kann der Invoker überprüfen, ob die angeforderte Funktion beendet wurde erfolgreich. Die meisten Pakete, die einen Grundcode enthalten, sollten jetzt auch aus einem optionalen Grundsaite. Das ist beabsichtigt, zur Problemidentifizierung verwendet, anstatt vom Empfänger zu parsieren.


Thema Alias

Themen-Alias in MQTT v5 ermöglicht es Ihnen, das pub-sub-Messaging-Modell flexibler zu verwenden. Thema Alias können effektiv sparen sowohl Netzwerk- als auch Verarbeitungsressourcen für Nachrichten, die wiederholt zu einer endlichen Sammlung von Themen, vor allem bei großen Bänden. Es erlaubt, den Themennamen auf eine kleine ganze Zahl abzukürzen, um die Größe des MQTT-Pakets zu reduzieren Overhead. Der Client und Server die maximale Anzahl der Themen-Aliase, die sie akzeptieren.


Server deaktivieren

Der Server kann zusammen mit einem Grundcode in MQTT 5 eine Trennnachricht an den Client senden. Im Gegensatz zu MQTT 3.1, MQTT 5.0 erlaubt Meldungen über Abschaltungen, die sowohl vom Client als auch vom Server gesendet werden sollen. Erlauben Sie dem Server zu senden DISCONNECT gibt an, warum Die Verbindung wird geschlossen. Wenn es Probleme mit dem Server gäbe, würde es einfach die Sitzung.


Payload Format & Inhaltsart

Beim Senden einer PUBLISH-Nachricht steht ein weiteres Kennung/Wert-Paar zur Verfügung. Dies ist der Indikator für das Payload Format. Wenn eine Nachricht veröffentlicht wird, lassen Sie das Payload-Format (binär, text) und einen MIME-Stil Inhaltstyp zu sein spezifiziert. Diese werden an den Empfänger der Nachricht weitergeleitet.


Anfrage / Antwortkonfiguration

Request/Response-Muster bietet die Funktionen Response Topic und Correlation Data in MQTT, um Antwortmeldungen zu sein zurück zum Verleger der Anfrage. Geben Sie dem Client auch die Möglichkeit, Konfiguration zu erhalten Informationen aus dem Server wie man die Antwortthemen baut. Dieser Mechanismus ermöglicht die Umsetzung eines „Geschäfts“ Anerkennung“ Funktionalität, die dehnbar, dynamisch und transparent.


Gemeinsame Abonnements

mit StandardMQTT-Protokoll, Gemeinschaftsabonnements sind eine wunderbare Möglichkeit, Nachrichten unter mehrere MQTT-Teilnehmer. In der Version 5 wurde die Unterstützung für gemeinsame Abonnements hinzugefügt, so dass das Load-balanced Abonnement Verbraucher. Ein reserviertes Thema Wurzel Namen $share und ein Aktienname werden verwendet, um Teilnehmer in gemeinsamen Abonnements zu gruppieren.


Subscription Identifiers

Bei der Anmeldung kann der Client eine Abonnementkennung angeben. Wenn Sie erfolgreich erstellen oder ein Abonnement bearbeiten, dieMQTT Serverwird generieren und speichern die Mapping-Beziehung zwischen diesem Abonnement und dem Abonnementkennung. Erlaubt eine numerische Abonnentenkennung auf einem SUBSCRIBE angegeben und zurückgegeben, wenn die Nachricht geliefert wird. Dies ermöglicht dem Kunden, bestimmen, welche Abonnements oder Abonnements für die Lieferung der Nachricht verantwortlich waren.


Abonnementoptionen

Abonnementoptionen sollten vor allem für Nachrichten-Gateway-Anwendungen definiert werden. Es gibt auch eine noLocal option für nicht senden Nachrichten von diesem Client, sowie Optionen, wie man gespeicherte Nachrichten im Abonnement zu behandeln. Zu das Serververhalten anpassen, Sie können mehr Abonnement-Optionen in MQTT v5 verwenden.


Durchflussregelung

Erlauben Sie dem Client und dem Server, den Betrag der ausstehenden zuverlässigen Nachrichten fürMQTT QoS Levelsaußer QoS 0 dass sie getrennt akzeptieren. Um innerhalb dieser Quote zu bleiben, hält der Absender solche Nachrichten ab. Dies wird verwendet, um die Rate, mit der zuverlässige Kommunikation gesendet wird, und die Anzahl der Nachrichten in Flug jederzeit.


Benutzereigenschaften

Die meisten Pakete sollten Benutzereigenschaften haben. Client-Anwendungen definieren die Benutzereigenschaften aufVERÖFFENTLICHUNGEN, die mit der Nachricht. Der Server sendet die Benutzereigenschaften auf PUBLISH und Will Properties an die Nachrichtenempfänger. Die Server-Implementierung definiert die Benutzereigenschaften auf derINHALT,SUBSCRIBE, undUNSUBSCRIBEPakete. Der Absender definiert die Benutzereigenschaften aufINHALT,VERFAHREN,VERFAHREN,HERSTELLUNG,VERPFLICHTUNGEN,SUBACK,UNSUBACK, undAUTHPakete und jede Absender-Implementierung ist einzigartig. MQTT definiert nicht die Bedeutung von Benutzereigenschaften.


Maximale Packungsgröße

Erlauben Sie dem Client und dem Server, die maximale Paketgröße zu erklären, die sie unabhängig unterstützen können. Das Senden eines größeren Pakets durch den Sitzungspartner ist ein Fehler. Diese Eigenschaft darf nicht gesendet werden, wenn sie die Größe der PUBACK-Paket über die maximale Packungsgröße des Empfängers.


Optionale Server-Verfügbarkeit

Definieren Sie eine Reihe von Funktionen, die der Server nicht erlaubt, und geben Sie dem Server einen Grund, die Client über sie. HöchstmengeMQTT Servicequalität, Verfügbar, Wild Card verfügbar Abonnement, Abonnement Identifier verfügbar, und Geteiltes Abonnement Verfügbar sind einige der Merkmale, die auf diese Weise angegeben werden können. Nachrichten, die Server Ich weiß nicht. verfügbar ist ein Fehler für den Client.


In früheren Versionen könnte ein Server die Implementierung einer Funktion ablehnen, indem er erklärt, dass der Client nicht autorisiert, es zu benutzen. Wenn der Client eine dieser Funktionen nutzt, ermöglicht diese Funktion ein solches optionales Verhalten zu sein deklariert und ergänzt entsprechende Grund-Codes.


Will Delay

Erlauben Sie eine Zeitverzögerung zwischen dem Ende der Verbindung und der Übertragung der Willensnachricht. Das so getan, dass der Wille Eine Nachricht wird nicht gesendet, wenn die Verbindung zur Sitzung wieder hergestellt wird. Dies ermöglicht Minderjährige Unterbrechungen der Verbindung mit auftreten, ohne dass andere gemeldet werden.


Server halten Alive

Lebewesenstellt sicher, dass die Broker-Klient-Verbindung noch aktiv ist und dass sowohl der Broker als auch der Kunden sind sich bewusst, dass sie sind verbunden. Er ermöglicht es dem Server, den lebendigen Wert zu erhalten, den der Client verwenden sollte. Dies ermöglicht Server zur Festlegung eines Maximums Halten Sie die lebendige Zeit, während der Kunde es immer noch respektieren.


Server Referenz

Der Client kann die Server-Referenz verwenden, um einen anderen Server zu finden. Es ermöglicht dem Server einen anderen Server angeben KONNACK und DISCONNECT. Dies kann zur Umleitung oder zur Durchführung der Bereitstellung verwendet werden.


Zugeteilte Client-Identifier

Erlaubt dem Broker, Client-IDs konsequent an Kunden zu vergeben. Gibt die zugewiesene ClientID zurück in Situationen, in denen Kunde Die ID wird vom Server zugewiesen. Die Einschränkung, dass Server zugewiesene ClientIDs nur verwendet werden können mit Clean Session=1 Auch Verbindungen werden angehoben.

MQTT 5 hilft Ihnen Innovate

Für die meisten IoT-Nutzungsfälle wurde die Spezifikation MQTT 5 aufgrund ihrer Fortschritte in Sicherheit, Zuverlässigkeit, Flexibilität und Leistung. MQTT 5 überwindet nicht nur die Grenzen seines Vorgängers aber auch legt den Grundstein für zukünftige Innovationen. Die Annahme von MQTT 5 wird Ihnen helfen, Ihren gesamten Datenaustausch darüber zu verstehen und an Bord zu nehmen. Wir in den kommenden Jahren in allen Branchen die Annahme von Sky-Raketen vorwegnehmen.


Verpassen Sie die Welle nicht

Erste Schritte mit MQTT 5 Heute!

Sparen Sie 30 Minuten, um zu beginnen.