Pregled omrežnih in sporočilnih protokolov za IoT

Pozdravljeni, Khabrovci! Prvi ruski spletni tečaj IoT razvijalec lansira v OTUS oktobra. Vpis na tečaj je že odprt, v zvezi s čimer še naprej z vami delimo koristne materiale.

Pregled omrežnih in sporočilnih protokolov za IoT

Internet stvari (IoT, Internet of Things) bo zgrajen nad obstoječo omrežno infrastrukturo, tehnologijami in protokoli, ki se trenutno uporabljajo v domovih/pisarnah in internetu, in bo ponujal veliko več.

Namen tega vodnika je zagotoviti kratek pregled omrežnih in aplikacijskih protokolov za IoT.

Opomba. Znanje moraš imeti osnove omrežnih tehnologij.

IoT omrežja

IoT bo deloval v obstoječih omrežjih TCP/IP.

TCP/IP uporablja štiriplastni model s posebnimi protokoli na vsaki plasti. Cm. razumevanje 4-plastnega modela TCP/IP (razumemo štirislojni model TCP/IP).

Spodnji diagram prikazuje primerjavo protokolov, ki so trenutno v uporabi, in tistih, ki bodo najverjetneje uporabljeni za IoT.

Pregled omrežnih in sporočilnih protokolov za IoT

Opombe na grafikonu:

  1. Velikost pisave kaže na priljubljenost protokola. Na primer, na levi je IPv4 večji, saj je veliko bolj priljubljen v sodobnem internetu. Vendar pa je manjši na desni, saj naj bi bil IPv6 bolj priljubljen v IoT.

  2. Vsi protokoli niso prikazani.

  3. Največ sprememb je na nivoju kanala (1. in 2. nivo) in aplikacijskem (4. nivo).

  4. Omrežna in transportna plast bosta verjetno ostala nespremenjena.

Protokoli sloja povezav

Na ravni podatkovne povezave (Data Link) morate med seboj povezati naprave. Lahko so blizu, na primer v lokalnih omrežjih (lokalna omrežja) in na veliki razdalji drug od drugega: v mestnih (metropolitanskih omrežjih) in globalnih omrežjih (široka omrežja).

Trenutno na tej ravni domača in pisarniška omrežja (LAN) uporabljajo Ethernet in Wi-Fi, mobilna (WAN) pa 3G / 4G. Vendar pa je veliko naprav IoT nizke porabe energije, kot so senzorji, in se napajajo le iz baterij. V teh primerih Ethernet ni primeren, lahko pa uporabite Wi-Fi z nizko porabo energije in Bluetooth z nizko porabo energije.

Medtem ko se bodo obstoječe brezžične tehnologije (Wi-Fi, Bluetooth, 3G/4G) še naprej uporabljale za povezovanje teh naprav, je vredno pogledati tudi nove tehnologije, posebej zasnovane za aplikacije IoT, ki bodo verjetno postajale vse bolj priljubljene.

Med njimi:

  • BLE – Bluetooth z nizko porabo energije

  • LoRaWAN - WAN dolgega dosega

  • SigFox

  • LTE-M

Podrobneje so opisani v članku. Pregled brezžičnih tehnologij IOT (pregled brezžičnih IoT tehnologij).

Omrežni sloj

Na omrežni plasti (Networking) bo dolgoročno prevladoval protokol IPv6. Malo verjetno je, da bo IPv4 uporabljen, vendar lahko igra vlogo v zgodnjih fazah. Večina domačih IoT naprav, kot so pametne žarnice, trenutno uporablja IPv4.

Transportna plast 

Na transportni ravni (Transport) v internetu in spletu prevladuje TCP. Uporablja se v HTTP in številnih drugih priljubljenih internetnih protokolih (SMTP, POP3, IMAP4 itd.).

MQTT, za katerega pričakujem, da bo postal eden glavnih protokolov aplikacijskega sloja za sporočanje, trenutno uporablja TCP.

Vendar pričakujem, da bo UDP v prihodnosti zaradi nižjih režijskih stroškov postal bolj priljubljen za IoT. Verjetno bolj razširjeno MQTT-SN, ki deluje prek UDP. Glej primerjalni članek TCP proti UDP .

Aplikacijska plast in protokoli za sporočanje

Pomembne značilnosti za IoT protokole:

  • Hitrost - količina prenesenih podatkov na sekundo.

  • Zakasnitev je čas, potreben za pošiljanje sporočila.

  • Poraba energije

  • Varnost.

  • Razpoložljivost programske opreme.

Trenutno se na tej ravni aktivno uporabljata dva glavna protokola: HTTP in MQTT.

HTTP je verjetno najbolj znan protokol te ravni, ki je osnova spleta (WWW). Še naprej bo pomemben za IoT, saj se uporablja za REST API – glavni mehanizem za interakcijo med spletnimi aplikacijami in storitvami. Vendar zaradi visokih stroškov HTTP verjetno ne bo postal glavni protokol IoT, čeprav se bo še vedno pogosto uporabljal na internetu.

MQTT (Message Queuing Telemetry Transport) je zaradi svoje lahkosti in enostavne uporabe postal glavni protokol za sporočanje v IoT. Glej članek Uvod v MQTT za začetnike (Uvod v MQTT za začetnike).

Primerjava HTTP in MQTT za IoT

MQTT hitro postaja de facto standard za aplikacije IoT. To je posledica njegove lahkotnosti in hitrosti v primerjavi s HTTP ter dejstva, da je protokol ena proti mnogo in ne ena proti ena (HTTP).

Številne sodobne spletne aplikacije bi z veseljem uporabljale MQTT namesto HTTP, če bi bil na voljo v času njihovega razvoja.

Dober primer je pošiljanje informacij več strankam, kot so prihodi in odhodi vlakov/avtobusov/letal. V tem scenariju ima protokol ena proti ena, kot je HTTP, veliko dodatnih stroškov in močno obremeni spletne strežnike. Skaliranje teh spletnih strežnikov je lahko težavno. Z MQTT se stranke povežejo s posrednikom, ki ga je mogoče enostavno dodati za uravnoteženje obremenitve. Oglejte si video vadnico o tem Ponovna objava podatkov HTML prek MQTT (primer prihodov letov) in članek MQTT proti HTTP za IOT.

Drugi protokoli za sporočanje

HTTP ni bil zasnovan za aplikacije IoT, a kot že omenjeno, se bo še nekaj časa široko uporabljal zaradi široke uporabe v API.

Skoraj vse platforme IoT podpirajo tako HTTP kot MQTT.

Vendar pa obstajajo še drugi protokoli, ki jih je vredno upoštevati.

Protokoli

  • MQTT - (Transport telemetrije s čakalno vrsto sporočil). Uporablja TCP/IP. Model objave in naročanja zahteva posrednika sporočil.

  • AMQP - (Advanced Message Queuing Protocol). Uporablja TCP/IP. Modeli založnik-naročnik in od točke do točke.

  • COAP - (Protokol omejene aplikacije). Uporablja UDP. Zasnovan posebej za IoT, uporablja model zahteva-odgovor kot v HTTP. RFC 7252.

  • DDS - (Storitev distribucije podatkov) 

V tem članek obravnavajo se glavni protokoli in njihove aplikacije. Zaključek tega članka je, da bo IoT uporabljal niz protokolov, odvisno od njihove predvidene uporabe.

Vendar pa je v retrospektivi, v zgodnjih letih interneta, protokol HTTP, ki je postal prevladujoč, le eden od mnogih protokolov.

Čeprav HTTP prvotno ni bil zasnovan za prenos datotek in elektronske pošte, se danes uporablja za oboje.

Pričakujem, da se bo isto zgodilo s protokoli za sporočanje v IoT: večina storitev bo uporabljala en prevladujoč protokol.

Spodaj so grafikoni Google Trends, ki prikazujejo, kako se je priljubljenost MQTT, COAP in AMQP spremenila v zadnjih nekaj letih.

Pregled Google Trendov 

Pregled omrežnih in sporočilnih protokolov za IoT

Podpora protokolu glede na platformo

  • Microsoft Azure - MQTT, AMQP, HTTP in HTTPS

  • AWS - MQTT, HTTPS, MQTT prek spletnih vtičnic

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Povzetek

Največ sprememb je na nivoju kanala (1. in 2. nivo) in aplikacijskem (4. nivo).

Omrežna in transportna plast bosta verjetno ostala nespremenjena.

Na aplikacijski ravni bodo komponente IoT uporabljale protokole za sporočanje. Čeprav smo še vedno na zgodnji stopnji razvoja IoT, je verjetno, da bosta izstopala eden ali morda dva protokola za sporočanje.

V zadnjih nekaj letih je MQTT postal najbolj priljubljen in nanj se zdaj osredotočam na tej strani.

Tudi HTTP se bo še naprej uporabljal, saj je že dobro vgrajen v obstoječe platforme IoT.

To je vse. Vabimo vas, da se prijavite na brezplačno predstavitveno lekcijo na to temo "Chatbot za hitre ukaze napravi".

Preberi več:

Vir: www.habr.com

Dodaj komentar