Yleiskatsaus IoT:n verkko- ja viestintäprotokolliin

Hei Khabrovites! Venäjän ensimmäinen verkkokurssi IoT-kehittäjä käynnistyy OTUSissa lokakuussa. Ilmoittautuminen kurssille on nyt auki, minkä yhteydessä jatkamme hyödyllisten materiaalien jakamista kanssasi.

Yleiskatsaus IoT:n verkko- ja viestintäprotokolliin

Esineiden internet (IoT, Internet of Things) rakennetaan nykyisen kodeissa/toimistoissa ja Internetissä käytettävän verkkoinfrastruktuurin, teknologioiden ja protokollien päälle, ja se tarjoaa paljon enemmän.

Tämän oppaan tarkoituksena on antaa lyhyt yleiskatsaus IoT:n verkko- ja sovellusprotokolliin.

Huomautus. Sinulla täytyy olla tietoa verkkoteknologian perusteet.

IoT-verkot

IoT toimii olemassa olevissa TCP/IP-verkoissa.

TCP/IP käyttää nelikerroksista mallia, jossa kullakin tasolla on erityisprotokollat. cm. TCP/IP 4 -kerrosmallin ymmärtäminen (Ymmärrämme TCP / IP:n nelikerroksisen mallin).

Alla oleva kaavio näyttää vertailun tällä hetkellä käytössä olevista protokollista, joita todennäköisimmin käytetään IoT:ssä.

Yleiskatsaus IoT:n verkko- ja viestintäprotokolliin

Kaavion muistiinpanot:

  1. Fonttikoko ilmaisee protokollan suosion. Esimerkiksi vasemmalla IPv4 on suurempi, koska se on paljon suositumpi nykyaikaisessa Internetissä. Se on kuitenkin pienempi oikealla, koska IPv6:n odotetaan olevan suositumpi IoT:ssä.

  2. Kaikkia protokollia ei näytetä.

  3. Suurin osa kaikista muutoksista on kanavalla (tasot 1 ja 2) ja sovellustasoilla (taso 4).

  4. Verkko- ja kuljetuskerrokset pysyvät todennäköisesti ennallaan.

Linkkikerroksen protokollat

Datalinkkitasolla (Data Link) sinun on yhdistettävä laitteet toisiinsa. Ne voivat olla sekä lähellä, esimerkiksi paikallisissa verkoissa (paikallisverkot) että suurella etäisyydellä toisistaan: kaupungeissa (pääkaupunkiseutuverkot) ja globaaleissa verkoissa (laajaverkot).

Tällä hetkellä koti- ja toimistoverkot (LAN) käyttävät Ethernet- ja Wi-Fi-yhteyttä ja mobiiliverkot (WAN) käyttävät 3G/4G-yhteyttä. Monet IoT-laitteet, kuten anturit, ovat kuitenkin vähätehoisia, ja ne saavat virtaa vain paristoista. Näissä tapauksissa Ethernet ei sovellu, mutta pienitehoista Wi-Fi-yhteyttä ja pienitehoista Bluetoothia voidaan käyttää.

Vaikka olemassa olevia langattomia teknologioita (Wi-Fi, Bluetooth, 3G/4G) käytetään jatkossakin näiden laitteiden yhdistämiseen, kannattaa myös tutustua uusiin, erityisesti IoT-sovelluksiin suunniteltuihin teknologioihin, joiden suosio todennäköisesti kasvaa.

Niistä:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - Long Range WAN

  • SigFox

  • LTE-M

Niitä kuvataan yksityiskohtaisemmin artikkelissa. Yleiskatsaus langattomista IOT-tekniikoista (yleiskatsaus langattomista IoT-tekniikoista).

Verkkokerros

Verkkokerroksessa (Networking) protokolla hallitsee pitkällä aikavälillä IPv6. IPv4:n käyttö on epätodennäköistä, mutta sillä voi olla merkitystä alkuvaiheessa. Useimmat kodin IoT-laitteet, kuten älykkäät hehkulamput, käyttävät tällä hetkellä IPv4:ää.

Kuljetuskerros 

Kuljetuskerroksessa (Transport) Internetiä ja verkkoa hallitsevat TCP. Sitä käytetään sekä HTTP:ssä että monissa muissa suosituissa Internet-protokollissa (SMTP, POP3, IMAP4 jne.).

MQTT, josta odotan tulevan yhdeksi tärkeimmistä sovelluskerroksen protokollista viestien välittämiseen, käyttää tällä hetkellä TCP:tä.

Odotan kuitenkin, että tulevaisuudessa UDP:n suosio kasvaa IoT:ssä alhaisempien yleiskustannusten takia. Todennäköisesti yleisempää MQTT-SN, toimii UDP:n yli. Katso vertailuartikkeli TCP vs. UDP .

Sovelluskerros ja viestintäprotokollat

IoT-protokollien tärkeitä ominaisuuksia:

  • Nopeus - siirretyn tiedon määrä sekunnissa.

  • Latenssi on aika, joka kuluu viestin lähettämiseen.

  • Virrankulutus

  • Turvallisuus.

  • Ohjelmiston saatavuus.

Tällä hetkellä tällä tasolla käytetään aktiivisesti kahta pääprotokollaa: HTTP ja MQTT.

HTTP on luultavasti tunnetuin tämän tason protokolla verkon (WWW) taustalla. Se on jatkossakin tärkeä IoT:lle, koska sitä käytetään REST API:ssa, joka on tärkein verkkosovellusten ja -palveluiden välisen vuorovaikutuksen mekanismi. Suuren ylikuormituksen vuoksi HTTP:stä ei kuitenkaan todennäköisesti tule IoT:n pääprotokollaa, vaikka sitä käytetään edelleen laajasti Internetissä.

MQTT:stä (Message Queuing Telemetry Transport) on tullut IoT:n tärkein viestintäprotokolla sen keveyden ja helppokäyttöisyyden ansiosta. Katso artikkeli Johdatus MQTT:hen aloittelijoille (Johdatus MQTT:hen aloittelijoille).

HTTP:n ja MQTT:n vertailu IoT:lle

MQTT:stä on nopeasti tulossa IoT-sovellusten tosiasiallinen standardi. Tämä johtuu sen keveydestä ja nopeudesta verrattuna HTTP:hen sekä siitä, että se on yksi-moneen-protokolla eikä yksi-yhteen (HTTP).

Monet nykyaikaiset verkkosovellukset käyttäisivät mielellään MQTT:tä HTTP:n sijaan, jos se olisi saatavilla niiden kehityshetkellä.

Hyvä esimerkki on tietojen lähettäminen useille asiakkaille, kuten junien/linja-autojen/lentokoneiden saapumis- ja lähtötiedot. Tässä skenaariossa yksi-yhteen-protokollalla, kuten HTTP:llä, on paljon yleiskustannuksia ja se kuormittaa paljon verkkopalvelimia. Näiden verkkopalvelimien skaalaaminen voi olla vaikeaa. MQTT:n avulla asiakkaat muodostavat yhteyden välittäjään, joka voidaan helposti lisätä kuormituksen tasapainotusta varten. Katso siitä opetusvideo Julkaise HTML-tiedot uudelleen MQTT:n kautta (esimerkki lentojen saapumisesta) ja artikkeli MQTT vs HTTP IOT:lle.

Muut viestintäprotokollat

HTTP:tä ei ole suunniteltu IoT-sovelluksiin, mutta kuten mainittiin, se tulee olemaan laajalti käytössä jonkin aikaa johtuen sen laajasta käytöstä API.

Lähes kaikki IoT-alustat tukevat sekä HTTP:tä että MQTT:tä.

On kuitenkin muitakin harkitsemisen arvoisia protokollia.

Pöytäkirjat

  • MQTT - (Message Queuing Telemetry Transport). Käyttää TCP/IP:tä. Julkaise-tilaa -malli vaatii viestinvälittäjän.

  • AMQP - (Advanced Message Queuing Protocol). Käyttää TCP/IP:tä. Julkaisija-tilaaja- ja Point-to-Point-mallit.

  • COAP - (Constrained Application Protocol). Käyttää UDP:tä. Suunniteltu erityisesti IoT:lle, käyttää pyyntö-vastausmallia kuten HTTP:ssä. RFC 7252.

  • DDS - (tiedonjakelupalvelu) 

Tässä статье pääprotokollia ja niiden sovelluksia tarkastellaan. Tämän artikkelin johtopäätös on, että IoT käyttää protokollia niiden käyttötarkoituksen mukaan.

Kuitenkin, jälkikäteen katsottuna, Internetin alkuvuosina hallitsevaksi tullut HTTP-protokolla oli vain yksi monista protokollista.

Vaikka HTTP:tä ei alun perin suunniteltu tiedostojen ja sähköpostien siirtoon, sitä käytetään nykyään molempiin.

Odotan saman tapahtuvan IoT:n viestiprotokollien kanssa: useimmat palvelut käyttävät yhtä hallitsevaa protokollaa.

Alla on Google Trends -kaavioita, jotka osoittavat, kuinka MQTT:n, COAP:n ja AMQP:n suosio on muuttunut muutaman viime vuoden aikana.

Google Trendsin yleiskatsaus 

Yleiskatsaus IoT:n verkko- ja viestintäprotokolliin

Protokollatuki alustan mukaan

  • Microsoft Azure - MQTT, AMQP, HTTP ja HTTPS

  • AWS - MQTT, HTTPS, MQTT websockettien kautta

  • IBM Bluemix - MQTT, HTTPS, MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Yhteenveto

Suurin osa kaikista muutoksista on kanavalla (tasot 1 ja 2) ja sovellustasoilla (taso 4).

Verkko- ja kuljetuskerrokset pysyvät todennäköisesti ennallaan.

Sovelluskerroksessa IoT-komponentit käyttävät viestintäprotokollia. Vaikka olemme vielä IoT-kehityksen alkuvaiheessa, on todennäköistä, että yksi tai ehkä kaksi viestinvälitysprotokollaa erottuu joukosta.

Viime vuosien aikana MQTT:stä on tullut suosituin, ja juuri siihen olen nyt keskittynyt tälle sivustolle.

HTTP:n käyttöä jatketaan myös, koska se on jo hyvin sisäänrakennettu olemassa oleviin IoT-alustoihin.

Siinä kaikki. Kutsumme sinut ilmoittautumaan ilmaiselle demotunnille aiheesta "Chatbot nopeita komentoja laitteeseen".

Lue lisää:

Lähde: will.com

Lisää kommentti