Panoramica dei protocolli di rete e messaggistica per IoT

Ciao, Khabroviti! Il primo sviluppatore IoT di corsi online in Russia verrà lanciato in OTUS a ottobre. Sono aperte in questo momento le iscrizioni al corso, in relazione al quale continuiamo a condividere con voi materiali utili.

Panoramica dei protocolli di rete e messaggistica per IoT

L'Internet of Things (IoT, Internet of Things) sarà costruito sulla base dell'infrastruttura di rete esistente, delle tecnologie e dei protocolli attualmente utilizzati nelle case/uffici e in Internet, e offrirà molto di più.

Lo scopo di questa guida è fornire una breve panoramica della rete e dei protocolli applicativi per l'IoT.

Nota. Devi avere conoscenza fondamenti delle tecnologie di rete.

Reti IoT

IoT funzionerà su reti TCP/IP esistenti.

TCP/IP utilizza un modello a quattro livelli con protocolli specifici a ogni livello. Cm. comprendere il modello a 4 livelli TCP/IP (comprendiamo il modello a quattro strati di TCP / IP).

Il diagramma seguente mostra un confronto tra i protocolli attualmente in uso e quelli che più probabilmente verranno utilizzati per l'IoT.

Panoramica dei protocolli di rete e messaggistica per IoT

Note sulla carta:

  1. La dimensione del carattere indica la popolarità del protocollo. Ad esempio, a sinistra, IPv4 è più grande, poiché è molto più diffuso nell'Internet moderna. Tuttavia, è più piccolo sulla destra in quanto IPv6 dovrebbe essere più diffuso nell'IoT.

  2. Non tutti i protocolli sono mostrati.

  3. La maggior parte delle modifiche sono a livello di canale (livelli 1 e 2) e di applicazione (livello 4).

  4. È probabile che i livelli di rete e di trasporto rimangano invariati.

Protocolli a livello di collegamento

A livello di collegamento dati (Data Link), è necessario connettere i dispositivi tra loro. Possono essere sia vicini, ad esempio, nelle reti locali (reti locali) sia a grande distanza l'uno dall'altro: nelle reti urbane (reti metropolitane) e globali (reti geografiche).

Attualmente, a questo livello, le reti domestiche e aziendali (LAN) utilizzano Ethernet e Wi-Fi e le reti mobili (WAN) utilizzano 3G / 4G. Tuttavia, molti dispositivi IoT sono a basso consumo, come i sensori, e sono alimentati solo da batterie. In questi casi, Ethernet non è adatto, ma è possibile utilizzare Wi-Fi a bassa potenza e Bluetooth a bassa potenza.

Sebbene le tecnologie wireless esistenti (Wi-Fi, Bluetooth, 3G/4G) continueranno a essere utilizzate per connettere questi dispositivi, vale anche la pena esaminare le nuove tecnologie specificamente progettate per le applicazioni IoT che probabilmente cresceranno in popolarità.

Tra questi:

  • BLE – Bluetooth a basso consumo energetico

  • LoRaWAN - WAN a lungo raggio

  • Sig Fox

  • LTE-M

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

livello di rete

A livello di rete (Networking), il protocollo dominerà a lungo termine IPv6. È improbabile che venga utilizzato IPv4, ma potrebbe svolgere un ruolo nelle fasi iniziali. La maggior parte dei dispositivi IoT domestici, come le lampadine intelligenti, attualmente utilizzano IPv4.

strato di trasporto 

A livello di trasporto (Transport), Internet e il web sono dominati dal TCP. Viene utilizzato sia in HTTP che in molti altri protocolli Internet popolari (SMTP, POP3, IMAP4, ecc.).

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

Tuttavia, in futuro, a causa del minor sovraccarico, mi aspetto che UDP diventi più popolare per l'IoT. Probabilmente più diffuso MQTT SN, in esecuzione su UDP. Vedi l'articolo di confronto TCP contro UDP .

Livello applicazione e protocolli di messaggistica

Caratteristiche importanti per i protocolli IoT:

  • Velocità: la quantità di dati trasferiti al secondo.

  • La latenza è il tempo necessario per inviare un messaggio.

  • Consumo di energia

  • Sicurezza.

  • Disponibilità del software.

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

HTTP è probabilmente il protocollo più conosciuto di questo livello alla base del web (WWW). Continuerà ad essere importante per l'IoT, poiché viene utilizzato per l'API REST, il principale meccanismo di interazione tra applicazioni e servizi web. Tuttavia, a causa dell'elevato sovraccarico, è improbabile che HTTP diventi il ​​principale protocollo IoT, sebbene sarà ancora ampiamente utilizzato su Internet.

MQTT (Message Queuing Telemetry Transport) è diventato il principale protocollo di messaggistica nell'IoT grazie alla sua leggerezza e facilità d'uso. Vedi articolo Introduzione a MQTT per principianti (Introduzione a MQTT per principianti).

Confronto di 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 all'HTTP e al fatto che si tratta di un protocollo uno-a-molti piuttosto che uno-a-uno (HTTP).

Molte applicazioni web moderne userebbero felicemente MQTT invece di HTTP se fosse disponibile al momento del loro sviluppo.

Un buon esempio è l'invio di informazioni a più clienti, come arrivi e partenze di treni/autobus/aerei. In questo scenario, un protocollo one-to-one come HTTP ha molto sovraccarico e carica molto i server web. Il ridimensionamento di questi server Web può essere difficile. Con MQTT, i client si connettono a un broker, che può essere facilmente aggiunto per il bilanciamento del carico. Guarda il video tutorial a riguardo Ripubblicare i dati HTML su MQTT (esempio di voli in arrivo) e articolo MQTT vs HTTP per IOT.

Altri protocolli di messaggistica

HTTP non è stato progettato per le applicazioni IoT, ma come accennato, sarà ampiamente utilizzato per qualche tempo a causa del suo uso diffuso in API.

Quasi tutte le piattaforme IoT supportano sia HTTP che MQTT.

Tuttavia, ci sono altri protocolli che vale la pena considerare.

protocolli

  • MQTT - (Message Queuing Telemetry Transport). Utilizza TCP/IP. Il modello pubblicazione-sottoscrizione richiede un broker di messaggi.

  • AMQP - (protocollo avanzato di accodamento messaggi). Utilizza TCP/IP. Modelli Publisher-Subscriber e Point-to-Point.

  • COAP - (Protocollo di applicazione vincolata). Utilizza UDP. Progettato specificamente per IoT, utilizza il modello richiesta-risposta come in HTTP. RFC 7252.

  • DDS - (Servizio Distribuzione Dati) 

In questo Articolo vengono considerati i principali protocolli e le loro applicazioni. La conclusione di questo articolo è che l'IoT utilizzerà una serie di protocolli, a seconda dell'uso previsto.

Tuttavia, in retrospettiva, nei primi anni di Internet, il protocollo HTTP che sarebbe diventato dominante era solo uno dei tanti protocolli.

Sebbene HTTP non sia stato originariamente concepito per il trasferimento di file ed e-mail, oggi viene utilizzato per entrambi.

Mi aspetto che accada la stessa cosa con i protocolli di messaggistica nell'IoT: 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 messaggistica per IoT

Supporto del protocollo per piattaforma

  • Microsoft Azure - MQTT, AMQP, HTTP e HTTPS

  • AWS - MQTT, HTTPS, MQTT su websocket

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Riassunto

La maggior parte delle modifiche sono a livello di canale (livelli 1 e 2) e di applicazione (livello 4).

È probabile che i livelli di rete e di trasporto rimangano invariati.

A livello di applicazione, i componenti IoT utilizzeranno i protocolli di messaggistica. Mentre siamo ancora in una fase iniziale nello sviluppo dell'IoT, è probabile che uno o forse due protocolli di messaggistica si distinguano.

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

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

È tutto. Ti invitiamo a registrarti per una lezione demo gratuita sull'argomento "Chatbot per comandi rapidi al dispositivo".

Per saperne di più:

Fonte: habr.com

Aggiungi un commento