Mixed Mode Project Story

02.10.2018

MQTT 5 - Neuerungen für ressourcenbeschränkte Clients

Bei der Entwicklung des MQTT 5 Standards wurde u.a. besonderer Wert auf die bessere Unterstützung für ressourcenbeschränkte Clients und Leistungssteigerungen gelegt.Im Folgenden sind dies:

Topic Alias

Lange Topic Namen führen zu einem großen Paket Overhead. Das äußert sich insbesondere dann, wenn immer wieder dieselben Topic Namen verwendet werden. MQTT 5 führt aus diesem Grund Topic Aliase ein. Sie erlauben es, den Topic Namen durch einen zwei Byte großen Integerwert zu ersetzen. Dadurch kann die Größe des PUBLISH Pakets stark reduziert und Bandbreite eingespart werden.

 

Maximum Packet Size

Client und Server können unabhängig voneinander die maximal unterstützte Paketlänge festlegen. Wenn ein Paket diese Länge überschreitet, muss der Server es verwerfen. So kann sichergestellt werden, dass gesendete Nachrichten eine bestimmte Größe nicht überschreiten.

 

Flow control (Receive Maximum)

Client und Server können unabhängig voneinander die Anzahl der QoS=1 und QoS=2 Nachrichten begrenzen, die sie gleichzeitig verarbeiten können. Das Receive Maximum legt fest, wie viele PUBLISH Nachrichten ohne den Empfang eines ACKNOWLEDGE gesendet werden können. Der Sender pausiert das Senden dieser Nachrichten, um unter dem Receive Maximum Wert zu bleiben. QoS=0 Nachrichten können nicht begrenzt werden, da für diese Pakete kein ACKNOWLEDGE Mechanismus implementiert ist. Das Receive Maximum dient dem Schutz langsamerer Clients. Dieser Schutz gilt allerdings nicht für QoS 0 Nachrichten.

 

Subscription Options

noLocal

In MQTT 5 können Optionen für das Abonnieren festgelegt werden. In vorherigen MQTT Versionen hat ein Client Nachrichten, die er an einen Topic gesendet hat, auch immer selbst empfangen, wenn er den Topic abonniert hatte. Mit der Option noLocal lässt sich dieses Verhalten nun unterbinden.

Retained Message Control

Mit einer weiteren Option kann das Verhalten von aufbewahrten Nachrichten (Retained Messages) eingestellt werden.

 

0 = Aufbewahrte Nachrichten werden zum Zeitpunkt des Abonnements gesendet

1 = Aufbewahrte Nachrichten werden nur zum Zeitpunkt des Abonnements gesendet, wenn das Abonnement noch nicht existiert

2 = Keine aufbewahrten Nachrichten zum Zeitpunkt des Abonnements senden

 

Quellen:

https://www.oasis-open.org/committees/download.php/57616/Big%20Ideas%20for%20MQTT%20v5.pdf

 

http://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html

 

 

Mixed Mode – der professionelle Partner für IoT Anwendungen!