Oersjoch fan netwurk- en berjochtenprotokollen foar IoT

Hallo, Khabrovites! Ruslân's earste online kursus IoT-ûntwikkelder begjint by OTUS yn oktober. Ynskriuwing foar de kursus is op it stuit iepen, en dêrom bliuwe wy brûkbere materialen mei jo diele.

Oersjoch fan netwurk- en berjochtenprotokollen foar IoT

It Internet of Things (IoT) sil bouwe op besteande netwurkynfrastruktuer, technologyen en protokollen dy't op it stuit brûkt wurde yn huzen/kantoaren en it ynternet, en sil folle mear biede.

It doel fan dizze hantlieding is om in koart oersjoch te jaan fan netwurk- en applikaasjeprotokollen foar IoT.

Noat. Jo moatte kennis hawwe basis fan netwurk technologyen.

IoT netwurken

IoT sil wurkje op besteande TCP / IP netwurken.

TCP / IP brûkt in fjouwer-laach model mei spesifike protokollen by elke laach. Cm. begripe it TCP / IP 4 laach model (wy begripe de fjouwer-laach TCP / IP model).

It diagram hjirûnder lit in fergeliking sjen fan 'e protokollen dy't op it stuit yn gebrûk binne en dy't it meast wierskynlik wurde brûkt foar IoT.

Oersjoch fan netwurk- en berjochtenprotokollen foar IoT

Notysjes op it diagram:

  1. De lettertypegrutte wjerspegelet de populariteit fan it protokol. Bygelyks, oan de linkerkant is d'r mear IPv4, om't it folle populêrder is op it moderne ynternet. It is lykwols lytser oan 'e rjochterkant, om't IPv6 wurdt ferwachte populêrder te wurden yn IoT.

  2. Net alle protokollen wurde werjûn.

  3. De measte feroarings binne op it kanaal (nivo's 1 en 2) en tapassingsnivo's (nivo 4).

  4. De netwurk- en transportlagen bliuwe nei alle gedachten net feroare.

Link Layer Protocols

By de Data Link-laach moatte jo apparaten mei elkoar ferbine. Se kinne óf tichtby lizze, bygelyks yn lokale netwurken, of op in grutte ôfstân fan elkoar: yn metropoalnetwurken en wide area netwurken.

Op dit stuit brûke thús- en kantoarnetwurken (LAN) Ethernet en Wi-Fi, en mobile netwurken (WAN) brûke 3G/4G. In protte IoT-apparaten hawwe lykwols leechmacht, lykas sensoren, en wurde allinich oandreaun troch batterijen. Yn dizze gefallen, Ethernet is net geskikt, mar low powered Wi-Fi en low powered Bluetooth kin brûkt wurde.

Wylst besteande draadloze technologyen (Wi-Fi, Bluetooth, 3G/4G) noch sille wurde brûkt om dizze apparaten te ferbinen, is it ek wurdich te sjen nei nije technologyen spesifyk ûntworpen foar IoT-applikaasjes, dy't wierskynlik yn populariteit sille groeie.

Under harren:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - Long Range WAN

  • SigFox

  • LTE-M

Se wurde beskreaun yn mear detail yn it artikel. In oersjoch fan IOT draadloze technologyen (oersjoch fan draadloze IoT-technologyen).

netwurk laach

Op it netwurknivo (Netwurking) sil it protokol op 'e lange termyn dominearje IPv6. It is net wierskynlik dat IPv4 sil wurde brûkt, mar it kin in rol spylje yn 'e earste fazen. De measte IoT-apparaten foar thús, lykas tûke gloeilampen, brûke op it stuit IPv4.

ferfier laach 

TCP dominearret de Transportlaach op it ynternet en it web. It wurdt brûkt yn sawol HTTP as in protte oare populêre ynternetprotokollen (SMTP, POP3, IMAP4, ensfh.).

MQTT, dy't ik ferwachtsje te wurden ien fan de wichtichste applikaasje laach protokollen foar messaging, brûkt op it stuit TCP.

Lykwols, yn 'e takomst, fanwege legere overhead, ferwachtsje ik dat UDP populêrder sil wêze foar IoT. It sil nei alle gedachten mear wiidferspraat wurde MQTT-SN, rint boppe op UDP. Sjoch ferliking artikel TCP vs UDP .

Applikaasjelaach en berjochtprotokollen

Wichtige skaaimerken foar IoT-protokollen:

  • Faasje - de hoemannichte gegevens oerdroegen per sekonde.

  • Wachttiid is de tiid dy't nedich is om in berjocht te ferstjoeren.

  • Power consumption

  • Feiligens.

  • Beskikberens fan software.

Op it stuit wurde twa haadprotokollen aktyf brûkt op dit nivo: HTTP en MQTT.

HTTP is wierskynlik it bekendste protokol op dit nivo, ûnderlizzend op it web (WWW). It sil wichtich bliuwe foar IoT, om't it wurdt brûkt foar REST API's, it kearnmeganisme foar hoe't webapplikaasjes en tsjinsten ynteraksje. Troch syn hege overhead is HTTP lykwols net wierskynlik it primêre IoT-protokol te wurden, hoewol it noch altyd in soad brûkt wurdt op it ynternet.

MQTT (Message Queuing Telemetry Transport) is it dominante berjochtenprotokol wurden yn IoT fanwegen syn lichtens en gemak fan gebrûk. Sjoch artikel Yntroduksje ta MQTT foar begjinners (Yntroduksje ta MQTT foar begjinners).

Fergeliking fan HTTP en MQTT foar IoT

MQTT wurdt rap de de facto standert foar IoT-applikaasjes. Dit is te tankjen oan syn ljochtheid en snelheid yn ferliking mei HTTP en it feit dat it in ien-op-in-protokol is yn stee fan in ien-op-ien protokol (HTTP).

In protte moderne webapplikaasjes soene lokkich MQTT hawwe brûkt ynstee fan HTTP as it beskikber west hie op it momint fan har ûntwikkeling.

In goed foarbyld is it ferstjoeren fan ynformaasje nei meardere kliïnten, lykas oankomsten en fertreken fan trein/bus/fleantúch. Yn dit senario hat in ien-op-ien protokol lykas HTTP hege overhead en set in soad lêst op webservers. Skaalfergrutting fan dizze webservers kin lestich wêze. Mei MQTT ferbine kliïnten mei in broker, dy't maklik kin wurde tafoege foar load balancing. Besjoch dizze tutorial mei fideo HTML-gegevens opnij publisearje oer MQTT (foarbyld fan flechtoankomsten) en artikel MQTT vs HTTP foar IOT.

Oare berjochtenprotokollen

HTTP wie net ûntworpen foar IoT-applikaasjes, mar lykas neamd, sil it in skoft in soad brûkt wurde fanwegen syn wiidferspraat gebrûk yn API.

Hast alle IoT-platfoarms stypje sawol HTTP as MQTT.

D'r binne lykwols oare protokollen dy't it wurdich binne te beskôgjen.

Protokollen

  • MQTT - (Message Queuing Telemetry Transport). Brûkt TCP/IP. It útjouwer-abonnee-model fereasket in berjochtmakelaar.

  • AMQP - (Advanced Message Queuing Protocol). Brûkt TCP/IP. Publisher-abonnee en punt-to-punt modellen.

  • COAP - (Constrained Application Protocol). Brûkt UDP. Spesifyk ûntworpen foar IoT, brûkt in fersyk-antwurdmodel lykas HTTP. RFC 7252.

  • DDS - (Datadistribúsjetsjinst) 

Hjiryn artikel De wichtichste protokollen en har tapassingen wurde besprutsen. De konklúzje fan dit artikel is dat IoT in set protokollen sil brûke ôfhinklik fan har bedoelde tapassing.

As jo ​​​​lykwols werom sjogge, yn 'e iere jierren fan it ynternet, HTTP, dat letter it dominante protokol waard, wie mar ien fan in protte protokollen.

Hoewol HTTP oarspronklik net ûntwurpen is foar bestânferfier of e-post, wurdt it hjoeddedei brûkt foar beide.

Ik ferwachtsje dat itselde ding sil barre mei messagingprotokollen yn IoT: de measte tsjinsten sille ien dominant protokol brûke.

Hjirûnder binne Google Trends-grafiken dy't sjen litte hoe't de populariteit fan MQTT, COAP en AMQP is feroare yn 'e ôfrûne jierren.

Google Trends Review 

Oersjoch fan netwurk- en berjochtenprotokollen foar IoT

Protokol stipe troch platfoarm

  • Microsoft Azure - MQTT, AMQP, HTTP en HTTPS

  • Aws - MQTT, HTTPS, MQTT oer websockets

  • IBM Bluemix - MQTT, HTTPS, MQTT

  • Thingworx - MQTT,HTTPS,MQTT,AMQP

Gearfetting

De measte feroarings binne op it kanaal (nivo's 1 en 2) en tapassingsnivo's (nivo 4).

De netwurk- en transportlagen bliuwe nei alle gedachten net feroare.

By de applikaasjelaach sille IoT-komponinten messagingprotokollen brûke. Hoewol wy noch yn 'e iere stadia fan IoT-ûntwikkeling binne, is it wierskynlik dat ien of miskien twa messagingprotokollen sille ûntstean.

Yn 'e ôfrûne jierren is MQTT de populêrste wurden en is wat ik op it stuit rjochtsje op dizze side.

HTTP sil ek bliuwend wurde brûkt, om't it al goed yntegreare is yn besteande IoT-platfoarms.

Da's alles. Wy noegje jo út om jo oan te melden foar in fergese demo-les oer it ûnderwerp "Chatbot foar rappe kommando's nei it apparaat".

Lês mear:

Boarne: www.habr.com

Add a comment