Prehľad sieťových protokolov a protokolov správ pre internet vecí

Ahoj, Khabrovites! Prvý ruský online kurz pre vývojárov internetu vecí štartuje v OTUS v októbri. Prihlasovanie do kurzu je otvorené práve teraz, v súvislosti s ktorým s vami naďalej zdieľame užitočné materiály.

Prehľad sieťových protokolov a protokolov správ pre internet vecí

Internet vecí (IoT, Internet of Things) bude vybudovaný nad existujúcou sieťovou infraštruktúrou, technológiami a protokolmi, ktoré sa v súčasnosti používajú v domácnostiach/kanceláriách a na internete, a ponúkne oveľa viac.

Účelom tejto príručky je poskytnúť stručný prehľad sieťových a aplikačných protokolov pre internet vecí.

Poznámka. Musíte mať vedomosti základy sieťových technológií.

siete IoT

IoT bude fungovať v existujúcich sieťach TCP/IP.

TCP/IP používa štvorvrstvový model so špecifickými protokolmi na každej vrstve. Cm. pochopenie 4-vrstvového modelu TCP/IP (chápeme štvorvrstvový model TCP/IP).

Nižšie uvedený diagram ukazuje porovnanie protokolov, ktoré sa v súčasnosti používajú, a protokolov, ktoré sa budú najpravdepodobnejšie používať pre internet vecí.

Prehľad sieťových protokolov a protokolov správ pre internet vecí

Poznámky k grafu:

  1. Veľkosť písma označuje obľúbenosť protokolu. Napríklad vľavo je IPv4 väčšia, pretože je oveľa populárnejšia na modernom internete. Vpravo je však menší, keďže sa očakáva, že IPv6 bude v IoT populárnejší.

  2. Nie sú zobrazené všetky protokoly.

  3. Väčšina zmien je na úrovni kanála (úroveň 1 a 2) a na úrovni aplikácie (úroveň 4).

  4. Sieťové a transportné vrstvy pravdepodobne zostanú nezmenené.

Protokoly spojovacej vrstvy

Na úrovni dátového spojenia (Data Link) musíte navzájom prepojiť zariadenia. Môžu byť blízko, napríklad v lokálnych sieťach (lokálne siete), ako aj vo veľkej vzdialenosti od seba: v mestských (mestské siete) a globálnych sieťach (rozľahlé siete).

V súčasnosti na tejto úrovni domáce a kancelárske siete (LAN) využívajú Ethernet a Wi-Fi a mobilné siete (WAN) využívajú 3G / 4G. Mnohé zariadenia internetu vecí však majú nízky výkon, ako napríklad senzory, a sú napájané iba batériami. V týchto prípadoch nie je Ethernet vhodný, ale možno použiť Wi-Fi s nízkym výkonom a Bluetooth s nízkym výkonom.

Aj keď sa na pripojenie týchto zariadení budú naďalej používať existujúce bezdrôtové technológie (Wi-Fi, Bluetooth, 3G/4G), oplatí sa pozrieť aj na nové technológie špeciálne navrhnuté pre aplikácie internetu vecí, ktorých popularita pravdepodobne porastie.

Medzi nimi:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - WAN s dlhým dosahom

  • SigFox

  • LTE-M

Podrobnejšie sú popísané v článku. Prehľad bezdrôtových technológií IOT (prehľad bezdrôtových IoT technológií).

sieťová vrstva

Na sieťovej vrstve (Networking) bude z dlhodobého hľadiska dominovať protokol IPv6. Je nepravdepodobné, že sa bude používať IPv4, ale môže hrať úlohu v počiatočných fázach. Väčšina domácich IoT zariadení, ako sú inteligentné žiarovky, v súčasnosti využíva IPv4.

transportná vrstva 

Na transportnej vrstve (Transport), internetu a webu dominuje TCP. Používa sa v HTTP a mnohých ďalších populárnych internetových protokoloch (SMTP, POP3, IMAP4 atď.).

MQTT, od ktorého očakávam, že sa stane jedným z hlavných protokolov aplikačnej vrstvy pre zasielanie správ, v súčasnosti používa TCP.

V budúcnosti však vzhľadom na nižšiu réžiu očakávam, že UDP sa stane populárnejším pre IoT. Pravdepodobne rozšírenejšie MQTT-SNbežiaci cez UDP. Pozri porovnávací článok TCP vs UDP .

Aplikačná vrstva a protokoly správ

Dôležité vlastnosti pre IoT protokoly:

  • Rýchlosť - množstvo prenesených dát za sekundu.

  • Latencia je čas potrebný na odoslanie správy.

  • Spotreba energie

  • Bezpečnosť.

  • Dostupnosť softvéru.

V súčasnosti sa na tejto úrovni aktívne používajú dva hlavné protokoly: HTTP a MQTT.

HTTP je pravdepodobne najznámejší protokol tejto úrovne, ktorý je základom webu (WWW). Pre IoT bude naďalej dôležitý, keďže sa používa pre REST API – hlavný mechanizmus interakcie medzi webovými aplikáciami a službami. Kvôli vysokej réžii je však nepravdepodobné, že by sa HTTP stal hlavným IoT protokolom, hoci na internete bude stále široko používaný.

MQTT (Message Queuing Telemetry Transport) sa stal hlavným protokolom správ v IoT vďaka svojej ľahkosti a jednoduchosti použitia. Pozri článok Úvod do MQTT pre začiatočníkov (Úvod do MQTT pre začiatočníkov).

Porovnanie HTTP a MQTT pre IoT

MQTT sa rýchlo stáva de facto štandardom pre aplikácie internetu vecí. Je to spôsobené jeho ľahkosťou a rýchlosťou v porovnaní s HTTP a skutočnosťou, že ide skôr o protokol typu one-to-many než one-to-one (HTTP).

Mnoho moderných webových aplikácií by s radosťou používalo MQTT namiesto HTTP, ak by bol dostupný v čase ich vývoja.

Dobrým príkladom je posielanie informácií viacerým klientom, ako sú príchody a odchody vlakov/autobusov/lietadiel. V tomto scenári má protokol typu one-to-one, ako je HTTP, veľa réžie a veľmi zaťažuje webové servery. Škálovanie týchto webových serverov môže byť náročné. Pomocou MQTT sa klienti pripájajú k maklérovi, ktorého možno jednoducho pridať na vyrovnávanie záťaže. Pozrite si video tutoriál o tom Opätovné publikovanie údajov HTML cez MQTT (príklad príletov) a článok MQTT vs HTTP pre IOT.

Iné protokoly správ

HTTP nebol navrhnutý pre aplikácie internetu vecí, ale ako už bolo spomenuté, nejaký čas sa bude vo veľkej miere používať vďaka svojmu širokému rozšíreniu v API.

Takmer všetky platformy internetu vecí podporujú HTTP aj MQTT.

Existujú však aj iné protokoly, ktoré stoja za zváženie.

Protokoly

  • MQTT - (Prenos telemetrie vo fronte správ). Používa TCP/IP. Model zverejnenia a predplatenia vyžaduje sprostredkovateľa správ.

  • AMQP - (Advanced Message Queuing Protocol). Používa TCP/IP. Modely vydavateľ-predplatiteľ a point-to-point.

  • COAP - (Constrained Application Protocol). Používa UDP. Navrhnuté špeciálne pre IoT, používa model žiadosť-odpoveď ako v HTTP. RFC 7252.

  • DDS - (Služba distribúcie údajov) 

V tomto článok zvažujú sa hlavné protokoly a ich aplikácie. Záverom tohto článku je, že IoT bude využívať sadu protokolov v závislosti od ich zamýšľaného použitia.

Avšak pri spätnom pohľade, v prvých rokoch internetu bol protokol HTTP, ktorý sa stal dominantným, len jedným z mnohých protokolov.

Hoci HTTP nebol pôvodne určený na prenos súborov a e-mailov, dnes sa používa na oboje.

Očakávam, že to isté sa stane s protokolmi správ v IoT: väčšina služieb bude používať jeden prevládajúci protokol.

Nižšie sú uvedené grafy Trendov Google, ktoré ukazujú, ako sa za posledných niekoľko rokov zmenila popularita MQTT, COAP a AMQP.

Prehľad Google Trends 

Prehľad sieťových protokolov a protokolov správ pre internet vecí

Podpora protokolov podľa platformy

  • Microsoft Azure - MQTT, AMQP, HTTP a HTTPS

  • AWS - MQTT, HTTPS, MQTT cez webové zásuvky

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Zhrnutie

Väčšina zmien je na úrovni kanála (úroveň 1 a 2) a na úrovni aplikácie (úroveň 4).

Sieťové a transportné vrstvy pravdepodobne zostanú nezmenené.

Na aplikačnej vrstve budú komponenty internetu vecí používať protokoly správ. Aj keď sme stále v ranom štádiu vývoja internetu vecí, je pravdepodobné, že jeden alebo možno dva protokoly na odosielanie správ budú vynikať.

Za posledných pár rokov sa MQTT stalo najobľúbenejším a práve naň sa teraz zameriavam na tejto stránke.

HTTP sa bude tiež naďalej používať, pretože je už dobre zabudovaný do existujúcich platforiem internetu vecí.

To je všetko. Pozývame vás, aby ste sa prihlásili na bezplatnú ukážkovú lekciu na túto tému "Chatbot pre rýchle príkazy do zariadenia".

Čítaj viac:

Zdroj: hab.com

Pridať komentár