IoT-д зориулсан сүлжээний болон мессежийн протоколуудын тойм

Сайн уу, Хабровчууд! Оросын анхны онлайн курс IoT хөгжүүлэгч аравдугаар сард OTUS-д нээлтээ хийнэ. Сургалтын элсэлт яг одоо нээлттэй байгаа бөгөөд үүнтэй холбогдуулан бид танд хэрэгтэй материалуудыг үргэлжлүүлэн хуваалцсаар байна.

IoT-д зориулсан сүлжээний болон мессежийн протоколуудын тойм

Интернэт зүйлсийн (IoT, Internet of Things) нь одоо байгаа сүлжээний дэд бүтэц, технологи, протоколууд дээр гэр/оффис, интернетэд ашиглагдаж байгаа бөгөөд илүү олон зүйлийг санал болгох болно.

Энэхүү гарын авлагын зорилго нь IoT-д зориулсан сүлжээний болон хэрэглээний протоколуудын товч тоймыг өгөх явдал юм.

Анхаарна уу. Та мэдлэгтэй байх ёстой сүлжээний технологийн үндэс.

IoT сүлжээнүүд

IoT нь одоо байгаа TCP/IP сүлжээнд ажиллах болно.

TCP/IP нь давхарга бүрт тусгай протокол бүхий дөрвөн давхаргат загварыг ашигладаг. см. TCP/IP 4 давхаргын загварыг ойлгох (бид TCP / IP-ийн дөрвөн давхаргат загварыг ойлгож байна).

Доорх диаграмм нь одоо ашиглагдаж байгаа болон IoT-д хамгийн их ашиглагдах протоколуудын харьцуулалтыг харуулж байна.

IoT-д зориулсан сүлжээний болон мессежийн протоколуудын тойм

Графикийн тэмдэглэл:

  1. Фонтын хэмжээ нь протоколын түгээмэл байдлыг илэрхийлдэг. Жишээлбэл, зүүн талд IPv4 нь орчин үеийн интернетэд илүү алдартай тул илүү том байна. Гэсэн хэдий ч IPv6 нь IoT-д илүү түгээмэл байх төлөвтэй байгаа тул баруун талдаа бага байна.

  2. Бүх протоколууд харагдахгүй байна.

  3. Бүх өөрчлөлтүүдийн ихэнх нь суваг (1 ба 2-р түвшин) болон хэрэглээний түвшинд (4-р түвшин) байна.

  4. Сүлжээ болон тээврийн давхаргууд өөрчлөгдөхгүй хэвээр байх магадлалтай.

Давхаргын протоколуудыг холбох

Өгөгдлийн холбоосын түвшинд (Data Link) төхөөрөмжүүдийг хооронд нь холбох хэрэгтэй. Эдгээр нь жишээлбэл, дотоод сүлжээнд (орон нутгийн сүлжээ) болон бие биенээсээ маш хол зайд хоёуланд нь байж болно: хотын (хот суурин газрын сүлжээ) болон дэлхийн сүлжээнд (өргөн бүсийн сүлжээ).

Одоогийн байдлаар энэ түвшинд гэрийн болон оффисын сүлжээ (LAN) нь Ethernet болон Wi-Fi, гар утас (WAN) нь 3G / 4G ашигладаг. Гэсэн хэдий ч олон IoT төхөөрөмжүүд мэдрэгч гэх мэт бага чадалтай бөгөөд зөвхөн батерейгаар тэжээгддэг. Эдгээр тохиолдолд Ethernet нь тохиромжгүй боловч бага чадалтай Wi-Fi болон бага чадлын Bluetooth ашиглаж болно.

Эдгээр төхөөрөмжүүдийг холбоход одоо байгаа утасгүй технологиуд (Wi-Fi, Bluetooth, 3G/4G) ашиглагдах болно, гэхдээ IoT хэрэглээнд зориулж тусгайлан бүтээгдсэн шинэ технологиудыг үзэх нь зүйтэй.

Үүнд:

  • BLE - Bluetooth бага эрчим хүч

  • LoRaWAN - Урт хугацааны WAN

  • SigFox

  • LTE-M

Тэдгээрийг нийтлэлд илүү дэлгэрэнгүй тайлбарласан болно. IOT утасгүй технологийн тойм (утасгүй IoT технологийн тойм).

сүлжээний давхарга

Сүлжээний түвшинд (Сүлжээ) протокол нь урт хугацаанд давамгайлах болно IPv6. IPv4-ийг ашиглах магадлал бага боловч эхний шатанд үүрэг гүйцэтгэж магадгүй юм. Ухаалаг гэрлийн чийдэн зэрэг гэрийн ихэнх IoT төхөөрөмжүүд одоогоор IPv4 ашиглаж байна.

тээврийн давхарга 

Тээврийн давхарга (Transport) дээр интернет болон вэб нь TCP давамгайлдаг. Энэ нь HTTP болон бусад олон алдартай интернет протоколуудад (SMTP, POP3, IMAP4 гэх мэт) ашиглагддаг.

Мессеж бичих үндсэн хэрэглээний түвшний протоколуудын нэг болох гэж буй MQTT одоогоор TCP-г ашиглаж байна.

Гэсэн хэдий ч ирээдүйд зардал бага байгаа тул UDP нь IoT-д илүү алдартай болно гэж би бодож байна. Илүү өргөн тархсан байх MQTT-SN, UDP дээр ажиллаж байна. Харьцуулсан нийтлэлийг үзнэ үү TCP ба UDP .

Хэрэглээний давхарга ба мессежийн протоколууд

IoT протоколуудын чухал шинж чанарууд:

  • Хурд - секундэд дамжуулсан өгөгдлийн хэмжээ.

  • Хоцролт гэдэг нь мессеж илгээхэд шаардагдах хугацаа юм.

  • Эрчим хүчний хэрэглээ.

  • Аюулгүй байдал.

  • Програм хангамжийн бэлэн байдал.

Одоогийн байдлаар энэ түвшинд HTTP болон MQTT гэсэн хоёр үндсэн протокол идэвхтэй ашиглагдаж байна.

HTTP нь магадгүй вэб (WWW) дээр суурилсан энэ түвшний хамгийн алдартай протокол юм. Энэ нь вэб програмууд болон үйлчилгээнүүдийн харилцан үйлчлэлийн үндсэн механизм болох REST API-д ашиглагддаг тул IoT-д чухал ач холбогдолтой хэвээр байх болно. Гэсэн хэдий ч өндөр ачаалалтай тул HTTP нь IoT-ийн үндсэн протокол болох магадлал багатай ч интернетэд өргөн хэрэглэгдэх болно.

MQTT (Message Queuing Telemetry Transport) нь хөнгөн, хэрэглэхэд хялбар байдгаараа IoT-ийн гол мессежийн протокол болсон. Нийтлэлийг үзнэ үү Эхлэгчдэд зориулсан MQTT-ийн танилцуулга (Эхлэн суралцагчдад зориулсан MQTT-ийн танилцуулга).

IoT-д зориулсан HTTP ба MQTT-ийн харьцуулалт

MQTT нь IoT хэрэглээний де факто стандарт болж байна. Энэ нь HTTP-тэй харьцуулахад хөнгөн, хурдтай, мөн нэгээс олон (HTTP) биш харин нэгээс олон протокол байдагтай холбоотой юм.

Орчин үеийн олон вэб программууд HTTP-ийн оронд MQTT-г ашиглахдаа баяртай байх болно.

Сайн жишээ бол галт тэрэг/автобус/нисэх онгоцны буух, явах зэрэг олон үйлчлүүлэгчид мэдээлэл илгээх явдал юм. Энэ хувилбарт HTTP шиг ганцаарчилсан протокол нь маш их ачаалалтай бөгөөд вэб серверүүдэд маш их ачаалал өгдөг. Эдгээр вэб серверүүдийг масштаблах нь хэцүү байж болно. MQTT-ийн тусламжтайгаар үйлчлүүлэгчид ачааллыг тэнцвэржүүлэх зорилгоор хялбархан нэмж болох брокертой холбогддог. Энэ тухай видео хичээлийг үзээрэй MQTT дээр HTML өгөгдлийг дахин нийтлэх (Нислэгийн ирэлтийн жишээ) болон нийтлэл IOT-д зориулсан MQTT vs HTTP.

Бусад мессежийн протоколууд

HTTP нь IoT програмуудад зориулагдаагүй боловч дурьдсанчлан, энэ нь өргөн хэрэглэгддэг тул хэсэг хугацаанд өргөн хэрэглэгдэх болно. API.

Бараг бүх IoT платформууд HTTP болон MQTT-ийг дэмждэг.

Гэсэн хэдий ч анхаарч үзэх хэрэгтэй бусад протоколууд байдаг.

Протокол

  • MQTT - (Message Queuing Telemetry Transport). TCP/IP ашигладаг. Нийтлэх-захиалах загвар нь мессеж брокер шаарддаг.

  • AMQP - (Message Queuing Advanced Protocol). TCP/IP ашигладаг. Нийтлэгч-Захиалагч ба Цэгээс Цэг хүртэлх загварууд.

  • COAP - (Хязгаарлагдмал хэрэглээний протокол). UDP ашигладаг. IoT-д зориулж тусгайлан бүтээгдсэн бөгөөд HTTP дээрх шиг хүсэлт-хариу загварыг ашигладаг. RFC 7252.

  • DDS - (Мэдээлэл түгээх үйлчилгээ) 

Энэ нь нийтлэл үндсэн протоколууд болон тэдгээрийн хэрэглээг авч үзнэ. Энэхүү нийтлэлийн дүгнэлт нь IoT нь зориулалтаас хамааран багц протоколуудыг ашиглах болно.

Гэсэн хэдий ч, эргэн харахад, Интернетийн эхний жилүүдэд давамгайлах байсан HTTP протокол нь олон протоколуудын зөвхөн нэг нь байсан.

HTTP нь анх файл болон имэйл дамжуулахад зориулагдаагүй байсан ч өнөөдөр энэ нь хоёуланд нь ашиглагдаж байна.

IoT дахь мессежийн протоколуудтай ижил зүйл тохиолдох болно гэж би найдаж байна: ихэнх үйлчилгээнүүд нэг давамгайлсан протоколыг ашиглах болно.

Сүүлийн хэдэн жилийн хугацаанд MQTT, COAP болон AMQP-ийн нэр хүнд хэрхэн өөрчлөгдсөнийг харуулсан Google Trends графикуудыг доор харуулав.

Google Trends-ийн тойм 

IoT-д зориулсан сүлжээний болон мессежийн протоколуудын тойм

Платформоор протоколын дэмжлэг

  • Microsoft Azure - MQTT, AMQP, HTTP болон HTTPS

  • AWS - Вэбсокет дээрх MQTT, HTTPS, MQTT

  • IBM Bluemix - MQTT, HTTPS, MQTT

  • Thingvorx — MQTT, HTTPS, MQTT, AMQP

Хураангуй

Бүх өөрчлөлтүүдийн ихэнх нь суваг (1 ба 2-р түвшин) болон хэрэглээний түвшинд (4-р түвшин) байна.

Сүлжээ болон тээврийн давхаргууд өөрчлөгдөхгүй хэвээр байх магадлалтай.

Хэрэглээний давхаргад IoT бүрэлдэхүүн хэсгүүд нь мессежийн протоколуудыг ашиглах болно. Бид IoT-ийн хөгжлийн эхний шатанд байгаа ч нэг юм уу хоёр мессежийн протокол ялгарах магадлалтай.

Сүүлийн хэдэн жилийн хугацаанд MQTT хамгийн алдартай болсон бөгөөд би одоо энэ сайтад анхаарлаа хандуулж байна.

HTTP нь одоо байгаа IoT платформд сайн суурилагдсан тул үргэлжлүүлэн ашиглагдах болно.

Тэгээд л болоо. Энэ сэдвээр үнэгүй демо хичээлд бүртгүүлэхийг урьж байна "Төхөөрөмж рүү хурдан тушаал өгөх чатбот".

Цааш унших:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх