
Tehnoloogia areng tarkvara ja riistvara valdkonnas ning uute suhtlusprotokollide tekkimine on toonud kaasa asjade interneti (IoT) laienemise. Seadmete arv kasvab pĂ€evast pĂ€eva ja need genereerivad tohutul hulgal andmeid. SeetĂ”ttu tekib vajadus mugava sĂŒsteemi arhitektuuri jĂ€rele, mis suudaks neid andmeid töödelda, salvestada ja edastada.
Praegu kasutatakse nende eesmĂ€rkide saavutamiseks pilveteenuseid. Kuid ĂŒha populaarsem muutuv uduarvutuste paradigmad (Fog) vĂ”ivad tĂ€iendada pilvelahendusi, suurendades ja optimeerides IoT infrastruktuuri.
«Pilved» suudavad rahuldada enamiku IoT nÔudmisi. NÀiteks tagada teenuste jÀlgimise, andmete kiire töötlemise, mida seadmed genereerivad, ning nende visualiseerimise. Uduarvutused on aga efektiivsemad reaalaja probleemide lahendamisel. Need tagavad kiire vastuse pÀringutele ja minimaalne viivitus andmete töötlemisel. Seega tÀiendab Fog pilvi, laiendab selle vÔimalusi.
Kuid peamine kĂŒsimus on hoopis teine: kuidas peaks see kĂ”ik toimima IoT kontekstis? Millised suhtlusprotokollid oleksid kĂ”ige tĂ”husamad ĂŒhtses IoT-Fog-Cloud sĂŒsteemis?
Hoolimata nĂ€ilisest HTTP domineerimisest kasutatakse IoT, Fog ja Cloud sĂŒsteemides palju muid lahendusi. See tuleneb sellest, et IoT peab ĂŒhendama erinevate seadmete sensorite funktsionaalsused turvalisuse, ĂŒhilduvuse ja teiste kasutajate nĂ”uetega.
Kuid ĂŒhtset arusaama standardarhitektuurist ja suhtlusstandardist pole lihtsalt olemas. SeetĂ”ttu on uue protokolli loomine vĂ”i olemasoleva kohandamine konkreetsetele IoT ĂŒlesannetele ĂŒks IT-kogukonna olulisemaid ĂŒlesandeid.
Milliseid protokolle praegu kasutatakse ja mida need vĂ”ivad pakkuda? Uurime lĂ€hemalt. Aga kĂ”igepealt arutame ökosĂŒsteemi pĂ”himĂ”tteid, kus suhtlevad pilved, udu ja asjade internet.
IoT Fog-to-Cloud (F2C) arhitektuur
Olete kindlasti mÀrganud, kui suuri jÔupingutusi tehakse, et uurida IoT, pilvede ja uduhalduse seotud eeliseid ja kasu. Kui ei, siis siin on kolm standardimisalgatust: , ja .
Kui varem vaadati ainult kahte taset, pilvi ja lĂ”ppseadmeid, siis pakutud arhitektuur tutvustab uut taset â uduarvutust. Samuti vĂ”ib udu tase jagada mitmeks alamtasemeks, sĂ”ltuvalt ressursside spetsiifikast vĂ”i poliitikapaketist, mis mÀÀratleb erinevate seadmete kasutamise nende alamtasemetes.
Kuidas vĂ”iks see abstraktsioon vĂ€lja nĂ€ha? Siin on tĂŒĂŒpiline IoT-Udu-Pilv ökosĂŒsteem. IoT-seadmed saadavad andmeid tootlikumatel serveritele ja arvutusĂŒksustele, et lahendada madala latentsusega ĂŒlesandeid. Samas sĂŒsteemis vastutavad pilved suurte arvutusressursside vĂ”i andmete salvestamise ruumi vajalike ĂŒlesannete tĂ€itmise eest.

Nutitelefonid, nutikellad ja muud seadmed vĂ”ivad samuti kuuluda IoT-sse. Kuid sellised seadmed kasutavad tavaliselt suurte arendajate omandiĂ”iguslikke kommunikatsiooniprotokolle. Interneti asjade genereeritud andmed edastatakse udu tasandile ĂŒle REST HTTP protokolli, mis tagab paindlikkuse ja funktsionaalse ĂŒhilduvuse RESTful teenuste loomiseks. See on oluline, kuna on vajalik tagada ĂŒhilduvus olemasoleva arvutitehnoloogiaga, mis töötab kohalikel arvutitel, serveritel vĂ”i serverite klastritel. Kohalikud ressursid, mida nimetatakse «udu sĂ”lmedeks», filtreerivad saadud andmeid ja töötlevad neid kohapeal vĂ”i edastavad edasiseks töötlemiseks pilve.
Pilved toetavad erinevaid kommunikatsiooniprotokolle, mille seas on kĂ”ige sagedamini AMQP ja REST HTTP. Kuna HTTP on laialdaselt tuntud ja internetti kohandatud, vĂ”ib tekkida kĂŒsimus: «kas seda kasutada IoT ja udus töötamiseks?». Siiski on selle protokolliga seotud jĂ”udlusprobleeme. Edasi tulles rÀÀgime sellest rohkem.
KokkuvĂ”ttes on olemas kaks sideprotokollide mudelit, mis sobivad meie sĂŒsteemi vajadustele. Need on pĂ€ring-vastus ja avaldamine-tellimine. Esimene mudel on laiemalt tuntud, eriti server-klient arhitektuuris. Klient kĂŒsib serverilt teavet, server vĂ”tab pĂ€ringu vastu, töötleb selle ning tagastab vastuse. Selle mudeli alusel töötavad protokollid REST HTTP ja CoAP.
Teine mudel tekkis vajadusest tagada asĂŒnkroonne, jaotatud ja nĂ”rk side andmete genereerimise allikate ja nende andmete vastuvĂ”tjate vahel.

Mudel eeldab kolme osalist: vĂ€ljaandjat (andmeallikat), vahendajat (dispetĆĄerit) ja tellijat (vastuvĂ”tjat). Siin klient, kes tegutseb tellijana, ei pea serverilt teavet kĂŒsima. Kliendi asemel tellib ta sĂŒsteemis teatud sĂŒndmuste jaoks vahendaja kaudu, kes vastutab kĂ”igi sisenevate sĂ”numite filtreerimise ja suunamise eest vĂ€ljaandjate ja tellijate vahel. Kui teatud teema haru puhul toimub sĂŒndmus, avaldab vĂ€ljaandja selle vahendajale, kes saadab tellijale teavet taotletud teema kohta.
Tegelikult pĂ”hineb see arhitektuur sĂŒndmustel. Selline suhtlemismudel on huvitav IoT, pilve ja serva rakenduste jaoks tĂ€nu oma vĂ”imele tagada skaleeritavust ja lihtsustada erinevate seadmete vahelist suhtlust, toetada dĂŒnaamilist «palju-paljude» ja asĂŒnkroonset suhtlust. Tuntud standardiseeritud sĂ”numivahetuse protokollid, mis kasutavad «vĂ€ljaande-tellija» mudelit, hĂ”lmavad nĂ€iteks MQTT, AMQP ja DDS.
On ilmne, et «vÀljaande-tellija» mudelil on hulgaliselt eeliseid:
- VĂ€ljaandjatel ja tellijatel ei ole vaja ĂŒksteisest teadlikud olla;
- Ăks tellija vĂ”ib saada teavet paljude erinevate vĂ€ljaannete kĂ€est, samas kui ĂŒks vĂ€ljaandja vĂ”ib edastada andmeid paljudele erinevatele tellijatele (pĂ”himĂ”te «palju-paljude»);
- VĂ€ljaandja ja tellija ei pea andmete edastamiseks olema korraga aktiivsed, kuna vahendaja (kes töötab jĂ€rjekorrasĂŒsteemina) suudab hoida sĂ”numit klientide jaoks, kes hetkel ei ole vĂ”rku ĂŒhendatud.
Kuid ka mudel "pÀring-vastus" omab oma eeliseid. Situatsioonides, kus serveri pool ei ole mitme kliendi pÀringute töötlemise osas probleemiks, on mÔistlik kasutada juba tÔestatud usaldusvÀÀrseid lahendusi.
On ka protokolle, mis toetavad mĂ”lemat mudelit. NĂ€iteks XMPP ja HTTP 2.0, mis toetavad âserveri pushâ vĂ”imalust. IETF on ka vĂ€lja andnud CoAP. Probleemide lahendamiseks sĂ”numite vahetamise osas on loodud mitmeid teisi lahendusi, nagu WebSocket protokoll vĂ”i HTTP kasutamine QUIC (Quick UDP Internet Connections) kaudu.
WebSocketide puhul, kuigi seda kasutatakse andmete edastamiseks reaalajas serverist veebiklientidele ning tagab pidevad ĂŒhendused ja kahepoolsed suhted, ei ole see mĂ”eldud seadmete jaoks, millel on piiratud arvutusvĂ”imsus. QUIC vÀÀrib samuti tĂ€helepanu, kuna uus transportprotokoll avab palju uusi vĂ”imalusi. Kuid kuna QUIC ei ole veel standardiseeritud, on liiga vara prognoosida selle vĂ”imalikke kasutusviise ja mĂ”ju IoT lahendustele. Seega jĂ€tame WebSocketid ja QUIC oma mĂ€lu, silmas pidades tulevikku, kuid ei sĂŒvene seni rohkem.
Kes on kÔige armsam: vÔrdleme protokolle
NĂŒĂŒd rÀÀgime protokollide tugevustest ja nĂ”rkustest. Juba ette öeldes tuleks mĂ€rkida, et ĂŒhte selget liidrit ei ole. Iga protokolli puhul on omad eelised ja puudused.
Reageerimisaeg
Ăks peamisi sideprotokollide omadusi, eriti asjade interneti kontekstis, on reageerimisaeg. Siiski ei ole olemas ĂŒhtegi protokolli, mis oleks tĂ€iesti ĂŒlekaalus ja nĂ€itaks minimaalset latentsust erinevates tingimustes. Siiski on mitmeid uuringuid ja protokollide vĂ”rdlusi.
NĂ€iteks, HTTP ja MQTT tĂ”hususe vĂ”rdlus asjade internetis nĂ€itas, et MQTT reageerimisaeg on lĂŒhem kui HTTP-l. Ja kui edastamise vastastikust aega (RTT) MQTT ja CoAP puhul selgus, et CoAP keskmine RTT on 20% madalam kui MQTT-l.
Muu MQTT ja CoAP protokollide RTT-d uuriti kahes stsenaariumis: kohaliku vĂ”rgu ja asjade interneti vĂ”rgus. Selgus, et keskmine RTT on IoT-vĂ”rgus 2â3 korda kĂ”rgem. MQTT QoS0 nĂ€itas madalamat tulemust vĂ”rreldes CoAP-iga, samas kui MQTT QoS1 nĂ€itas kĂ”rgemat RTT-d tĂ€nu ACK-le rakendus- ja transporttasanditel. Erinevate QoS tasemete latentsus koormusteta vĂ”rgus oli MQTT-l millisekundites, CoAP-l aga sadades mikrosekundites. Tuleb siiski meeles pidada, et vĂ€hem usaldusvÀÀrsetes vĂ”rkudes nĂ€itab MQTT, mis töötab TCP peal, hoopis teistsuguseid tulemusi.
AMQP ja MQTT protokollide vastusajad koormuse suurenemisega nĂ€itasid, et madala koormuse korral on viivituse tase peaaegu sama. Kuid suurte andmemahtude edastamisel nĂ€itab MQTT lĂŒhemat vastusaega. Veel ĂŒhes vĂ”rdlesid CoAP-i ja HTTP-d masinatevahelise suhtluse stsenaariumis seadmetega, mis on paigutatud sĂ”idukite peale ja varustatud gaasiandurite, ilmatingimuste andurite, asukoha (GPS) ja mobiilse vĂ”rgu liidesega (GPRS). Aeg, mis kulus CoAP sĂ”numi edastamiseks mobiilvĂ”rgu kaudu, oli peaaegu kolm korda lĂŒhem kui HTTP sĂ”numite edastamiseks vajalik aeg.
Viidi lĂ€bi uuringud, kus vĂ”rreldi mitte kahte, vaid kolme protokolli. NĂ€iteks IoT protokollide MQTT, DDS ja CoAP jĂ”udlust meditsiinilistes rakendustes, kasutades vĂ”rgusimulaatorit. DDS ĂŒletas MQTT telemeetriaviivituse osas erinevates halbadest vĂ”rguoludest. UDP-pĂ”hine CoAP töötas hĂ€sti rakendustes, mis nĂ”udsid kiiret vastust, kuid kuna see pĂ”hineb UDP-l, esines mĂ€rkimisvÀÀrset ettenĂ€gematut pakettide kaotust.
LĂ€bivool
MQTT ja CoAP kanalikasutuse efektiivsuse osas toimus andmete edastamise koguhulga arvestamine ĂŒhe sĂ” numbriga. CoAP nĂ€itas vĂ€iksemat lĂ€bilaskevĂ”imet kui MQTT vĂ€ikeste sĂ”numite edastamisel. Kuid vĂ”rreldes protokollide efektiivsust informatiivsete baitide ja edastatud baitide koguhulga suhte osas osutus CoAP tĂ”husamaks.
Koormuse analĂŒĂŒsi korral MQTT, DDS (TCP transpordiprotokollina) ja CoAP kanalikasutuse analĂŒĂŒs nĂ€itas, et CoAP, ĂŒldiselt nĂ€itas suhteliselt madalamat ribakulu, mis ei suurenenud, kui suurenes vĂ”rgupakettide kaotamine vĂ”i vĂ”rgu viivitus, erinevalt MQTT ja DDS-st, kus nendes stsenaariumides tĂ€heldati kanalikasutuse kasvu. Teises stsenaariumis oli kaasatud suur hulk seadmeid, mis edastavad andmeid samal ajal, mis on tĂŒĂŒpiline IoT keskkondades. Tulemused nĂ€itasid, et suurema koormuse korral on parem kasutada CoAP-i.
VÀhenenud koormuse korral kasutas CoAP kÔige vÀhem ribalaiust, jÀrgnesid MQTT ja REST HTTP. Siiski, kui kasulike koormuste suurus suurenes, saavutas parima tulemuse REST HTTP.
Energiatarve
Energiatarbe kĂŒsimus on alati oluline, eriti IoT sĂŒsteemides. Kui elektritootmise MQQT ja HTTP puhul, siis HTTP âneelabâ mĂ€rgatavalt rohkem. CoAP seevastu on kui MQTT, vĂ”imaldades toite haldamist. Lihtsates stsenaariumides on MQTT siiski rohkem sobiv teabe vahetamiseks asjade internetis, eriti kui vĂ”imsuspiiranguid ei ole.
Eksperiment, kus vÔrreldi AMQP ja MQTT vÔimalusi mobiilses vÔi ebastabiilses juhtmevabas vÔrgus, nÀitas, et AMQP pakub rohkem turvalisuse vÔimalusi, samas kui MQTT on energiatÔhusam.
Ohutus
Turvalisus on veel ĂŒks oluline teema, mida arutatakse asjade interneti ja serva/pilvetehnoloogiate uurimisel. Turvamehhanism pĂ”hineb tavaliselt TLS-il HTTP-s, MQTT-s, AMQP-s ja XMPP-s, vĂ”i DTLS CoAP-s ning toetab mĂ”lemat DDS.
TLS ja DTLS algavad kliendi ja serveri vahelise ĂŒhenduse loomise protsessist, et vahetada toetatavaid krĂŒptokomplekte ja vĂ”tmeid. MĂ”lemad pooled lepivad kokku komplektides, et tagada edasine suhtlemine turvalises kanalites. Nende vahe seisneb vĂ€ikestes muudatustes, mis vĂ”imaldavad DTLS-il, mis pĂ”hineb UDP-l, töötada usaldamatutel ĂŒhendustel.
Koormuse analĂŒĂŒsi korral Mitmete erinevate TLS ja DTLS rakenduste testimisel on selgunud, et TLS on ĂŒlesande tĂ€itmisel paremini hakkama saanud. DTLS rĂŒnnakud olid edukamad tĂ€nu oma vigade taluvusele.
Kuid suurim probleem nende protokollide puhul on see, et need ei olnud algselt mĂ”eldud IoT kasutamiseks ega arvestanud pilves vĂ”i udus töötamisega. Kokkulepitud vahetuse (handshaking) kaudu lisavad nad iga ĂŒhenduse loomisega tĂ€iendavat liiklust, mis kurnab arvutusressursse. Keskmiselt on TLS-i puhul tĂ€iendav koormus 6,5% ja DTLS-i puhul 11% vĂ”rreldes turvataseme puudumisega. Ressursirikkas keskkonnas, mis asub tavaliselt tasemel, see ei tohiks probleemi tekitada, kuid IoT ja udu taseme vahelise seose tĂ”ttu muutub see tĂ”siseks piiranguks.
Mida siis valida? Ăhtset vastust ei ole. MQTT ja HTTP paistavad olevat kĂ”ige perspektiivikamad protokollid, kuna neid peetakse vĂ”rreldes teiste protokollidega suhteliselt kĂŒpseks ja stabiilseks lahenduseks IoT jaoks.
Ăhtse kommunikatsiooniprotokolli lahendused
Ăhe protokolli lahenduse praktika omab palju puudusi. NĂ€iteks protokoll, mis rahuldab piiratud keskkonda, ei pruugi töötada valdkonnas, kus on ranged turvanĂ”uded. Seda silmas pidades jÀÀb meil peaaegu kĂ”ik ainuprotokolliga lahendused Fog-to-Cloud ökosĂŒsteemis IoT-s vĂ€lja jĂ€tta, vĂ€lja arvatud MQTT ja REST HTTP.
REST HTTP ĂŒhtse protokolli lahendusena
HĂ€rra hea nĂ€ide REST HTTP pĂ€ringute ja vastuste interaktsioonist IoT-to-Fog valdkonnas: . Loomad on varustatud kantavate anduritega (IoT klient, C) ja neid haldab nutika pĂ”llumajanduse sĂŒsteem (Fog-server, S) pilvearvutuse kaudu.
POST meetodi pealkirjas mÀÀratakse ressurss, mida tuleb muuta (/farm/animals), samuti HTTP versioon ja sisu tĂŒĂŒp, mis antud juhul on JSON objekti kujul, esindades loomafarmi, mida sĂŒsteem peab haldama (Dulcineia/lehm). Serveri vastus nĂ€itab, et pĂ€ring oli edukas, saates HTTPS staatuse koodi 201 (ressurss loodud). GET meetod peaks mÀÀrama ainult taotletud ressursi URI (nĂ€iteks /farm/animals/1), mis tagastab selle identifikaatoriga looma JSON esitlemise serverist.
PUT meetodi kasutatakse, kui on vaja vĂ€rskendada mĂ”nda konkreetset ressursi kirjet. Sel juhul mÀÀratakse ressursis URI parameetrile, mida tuleb muuta, ja praegusele vÀÀrtusele (nĂ€iteks nĂ€idates, et lehm on nĂŒĂŒd jalutamas, /farm/animals/1?state=jalutamine). LĂ”puks kasutatakse DELETE meetodit vĂ”rdselt GET meetodiga, kuid see lihtsalt kustutab ressursi toimingu tulemusena.
MQTT kui ĂŒheahelaline lahendus

VĂ”tame sama nutifarmi, kuid REST HTTP protokolli asemel kasutame MQTT protokolli. Kohalik server koos paigaldatud Mosquitto teegiga funktsioneerib vahendajana. Selles nĂ€ites toimib lihtne arvuti (mida tĂ€histatakse farmiserverina) Raspberry Pi MQTT kliendina, mis on toimiv lĂ€bi MQTT Paho raamatukogu, mis on tĂ€ielikult ĂŒhilduv Mosquitto vahendajaga.
See klient vastab IoT abstraktsioonitasemele, mis esindab seadet, millel on tuvastamise ja arvutamise vÔimed. Vahendaja, teisalt, vastab kÔrgemale abstraktsioonitasemele, mis esindab udutehnoloogia arvutuspunkti, mis iseloomustab suuremaid vÔimeid andmete töötlemisel ja salvestamisel.
Pakutud ânutika taluâ stsenaariumis ĂŒhineb Raspberry Pi akseleromeetri, GPS-i ja temperatuurianduritega ning avaldab nende andurid andmed udutootmisajas. Nagu te ilmselt teate, kĂ€sitleb MQTT teemasid hierarhias. Ăks MQTT vĂ€ljaandja vĂ”ib avaldada sĂ”numeid kindlas teemade kogus. Meie puhul on neid kolm. Loomade tallis temperatuuri mÔÔtmiseks valib klient teema (animalfarm/shed/temperature). GPS-i ja loomade liikumise mÔÔtmiseks akseleromeetri kaudu avaldab klient vĂ€rskendusi (animalfarm/animal/GPS) ja (animalfarm/animal/movement).
See teave edastatakse vahendajale, kes vÔib selle ajutiselt salvestada kohalikku andmebaasi juhuks, kui hiljem ilmneb mÔni teine huvitatud tellija.
Lisaks kohalikele serveritele, mis toimivad MQTT vahendajatena uduvaikus ja kuhu Raspberry Pi, tegevad MQTT klientid, saadavad andmeid sensoritest, vĂ”ib pilve tasemel olla veel ĂŒks MQTT vahendaja. Sellisel juhul vĂ”ib kohaliku vahendajaga edastatav teave ajutiselt salvestada kohalikku andmebaasi ja/vĂ”i saata pilve. Udu MQTT vahendajat kasutatakse selles olukorras, et siduda kĂ”ik andmed pilve MQTT vahendajaga. Sellise arhitektuuri korral vĂ”ib mobiilirakenduse kasutaja olla tellitud mĂ”lemale vahendajale.
Ăhenduse katkemise korral ĂŒhe vahendajaga (nĂ€iteks pilvega) saab lĂ”ppkasutaja teavet teisest (udust). See on iseloomulik tunnus udu ja pilve arvutuste kombineeritud sĂŒsteemide puhul. Vaikimisi vĂ”ib mobiilirakendus olla seadistatud esmakordselt ĂŒhenduma udus oleva MQTT vahendajaga ning ebaĂ”nnestumise korral ĂŒhenduma pilve MQTT vahendajaga. See lahendus on vaid ĂŒks paljusid IoT-F2C sĂŒsteemides.
Mitmeprotokollilised lahendused
Ăhe protokolli lahendused on populaarsed, kuna nende rakendamine on lihtsam. Kuid on selge, et IoT-F2C sĂŒsteemides on mĂ”istlik kombineerida erinevaid protokolle. EesmĂ€rk on, et erinevates kihtides vĂ”ivad töötada erinevad protokollid. Kui vĂ”tame nĂ€iteks kolm abstraktsiooni: IoT, udune ja pilvetehnoloogia tasemed. IoT tasemel peetakse seadmeid tavaliselt piiratud vĂ”imekusega. Selle ĂŒlevaate jaoks kĂ€sitleme IoT tasemeid kui kĂ”ige piiratumateid, pilvetasemeid kui kĂ”ige vĂ€hem piiratud, ning udutehnoloogiat kui midagi nende vahepealset. Seega sisaldavad IoT ja udust abstraktsiooni vahel hetke protokollilahendused MQTT, CoAP ja XMPP. Udune ja pilve vahel on AMQP ĂŒks peamisi kasutatavaid protokolle koos REST HTTP-ga, mida kasutatakse ka IoT ja udutasemete vahel oma paindlikkuse tĂ”ttu.
PĂ”hiliseks probleemiks on protokollide funktsionaalne ĂŒhilduvus ja sĂ”numite lihtsus ĂŒhelt protokollilt teisele tĂ”lkimisel. Ideaalis peaks tulevikus asjade interneti arhitektuur pilve- ja uduressurssidega olema sĂ”ltumatu kasutatavast sideprotokollist ning tagama erinevate protokollide hea koostöö.

Kuna see ei ole praegu nii, on mĂ”istlik liita protokolle, millel ei ole olulisi erinevusi. Selle eesmĂ€rgi saavutamiseks pĂ”hineb ĂŒks potentsiaalne lahendus kahe protokolli, REST HTTP ja CoAP, kombinatsioonil, mis jĂ€rgivad sama arhitektuurilist stiili. Teine ettepanekud lahendus pĂ”hineb kahe protokolli ĂŒhendamisel, mis pakuvad koostööd âpublikatsioon-registratsioonâ mudeli kaudu, MQTT ja AMQP. LĂ€hedaste kontseptsioonide kasutamine (nii MQTT kui AMQP kasutavad vahebrokereid, CoAP ja HTTP kasutavad REST-i) lihtsustab nende kombinatsioonide rakendamist ning nĂ”uab vĂ€hem integreerimise pingutusi.

Joonisel (a) on kujutatud kaks mudeleid, mis pĂ”hinevad pĂ€ringutel ja vastustel, HTTP ja CoAP, ning nende vĂ”imalik paigutus IoT-F2C lahenduses. Kuna HTTP on ĂŒks tuntumaid ja laialdaselt kohandatud protokolle kaasaegsetes vĂ”rkudes, on ebatĂ”enĂ€oline, et see asendatakse tĂ€ielikult teiste sĂ”numivahetuse protokollidega. VĂ”imsate seadmete, mis asuvad pilve ja udu vahel, seas on REST HTTP mĂ”istlik lahendus.
Teisest kĂŒljest, piiratud arvutusressurssidega seadmete puhul, mis suhtlevad udu ja IoT tasemete vahel, on CoAP kasutamine efektiivsem. Ăks CoAP suuremaid eeliseid on tegelikult selle ĂŒhilduvus HTTP-ga, kuna mĂ”lemad protokollid pĂ”hinevad REST-i pĂ”himĂ”tetel.
Joonisel (b) on kujutatud kaks "publikatsiooni-ja tellimise" interaktsiooni mudelit ĂŒhes stsenaariumis, sealhulgas MQTT ja AMQP. Kuigi hĂŒpoteetiliselt vĂ”iks mĂ”lemat protokolli kasutada sidepidamiseks sĂ”lmede vahel igas abstraktsiooni tasemes, tuleks nende asukoht mÀÀrata jĂ”udluse alusel. MQTT on loodud lihtsustatud protokollina piiratud arvutusvĂ”imekusega seadmetele, seega saab seda kasutada IoT ja uduste vahelise sidepidamiseks. AMQP sobib paremini jĂ”ulisematele seadmetele, mis positsioneeriksid selle ideaalselt uduste ja pilveteenuste vahel. IoT-s vĂ”ib MQTT asemel kasutada protokolli XMPP, kuna seda peetakse kergemaks, kuid see ei ole sarnastes stsenaariumites nii laialdaselt kasutatav.
JĂ€reldused
On ebatse, et ĂŒkski kaalutletud protokollidest ei pruugi olla piisav, et katab kogu sĂŒsteemi suhtlemise, alustades seadmetest, mille arvutusvĂ”imsus on piiratud, ja lĂ”petades pilveserveritega. Uuringud on nĂ€idanud, et kaks kĂ”ige paljutĂ”otavamat valikut, mida arendajad tihti kasutavad, on MQTT ja RESTful HTTP. Need kaks protokolli on mitte ainult kĂ”ige kĂŒpsemad ja stabiilsemad, vaid sisaldavad ka palju hĂ€sti dokumenteeritud ja edukaid rakendusi ning veebivĂ€hendeid.
Oma stabiilsuse ja lihtsa seadistuse tĂ”ttu on MQTT protokoll, mis on aja jooksul tĂ”estanud oma erakordset sooritust IoT tasemel piiratud seadmetega. SĂŒsteemi osades, kus piiratud ĂŒhenduvus ja aku tarbimine ei ole probleem, nĂ€iteks teatud udusfÀÀride ja enamikul pilveteenuste casos, on RESTful HTTP lihtne valik. Samuti tuleks arvestada CoAP-iga, kuna see areneb samuti kiiresti IoT sĂ”numivahetuse standardiks, ja on tĂ”enĂ€oline, et peagi saavutataks see stabiilsuse ja kĂŒpsuse tase, mis on sarnane MQTT ja HTTP-le. Kuid standard areneb praegu, mis toob kaasa lĂŒhiajalisi ĂŒhilduvusprobleeme.
Mida veel huvitavat blogis lugeda
â
â
â
â
â
Liituge meiega -kanal, et mitte jÀÀda ilma jÀrgnevast artiklist! Kirjutame mitte tihedamini kui kaks korda nÀdalas ja ainult asjalikult.
Allikas: habr.com
