Panoramica dei protocolli di rete e dei protocolli di messaggistica per IoT

Ciao, habrarians! Il primo corso online IoT Developer in Russia inizia a OTUS già a ottobre. Al momento è aperta l'iscrizione al corso, per questo continuiamo a condividere con voi materiali utili.

Panoramica dei protocolli di rete e dei protocolli di messaggistica per IoT

L'Internet delle Cose (IoT, Internet of Things) sarà costruito sulla base dell'attuale infrastruttura di rete, delle tecnologie e dei protocolli attualmente in uso nelle case/uffici e su Internet, offrendo molte altre cose.

L'obiettivo di questa guida è fornire una panoramica sui protocolli di rete e applicativi per l'IoT.

Nota. È necessario avere conoscenze delle basi delle tecnologie di rete.

reti IoT

L'IoT funzionerà nelle reti TCP/IP esistenti.

TCP/IP utilizza un modello a quattro livelli con protocolli specifici per ogni livello. Vedi. understanding the TCP/IP 4 layer model (comprendere il modello a quattro livelli TCP/IP).

Nella diagramma sottostante è mostrato un confronto tra i protocolli attualmente utilizzati e quelli che probabilmente saranno utilizzati per l'IoT.

Panoramica dei protocolli di rete e dei protocolli di messaggistica per IoT

Note al diagramma:

  1. La dimensione del carattere riflette il grado di popolarità del protocollo. Ad esempio, a sinistra IPv4 è più grande poiché è molto più popolare nell'attuale Internet. Tuttavia, a destra è più piccolo, poiché si prevede che IPv6 sarà più popolare nell'IoT.

  2. Non sono mostrati tutti i protocolli.

  3. Ci sono i maggiori cambiamenti nei livelli di collegamento (livelli 1 e 2) e applicativi (livello 4).

  4. I livelli di rete e trasporto probabilmente rimarranno invariati.

Protocolli di livello di collegamento

A livello di collegamento (Data Link) è necessario connettere i dispositivi tra loro. Possono trovarsi sia nelle vicinanze, ad esempio, in reti locali (local networks), sia a grande distanza: in reti urbane (metropolitan area networks) e reti globali (wide area networks).

Attualmente a questo livello in reti domestiche e di ufficio (LAN) vengono utilizzati Ethernet e Wi-Fi, mentre nelle reti mobili (WAN) si utilizza il 3G / 4G. Tuttavia, molti dispositivi IoT sono a basso consumo, ad esempio, sensori, e funzionano solo a batteria. In questi casi, Ethernet non è adatto, ma è possibile utilizzare Wi-Fi a basso consumo e Bluetooth a basso consumo.

Sebbene per connettere questi dispositivi si continueranno a utilizzare le tecnologie wireless esistenti (Wi-Fi, Bluetooth, 3G / 4G), vale la pena prestare attenzione anche a nuove tecnologie progettate specificamente per le applicazioni IoT, la cui popolarità probabilmente aumenterà.

Tra queste ci sono:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

Sono descritti in modo più dettagliato nell'articolo Una panoramica delle tecnologie wireless IoT (overview delle tecnologie wireless IoT).

Livello di rete

A livello di rete (Networking) nel lungo periodo dominerà il protocollo IPv6. È poco probabile che l'IPv4 venga utilizzato, ma potrebbe avere un ruolo nelle fasi iniziali. La maggior parte dei dispositivi IoT per la casa, ad esempio, le lampadine intelligenti, attualmente utilizzano l'IPv4.

Livello di trasporto 

A livello di trasporto (Transport), TCP domina su Internet e nel web. È utilizzato sia in HTTP che in molti altri protocolli popolari di Internet (SMTP, POP3, IMAP4, ecc.).

MQTT, che mi aspetto diventi uno dei protocolli principali a livello applicativo per la messaggistica, attualmente utilizza TCP.

Tuttavia, in futuro, a causa di spese generali più basse, prevedo che UDP sarà più popolare per IoT. Probabilmente avrà una diffusione più ampia MQTT-SN, che funziona sopra UDP. Vedi l'articolo su TCP vs UDP .

Livello applicativo e protocolli di messaggistica

Caratteristiche importanti per i protocolli IoT:

  • Velocità — la quantità di dati trasmessi al secondo.

  • Latenza — il tempo necessario per trasmettere un messaggio.

  • Consumo energetico.

  • Sicurezza.

  • Disponibilità di strumenti software.

Attualmente a questo livello sono attivamente utilizzati due protocolli principali: HTTP e MQTT.

HTTP è probabilmente il protocollo più noto di questo livello, alla base del web (WWW). Continuerà a rivestire un'importanza fondamentale per IoT, poiché viene utilizzato per le API REST, il principale meccanismo di interazione tra applicazioni e servizi web. Tuttavia, a causa delle elevate spese generali, è poco probabile che HTTP diventi il protocollo principale per IoT, anche se continuerà a essere ampiamente utilizzato su Internet.

MQTT (Message Queuing Telemetry Transport) è diventato il principale protocollo di messaggistica per IoT, grazie alla sua leggerezza e semplicità d'uso. Vedi l'articolo Introduzione a MQTT per principianti (Introduction to MQTT for beginners).

Confronto tra HTTP e MQTT per IoT

MQTT sta rapidamente diventando lo standard de facto per le applicazioni IoT. Ciò è dovuto alla sua leggerezza e velocità rispetto a HTTP e al fatto che è un protocollo 'uno a molti', piuttosto che 'uno a uno' (HTTP).

Molte applicazioni web moderne sarebbero felici di utilizzare MQTT invece di HTTP, se fosse stato disponibile al momento della loro sviluppo.

Un buon esempio è l'invio di informazioni a molti clienti, ad esempio, riguardo all'arrivo e alla partenza di treni / autobus / aerei. In questo scenario, il protocollo "uno a uno", come HTTP, ha un elevato overhead e crea un notevole carico sui server web. Scalare questi server web può essere difficile. Con MQTT, i client si collegano a un broker, che può essere facilmente aggiunto per bilanciare il carico. Vedi questo tutorial con video. Ripubblica i dati HTML su MQTT (esempio di arrivi dei voli) e l'articolo MQTT vs HTTP per IoT.

Altri protocolli di messaggistica

HTTP non è stato progettato per applicazioni IoT, ma, come già accennato, sarà ampiamente utilizzato per un po' di tempo grazie al suo ampio uso in API.

Quasi tutte le piattaforme IoT supportano sia HTTP che MQTT.

Tuttavia, ci sono anche altri protocolli da considerare.

Protocolli

  • MQTT — (Message Queuing Telemetry Transport). Utilizza TCP/IP. Per il modello "publisher-subscriber" è necessario un broker di messaggi.

  • AMQP — (Advanced Message Queuing Protocol). Utilizza TCP/IP. Modelli "publisher-subscriber" e "point-to-point".

  • COAP — (Constrained Application Protocol). Utilizza UDP. Progettato specificamente per IoT, utilizza il modello richiesta-risposta come in HTTP. RFC 7252.

  • DDS — (Data Distribution Service) 

In questo abbiamo chiarito il corretto completamento dei programmi che utilizzano il mediastreamer. vengono considerati i protocolli principali e le loro applicazioni. La conclusione di questo articolo è che l'IoT utilizzerà un insieme di protocolli a seconda del loro utilizzo previsto.

Tuttavia, se guardiamo indietro, nei primi anni di esistenza di Internet, il protocollo HTTP, che in seguito è diventato dominante, era solo uno dei tanti protocolli.

Anche se HTTP non è stato progettato inizialmente per la trasmissione di file e email, oggi viene utilizzato per entrambi.

Mi aspetto che nel mondo IoT accada lo stesso con i protocolli di messaggistica: la maggior parte dei servizi utilizzerà un protocollo predominante.

Di seguito sono riportati i grafici di Google Trends che mostrano come è cambiata la popolarità di MQTT, COAP e AMQP negli ultimi anni.

Panoramica di Google Trends 

Panoramica dei protocolli di rete e dei protocolli di messaggistica per IoT

Supporto dei protocolli per piattaforme

  • Microsoft Azure — MQTT, AMQP, HTTP e HTTPS

  • AWS — MQTT, HTTPS, MQTT su websockets

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Riepilogo

Ci sono i maggiori cambiamenti nei livelli di collegamento (livelli 1 e 2) e applicativi (livello 4).

I livelli di rete e trasporto probabilmente rimarranno invariati.

A livello pratico, i componenti IoT utilizzeranno protocolli di messaggistica. Anche se siamo ancora nelle fasi iniziali dello sviluppo dell'IoT, è probabile che si delinei uno o forse due protocolli di messaggistica.

Negli ultimi anni, MQTT è diventato il più popolare, ed è su questo che mi sto attualmente concentrando su questo sito.

L'HTTP continuerà a essere utilizzato, poiché è già ben integrato nelle piattaforme IoT esistenti.

Questo è tutto. Ti invitiamo a registrarti per una lezione dimostrativa gratuita sul tema «Chatbot per comandi rapidi ai dispositivi».

Leggi anche:

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster