Oorsig van netwerk- en boodskapprotokolle vir IoT

Hallo, Khabrovites! Rusland se eerste aanlyn kursus IoT-ontwikkelaar word in Oktober in OTUS bekendgestel. Inskrywing vir die kursus is tans oop, in verband waarmee ons voortgaan om nuttige materiaal met jou te deel.

Oorsig van netwerk- en boodskapprotokolle vir IoT

Die Internet van Dinge (IoT, Internet of Things) sal bo-op die bestaande netwerkinfrastruktuur, tegnologieë en protokolle gebou word wat tans in huise/kantore en die Internet gebruik word, en sal baie meer bied.

Die doel van hierdie gids is om 'n kort oorsig van netwerk- en toepassingsprotokolle vir IoT te gee.

Let wel. Jy moet kennis hê basiese beginsels van netwerktegnologie.

IoT-netwerke

IoT sal op bestaande TCP/IP-netwerke loop.

TCP/IP gebruik 'n vierlaagmodel met spesifieke protokolle by elke laag. Cm. die TCP/IP 4-laagmodel te verstaan (ons verstaan ​​die vier-laag model van TCP / IP).

Die diagram hieronder toon 'n vergelyking van die protokolle wat tans gebruik word en dié wat waarskynlik vir IoT gebruik sal word.

Oorsig van netwerk- en boodskapprotokolle vir IoT

Grafieknotas:

  1. Die lettergrootte dui die gewildheid van die protokol aan. Byvoorbeeld, aan die linkerkant is IPv4 groter, aangesien dit baie meer gewild is op die moderne internet. Dit is egter kleiner aan die regterkant, aangesien IPv6 na verwagting meer gewild sal wees in IoT.

  2. Nie alle protokolle word gewys nie.

  3. Die meeste van die veranderinge is by die kanaal (vlakke 1 en 2) en toepassingsvlakke (vlak 4).

  4. Die netwerk- en vervoerlae sal waarskynlik onveranderd bly.

Koppellaagprotokolle

Op die dataskakelvlak (Data Link) moet jy toestelle aan mekaar koppel. Hulle kan beide naby wees, byvoorbeeld in plaaslike netwerke (plaaslike netwerke) en op 'n groot afstand van mekaar: in stedelike (metropolitaanse area netwerke) en globale netwerke (wye area netwerke).

Tans, op hierdie vlak, gebruik huis- en kantoornetwerke (LAN's) Ethernet en Wi-Fi, en mobiele (WAN's) gebruik 3G / 4G. Baie IoT-toestelle het egter lae krag, soos sensors, en word slegs deur batterye aangedryf. In hierdie gevalle is Ethernet nie geskik nie, maar lae-aangedrewe Wi-Fi en lae-aangedrewe Bluetooth kan gebruik word.

Terwyl bestaande draadlose tegnologieë (Wi-Fi, Bluetooth, 3G/4G) steeds gebruik sal word om hierdie toestelle te verbind, is dit ook die moeite werd om te kyk na nuwe tegnologieë wat spesifiek ontwerp is vir IoT-toepassings wat waarskynlik in gewildheid sal groei.

Onder hulle:

  • BLE – Bluetooth Lae Energie

  • LoRaWAN - Langafstand WAN

  • SigFox

  • LTE-M

Hulle word in meer besonderhede in die artikel beskryf. 'n Oorsig van IOT-draadlose tegnologieë (oorsig van draadlose IoT-tegnologieë).

Netwerklaag

By die netwerklaag (Netwerk) sal die protokol op die lange duur oorheers IPv6. Dit is onwaarskynlik dat IPv4 gebruik sal word, maar dit kan in die vroeë stadiums 'n rol speel. Die meeste tuis-IoT-toestelle, soos slim gloeilampe, gebruik tans IPv4.

Vervoerlaag 

By die vervoerlaag (Vervoer) word die internet en die web deur TCP oorheers. Dit word gebruik in beide HTTP en baie ander gewilde internetprotokolle (SMTP, POP3, IMAP4, ens.).

MQTT, wat ek verwag om een ​​van die hooftoepassingslaagprotokolle vir boodskappe te word, gebruik tans TCP.

In die toekoms, as gevolg van laer bokoste, verwag ek egter dat UDP meer gewild sal word vir IoT. Waarskynlik meer wydverspreid MQTT-SN, loop oor UDP. Sien vergelykingsartikel TCP teenoor UDP .

Toepassingslaag en boodskapprotokolle

Belangrike kenmerke vir IoT-protokolle:

  • Spoed - die hoeveelheid data wat per sekonde oorgedra word.

  • Latency is die tyd wat dit neem om 'n boodskap te stuur.

  • Kragverbruik.

  • Sekuriteit.

  • Beskikbaarheid van sagteware.

Tans word twee hoofprotokolle aktief op hierdie vlak gebruik: HTTP en MQTT.

HTTP is waarskynlik die bekendste protokol van hierdie vlak onderliggend aan die web (WWW). Dit sal steeds belangrik wees vir IoT, aangesien dit gebruik word vir die REST API - die hoofmeganisme vir interaksie tussen webtoepassings en -dienste. As gevolg van hoë oorhoofse koste is dit onwaarskynlik dat HTTP die belangrikste IoT-protokol sal word, hoewel dit steeds wyd op die internet gebruik sal word.

MQTT (Message Queuing Telemetry Transport) het die belangrikste boodskapprotokol in die IoT geword vanweë die ligtheid en gebruiksgemak daarvan. Sien artikel Inleiding tot MQTT vir beginners (Inleiding tot MQTT vir beginners).

Vergelyking van HTTP en MQTT vir IoT

MQTT is vinnig besig om die de facto-standaard vir IoT-toepassings te word. Dit is te danke aan sy ligtheid en spoed in vergelyking met HTTP en die feit dat dit 'n een-tot-baie-protokol is eerder as een-tot-een (HTTP).

Baie moderne webtoepassings sal graag MQTT in plaas van HTTP gebruik as dit beskikbaar was ten tyde van hul ontwikkeling.

'n Goeie voorbeeld is om inligting aan verskeie kliënte te stuur, soos aankoms en vertrek van treine/busse/vliegtuie. In hierdie scenario het 'n een-tot-een-protokol soos HTTP baie oorhoofse koste en plaas dit baie las op webbedieners. Dit kan moeilik wees om hierdie webbedieners te skaal. Met MQTT koppel kliënte aan 'n makelaar, wat maklik bygevoeg kan word vir lasbalansering. Kyk na die video-tutoriaal daaroor Herpubliseer HTML-data oor MQTT (Vlugaankomste voorbeeld) en artikel MQTT vs HTTP vir IOT.

Ander boodskapprotokolle

HTTP is nie ontwerp vir IoT-toepassings nie, maar soos genoem, sal dit vir 'n geruime tyd wyd gebruik word as gevolg van die wydverspreide gebruik daarvan in API.

Byna alle IoT-platforms ondersteun beide HTTP en MQTT.

Daar is egter ander protokolle wat die moeite werd is om te oorweeg.

protokolle

  • MQTT - (Message Queuing Telemetrie Vervoer). Gebruik TCP/IP. Die publiseer-inteken-model vereis 'n boodskapmakelaar.

  • AMQP - (Gevorderde Message Queuing Protocol). Gebruik TCP/IP. Uitgewer-intekenaar en punt-tot-punt-modelle.

  • COAP - (Beperkte toepassingsprotokol). Gebruik UDP. Spesifiek ontwerp vir IoT, gebruik die versoek-reaksie-model soos in HTTP. RFC 7252.

  • DDS - (Dataverspreidingsdiens) 

Hierin Artikel die hoofprotokolle en hul toepassings word oorweeg. Die gevolgtrekking van hierdie artikel is dat die IoT 'n stel protokolle sal gebruik, afhangende van hul beoogde gebruik.

In retrospek, in die vroeë jare van die internet, was die HTTP-protokol wat dominant sou word egter net een van baie protokolle.

Alhoewel HTTP nie oorspronklik vir lêer- en e-posoordrag ontwerp is nie, word dit vandag vir beide gebruik.

Ek verwag dat dieselfde ding met boodskapprotokolle in IoT sal gebeur: die meeste dienste sal een oorheersende protokol gebruik.

Hieronder is Google Trends-kaarte wat wys hoe die gewildheid van MQTT, COAP en AMQP oor die afgelope paar jaar verander het.

Oorsig van Google Trends 

Oorsig van netwerk- en boodskapprotokolle vir IoT

Protokol ondersteuning per platform

  • Microsoft blou - MQTT, AMQP, HTTP en HTTPS

  • AWS - MQTT, HTTPS, MQTT oor websockets

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Dingworx - MQTT, HTTPS, MQTT, AMQP

Opsomming

Die meeste van die veranderinge is by die kanaal (vlakke 1 en 2) en toepassingsvlakke (vlak 4).

Die netwerk- en vervoerlae sal waarskynlik onveranderd bly.

By die toepassingslaag sal IoT-komponente boodskapprotokolle gebruik. Alhoewel ons nog in 'n vroeë stadium in IoT-ontwikkeling is, is dit waarskynlik dat een of miskien twee boodskapprotokolle sal uitstaan.

Oor die afgelope paar jaar het MQTT die gewildste geword, en dit is daarop dat ek nou op hierdie webwerf fokus.

HTTP sal ook steeds gebruik word, aangesien dit reeds goed in bestaande IoT-platforms ingebou is.

Dis al. Ons nooi jou uit om in te teken vir 'n gratis demo-les oor die onderwerp "Chatbot vir vinnige opdragte na die toestel".

Lees meer:

Bron: will.com

Voeg 'n opmerking