Pregled mrežnih protokola i protokola za razmjenu poruka za IoT

Pozdrav, Khabrovci! Prvi ruski online tečaj IoT programer lansira u OTUS-u u listopadu. Upisi na tečaj su upravo otvoreni, s tim u vezi nastavljamo s vama dijeliti korisne materijale.

Pregled mrežnih protokola i protokola za razmjenu poruka za IoT

Internet stvari (IoT, Internet of Things) izgradit će se na postojećoj mrežnoj infrastrukturi, tehnologijama i protokolima koji se trenutno koriste u domovima/uredima i na internetu te će nuditi puno više.

Svrha ovog vodiča je pružiti kratak pregled mrežnih i aplikacijskih protokola za IoT.

Bilješka. Morate imati znanje osnove mrežnih tehnologija.

IoT mreže

IoT će raditi na postojećim TCP/IP mrežama.

TCP/IP koristi četveroslojni model sa specifičnim protokolima na svakom sloju. Cm. razumijevanje TCP/IP 4 slojnog modela (mi razumijemo četveroslojni model TCP/IP).

Donji dijagram prikazuje usporedbu protokola koji se trenutno koriste i onih koji će se najvjerojatnije koristiti za IoT.

Pregled mrežnih protokola i protokola za razmjenu poruka za IoT

Bilješke na grafikonu:

  1. Veličina fonta ukazuje na popularnost protokola. Na primjer, s lijeve strane, IPv4 je veći, jer je puno popularniji na modernom Internetu. Međutim, manji je s desne strane jer se očekuje da će IPv6 biti popularniji u IoT-u.

  2. Nisu prikazani svi protokoli.

  3. Najviše promjena je na razini kanala (razine 1 i 2) i aplikacijske razine (razina 4).

  4. Mrežni i transportni slojevi vjerojatno će ostati nepromijenjeni.

Protokoli sloja veze

Na razini podatkovne veze (Data Link) morate međusobno povezati uređaje. Mogu biti blizu, na primjer, u lokalnim mrežama (lokalne mreže) i na velikoj udaljenosti jedna od druge: u urbanim (mreže gradskih područja) i globalnim mrežama (mreže širokog područja).

Trenutno, na ovoj razini, kućne i uredske mreže (LAN) koriste Ethernet i Wi-Fi, a mobilne (WAN) koriste 3G / 4G. Međutim, mnogi IoT uređaji imaju malu potrošnju energije, poput senzora, i napajaju se samo iz baterija. U tim slučajevima Ethernet nije prikladan, ali se mogu koristiti Wi-Fi i Bluetooth slabog napajanja.

Dok će se postojeće bežične tehnologije (Wi-Fi, Bluetooth, 3G/4G) i dalje koristiti za povezivanje ovih uređaja, također vrijedi pogledati nove tehnologije posebno dizajnirane za IoT aplikacije koje će vjerojatno rasti u popularnosti.

Među njima:

  • BLE – Bluetooth niske energije

  • LoRaWAN - WAN dugog dometa

  • SigFox

  • LTE-M

Oni su detaljnije opisani u članku. Pregled IOT bežičnih tehnologija (pregled bežičnih IoT tehnologija).

mrežni sloj

Na mrežnom sloju (umrežavanje), dugoročno će dominirati protokol IPv6. Malo je vjerojatno da će se IPv4 koristiti, ali bi mogao igrati ulogu u ranim fazama. Većina kućnih IoT uređaja, kao što su pametne žarulje, trenutno koriste IPv4.

transportni sloj 

Na transportnom sloju (Transport), Internetom i webom dominira TCP. Koristi se u HTTP-u i mnogim drugim popularnim internetskim protokolima (SMTP, POP3, IMAP4, itd.).

MQTT, za koji očekujem da će postati jedan od glavnih protokola aplikacijskog sloja za razmjenu poruka, trenutno koristi TCP.

Međutim, u budućnosti, zbog nižih troškova, očekujem da će UDP postati popularniji za IoT. Vjerojatno rašireniji MQTT-SN, radi preko UDP-a. Vidi usporedni članak TCP protiv UDP-a .

Aplikacijski sloj i protokoli za razmjenu poruka

Važne karakteristike za IoT protokole:

  • Brzina - količina podataka prenesenih u sekundi.

  • Latencija je vrijeme potrebno za slanje poruke.

  • Potrošnja energije.

  • Sigurnost.

  • Dostupnost softvera.

Trenutno se na ovoj razini aktivno koriste dva glavna protokola: HTTP i MQTT.

HTTP je vjerojatno najpoznatiji protokol ove razine koji leži u osnovi weba (WWW). I dalje će biti važan za IoT jer se koristi za REST API - glavni mehanizam za interakciju između web aplikacija i usluga. Međutim, zbog velikih troškova, malo je vjerojatno da će HTTP postati glavni IoT protokol, iako će se i dalje široko koristiti na Internetu.

MQTT (Message Queuing Telemetry Transport) postao je glavni protokol za razmjenu poruka u IoT-u zbog svoje lakoće i jednostavnosti korištenja. Vidi članak Uvod u MQTT za početnike (Uvod u MQTT za početnike).

Usporedba HTTP-a i MQTT-a za IoT

MQTT brzo postaje de facto standard za IoT aplikacije. To je zbog njegove lakoće i brzine u usporedbi s HTTP-om i činjenice da je to protokol jedan-na-više, a ne jedan-na-jedan (HTTP).

Mnoge moderne web aplikacije rado bi koristile MQTT umjesto HTTP-a da je bio dostupan u vrijeme njihovog razvoja.

Dobar primjer je slanje informacija mnogim klijentima, kao što su dolasci i odlasci vlakova/autobusa/zrakoplova. U ovom scenariju, protokol jedan-na-jedan kao što je HTTP ima mnogo opterećenja i dosta opterećuje web poslužitelje. Skaliranje ovih web poslužitelja može biti teško. Uz MQTT, klijenti se povezuju s brokerom, koji se može jednostavno dodati za uravnoteženje opterećenja. Pogledajte video tutorial o tome Ponovno objavljivanje HTML podataka putem MQTT-a (primjer dolazaka letova) i članak MQTT u odnosu na HTTP za IOT.

Ostali protokoli za razmjenu poruka

HTTP nije dizajniran za IoT aplikacije, ali kao što je spomenuto, još će neko vrijeme biti u širokoj upotrebi zbog široke upotrebe u API.

Gotovo sve IoT platforme podržavaju i HTTP i MQTT.

Međutim, postoje i drugi protokoli koje vrijedi razmotriti.

protokoli

  • MQTT - (Telemetrijski prijenos poruka u redu čekanja). Koristi TCP/IP. Model objavljivanja i pretplate zahtijeva brokera poruka.

  • AMQP - (Advanced Message Queuing Protocol). Koristi TCP/IP. Modeli izdavač-pretplatnik i točka-točka.

  • COAP - (Protokol ograničene aplikacije). Koristi UDP. Dizajniran posebno za IoT, koristi model zahtjev-odgovor kao u HTTP-u. RFC 7252.

  • DDS - (Usluga distribucije podataka) 

U ovome članak razmatraju se glavni protokoli i njihove primjene. Zaključak ovog članka je da će IoT koristiti skup protokola, ovisno o njihovoj namjeni.

Međutim, u retrospektivi, u ranim godinama Interneta, HTTP protokol koji će postati dominantan bio je samo jedan od mnogih protokola.

Iako HTTP izvorno nije zamišljen za prijenos datoteka i e-pošte, danas se koristi za oboje.

Očekujem da će se ista stvar dogoditi s protokolima za razmjenu poruka u IoT-u: većina će usluga koristiti jedan prevladavajući protokol.

Ispod se nalaze grafikoni Google trendova koji pokazuju kako se popularnost MQTT-a, COAP-a i AMQP-a promijenila u posljednjih nekoliko godina.

Pregled Google trendova 

Pregled mrežnih protokola i protokola za razmjenu poruka za IoT

Podrška protokola prema platformi

  • Microsoft Azure - MQTT, AMQP, HTTP i HTTPS

  • AWS - MQTT, HTTPS, MQTT preko websocketa

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Rezime

Najviše promjena je na razini kanala (razine 1 i 2) i aplikacijske razine (razina 4).

Mrežni i transportni slojevi vjerojatno će ostati nepromijenjeni.

Na aplikacijskom sloju, IoT komponente će koristiti protokole za razmjenu poruka. Iako smo još uvijek u ranoj fazi razvoja IoT-a, vjerojatno će se istaknuti jedan ili možda dva protokola za razmjenu poruka.

Tijekom proteklih nekoliko godina MQTT je postao najpopularniji i na njega se sada fokusiram na ovoj stranici.

HTTP će se također nastaviti koristiti jer je već dobro ugrađen u postojeće IoT platforme.

To je sve. Pozivamo vas da se prijavite za besplatnu demo lekciju na tu temu "Chatbot za brze naredbe uređaju".

Čitaj više:

Izvor: www.habr.com

Dodajte komentar