Přehled síťových protokolů a protokolů zasílání zpráv pro IoT

Ahoj, Khabrovite! První ruský online kurz pro vývojáře IoT startuje v OTUS v říjnu. Přihlašování do kurzu je otevřeno právě teď, v souvislosti s tím s vámi nadále sdílíme užitečné materiály.

Přehled síťových protokolů a protokolů zasílání zpráv pro IoT

Internet věcí (IoT, Internet of Things) bude postaven na stávající síťové infrastruktuře, technologiích a protokolech, které se v současnosti používají v domácnostech/kancelářích a na internetu, a nabídne mnohem více.

Účelem této příručky je poskytnout stručný přehled síťových a aplikačních protokolů pro IoT.

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

sítě IoT

IoT poběží na stávajících sítích TCP/IP.

TCP/IP používá čtyřvrstvý model se specifickými protokoly na každé vrstvě. Cm. pochopení 4vrstvého modelu TCP/IP (chápeme čtyřvrstvý model TCP/IP).

Níže uvedený diagram ukazuje srovnání aktuálně používaných protokolů a protokolů, které budou nejpravděpodobněji používány pro IoT.

Přehled síťových protokolů a protokolů zasílání zpráv pro IoT

Poznámky ke grafu:

  1. Velikost písma označuje oblíbenost protokolu. Například vlevo je IPv4 větší, protože je mnohem populárnější na moderním internetu. Napravo je však menší, protože se očekává, že IPv6 bude v IoT populárnější.

  2. Nejsou zobrazeny všechny protokoly.

  3. Většina změn je na úrovni kanálu (úroveň 1 a 2) a na úrovni aplikace (úroveň 4).

  4. Síťové a transportní vrstvy pravděpodobně zůstanou nezměněny.

Protokoly spojové vrstvy

Na úrovni datového spoje (Data Link) je potřeba vzájemně propojit zařízení. Mohou být jak blízko, například v lokálních sítích (lokální sítě), tak ve velké vzdálenosti od sebe: v městských (metropolitní sítě) a globálních sítích (rozlehlé sítě).

V současné době na této úrovni domácí a kancelářské sítě (LAN) využívají Ethernet a Wi-Fi a mobilní sítě (WAN) využívají 3G / 4G. Mnoho zařízení IoT má však nízkou spotřebu, jako jsou senzory, a jsou napájeny pouze bateriemi. V těchto případech není Ethernet vhodný, ale lze použít Wi-Fi s nízkou spotřebou a Bluetooth s nízkou spotřebou.

Zatímco stávající bezdrátové technologie (Wi-Fi, Bluetooth, 3G/4G) budou i nadále využívány pro připojení těchto zařízení, stojí za to se také poohlédnout po nových technologiích speciálně navržených pro IoT aplikace, které pravděpodobně porostou v oblibě.

Mezi ně patří:

  • BLE - Bluetooth Low Energy

  • LoRaWAN - WAN s dlouhým dosahem

  • SigFox

  • LTE-M

Podrobněji jsou popsány v článku. Přehled bezdrátových technologií IOT (přehled bezdrátových IoT technologií).

síťová vrstva

Na síťové vrstvě (Networking) bude protokol dlouhodobě dominovat IPv6. Je nepravděpodobné, že se bude používat IPv4, ale může hrát roli v raných fázích. Většina domácích IoT zařízení, jako jsou chytré žárovky, v současnosti využívá IPv4.

transportní vrstva 

Na transportní vrstvě (Transport), Internetu a webu dominuje TCP. Používá se jak v HTTP, tak v mnoha dalších populárních internetových protokolech (SMTP, POP3, IMAP4 atd.).

MQTT, od kterého očekávám, že se stane jedním z hlavních protokolů aplikační vrstvy pro zasílání zpráv, v současnosti používá TCP.

V budoucnu však vzhledem k nižší režii očekávám, že UDP bude pro IoT populárnější. Asi rozšířenější MQTT-SN, běžící přes UDP. Viz srovnávací článek TCP vs UDP .

Aplikační vrstva a protokoly zasílání zpráv

Důležité vlastnosti pro IoT protokoly:

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

  • Latence je doba potřebná k odeslání zprávy.

  • Spotřeba energie.

  • Security.

  • Dostupnost softwaru.

V současné době se na této úrovni aktivně používají dva hlavní protokoly: HTTP a MQTT.

HTTP je pravděpodobně nejznámější protokol této úrovně, který je základem webu (WWW). Pro IoT bude i nadále důležitý, protože se používá pro REST API – hlavní mechanismus interakce mezi webovými aplikacemi a službami. Kvůli vysoké režii se však HTTP pravděpodobně nestane hlavním IoT protokolem, i když na internetu bude stále hojně využíván.

MQTT (Message Queuing Telemetry Transport) se stal hlavním protokolem pro zasílání zpráv v IoT díky své lehkosti a snadnému 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 se rychle stává de facto standardem pro aplikace IoT. To je způsobeno jeho lehkostí a rychlostí ve srovnání s HTTP a skutečností, že se jedná spíše o protokol one-to-many než one-to-one (HTTP).

Mnoho moderních webových aplikací by s radostí používalo MQTT místo HTTP, pokud by byl dostupný v době jejich vývoje.

Dobrým příkladem je zasílání informací více klientům, jako jsou příjezdy a odjezdy vlaků/autobusů/letadel. V tomto scénáři má protokol typu one-to-one, jako je HTTP, velkou režii a hodně zatěžuje webové servery. Škálování těchto webových serverů může být obtížné. Pomocí MQTT se klienti připojují k brokerovi, kterého lze snadno přidat pro vyrovnávání zátěže. Podívejte se na videonávod o tom Znovu publikovat data HTML přes MQTT (Příklad letů) a článek MQTT vs HTTP pro IOT.

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

HTTP nebyl navržen pro aplikace IoT, ale jak již bylo zmíněno, bude nějakou dobu široce používán díky svému širokému použití v API.

Téměř všechny platformy IoT podporují HTTP i MQTT.

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

Protokoly

  • MQTT - (Přenos telemetrie ve frontě zpráv). Používá TCP/IP. Model publikování-odběr vyžaduje zprostředkovatele zpráv.

  • AMQP - (Advanced Message Queuing Protocol). Používá TCP/IP. Modely Publisher-Subscriber a Point-to-Point.

  • COAP - (Constrained Application Protocol). Používá UDP. Navrženo speciálně pro IoT, používá model požadavek-odpověď jako v HTTP. RFC 7252.

  • DDS - (Služba distribuce dat) 

V tomhle článek jsou zvažovány hlavní protokoly a jejich aplikace. Závěrem tohoto článku je, že IoT bude využívat sadu protokolů v závislosti na jejich zamýšleném použití.

Avšak zpětně, v prvních letech internetu byl protokol HTTP, který se stal dominantním, pouze jedním z mnoha protokolů.

Ačkoli HTTP nebyl původně koncipován pro přenos souborů a e-mailů, dnes se používá pro obojí.

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

Níže jsou grafy Google Trends, které ukazují, jak se za posledních několik let změnila popularita MQTT, COAP a AMQP.

Přehled Google Trends 

Přehled síťových protokolů a protokolů zasílání zpráv pro IoT

Podpora protokolů podle platformy

  • Microsoft Azure - MQTT, AMQP, HTTP a HTTPS

  • AWS - MQTT, HTTPS, MQTT přes webové zásuvky

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx — MQTT, HTTPS, MQTT, AMQP

Shrnutí

Většina změn je na úrovni kanálu (úroveň 1 a 2) a na úrovni aplikace (úroveň 4).

Síťové a transportní vrstvy pravděpodobně zůstanou nezměněny.

Na aplikační vrstvě budou komponenty IoT používat protokoly pro zasílání zpráv. I když jsme stále v rané fázi vývoje IoT, je pravděpodobné, že jeden nebo možná dva protokoly pro zasílání zpráv vyniknou.

Za posledních pár let se MQTT stalo nejoblíbenějším a právě na něj se nyní zaměřuji na tomto webu.

HTTP se bude také nadále používat, protože je již dobře zabudován do stávajících platforem IoT.

To je vše. Zveme vás k přihlášení na bezplatnou ukázkovou lekci na toto téma "Chatbot pro rychlé příkazy k zařízení".

Přečtěte si více:

Zdroj: www.habr.com

Přidat komentář