Översikt över nĂ€tverksprotokoll och meddelandeprotokoll för IoT

Hej, Habr-medlemmar! Den första onlinekursen för IoT-utvecklare i Ryssland startar pÄ OTUS redan i oktober. Just nu Àr anmÀlan öppen till kursen, och vi fortsÀtter att dela med er anvÀndbara material.

Översikt över nĂ€tverksprotokoll och meddelandeprotokoll för IoT

Internet of Things (IoT) kommer att byggas pÄ den existerande nÀtverksinfrastrukturen, teknologierna och protokollen som anvÀnds i hem och kontor idag, och kommer att erbjuda mycket mer.

MÄlet med denna vÀgledning Àr att ge en kort översikt av nÀtverks- och applikationsprotokoll för IoT.

Observera. Du bör ha kunskaper i grundlÀggande nÀtverksteknologier.

IoT-nÀtverk

IoT kommer att fungera i befintliga TCP/IP-nÀtverk.

TCP/IP anvÀnder en fyrnivÄmodell med specifika protokoll pÄ varje nivÄ. Se. understanding the TCP/IP 4 layer model (förstÄ fyrnivÄmodellen för TCP/IP).

I diagrammet nedan visas en jÀmförelse av de protokoll som anvÀnds idag och de som sannolikt kommer att anvÀndas för IoT.

Översikt över nĂ€tverksprotokoll och meddelandeprotokoll för IoT

Anteckningar till diagrammet:

  1. Typsnittets storlek visar hur populÀrt protokollet Àr. Till exempel Àr IPv4 större till vÀnster eftersom den Àr mycket populÀrare pÄ Internet idag. Men till höger Àr den mindre eftersom det förvÀntas att IPv6 kommer att bli mer populÀrt inom IoT.

  2. Inte alla protokoll visas.

  3. Mest förÀndringar kommer att ske pÄ datalÀnknivÄ (nivÄ 1 och 2) och applikationsnivÄ (nivÄ 4).

  4. De nÀtverks- och transportnivÄer förvÀntas förbli oförÀndrade.

Protokoll pÄ datalÀnknivÄn

PÄ datalÀnknivÄn (Data Link) behöver du koppla ihop enheter. De kan vara bÄde nÀra, till exempel i lokala nÀtverk, och lÄngt ifrÄn varandra: i stads- och globala nÀtverk.

I nulÀget anvÀnds Ethernet och Wi-Fi i hem- och kontorsnÀt (LAN) och 3G/4G i mobila nÀtverk (WAN). Men mÄnga IoT-enheter Àr lÄgenergienheter, till exempel sensorer, och drivs bara av batterier. I sÄdana fall passar inte Ethernet, men man kan anvÀnda low powered Wi-Fi och low powered Bluetooth.

Även om befintliga trĂ„dlösa teknologier (Wi-Fi, Bluetooth, 3G/4G) fortfarande kommer att anvĂ€ndas för att ansluta dessa enheter, Ă€r det ocksĂ„ vĂ€rt att notera nya teknologier som speciellt utvecklats för IoT-applikationer, vars popularitet förvĂ€ntas öka.

Bland dessa finns:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

Mer om detta beskrivs i artikeln En översikt över IoT-trÄdlösa teknologier (översikt över IoT-trÄdlösa teknologier).

NÀtverksnivÄ

PÄ nÀtverksnivÄ (Networking) kommer protokollet att dominera pÄ lÄng sikt IPv6. Det Àr osannolikt att IPv4 kommer att anvÀndas, men det kan spela en viss roll i de tidiga faserna. De flesta IoT-enheter för hemmet, till exempel smarta lampor, anvÀnder för nÀrvarande IPv4.

TransportnivÄ 

PÄ transportnivÄ (Transport) dominerar TCP pÄ internet och webben. Den anvÀnds bÄde i HTTP och i mÄnga andra populÀra internetprotokoll (SMTP, POP3, IMAP4 osv.).

MQTT, som jag förvÀntar mig kommer att bli ett av de huvudsakliga applikationsprotokollen för meddelandeutbyte, anvÀnder för nÀrvarande TCP.

Men i framtiden, pÄ grund av lÀgre overhead, förvÀntar jag mig att UDP kommer att bli mer populÀrt för IoT. Troligtvis kommer MQTT-SN, som arbetar ovanpÄ UDP. Se artikeln om jÀmförelse TCP vs UDP .

ApplikationsnivÄ och meddelandeprotokoll

Viktiga egenskaper för IoT-protokoll:

  • Hastighet — mĂ€ngden data som överförs per sekund.

  • Fördröjning — tiden det tar att överföra ett meddelande.

  • Energiförbrukning.

  • SĂ€kerhet.

  • TillgĂ„ng till programvaruverktyg.

För nÀrvarande anvÀnds tvÄ huvudsakliga protokoll aktivt pÄ denna nivÄ: HTTP och MQTT.

HTTP Ă€r sannolikt det mest kĂ€nda protokollet pĂ„ denna nivĂ„, som ligger till grund för webben (WWW). Det kommer fortfarande att vara av stor betydelse för IoT, eftersom det anvĂ€nds för REST API — den primĂ€ra mekanismen för interaktion mellan webbapplikationer och tjĂ€nster. Men pĂ„ grund av hög overhead kommer HTTP knappast att bli det huvudsakliga IoT-protokollet, Ă€ven om det fortfarande kommer att anvĂ€ndas i stor utstrĂ€ckning pĂ„ internet.

MQTT (Message Queuing Telemetry Transport) har blivit det frÀmsta meddelandeprotokollet inom IoT, tack vare sin lÀtthet och enkelhet att anvÀnda. Se artikeln Introduction to MQTT for beginners (Introduktion till MQTT för nybörjare).

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

MQTT blir snabbt de facto-standard för IoT-applikationer. Detta beror pÄ dess lÀtthet och hastighet i jÀmförelse med HTTP och att det Àr ett protokoll för "en-till-mÄnga", snarare Àn "en-till-en" (HTTP).

MÄnga moderna webbapplikationer skulle gÀrna ha anvÀnt MQTT istÀllet för HTTP, om det hade funnits tillgÀngligt vid tidpunkten för deras utveckling.

Ett bra exempel Ă€r att skicka information till mĂ„nga kunder, till exempel om ankomster och avgĂ„ngar av tĂ„g/bussar/plan. I detta scenario har protokollet „en-till-en“, som HTTP, stora overheadkostnader och skapar mycket belastning pĂ„ webbservrar. Att skala dessa webbservrar kan vara utmanande. Med MQTT ansluter kunder till en mĂ€klare, som enkelt kan lĂ€ggas till för att balansera lasten. Se denna instruktion med video. Publicera HTML-data över MQTT (Exempel pĂ„ flygankomster) och artikeln MQTT vs HTTP för IoT.

Andra meddelandeprotokoll

HTTP var inte utformat för IoT-applikationer, men som nÀmnts kommer det att anvÀndas i stor utstrÀckning under en tid pÄ grund av dess breda anvÀndning i API.

NÀstan alla IoT-plattformar stöder bÄde HTTP och MQTT.

Det finns dock ocksÄ andra protokoll som Àr vÀrda att övervÀga.

Protokoll

  • MQTT — (Message Queuing Telemetry Transport). AnvĂ€nder TCP/IP. För modellen „publikator-prenumerant“ krĂ€vs en meddelandemĂ€klare.

  • AMQP — (Advanced Message Queuing Protocol). AnvĂ€nder TCP/IP. Modellerna „publikator-prenumerant“ och „punkt-till-punkt“.

  • COAP — (Constrained Application Protocol). AnvĂ€nder UDP. Utformat specifikt för IoT, anvĂ€nder en begĂ€ran-svar-modell liknande HTTP. RFC 7252.

  • DDS — (Data Distribution Service) 

I denna artikeln de grundlÀggande protokollen och deras tillÀmpningar diskuteras. Slutsatsen av denna artikel Àr att IoT kommer att anvÀnda en uppsÀttning protokoll beroende pÄ deras avsedda anvÀndning.

Men om vi ser tillbaka till de första Ären av Internet var protokollet HTTP, som senare blev dominerande, bara ett av mÄnga protokoll.

Trots att HTTP inte ursprungligen var avsett för filöverföring och e-post, anvÀnds det idag för bÄda.

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

Nedan följer grafer frÄn Google Trends som visar hur populariteten för MQTT, COAP och AMQP har förÀndrats under de senaste Ären.

Översikt över Google Trends 

Översikt över nĂ€tverksprotokoll och meddelandeprotokoll för IoT

Protokollstöd över plattformar

  • Microsoft Azure — MQTT, AMQP, HTTP och HTTPS

  • AWS — MQTT, HTTPS, MQTT över websockets

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Sammanfattning

Mest förÀndringar kommer att ske pÄ datalÀnknivÄ (nivÄ 1 och 2) och applikationsnivÄ (nivÄ 4).

De nÀtverks- och transportnivÄer förvÀntas förbli oförÀndrade.

PĂ„ tillĂ€mpningsnivĂ„ kommer IoT-komponenter att anvĂ€nda meddelandeprotokoll. Även om vi fortfarande Ă€r i ett tidigt utvecklingsskede av IoT Ă€r det mycket troligt att en eller kanske tvĂ„ meddelandeprotokoll kommer att framtrĂ€da.

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

HTTP kommer ocksÄ fortsÀtta att anvÀndas, eftersom det redan Àr vÀl integrerat i befintliga IoT-plattformar.

Detta Àr allt. Vi inbjuder dig att anmÀla dig till en kostnadsfri demolektion om Àmnet «Chatbot för snabba kommandon till enheten».

LĂ€s mer:

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster