Přehled síťových protokolů a protokolů výměny zpráv pro IoT

Ahoj, Habráci! První online kurz IoT vývojář v Rusku startuje v OTUS už v říjnu. Právě teď je otevřen nábor na kurz, a proto s vámi pokračujeme v sdílení užitečných materiálů.

Přehled síťových protokolů a protokolů výměny zpráv pro IoT

Internet věcí (IoT, Internet of Things) bude vybudován na stávající síťové infrastruktuře, technologiích a protokolech, které jsou momentálně používány v domácnostech/kanzelná a na internetu, a nabídne mnohem více.

Cílem tohoto průvodce je poskytnout stručný přehled síťových a aplikačních protokolů pro IoT.

Poznámka. Musíte mít znalosti základů síťových technologií.

IoT sítě

IoT bude fungovat v existujících TCP/IP sítích.

TCP/IP používá čtyřúrovňový model s určenými protokoly na každé úrovni. Viz understanding the TCP/IP 4 layer model (rozumíme čtyřúrovňovému modelu TCP/IP).

Na diagramu níže je uvedeno srovnání protokolů, které se v současnosti používají, a těch, které pravděpodobně budou použity pro IoT.

Přehled síťových protokolů a protokolů výměny zpráv pro IoT

Poznámky k diagramu:

  1. Velikost písma zobrazuje úroveň popularity protokolu. Například vlevo je IPv4 větší, protože je mnohem populárnější v současném internetu. Na pravé straně je ale menší, protože se očekává, že IPv6 bude populárnější v IoT.

  2. Některé protokoly nejsou zobrazeny.

  3. Nejvíce změn se očekává na kanálové (úrovně 1 a 2) a aplikační úrovni (úroveň 4).

  4. Síťové a transportní úrovně pravděpodobně zůstanou beze změny.

Protokoly kanálové úrovně

Na kanálové úrovni (Data Link) potřebujete propojit zařízení. Mohou být blízko sebe, například v lokálních sítích (local networks), nebo na velkou vzdálenost od sebe: ve městských (metropolitan area networks) a globálních sítích (wide area networks).

V současnosti se na této úrovni v domácích a kancelářských sítích (LAN) používá Ethernet a Wi-Fi, a v mobilních (WAN) – 3G/4G. Nicméně mnohá IoT zařízení mají nízkou spotřebu energie, například senzory, a napájí se pouze z baterií. V těchto případech Ethernet nevyhovuje, ale lze použít low powered Wi-Fi a low powered Bluetooth.

Ačkoli k připojení těchto zařízení bude stále používána existující bezdrátová technologie (Wi-Fi, Bluetooth, 3G/4G), stojí také za to věnovat pozornost novým technologiím, které byly speciálně navrženy pro IoT aplikace, jejichž popularita pravděpodobně poroste.

Mezi ně patří:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

Podrobnosti jsou uvedeny v článku. Přehled bezdrátových technologií IoT. (přehled bezdrátových technologií IoT).

Síťová úroveň

Na síťové úrovni (Networking) v dlouhodobém horizontu bude dominovat protokol. IPv6Je málo pravděpodobné, že se používání IPv4 udrží, ale může hrát určitou roli v počátečních fázích. Většina domácích IoT zařízení, například chytré žárovky, v současnosti používá IPv4.

Transportní úroveň 

Na transportní úrovni (Transport) dominuje TCP jak na internetu, tak ve webu. Používá se jak v HTTP, tak v mnoha jiných oblíbených internetových protokolech (SMTP, POP3, IMAP4 atd.).

MQTT, který očekávám, že se stane jedním z hlavních protokolů aplikační úrovně pro zasílání zpráv, v současnosti používá TCP.

Nicméně v budoucnu očekávám, že díky nižším režijním nákladům bude UDP populárnější pro IoT. Pravidelněji se pravděpodobně rozšíří. MQTT-SN, fungující nad UDP. Viz článek o srovnání. TCP vs UDP .

Aplikační úroveň a protokoly pro zasílání zpráv

Důležité charakteristiky pro protokoly IoT:

  • Rychlost – množství přenesených dat za sekundu.

  • Zpoždění – doba potřebná k přenosu zprávy.

  • Spotřeba energie.

  • Bezpečnost.

  • Dostupnost softwarových nástrojů.

V současnosti jsou na této úrovni aktivně využívány dva hlavní protokoly: HTTP a MQTT.

HTTP je pravděpodobně nejznámější protokol této úrovně, ležící v základu webu (WWW). I nadále bude mít důležitý význam pro IoT, neboť se používá pro REST API – hlavní mechanismus interakce webových aplikací a služeb. Nicméně kvůli vysokým režijním nákladům se HTTP pravděpodobně nestane hlavním protokolem IoT, i když bude stále široce používané na internetu.

MQTT (Message Queuing Telemetry Transport) se stal hlavním protokolem pro zasílání zpráv v IoT, díky své lehkosti a jednoduchosti použití. Viz článek. Úvod do MQTT pro začátečníky (Úvod do MQTT pro začátečníky).

Srovnání HTTP a MQTT pro IoT

MQTT rychle získává postavení de facto standardu pro IoT aplikace. Děje se tak díky jeho lehkosti a rychlosti ve srovnání s HTTP a tomu, že je to protokol „jeden ke mnoha“, nikoli „jeden k jednomu“ (HTTP).

Mnoho moderních webových aplikací by s radostí využilo MQTT místo HTTP, kdyby byl k dispozici v okamžiku jejich vývoje.

Dobré příklady zahrnují odesílání informací více klientům, například o příjezdech a odjezdech vlaků / autobusů / letadel. V tomto scénáři protokol „jeden k jednomu“, jako je HTTP, má velké režijní náklady a vytváří značnou zátěž na webové servery. Škálování těchto webových serverů může být obtížné. S MQTT se klienti připojují k brokerovi, které lze snadno přidávat pro vyvažování zátěže. Podívejte se na tento tutoriál s videem. Znovu publikovat HTML data přes MQTT (příklad příjezdů letů) a článek MQTT vs HTTP pro IoT.

Další protokoly pro zasílání zpráv

HTTP nebylo navrženo pro IoT aplikace, ale jak již bylo zmíněno, bude široce používáno ještě nějakou dobu díky jeho rozšířenému použití v API.

Téměř všechny IoT platformy podporují jak HTTP, tak MQTT.

Existují však i jiné protokoly, které stojí za zvážení.

Protokoly

  • MQTT – (Message Queuing Telemetry Transport). Používá TCP/IP. Pro model „publikátor-odběratel“ je potřeba broker s zprávami.

  • AMQP – (Advanced Message Queuing Protocol). Používá TCP/IP. Modely „publikátor-odběratel“ a „bod-bod“.

  • COAP – (Constrained Application Protocol). Používá UDP. Bylo navrženo speciálně pro IoT, používá model dotazu-odpovědi jako v HTTP. RFC 7252.

  • DDS – (Data Distribution Service) 

V této článku se zkoumají hlavní protokoly a jejich aplikace. Závěr tohoto článku je, že IoT bude používat soubor protokolů, v závislosti na jejich zamýšleném použití.

Pokud se však podíváme zpět, v prvních letech existence Internetu byl protokol HTTP, který se stal dominantním, jen jedním z mnoha protokolů.

Ačkoliv HTTP nebylo původně navrženo pro přenos souborů a e-mailu, dnes se používá pro obojí.

Očekávám, že v IoT s protokoly pro zasílání zpráv se stane totéž: většina služeb bude používat jeden převládající protokol.

Níže jsou grafy Google Trends, které ukazují, jak se měnila popularita MQTT, COAP a AMQP v posledních několika letech.

Přehled Google Trends 

Přehled síťových protokolů a protokolů výměny zpráv pro IoT

Podpora protokolů na platformách

  • Microsoft Azure – MQTT, AMQP, HTTP a HTTPS

  • AWS – MQTT, HTTPS, MQTT přes websockets

  • IBM Bluemix – MQTT, HTTPS, MQTT

  • Thingworx – MQTT, HTTPS, MQTT, AMQP

Shrnutí

Nejvíce změn se očekává na kanálové (úrovně 1 a 2) a aplikační úrovni (úroveň 4).

Síťové a transportní úrovně pravděpodobně zůstanou beze změny.

Na aplikační úrovni budou komponenty IoT používat protokoly pro výměnu zpráv. I když jsme stále na začátku vývoje IoT, je velmi pravděpodobné, že se vyčlení jeden nebo možná dva protokoly pro výměnu zpráv.

Během posledních několika let se MQTT stal nejpopulárnějším a na něj se nyní zaměřuji na této stránce.

HTTP také zůstane v používání, protože je již dobře integrován do existujících IoT platforem.

To je vše. Zveme vás, abyste se přihlásili na bezplatnou demo lekci na téma „Chatbot pro rychlé příkazy zařízení“.

Číst víc:

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster