MQTT is one of the most popular protocols for IoT. Its operation consists of a central broker to which many clients are connected; the clients make requests and publish data through a publish/subscribe architecture. This system is clearly in antithesis with the Multi-Access Edge Computing (MEC), one of the main pillars of the fifth generation of cellular data (5G). A distributed architecture of brokers, where multiple brokers are connected and work together, would bring closer the MQTT protocol to MEC. This work’s goal is to use the MQTT protocol with the HiveMQ platform to create a network of HiveMQ’s MQTT distributed brokers, loop-free, robust against failures, organized through a spanning tree. To achieve such a goal, we developed different HiveMQ’s plug-ins that integrate the already present Bridge extension. While the Bridge extension is necessary to connect the brokers, all the developed extensions contain the logic to avoid loops and to rebuild the tree in case of failures. In addition, we present advanced distribution features, such as an ad-hoc forwarding table that keeps a record of the brokers interested in a Topic to forward the MQTT publishes only when necessary. The developed extensions have been tested in different scenarios and topologies, monitoring the network overhead and the physical resource consumption of every broker. It turns out that the extension without any forwarding improvements in some scenarios can consume even 200% more bandwidth than the extension with the tables.

MQTT `e uno dei principali protocolli per IoT. Il suo funzionamento consiste in un broker centrale a cui sono connessi diversi clienti; i clienti effettuano richieste e pubblicano dati tramite una architettura publish/subscribe. Questo sistema `e chiaramente in antitesi con il Multi-Access Edge Computing (MEC), uno dei pilastri fondamentali della quinta generazione di rete mobili (5G). Una architettura di broker distribuiti, dove molteplici broker sono connessi tra di loro e lavorano insieme, farebbe avvicinare il protocollo MQTT al MEC. Questo lavoro si propone di utilizzare il protocollo MQTT, insieme alla piattaforma HiveMQ, per creare un network di broker distribuiti, senza loop, resistente alle disconnessioni, organizzati attraverso uno spanning tree. Per raggiungere tale obbiettivo, abbiamo sviluppato delle estensioni per HiveMQ da usare insieme alla Bridge extension. Mentre l’estensione Bridge `e necessaria per connettere i broker, tutte le estensioni sviluppate consentono di evitare i loop e di ricostruire l’albero in caso di guasti. Inoltre, proponiamo delle funzione avanzate di distribuzione, come una tabella di forwarding che tiene traccia dei broker interessati a un Topic e inoltra le pubblicazioni MQTT solo quando necessario. Le estensioni sviluppate sono state testate in diversi scenari e topologie, monitorando il sovraccarico di rete e il consumo delle risorse fisiche di ciascun broker. Si `e scoperto che l’estensione senza nessun miglioramento di forwarding in certi scenari consuma fino al 200% più banda dell’estensione con le tabelle.

Development and comparison of MQTT distributed algorithms for HiveMQ

ANTONIELLI, FILIPPO
2019/2020

Abstract

MQTT is one of the most popular protocols for IoT. Its operation consists of a central broker to which many clients are connected; the clients make requests and publish data through a publish/subscribe architecture. This system is clearly in antithesis with the Multi-Access Edge Computing (MEC), one of the main pillars of the fifth generation of cellular data (5G). A distributed architecture of brokers, where multiple brokers are connected and work together, would bring closer the MQTT protocol to MEC. This work’s goal is to use the MQTT protocol with the HiveMQ platform to create a network of HiveMQ’s MQTT distributed brokers, loop-free, robust against failures, organized through a spanning tree. To achieve such a goal, we developed different HiveMQ’s plug-ins that integrate the already present Bridge extension. While the Bridge extension is necessary to connect the brokers, all the developed extensions contain the logic to avoid loops and to rebuild the tree in case of failures. In addition, we present advanced distribution features, such as an ad-hoc forwarding table that keeps a record of the brokers interested in a Topic to forward the MQTT publishes only when necessary. The developed extensions have been tested in different scenarios and topologies, monitoring the network overhead and the physical resource consumption of every broker. It turns out that the extension without any forwarding improvements in some scenarios can consume even 200% more bandwidth than the extension with the tables.
ING - Scuola di Ingegneria Industriale e dell'Informazione
9-giu-2021
2019/2020
MQTT `e uno dei principali protocolli per IoT. Il suo funzionamento consiste in un broker centrale a cui sono connessi diversi clienti; i clienti effettuano richieste e pubblicano dati tramite una architettura publish/subscribe. Questo sistema `e chiaramente in antitesi con il Multi-Access Edge Computing (MEC), uno dei pilastri fondamentali della quinta generazione di rete mobili (5G). Una architettura di broker distribuiti, dove molteplici broker sono connessi tra di loro e lavorano insieme, farebbe avvicinare il protocollo MQTT al MEC. Questo lavoro si propone di utilizzare il protocollo MQTT, insieme alla piattaforma HiveMQ, per creare un network di broker distribuiti, senza loop, resistente alle disconnessioni, organizzati attraverso uno spanning tree. Per raggiungere tale obbiettivo, abbiamo sviluppato delle estensioni per HiveMQ da usare insieme alla Bridge extension. Mentre l’estensione Bridge `e necessaria per connettere i broker, tutte le estensioni sviluppate consentono di evitare i loop e di ricostruire l’albero in caso di guasti. Inoltre, proponiamo delle funzione avanzate di distribuzione, come una tabella di forwarding che tiene traccia dei broker interessati a un Topic e inoltra le pubblicazioni MQTT solo quando necessario. Le estensioni sviluppate sono state testate in diversi scenari e topologie, monitorando il sovraccarico di rete e il consumo delle risorse fisiche di ciascun broker. Si `e scoperto che l’estensione senza nessun miglioramento di forwarding in certi scenari consuma fino al 200% più banda dell’estensione con le tabelle.
File allegati
File Dimensione Formato  
Development_and_comparison_of_MQTT_distributed_algorithms_for_HiveMQ.pdf

accessibile in internet per tutti

Dimensione 2.81 MB
Formato Adobe PDF
2.81 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/175924