Oversigt over netværks- og meddelelsesprotokoller til IoT

Hej Khabrovites! Ruslands første online kursus IoT-udvikler lanceres i OTUS i oktober. Tilmelding til kurset er åben lige nu, i forbindelse med dette deler vi fortsat brugbare materialer med dig.

Oversigt over netværks- og meddelelsesprotokoller til IoT

Internet of Things (IoT, Internet of Things) vil blive bygget oven på den eksisterende netværksinfrastruktur, teknologier og protokoller, der i øjeblikket bruges i hjem/kontorer og internettet, og vil tilbyde meget mere.

Formålet med denne vejledning er at give et kort overblik over netværk og applikationsprotokoller til IoT.

Bemærk. Du skal have viden grundlæggende netværksteknologier.

IoT netværk

IoT vil køre på eksisterende TCP/IP-netværk.

TCP/IP bruger en fire-lags model med specifikke protokoller på hvert lag. Cm. at forstå TCP/IP 4-lagsmodellen (vi forstår firelagsmodellen af ​​TCP / IP).

Diagrammet nedenfor viser en sammenligning af de protokoller, der i øjeblikket er i brug, og dem, der mest sandsynligt vil blive brugt til IoT.

Oversigt over netværks- og meddelelsesprotokoller til IoT

Diagramnoter:

  1. Skriftstørrelsen angiver protokollens popularitet. For eksempel til venstre er IPv4 større, da det er meget mere populært på det moderne internet. Den er dog mindre til højre, da IPv6 forventes at være mere populær i IoT.

  2. Ikke alle protokoller vises.

  3. De fleste af ændringerne er på kanalniveau (niveau 1 og 2) og applikationsniveau (niveau 4).

  4. Netværket og transportlagene vil sandsynligvis forblive uændrede.

Linklagsprotokoller

På datalinkniveau (Data Link) skal du forbinde enheder med hinanden. De kan være både tætte, f.eks. i lokale netværk (lokale netværk) og i stor afstand fra hinanden: i byer (storbynetværk) og globale netværk (videområdenetværk).

I øjeblikket, på dette niveau, bruger hjemme- og kontornetværk (LAN'er) Ethernet og Wi-Fi, og mobile (WAN'er) bruger 3G / 4G. Mange IoT-enheder har dog lavt strømforbrug, såsom sensorer, og er kun drevet af batterier. I disse tilfælde er Ethernet ikke egnet, men lavstrøms Wi-Fi og lavstrøms Bluetooth kan bruges.

Mens eksisterende trådløse teknologier (Wi-Fi, Bluetooth, 3G/4G) fortsat vil blive brugt til at forbinde disse enheder, er det også værd at se på nye teknologier, der er specielt designet til IoT-applikationer, der sandsynligvis vil vokse i popularitet.

Blandt dem:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - Long Range WAN

  • SigFox

  • LTE-M

De er beskrevet mere detaljeret i artiklen. En oversigt over trådløse IOT-teknologier (oversigt over trådløse IoT-teknologier).

netværkslag

På netværkslaget (Networking) vil protokollen dominere på længere sigt IPv6. Det er usandsynligt, at IPv4 vil blive brugt, men det kan spille en rolle i de tidlige stadier. De fleste IoT-enheder til hjemmet, såsom smarte pærer, bruger i øjeblikket IPv4.

transportlag 

På transportlaget (Transport) er internettet og nettet domineret af TCP. Det bruges i både HTTP og mange andre populære internetprotokoller (SMTP, POP3, IMAP4 osv.).

MQTT, som jeg forventer vil blive en af ​​de vigtigste applikationslagsprotokoller til meddelelser, bruger i øjeblikket TCP.

Men i fremtiden, på grund af lavere overhead, forventer jeg, at UDP bliver mere populær for IoT. Formentlig mere udbredt MQTT-SN, kører over UDP. Se sammenligningsartikel TCP vs UDP .

Applikationslag og meddelelsesprotokoller

Vigtige egenskaber for IoT-protokoller:

  • Hastighed - mængden af ​​data, der overføres pr. sekund.

  • Latency er den tid, det tager at sende en besked.

  • Strømforbrug.

  • Sikkerhed.

  • Tilgængelighed af software.

I øjeblikket bruges to hovedprotokoller aktivt på dette niveau: HTTP og MQTT.

HTTP er sandsynligvis den mest kendte protokol på dette niveau, der ligger til grund for internettet (WWW). Det vil fortsat være vigtigt for IoT, da det bruges til REST API - hovedmekanismen for interaktion mellem webapplikationer og tjenester. På grund af høje omkostninger er det dog usandsynligt, at HTTP bliver den vigtigste IoT-protokol, selvom den stadig vil blive meget brugt på internettet.

MQTT (Message Queuing Telemetry Transport) er blevet den vigtigste meddelelsesprotokol i IoT på grund af dens lethed og brugervenlighed. Se artiklen Introduktion til MQTT for begyndere (Introduktion til MQTT for begyndere).

Sammenligning af HTTP og MQTT til IoT

MQTT er hurtigt ved at blive de facto-standarden for IoT-applikationer. Dette skyldes dens lethed og hastighed sammenlignet med HTTP og det faktum, at det er en en-til-mange-protokol frem for en-til-en (HTTP).

Mange moderne webapplikationer ville med glæde bruge MQTT i stedet for HTTP, hvis det var tilgængeligt på tidspunktet for deres udvikling.

Et godt eksempel er at sende information til mange kunder, såsom ankomster og afgange af tog/busser/fly. I dette scenarie har en en-til-en protokol som HTTP en masse overhead og belaster webservere meget. Det kan være svært at skalere disse webservere. Med MQTT forbinder klienter sig med en mægler, som nemt kan tilføjes til belastningsbalancering. Se video tutorial om det Genudgiv HTML-data over MQTT (eksempel på flyankomster) og artikel MQTT vs HTTP til IOT.

Andre meddelelsesprotokoller

HTTP var ikke designet til IoT-applikationer, men som nævnt vil det blive meget brugt i nogen tid på grund af dets udbredte brug i API.

Næsten alle IoT-platforme understøtter både HTTP og MQTT.

Der er dog andre protokoller, der er værd at overveje.

protokoller

  • MQTT - (Message Queuing Telemetri Transport). Bruger TCP/IP. Udgiv-abonner-modellen kræver en meddelelsesmægler.

  • AMQP - (Advanced Message Queuing Protocol). Bruger TCP/IP. Publisher-Subscriber og Point-to-Point-modeller.

  • COAP - (Constrained Application Protocol). Bruger UDP. Designet specifikt til IoT, bruger anmodning-svar-modellen som i HTTP. RFC 7252.

  • DDS - (Datadistributionstjeneste) 

Heri artiklen hovedprotokollerne og deres anvendelser tages i betragtning. Konklusionen af ​​denne artikel er, at IoT vil bruge et sæt protokoller, afhængigt af deres tilsigtede brug.

Men set i bakspejlet, i de tidlige år af internettet, var HTTP-protokollen, der ville blive dominerende, blot en af ​​mange protokoller.

Selvom HTTP ikke oprindeligt blev udtænkt til fil- og e-mail-overførsel, bruges det i dag til begge dele.

Jeg forventer, at det samme sker med meddelelsesprotokoller i IoT: de fleste tjenester vil bruge én overvejende protokol.

Nedenfor er Google Trends-diagrammer, der viser, hvordan populariteten af ​​MQTT, COAP og AMQP har ændret sig i løbet af de sidste par år.

Oversigt over Google Trends 

Oversigt over netværks- og meddelelsesprotokoller til IoT

Protokolstøtte efter platform

  • Microsoft Azure - MQTT, AMQP, HTTP og HTTPS

  • AWS - MQTT, HTTPS, MQTT over websockets

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Resumé

De fleste af ændringerne er på kanalniveau (niveau 1 og 2) og applikationsniveau (niveau 4).

Netværket og transportlagene vil sandsynligvis forblive uændrede.

På applikationslaget vil IoT-komponenter bruge meddelelsesprotokoller. Selvom vi stadig er på et tidligt stadium i IoT-udviklingen, er det sandsynligt, at en eller måske to meddelelsesprotokoller vil skille sig ud.

I løbet af de sidste par år er MQTT blevet det mest populære, og det er på det, jeg nu fokuserer på denne side.

HTTP vil også fortsat blive brugt, da det allerede er godt indbygget i eksisterende IoT-platforme.

Det er alt. Vi inviterer dig til at tilmelde dig en gratis demo-lektion om emnet "Chatbot til hurtige kommandoer til enheden".

Læs mere:

Kilde: www.habr.com

Tilføj en kommentar