MQTT

Esempio di collegamento con MQTT.

MQTT[1] (Message Queuing Telemetry Transport) è un protocollo ISO standard (ISO/IEC PRF 20922)[2] di messaggistica leggero di tipo publish-subscribe posizionato in cima a TCP/IP. È stato progettato per le situazioni in cui è richiesto un basso impatto energetico e dove la banda è limitata. Il pattern publish-subscribe richiede un broker di messaggistica. Il broker è responsabile della distribuzione dei messaggi ai client destinatari.

Il protocollo è stato inventato da Andy Stanford-Clark di IBM, e Arlen Nipper di Cirrus Link Solutions nel 1999.[3]

MQTT-SN è una variazione del protocollo destinata a sistemi embedded che non sono basati su TCP/IP come ZigBee.[4]

Caratteristiche

[modifica | modifica wikitesto]
Struttura di un pacchetto di comunicazione MQTT.

Secondo l'Internet Assigned Numbers Authority, le porte TCP e UDP ufficiali per comunicare ad un server MQTT sono la porta 8883 (per collegamenti con TLS) e la porta 1883 (per collegamenti in chiaro).[5]

Esistono diversi progetti che implementano MQTT. Un esempio importante è Facebook Messenger:

  • Facebook Messenger, iOS iPhone iPad, Android, e Windows. Gli ultimi rilasci fanno uso di MQTT per sei differenti funzionalità tra cui status utente e sync bookmark. Facebook ha affermato di aver adottato MQTT per aumentare la velocità della messaggistica tra utenti usando meno energia e banda. Non è chiaro quanto MQTT sia utilizzato.
  1. ^ (EN) MQ Telemetry Transport (MQTT) V3.1 Protocol Specification, su ibm.com, 19 agosto 2010. URL consultato l'8 giugno 2017.
  2. ^ ISO/IEC 20922:2016 Information technology -- Message Queuing Telemetry Transport (MQTT) v3.1.1, su iso.org, International Organization for Standardization, 15 giugno 2016.
  3. ^ 10th birthday party, in MQTT.org, July 2009. URL consultato il 25 aprile 2015 (archiviato dall'url originale il 15 marzo 2015).
  4. ^ (EN) MQTT For Sensor Networks (MQTT-SN) version 1.1 (PDF). URL consultato il 2 maggio 2019 (archiviato dall'url originale l'11 luglio 2019).
  5. ^ (EN) Service Name and Transport Protocol Port Number Registry, su iana.org. URL consultato il 19 ottobre 2022.

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàGND (DE1145336337