Oversikt over nettverks- og meldingsprotokoller for IoT

Hei, Khabrovites! Russlands første IoT-utvikler på nett lanseres i OTUS i oktober. Påmelding til kurset er åpen akkurat nå, i forbindelse med dette deler vi fortsatt nyttig materiell med deg.

Oversikt over nettverks- og meldingsprotokoller for IoT

Internet of Things (IoT, Internet of Things) skal bygges på toppen av eksisterende nettverksinfrastruktur, teknologier og protokoller som i dag brukes i hjem/kontorer og Internett, og vil tilby mye mer.

Formålet med denne veiledningen er å gi en kort oversikt over nettverk og applikasjonsprotokoller for IoT.

Merk. Du må ha kunnskap grunnleggende om nettverksteknologier.

IoT-nettverk

IoT vil kjøre på eksisterende TCP/IP-nettverk.

TCP/IP bruker en firelagsmodell med spesifikke protokoller på hvert lag. Cm. forstå TCP/IP 4-lagsmodellen (vi forstår firelagsmodellen av TCP / IP).

Diagrammet nedenfor viser en sammenligning av protokollene som er i bruk og de som mest sannsynlig vil bli brukt for IoT.

Oversikt over nettverks- og meldingsprotokoller for IoT

Kartnotater:

  1. Skriftstørrelsen indikerer populariteten til protokollen. For eksempel, til venstre, er IPv4 større, siden det er mye mer populært på det moderne Internett. Den er imidlertid mindre til høyre ettersom IPv6 forventes å bli mer populær i IoT.

  2. Ikke alle protokoller vises.

  3. Mest av alle endringer er på kanal (nivå 1 og 2) og applikasjonsnivå (nivå 4).

  4. Nettverket og transportlagene vil sannsynligvis forbli uendret.

Linklagsprotokoller

På datalinknivå (Data Link) må du koble enheter til hverandre. De kan være både nære, for eksempel i lokale nettverk (lokale nettverk) og i stor avstand fra hverandre: i urbane (metropolitan area networks) og globale nettverk (wide area networks).

For øyeblikket, på dette nivået, bruker hjemme- og kontornettverk (LAN) Ethernet og Wi-Fi, og mobil (WAN) bruker 3G / 4G. Imidlertid har mange IoT-enheter lavt strømforbruk, for eksempel sensorer, og drives kun av batterier. I disse tilfellene er Ethernet ikke egnet, men lavstrøms Wi-Fi og lavstrøms Bluetooth kan brukes.

Mens eksisterende trådløse teknologier (Wi-Fi, Bluetooth, 3G/4G) vil fortsette å bli brukt for å koble til disse enhetene, er det også verdt å se på nye teknologier spesielt utviklet for IoT-applikasjoner som sannsynligvis vil vokse i popularitet.

Blant dem:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - Long Range WAN

  • SigFox

  • LTE-M

De er beskrevet mer detaljert i artikkelen. En oversikt over trådløse IOT-teknologier (oversikt over trådløse IoT-teknologier).

nettverkslaget

På nettverkslaget (Networking) vil protokollen dominere på sikt IPv6. Det er usannsynlig at IPv4 vil bli brukt, men det kan spille en rolle i de tidlige stadiene. De fleste hjemme-IoT-enheter, for eksempel smarte lyspærer, bruker for tiden IPv4.

transportlag 

På transportlaget (Transport) domineres Internett og nettet av TCP. Den brukes i både HTTP og mange andre populære Internett-protokoller (SMTP, POP3, IMAP4, etc.).

MQTT, som jeg forventer vil bli en av de viktigste applikasjonslagsprotokollene for meldinger, bruker for tiden TCP.

Men i fremtiden, på grunn av lavere overhead, forventer jeg at UDP vil bli mer populært for IoT. Sannsynligvis mer utbredt MQTT-SN, kjører over UDP. Se sammenligningsartikkel TCP mot UDP .

Applikasjonslag og meldingsprotokoller

Viktige egenskaper for IoT-protokoller:

  • Hastighet - mengden data som overføres per sekund.

  • Latency er tiden det tar å sende en melding.

  • Strømforbruk.

  • Sikkerhet.

  • Tilgjengelighet av programvare.

For tiden brukes to hovedprotokoller aktivt på dette nivået: HTTP og MQTT.

HTTP er sannsynligvis den mest kjente protokollen på dette nivået som ligger til grunn for nettet (WWW). Det vil fortsatt være viktig for IoT, da det brukes til REST API – hovedmekanismen for interaksjon mellom nettapplikasjoner og tjenester. På grunn av høy overhead er det imidlertid lite sannsynlig at HTTP blir den viktigste IoT-protokollen, selv om den fortsatt vil bli mye brukt på Internett.

MQTT (Message Queuing Telemetry Transport) har blitt den viktigste meldingsprotokollen i IoT på grunn av dens letthet og brukervennlighet. Se artikkelen Introduksjon til MQTT for nybegynnere (Introduksjon til MQTT for nybegynnere).

Sammenligning av HTTP og MQTT for IoT

MQTT er raskt i ferd med å bli de facto-standarden for IoT-applikasjoner. Dette er på grunn av dens letthet og hastighet sammenlignet med HTTP og det faktum at det er en en-til-mange-protokoll i stedet for en-til-en (HTTP).

Mange moderne nettapplikasjoner ville gjerne brukt MQTT i stedet for HTTP hvis den var tilgjengelig på utviklingstidspunktet.

Et godt eksempel er å sende informasjon til flere kunder, for eksempel ankomster og avganger av tog/busser/fly. I dette scenariet har en en-til-en-protokoll som HTTP mye overhead og legger mye belastning på webservere. Det kan være vanskelig å skalere disse webserverne. Med MQTT kobler klienter seg til en megler, som enkelt kan legges til for lastbalansering. Se videoopplæringen om det Publiser HTML-data på nytt over MQTT (eksempel på flyankomster) og artikkel MQTT vs HTTP for IOT.

Andre meldingsprotokoller

HTTP ble ikke designet for IoT-applikasjoner, men som nevnt vil det bli mye brukt i noen tid på grunn av dets utbredte bruk i API.

Nesten alle IoT-plattformer støtter både HTTP og MQTT.

Det er imidlertid andre protokoller som er verdt å vurdere.

protokoller

  • MQTT - (Message Queuing Telemetri Transport). Bruker TCP/IP. Publiser-abonner-modellen krever en meldingsmegler.

  • AMQP - (Advanced Message Queuing Protocol). Bruker TCP/IP. Utgiver-abonnent og punkt-til-punkt-modeller.

  • COAP - (Constrained Application Protocol). Bruker UDP. Designet spesielt for IoT, bruker forespørsel-svar-modellen som i HTTP. RFC 7252.

  • DDS - (datadistribusjonstjeneste) 

I dette artikkel hovedprotokollene og deres applikasjoner vurderes. Konklusjonen av denne artikkelen er at IoT vil bruke et sett med protokoller, avhengig av deres tiltenkte bruk.

Men i ettertid, i de første årene av Internett, var HTTP-protokollen som ville bli dominerende bare en av mange protokoller.

Selv om HTTP ikke opprinnelig ble laget for fil- og e-postoverføring, brukes den i dag for begge.

Jeg forventer at det samme vil skje med meldingsprotokoller i IoT: de fleste tjenester vil bruke én dominerende protokoll.

Nedenfor er Google Trends-diagrammer som viser hvordan populariteten til MQTT, COAP og AMQP har endret seg de siste årene.

Oversikt over Google Trender 

Oversikt over nettverks- og meldingsprotokoller for IoT

Protokollstøtte etter plattform

  • Microsoft Azure - MQTT, AMQP, HTTP og HTTPS

  • AWS - MQTT, HTTPS, MQTT over websockets

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Oppsummering

Mest av alle endringer er på kanal (nivå 1 og 2) og applikasjonsnivå (nivå 4).

Nettverket og transportlagene vil sannsynligvis forbli uendret.

På applikasjonslaget vil IoT-komponenter bruke meldingsprotokoller. Mens vi fortsatt er på et tidlig stadium i IoT-utviklingen, er det sannsynlig at en eller kanskje to meldingsprotokoller vil skille seg ut.

I løpet av de siste årene har MQTT blitt den mest populære, og det er på den jeg nå fokuserer på denne siden.

HTTP vil også fortsette å bli brukt da det allerede er godt innebygd i eksisterende IoT-plattformer.

Det er alt. Vi inviterer deg til å registrere deg for en gratis demo-leksjon om emnet "Chatbot for raske kommandoer til enheten".

Les mer:

Kilde: www.habr.com

Legg til en kommentar