Översikt över nätverks- och meddelandeprotokoll för IoT

Hej, Khabrovites! Rysslands första onlinekurs IoT-utvecklare lanseras i OTUS i oktober. Anmälan till kursen är öppen just nu, i samband med vilken vi fortsätter att dela med dig av användbart material.

Översikt över nätverks- och meddelandeprotokoll för IoT

Internet of Things (IoT, Internet of Things) kommer att byggas ovanpå den befintliga nätverksinfrastrukturen, teknologier och protokoll som för närvarande används i hem/kontor och Internet, och kommer att erbjuda mycket mer.

Syftet med den här guiden är att ge en kort översikt över nätverk och applikationsprotokoll för IoT.

Notera. Du måste ha kunskap grunderna för nätverksteknik.

IoT-nätverk

IoT kommer att köras på befintliga TCP/IP-nätverk.

TCP/IP använder en fyralagersmodell med specifika protokoll vid varje lager. Centimeter. förstå TCP/IP 4-lagermodellen (vi förstår fyrskiktsmodellen av TCP / IP).

Diagrammet nedan visar en jämförelse av de protokoll som för närvarande används och de som mest sannolikt kommer att användas för IoT.

Översikt över nätverks- och meddelandeprotokoll för IoT

Diagramanteckningar:

  1. Teckenstorleken indikerar protokollets popularitet. Till vänster är till exempel IPv4 större, eftersom det är mycket mer populärt på det moderna Internet. Den är dock mindre till höger då IPv6 förväntas bli mer populär inom IoT.

  2. Alla protokoll visas inte.

  3. De flesta av alla förändringar sker på kanalnivå (nivå 1 och 2) och applikationsnivå (nivå 4).

  4. Nät- och transportskikten kommer sannolikt att förbli oförändrade.

Länklagerprotokoll

På datalänknivån (Datalänk) måste du ansluta enheter till varandra. De kan vara både nära, till exempel i lokala nätverk (lokala nätverk) och på stort avstånd från varandra: i urbana (storstadsnätverk) och globala nätverk (wide area networks).

För närvarande, på denna nivå, använder hem- och kontorsnätverk (LAN) Ethernet och Wi-Fi, och mobila (WAN) använder 3G / 4G. Men många IoT-enheter har låg effekt, såsom sensorer, och drivs endast av batterier. I dessa fall är Ethernet inte lämpligt, men lågeffekts Wi-Fi och lågeffekts Bluetooth kan användas.

Medan befintliga trådlösa tekniker (Wi-Fi, Bluetooth, 3G/4G) kommer att fortsätta att användas för att ansluta dessa enheter, är det också värt att titta på nya tekniker speciellt utformade för IoT-applikationer som sannolikt kommer att växa i popularitet.

Bland dem:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - Long Range WAN

  • SigFox

  • LTE-M

De beskrivs mer i detalj i artikeln. En översikt över IOT trådlös teknik (översikt över trådlös IoT-teknik).

nätverkslager

I nätverkslagret (Networking) kommer protokollet att dominera på lång sikt IPv6. Det är osannolikt att IPv4 kommer att användas, men det kan spela en roll i de tidiga stadierna. De flesta hem-IoT-enheter, som smarta glödlampor, använder för närvarande IPv4.

Transportlager 

I transportlagret (Transport) domineras Internet och webben av TCP. Det används i både HTTP och många andra populära Internetprotokoll (SMTP, POP3, IMAP4, etc.).

MQTT, som jag förväntar mig kommer att bli ett av de viktigaste applikationslagerprotokollen för meddelanden, använder för närvarande TCP.

Men i framtiden, på grund av lägre omkostnader, förväntar jag mig att UDP kommer att bli mer populärt för IoT. Förmodligen mer utbredd MQTT-SN, kör över UDP. Se jämförelseartikel TCP vs UDP .

Applikationslager och meddelandeprotokoll

Viktiga egenskaper för IoT-protokoll:

  • Hastighet - mängden data som överförs per sekund.

  • Latens är den tid det tar att skicka ett meddelande.

  • Strömförbrukning

  • Säkerhet.

  • Tillgänglighet av programvara.

För närvarande används två huvudprotokoll aktivt på denna nivå: HTTP och MQTT.

HTTP är förmodligen det mest välkända protokollet på denna nivå som ligger bakom webben (WWW). Det kommer att fortsätta att vara viktigt för IoT, eftersom det används för REST API – huvudmekanismen för interaktion mellan webbapplikationer och tjänster. På grund av höga omkostnader är det dock osannolikt att HTTP kommer att bli det huvudsakliga IoT-protokollet, även om det fortfarande kommer att användas flitigt på Internet.

MQTT (Message Queuing Telemetry Transport) har blivit det huvudsakliga meddelandeprotokollet i IoT på grund av dess lätthet och användarvänlighet. Se artikel Introduktion till MQTT för nybörjare (Introduktion till MQTT för nybörjare).

Jämförelse av HTTP och MQTT för IoT

MQTT håller snabbt på att bli de facto-standarden för IoT-applikationer. Detta beror på dess lätthet och hastighet jämfört med HTTP och det faktum att det är ett en-till-många-protokoll snarare än en-till-en (HTTP).

Många moderna webbapplikationer skulle gärna använda MQTT istället för HTTP om det var tillgängligt när de utvecklades.

Ett bra exempel är att skicka information till flera kunder, såsom ankomster och avgångar av tåg/bussar/flyg. I det här scenariot har ett en-till-ett-protokoll som HTTP mycket overhead och belastar webbservrarna mycket. Det kan vara svårt att skala dessa webbservrar. Med MQTT ansluter kunderna till en mäklare, som enkelt kan läggas till för lastbalansering. Se videohandledningen om det Återpublicera HTML-data över MQTT (exempel på flygankomster) och artikel MQTT vs HTTP för IOT.

Andra meddelandeprotokoll

HTTP var inte designat för IoT-applikationer, men som nämnt kommer det att användas flitigt under en tid på grund av dess utbredda användning i API.

Nästan alla IoT-plattformar stöder både HTTP och MQTT.

Det finns dock andra protokoll värda att överväga.

protokoll

  • MQTT - (Message Queuing Telemetri Transport). Använder TCP/IP. Publicera-prenumerera-modellen kräver en meddelandeförmedlare.

  • AMQP - (Advanced Message Queuing Protocol). Använder TCP/IP. Publisher-Prenumerant och Point-to-Point-modeller.

  • COAP - (Constrained Application Protocol). Använder UDP. Designad specifikt för IoT, använder begäran-svar-modellen som i HTTP. RFC 7252.

  • DDS - (Datadistributionstjänst) 

I denna artikeln huvudprotokollen och deras tillämpningar beaktas. Slutsatsen av den här artikeln är att IoT kommer att använda en uppsättning protokoll, beroende på deras avsedda användning.

Men i efterhand, under de första åren av Internet, var HTTP-protokollet som skulle bli dominerande bara ett av många protokoll.

Även om HTTP inte ursprungligen utformades för fil- och e-postöverföring, används den idag för båda.

Jag förväntar mig att samma sak ska hända med meddelandeprotokoll i IoT: de flesta tjänster kommer att använda ett dominerande protokoll.

Nedan finns Google Trends-diagram som visar hur populariteten för MQTT, COAP och AMQP har förändrats under de senaste åren.

Översikt över Google Trender 

Översikt över nätverks- och meddelandeprotokoll för IoT

Protokollstöd per plattform

  • Microsoft Azure - MQTT, AMQP, HTTP och HTTPS

  • AWS - MQTT, HTTPS, MQTT över websockets

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Sammanfattning

De flesta av alla förändringar sker på kanalnivå (nivå 1 och 2) och applikationsnivå (nivå 4).

Nät- och transportskikten kommer sannolikt att förbli oförändrade.

I applikationslagret kommer IoT-komponenter att använda meddelandeprotokoll. Medan vi fortfarande är i ett tidigt skede i IoT-utvecklingen är det troligt att ett eller kanske två meddelandeprotokoll kommer att sticka ut.

Under de senaste åren har MQTT blivit den mest populära, och det är på den som jag nu fokuserar på den här sidan.

HTTP kommer också att fortsätta användas eftersom det redan är väl inbyggt i befintliga IoT-plattformar.

Det är allt. Vi inbjuder dig att registrera dig för en gratis demo-lektion om ämnet "Chatbot för snabba kommandon till enheten".

Läs mer:

Källa: will.com

Lägg en kommentar