Oversigt over netværksprotokoller og messagingprotokoller til IoT

Hej, Habrovski! Første onlinekursus for IoT-udviklere i Rusland starter i OTUS allerede i oktober. Tilmeldingen til kurset er åben lige nu, og derfor fortsætter vi med at dele nyttige materialer med jer.

Oversigt over netværksprotokoller og messagingprotokoller til IoT

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

Målet med denne vejledning er at give en kort oversigt over netværks- og applikationsprotokoller til IoT.

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

IoT-netværk

IoT vil fungere i eksisterende TCP/IP-netværk.

TCP/IP bruger en fire-niveau model med specifikke protokoller på hvert niveau. Se forståelse af TCP/IP 4-lagsmodellen (forståelse af TCP/IP 4-lagsmodellen).

Diagrammet nedenfor viser en sammenligning af de protokoller, der i øjeblikket bruges, og dem, der sandsynligvis vil blive brugt til IoT.

Oversigt over netværksprotokoller og messagingprotokoller til IoT

Bemærkninger til diagrammet:

  1. Skriftstørrelsen viser graden af protokolpopularitet. For eksempel er IPv4 til venstre større, da det er langt mere populært i internettets moderne tidsalder. Dog er det mindre til højre, da IPv6 forventes at blive mere populært i IoT.

  2. Ikke alle protokoller vises.

  3. Der er størst ændring på det linkede niveau (niveau 1 og 2) og applikationsniveauet (niveau 4).

  4. Netværks- og transportniveauerne vil sandsynligvis forblive uændrede.

Linkniveau protokoller

På linkniveauet (Data Link) skal du forbinde enhederne. De kan være tæt på hinanden, som i lokale netværk, eller langt væk fra hinanden i bynetværk og globale netværk.

I øjeblikket bruges Ethernet og Wi-Fi på dette niveau i hjemlige og kontor netværk (LAN), og i mobile netværk (WAN) bruges 3G/4G. Dog er mange IoT-enheder energibesparende, som sensorer, og drives kun af batterier. I disse tilfælde er Ethernet ikke egnet, men lavenergi Wi-Fi og lavenergi Bluetooth kan bruges.

Selv om eksisterende trådløse teknologier (Wi-Fi, Bluetooth, 3G / 4G) stadig vil blive anvendt til at forbinde disse enheder, er det værd at lægge mærke til nye teknologier, der er specielt designet til IoT-applikationer, hvis popularitet sandsynligvis vil stige.

Blandt dem:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

De er mere detaljeret beskrevet i artiklen An overview of IOT wireless technologies (oversigt over trådløse IoT-teknologier).

Netværksniveau

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

Transportniveau 

På transportniveau (Transport) dominerer TCP på internettet og i weben. Det anvendes både i HTTP og i mange andre populære internetprotokoller (SMTP, POP3, IMAP4 osv.).

MQTT, som jeg forventer vil blive en af de primære applikationsprotokoller til meddelelser, bruger i øjeblikket TCP.

Men i fremtiden forventer jeg, at UDP vil blive mere populært for IoT på grund af dets lavere overhead. Det er sandsynligt, at MQTT-SN, der arbejder over UDP, vil få mere udbredelse. Se artiklen om sammenligning af TCP vs UDP .

Applikationsniveau og meddelelsesprotokoller

Vigtige egenskaber for IoT-protokoller:

  • Hastighed — mængden af data sendt per sekund.

  • Forsinkelse — den tid, det tager at sende en meddelelse.

  • Strømforbrug.

  • Sikkerhed.

  • Tilgængeligheden af softwareværktøjer.

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

HTTP er sandsynligvis den mest kendte protokol på dette niveau, der ligger til grund for weben (WWW). Det vil stadig have stor betydning for IoT, da det bruges til REST API - den primære mekanisme for interaktion mellem webapplikationer og tjenester. Men på grund af den høje overhead vil HTTP næppe blive den primære IoT-protokol, selvom den stadig vil blive bredt anvendt på internettet.

MQTT (Message Queuing Telemetry Transport) er blevet den primære beskedprotokol i IoT på grund af sin lethed og brugervenlighed. Se artiklen Introduction to MQTT for beginners (Introduktion til MQTT for begyndere).

Sammenligning af HTTP og MQTT for IoT

MQTT bliver hurtigt en de facto standard for IoT-applikationer. Dette skyldes dets lethed og hastighed sammenlignet med HTTP, samt at det er en 'one-to-many'-protokol i stedet for en 'one-to-one' (HTTP).

Mange moderne webapplikationer ville glædeligt anvende MQTT i stedet for HTTP, hvis det havde været tilgængeligt på tidspunktet for deres udvikling.

Et godt eksempel er at sende information til mange kunder, for eksempel om ankomster og afgange af tog / busser / fly. I dette scenarie har 'one-to-one'-protokoller som HTTP store omkostninger og belaster webserverne betydeligt. Skalerbarheden af disse webservere kan være vanskelig. Med MQTT tilslutter kunder sig en broker, som nemt kan tilføjes for at fordele belastningen. Se denne tutorial med video. Genudgiv HTML-data over MQTT (Eksempel med flight-arrival) og artikel MQTT vs HTTP for IoT.

Andre meddelelsesprotokoller

HTTP blev ikke designet til IoT-applikationer, men som nævnt vil det blive bredt anvendt i et stykke tid på grund af dets vidt udbredte brug i API.

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

Men der er også andre protokoller, der er værd at overveje.

Protokoller

  • MQTT — (Message Queuing Telemetry Transport). Bruger TCP/IP. En broker er nødvendig for 'publisher-subscriber'-modellen.

  • AMQP — (Advanced Message Queuing Protocol). Bruger TCP/IP. 'Publisher-subscriber' og 'point-to-point' modeller.

  • COAP — (Constrained Application Protocol). Bruger UDP. Specifikt designet til IoT, bruger en anmodning-svar model som i HTTP. RFC 7252.

  • DDS — (Data Distribution Service) 

I denne artikel gennemgås de vigtigste protokoller og deres anvendelser. Konklusionen i denne artikel er, at IoT vil bruge et sæt protokoller afhængigt af deres påtænkte anvendelse.

Hvis man ser tilbage, var HTTP, der senere blev dominerende, blot en af mange protokoller i de tidlige dage af internettet.

Selvom HTTP ikke oprindeligt blev designet til at transmittere filer og e-mail, bruges det nu til begge dele.

Jeg forventer, at det samme vil ske med meddelelsesprotokoller i IoT: de fleste tjenester vil anvende én dominerende protokol.

Nedenfor er grafer fra Google Trends, der viser, hvordan populariteten af MQTT, COAP og AMQP har ændret sig over de seneste år.

Google Trends Oversigt 

Oversigt over netværksprotokoller og messagingprotokoller til IoT

Protokolunderstøttelse efter platforme

  • Microsoft Azure — MQTT, AMQP, HTTP og HTTPS

  • AWS — MQTT, HTTPS, MQTT over websockets

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

CV

Der er størst ændring på det linkede niveau (niveau 1 og 2) og applikationsniveauet (niveau 4).

Netværks- og transportniveauerne vil sandsynligvis forblive uændrede.

På anvendelsesniveauet vil IoT-komponenter bruge meddelelsesprotokoller. Selvom vi stadig er i de tidlige faser af IoT-udviklingen, er det meget sandsynligt, at der vil fremstå en eller måske to meddelelsesprotokoller.

I de seneste år er MQTT blevet den mest populære, og det er også det, jeg fokuserer på på denne hjemmeside.

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

Det var alt for nu. Vi inviterer dig til at tilmelde dig en gratis demo-lektion om emnet „Chatbot til hurtige kommandoer til enheden“.

Læs mere:

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster