„IoT“ tinklų ir pranešimų siuntimo protokolų apžvalga

Sveiki, chabrovitai! Pirmasis Rusijoje internetinis kursų interneto kūrėjas spalio mėnesį prasideda OTUS. Registracija į kursus vyksta jau dabar, todėl ir toliau su jumis dalinamės naudinga medžiaga.

„IoT“ tinklų ir pranešimų siuntimo protokolų apžvalga

Daiktų internetas (IoT) bus grindžiamas esama tinklo infrastruktūra, technologijomis ir protokolais, kurie šiuo metu naudojami namuose / biuruose ir internete, ir pasiūlys daug daugiau.

Šio vadovo tikslas – trumpai apžvelgti IoT tinklų ir taikomųjų programų protokolus.

Pastaba. Jūs turite turėti žinių tinklo technologijų pagrindai.

IoT tinklai

IoT veiks esamuose TCP/IP tinkluose.

TCP/IP naudoja keturių sluoksnių modelį su konkrečiais protokolais kiekviename lygyje. Cm. suprasti TCP/IP 4 lygmens modelį (mes suprantame keturių lygių TCP/IP modelį).

Toliau pateiktoje diagramoje parodytas šiuo metu naudojamų protokolų ir tų, kurie greičiausiai bus naudojami daiktų internetui, palyginimas.

„IoT“ tinklų ir pranešimų siuntimo protokolų apžvalga

Pastabos diagramoje:

  1. Šrifto dydis atspindi protokolo populiarumą. Pavyzdžiui, kairėje yra daugiau IPv4, nes jis yra daug populiaresnis šiuolaikiniame internete. Tačiau jis yra mažesnis dešinėje, nes tikimasi, kad IPv6 taps populiaresnis IoT.

  2. Rodomi ne visi protokolai.

  3. Daugiausia pakeitimų yra kanale (1 ir 2 lygiai) ir taikymo lygiuose (4 lygis).

  4. Tinklo ir transporto sluoksniai greičiausiai išliks nepakitę.

Nuorodų sluoksnių protokolai

Duomenų nuorodos sluoksnyje turite prijungti įrenginius vienas prie kito. Jie gali būti šalia, pavyzdžiui, vietiniuose tinkluose, arba dideliu atstumu vienas nuo kito: didmiesčių tinkluose ir plačiuose tinkluose.

Šiuo metu šiame lygyje namų ir biuro tinklai (LAN) naudoja Ethernet ir Wi-Fi, o mobilieji tinklai (WAN) – 3G/4G. Tačiau daugelis daiktų interneto įrenginių, pavyzdžiui, jutikliai, turi mažai energijos ir maitinami tik iš baterijų. Tokiais atvejais Ethernet netinka, tačiau galima naudoti mažo galingumo Wi-Fi ir mažo galingumo Bluetooth.

Nors esamos belaidžio ryšio technologijos (Wi-Fi, Bluetooth, 3G/4G) ir toliau bus naudojamos šiems įrenginiams prijungti, verta pažvelgti ir į naujas, specialiai daiktų interneto programoms sukurtas technologijas, kurių populiarumas greičiausiai augs.

Tarp jų:

  • BLE – „Bluetooth“ mažai energijos

  • LoRaWAN – ilgo nuotolio WAN

  • SigFox

  • LTE-M

Jie išsamiau aprašyti straipsnyje. IOT belaidžių technologijų apžvalga (belaidžių daiktų interneto technologijų apžvalga).

Tinklo sluoksnis

Tinklo lygmeniu (Networking) protokolas dominuos ilgą laiką IPv6. Mažai tikėtina, kad IPv4 bus naudojamas, tačiau pradiniuose etapuose jis gali atlikti svarbų vaidmenį. Dauguma namuose naudojamų daiktų interneto įrenginių, pvz., išmaniųjų lempučių, šiuo metu naudoja IPv4.

transportavimo sluoksnis 

TCP dominuoja transporto lygmenyje internete ir žiniatinklyje. Jis naudojamas tiek HTTP, tiek daugelyje kitų populiarių interneto protokolų (SMTP, POP3, IMAP4 ir kt.).

MQTT, kuris, tikiuosi, taps vienu iš pagrindinių pranešimų siuntimo programos lygmens protokolų, šiuo metu naudoja TCP.

Tačiau ateityje dėl mažesnių pridėtinių išlaidų tikiuosi, kad UDP bus populiaresnis daiktų internetui. Tikėtina, kad ji dar labiau išplis MQTT-SN, veikia UDP viršuje. Žiūrėkite palyginimo straipsnį TCP ir UDP .

Programų sluoksnis ir pranešimų protokolai

Svarbios IoT protokolų charakteristikos:

  • Greitis – per sekundę perduodamų duomenų kiekis.

  • Latencija yra laikas, reikalingas pranešimui perduoti.

  • Energijos suvartojimas

  • Saugumas.

  • Programinės įrangos prieinamumas.

Šiuo metu šiame lygyje aktyviai naudojami du pagrindiniai protokolai: HTTP ir MQTT.

HTTP yra turbūt labiausiai žinomas šio lygio protokolas, kuriuo grindžiamas žiniatinklis (WWW). Ji ir toliau bus svarbi daiktų internetui, nes ji naudojama REST API – pagrindiniam žiniatinklio programų ir paslaugų sąveikos mechanizmui. Tačiau dėl didelių pridėtinių sąnaudų HTTP greičiausiai netaps pirminiu IoT protokolu, nors jis vis tiek bus plačiai naudojamas internete.

MQTT (Message Queuing Telemetry Transport) tapo dominuojančiu pranešimų siuntimo protokolu IoT dėl savo lengvumo ir naudojimo paprastumo. Žiūrėti straipsnį Įvadas į MQTT pradedantiesiems (Įvadas į MQTT pradedantiesiems).

HTTP ir MQTT, skirtų daiktų internetui, palyginimas

MQTT greitai tampa de facto IoT taikomųjų programų standartu. Taip yra dėl jo lengvumo ir greičio, palyginti su HTTP, ir dėl to, kad tai yra „vienas su daugeliu“ protokolas, o ne „vienas su vienu“ protokolas (HTTP).

Daugelis šiuolaikinių žiniatinklio programų mielai būtų naudoję MQTT, o ne HTTP, jei ji būtų buvusi prieinama jų kūrimo metu.

Geras pavyzdys yra informacijos siuntimas keliems klientams, pvz., traukinių / autobusų / lėktuvų atvykimas ir išvykimas. Pagal šį scenarijų „vienas su vienu“ protokolas, pvz., HTTP, turi daug papildomų išlaidų ir labai apkrauna žiniatinklio serverius. Šių žiniatinklio serverių mastelis gali būti sudėtingas. Naudodami MQTT, klientai prisijungia prie brokerio, kurį galima lengvai pridėti apkrovos balansavimui. Peržiūrėkite šią pamoką su vaizdo įrašu Iš naujo paskelbti HTML duomenis per MQTT (skrydžio atvykimo pavyzdys) ir straipsnis MQTT vs HTTP IOT.

Kiti pranešimų protokolai

HTTP nebuvo sukurtas daiktų interneto programoms, tačiau, kaip minėta, jis kurį laiką bus plačiai naudojamas dėl plačiai paplitusio naudojimo API.

Beveik visos IoT platformos palaiko ir HTTP, ir MQTT.

Tačiau yra ir kitų protokolų, kuriuos verta apsvarstyti.

Protokolai

  • MQTT — (Pranešimų eilės telemetrijos perdavimas). Naudoja TCP/IP. Leidėjo ir prenumeratoriaus modeliui reikalingas pranešimų tarpininkas.

  • AMQP - (Išplėstinis pranešimų eilės protokolas). Naudoja TCP/IP. Leidėjas-abonentas ir „point-to-point“ modeliai.

  • COAP - (Apriboto taikymo protokolas). Naudoja UDP. Sukurtas specialiai daiktų internetui, naudoja užklausos ir atsako modelį, panašų į HTTP. RFC 7252.

  • DDS – (duomenų platinimo paslauga) 

Šiame straipsnis Aptariami pagrindiniai protokolai ir jų pritaikymas. Šio straipsnio išvada yra tokia, kad daiktų internetas naudos protokolų rinkinį, atsižvelgiant į numatomą jų taikymą.

Tačiau jei pažvelgsite atgal, pirmaisiais interneto metais HTTP, kuris vėliau tapo dominuojančiu protokolu, buvo tik vienas iš daugelio protokolų.

Nors HTTP iš pradžių nebuvo skirtas failų perdavimui ar el. paštui, šiandien jis naudojamas abiem.

Tikiuosi, kad tas pats nutiks ir su pranešimų siuntimo protokolais IoT: dauguma paslaugų naudos vieną dominuojantį protokolą.

Žemiau pateikiamos „Google Trends“ diagramos, rodančios, kaip per pastaruosius kelerius metus pasikeitė MQTT, COAP ir AMQP populiarumas.

„Google Trends“ apžvalga 

„IoT“ tinklų ir pranešimų siuntimo protokolų apžvalga

Protokolo palaikymas pagal platformą

  • "Microsoft Azure" - MQTT, AMQP, HTTP ir HTTPS

  • AWS - MQTT, HTTPS, MQTT per interneto lizdus

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx - MQTT, HTTPS, MQTT, AMQP

Santrauka

Daugiausia pakeitimų yra kanale (1 ir 2 lygiai) ir taikymo lygiuose (4 lygis).

Tinklo ir transporto sluoksniai greičiausiai išliks nepakitę.

Programos lygmenyje daiktų interneto komponentai naudos pranešimų siuntimo protokolus. Nors vis dar esame pradiniame IoT kūrimo etape, tikėtina, kad atsiras vienas, o gal du pranešimų siuntimo protokolai.

Per pastaruosius kelerius metus MQTT tapo populiariausia ir šiuo metu šioje svetainėje daugiausia dėmesio skiriu tam.

HTTP taip pat bus toliau naudojamas, nes jis jau gerai integruotas į esamas IoT platformas.

Tai viskas. Kviečiame registruotis į nemokamą demonstracinę pamoką šia tema „Chatbot greitoms komandoms į įrenginį“.

Skaityti daugiau:

Šaltinis: www.habr.com

Добавить комментарий