Helló, Habr olvasói! októberben indul az OTUS-ban. Jelenleg nyitva áll a jelentkezés a tanfolyamra, ezért továbbra is megosztunk hasznos anyagokat.

Az Internet of Things (IoT) a meglévő hálózati infrastruktúra, technológiák és protokollok alapjaira épül, amelyek jelenleg is használatosak otthonokban/irodákban és az interneten, és sok mást kínál majd.
A jelen útmutató célja, hogy rövid áttekintést nyújtson az IoT-hoz kapcsolódó hálózati és alkalmazásprotokollokról.
Megjegyzés: Önnek ismeretekkel kell rendelkeznie .
IoT-hálózatokról
Az IoT a meglévő TCP/IP hálózatokon fog működni.
A TCP/IP négy szintű modellt használ, amely szintenként különböző protokollokkal rendelkezik. Lásd. (a TCP/IP négy szintű modellel ismerkedünk).
Az alábbi diagramon a jelenleg használt protokollok és azok, amelyeket várhatóan az IoT-ban alkalmazni fognak, összehasonlítása látható.

Megjegyzések a diagramhoz:
A betűméret a protokoll népszerűségét tükrözi. Például bal oldalon az IPv4 nagyobb, mivel sokkal népszerűbb a modern interneten. Jobb oldalon viszont kisebb, mivel várható, hogy az IPv6 népszerűbb lesz az IoT-ban.
Nem minden protokollt mutatunk be.
A legnagyobb változások a link (1. és 2. szint) és az alkalmazás szinten (4. szint) várhatóak.
A hálózati és szállítási szint valószínűleg változatlan marad.
Link szint protokollok
A link szinten (Data Link) a készülékeket kell összekapcsolni. Ezek lehetnek közel egymáshoz, például helyi hálózatokban (local networks) vagy távol egymástól: városi (metropolitan area networks) és globális hálózatokban (wide area networks).
Jelenleg ezen a szinten a háztartási és irodai hálózatokban (LAN) Ethernet és Wi-Fi, míg a mobil (WAN) hálózatokban 3G/4G használatos. Azonban sok IoT-eszköz alacsony fogyasztású, például érzékelők, és csak akkumulátorról működnek. Ezekben az esetekben az Ethernet nem alkalmas, de lehet használni alacsony fogyasztású Wi-Fi-t és alacsony fogyasztású Bluetooth-t.
Bár ezeknek az eszközöknek a csatlakoztatására továbbra is a meglévő vezeték nélküli technológiákat (Wi-Fi, Bluetooth, 3G/4G) fogják használni, figyelmet érdemelnek az IoT-alkalmazásokhoz kifejlesztett új technológiák is, amelyek népszerűsége várhatóan növekedni fog.
Ezek között szerepel:
BLE – Bluetooth Low Energy
LoRaWAN – Long Range WAN
SigFox
LTE-M
Részletesebben a cikkben található (vezeték nélküli IoT technológiák áttekintése).
Hálózati szint
A hálózati szinten (Networking) hosszú távon a protokoll fog dominálni. Valószínűtlen, hogy az IPv4-et használni fogják, de szerepet játszhat a kezdeti szakaszokban. A legtöbb otthoni IoT-eszköz, például az okos izzók, jelenleg IPv4-et használnak.
Szállítási szint
A szállítási szinten (Transport) az interneten és a weben a TCP dominál. Ezt használják mind a HTTP-ban, mind számos más népszerű internetes protokollban (SMTP, POP3, IMAP4 stb.).
Az MQTT, amely várakozásaim szerint az üzenetküldéshez használt alkalmazási szint protokolljaként válik egyik fő szereplővé, jelenleg TCP-t használ.
A jövőben azonban a kisebb költségvetések miatt várhatóan az UDP népszerűbbé válik az IoT számára. Valószínűleg szélesebb körben elterjed , amely az UDP felett működik. Lásd a cikket a .
Alkalmazási szint és üzenetküldő protokollok
Fontos jellemzők az IoT protokollok számára:
Sebesség — az egy másodperc alatt átvitt adatok mennyisége.
Késleltetés — az üzenet átviteléhez szükséges idő.
Fogyasztott energia.
Biztonság.
Elérhető szoftveres eszközök.
Jelenleg ezen a szinten aktívan használják a két fő protokollt: HTTP és MQTT.
A HTTP valószínűleg a legjobban ismert protokoll ezen a szinten, amely a web alapját képezi (WWW). Továbbra is fontos szerepet fog játszani az IoT-ban, mivel a REST API — a webalkalmazások és szolgáltatások közötti interakció alapvető mechanizmusa — használja. Azonban a magas költségek miatt valószínű, hogy a HTTP nem lesz az IoT fő protokollja, bár továbbra is széles körben használják az interneten.
Az MQTT (Message Queuing Telemetry Transport) az IoT üzenetküldő protokolljává vált, köszönhetően könnyűsége és használhatósága miatt. Lásd a cikket (Bevezetés az MQTT-be kezdők számára).
HTTP és MQTT összehasonlítása IoT számára
Az MQTT gyorsan a de facto szabványává válik az IoT alkalmazásoknak. Ez a könnyűsége és sebessége miatt történik a HTTP-hoz képest, és mivel ez egy 'egy sokhoz' protokoll, nem pedig 'egyhez egy' (HTTP).
Sok modern webalkalmazás szívesen használta volna az MQTT-t a HTTP helyett, ha az elérhető lett volna a fejlesztésük során.
Jó példa az információk küldése több ügyfélnek, például vonatok, buszok vagy repülők indulásáról és érkezéséről. Ebben a forgatókönyvben az "egy-az-egyhez" protokoll, mint például a HTTP, nagy költségekkel jár, és jelentős terhelést jelent a webszerverek számára. Ezeknek a webszervereknek a skálázása nehezen megvalósítható. Az MQTT segítségével az ügyfelek kapcsolódnak a brokerhez, akiket könnyedén lehet hozzáadni a terhelés egyensúlyozása érdekében. Nézze meg ezt a videós oktatót. és a cikket .
Egyéb üzenetküldő protokollok
A HTTP nem volt kifejlesztve IoT-alkalmazásokhoz, de, mint már említettük, egy ideig széles körben használni fogják az elterjedtsége miatt. .
Majdnem minden IoT platform támogatja a HTTP-t és az MQTT-t is.
De vannak más protokollok is, amelyeket érdemes megfontolni.
VLESS, WireGuard, OpenVPN, IKEv2
— (Üzenetsorozat Telemetriai Átvitel). TCP/IP-t használ. Az "kiadó-előfizető" modellhez üzenetbróker szükséges.
— (Fejlett Üzenetsorozat Kezelési Protokoll). TCP/IP-t használ. "Kiadó-előfizető" és "pont-pont" modellek.
— (Korlátozott Alkalmazási Protokoll). UDP-t használ. Kifejezetten az IoT számára készült, kérés-válasz modellt alkalmaz, akárcsak a HTTP. .
— (Adatmegosztási Szolgáltatás)
Ebben a alapvető protokollok és alkalmazásuk vannak tárgyalva. A cikk konklúziója, hogy az IoT egy protokollkészletet fog használni a tervezett alkalmazásának megfelelően.
Viszont, ha visszatekintünk az Internet korai éveire, a HTTP protokoll, amely később dominálóvá vált, csupán egy volt a sok közül.
Bár a HTTP nem volt eredetileg fájlok és e-mailek átvitelére tervezve, ma már mindkettőre használják.
Elvárom, hogy az IoT üzenetküldő protokolljaival hasonló történjen: a legtöbb szolgáltatás egy domináló protokollt fog használni.
Az alábbiakban a Google Trends grafikonjai mutatják, hogyan változott az MQTT, a COAP és az AMQP népszerűsége az utóbbi években.
Google Trends Áttekintés

Protokolltámogatás platformonként
— MQTT, AMQP, HTTP és HTTPS
— MQTT, HTTPS, MQTT webszervereken keresztül
IBM Bluemix – MQTT, HTTPS, MQTT
— MQTT, HTTPS, MQTT, AMQP
Összefoglaló
A legnagyobb változások a link (1. és 2. szint) és az alkalmazás szinten (4. szint) várhatóak.
A hálózati és szállítási szint valószínűleg változatlan marad.
Az alkalmazási szinten az IoT komponensei üzenetküldési protokollokat fognak használni. Bár még mindig az IoT fejlődésének korai szakaszában járunk, valószínű, hogy kiemelkedik egy vagy talán két üzenetküldési protokoll.
Az elmúlt néhány évben a MQTT vált a legnépszerűbbé, és ezen a protokollon fókuszálok jelenleg ezen az oldalon.
A HTTP továbbra is használatban marad, mivel már jól beépült a meglévő IoT platformokba.
Ez minden. Szívesen látjuk, hogy jelentkezzen ingyenes bemutató órára a következő témában .
Tovább olvasva:
Forrás: habr.com
