ProHoster > وبلاگ > اداره > مروری بر پروتکل های شبکه و پیام رسانی برای اینترنت اشیا
مروری بر پروتکل های شبکه و پیام رسانی برای اینترنت اشیا
سلام خابرووی ها! اولین دوره آنلاین توسعه دهنده اینترنت اشیا روسیه در ماه اکتبر در OTUS راه اندازی شد. ثبت نام برای دوره در حال حاضر باز است، در رابطه با آن ما همچنان مطالب مفیدی را با شما به اشتراک می گذاریم.
اینترنت اشیا (IoT، اینترنت اشیا) بر روی زیرساختهای شبکه، فناوریها و پروتکلهای موجود که در حال حاضر در خانهها/ادارهها و اینترنت استفاده میشوند ساخته میشود و خیلی بیشتر ارائه میدهد.
هدف از این راهنما ارائه یک نمای کلی از شبکه و پروتکل های کاربردی برای اینترنت اشیا است.
اینترنت اشیا روی شبکه های TCP/IP موجود اجرا می شود.
TCP/IP از یک مدل چهار لایه با پروتکل های خاص در هر لایه استفاده می کند. سانتی متر. درک مدل لایه TCP/IP 4 (ما مدل چهار لایه TCP / IP را درک می کنیم).
نمودار زیر مقایسه پروتکلهایی را که در حال حاضر استفاده میشوند و پروتکلهایی که احتمالاً برای اینترنت اشیا استفاده میشوند، نشان میدهد.
یادداشت های نمودار:
اندازه فونت نشان دهنده محبوبیت پروتکل است. به عنوان مثال، در سمت چپ، IPv4 بزرگتر است، زیرا در اینترنت مدرن بسیار محبوب تر است. با این حال، در سمت راست کوچکتر است زیرا انتظار می رود IPv6 در اینترنت اشیا محبوب تر باشد.
همه پروتکل ها نشان داده نمی شوند.
بیشتر تغییرات در کانال (سطح 1 و 2) و سطوح برنامه (سطح 4) است.
لایه های شبکه و حمل و نقل احتمالاً بدون تغییر باقی می مانند.
پروتکل های لایه پیوند
در سطح پیوند داده (Data Link)، باید دستگاه ها را به یکدیگر متصل کنید. آنها می توانند هم نزدیک باشند، به عنوان مثال، در شبکه های محلی (شبکه های محلی) و در فاصله زیادی از یکدیگر: در شبکه های شهری (شبکه های منطقه شهری) و شبکه های جهانی (شبکه های گسترده).
در حال حاضر، در این سطح، شبکههای خانگی و اداری (LAN) از اترنت و Wi-Fi و موبایل (WAN) از 3G / 4G استفاده میکنند. با این حال، بسیاری از دستگاههای اینترنت اشیا، مانند حسگرها، کم مصرف هستند و فقط با باتری کار میکنند. در این موارد، اترنت مناسب نیست، اما می توان از وای فای کم مصرف و بلوتوث کم مصرف استفاده کرد.
در حالی که فناوریهای بیسیم موجود (Wi-Fi، بلوتوث، 3G/4G) همچنان برای اتصال این دستگاهها استفاده میشوند، همچنین ارزش دارد که به فناوریهای جدیدی که بهطور خاص برای برنامههای IoT طراحی شدهاند و احتمالاً محبوبیت بیشتری پیدا میکنند، نگاه کنیم.
در میان آنها:
BLE – بلوتوث کم انرژی
LoRaWAN - WAN برد بلند
سیگ فاکس
LTE-M
آنها در مقاله با جزئیات بیشتر توضیح داده شده اند. مروری بر فناوری های بی سیم IOT (نمای کلی فناوری های اینترنت اشیا بی سیم).
لایه شبکه
در لایه شبکه (شبکه سازی)، پروتکل در دراز مدت تسلط خواهد داشت IPv6. بعید است که IPv4 مورد استفاده قرار گیرد، اما ممکن است در مراحل اولیه نقش داشته باشد. اکثر دستگاه های اینترنت اشیا خانگی، مانند لامپ های هوشمند، در حال حاضر از IPv4 استفاده می کنند.
لایه حمل و نقل
در لایه انتقال (حمل و نقل)، اینترنت و وب تحت سلطه TCP هستند. هم در HTTP و هم در بسیاری از پروتکل های محبوب اینترنتی دیگر (SMTP، POP3، IMAP4 و غیره) استفاده می شود.
MQTT که انتظار دارم به یکی از پروتکل های لایه برنامه اصلی برای پیام رسانی تبدیل شود، در حال حاضر از TCP استفاده می کند.
با این حال، در آینده، به دلیل سربار کمتر، انتظار دارم UDP برای اینترنت اشیا محبوبتر شود. احتمالاً گسترده تر است MQTT-SN، در حال اجرا بر روی UDP. مقاله مقایسه را ببینید TCP در مقابل UDP .
لایه برنامه و پروتکل های پیام رسانی
ویژگی های مهم پروتکل های اینترنت اشیا:
سرعت - مقدار داده های منتقل شده در هر ثانیه.
تأخیر زمانی است که برای ارسال پیام لازم است.
مصرف برق
امنیت
در دسترس بودن نرم افزار.
در حال حاضر، دو پروتکل اصلی به طور فعال در این سطح استفاده می شود: HTTP و MQTT.
HTTP احتمالاً شناخته شده ترین پروتکل در این سطح است که زیربنای وب (WWW) دارد. همچنان برای IoT مهم خواهد بود، زیرا برای REST API - مکانیزم اصلی برای تعامل بین برنامههای کاربردی وب و خدمات استفاده میشود. با این حال، به دلیل سربار بالا، بعید است که HTTP به پروتکل اصلی اینترنت اشیا تبدیل شود، اگرچه همچنان به طور گسترده در اینترنت استفاده خواهد شد.
MQTT (Message Queuing Telemetry Transport) به دلیل سبکی و سهولت استفاده به پروتکل اصلی پیام رسانی در اینترنت اشیا تبدیل شده است. مقاله را ببینید مقدمه ای بر MQTT برای مبتدیان (معرفی MQTT برای مبتدیان).
مقایسه HTTP و MQTT برای IoT
MQTT به سرعت در حال تبدیل شدن به استاندارد واقعی برای برنامه های IoT است. این به دلیل سبکی و سرعت آن در مقایسه با HTTP و این واقعیت است که پروتکل یک به چند است نه یک به یک (HTTP).
بسیاری از برنامه های کاربردی وب مدرن با خوشحالی از MQTT به جای HTTP استفاده می کنند، اگر در زمان توسعه آنها در دسترس بود.
یک مثال خوب، ارسال اطلاعات به مشتریان متعدد، مانند ورود و خروج قطار/اتوبوس/هواپیما است. در این سناریو، یک پروتکل یک به یک مانند HTTP سربار زیادی دارد و بار زیادی را روی سرورهای وب وارد می کند. مقیاس بندی این وب سرورها می تواند دشوار باشد. با MQTT، مشتریان به یک کارگزار متصل می شوند، که می تواند به راحتی برای متعادل کردن بار اضافه شود. فیلم آموزشی در مورد آن را تماشا کنید انتشار مجدد داده های HTML از طریق MQTT (مثال ورود پرواز) و مقاله MQTT در مقابل HTTP برای IOT.
سایر پروتکل های پیام رسانی
HTTP برای کاربردهای IoT طراحی نشده است، اما همانطور که گفته شد، به دلیل استفاده گسترده در API.
تقریباً تمام پلتفرمهای اینترنت اشیا از HTTP و MQTT پشتیبانی میکنند.
با این حال، پروتکل های دیگری نیز وجود دارد که ارزش بررسی دارند.
پروتکل ها
MQTT - (انتقال تله متری صف پیام). از TCP/IP استفاده می کند. مدل انتشار-اشتراک به کارگزار پیام نیاز دارد.
AMQP - (پروتکل صف بندی پیام پیشرفته). از TCP/IP استفاده می کند. مدل های ناشر-مشترک و نقطه به نقطه.
کاپشن - (پروتکل برنامه محدود). از UDP استفاده می کند. به طور خاص برای IoT طراحی شده است، از مدل درخواست پاسخ مانند HTTP استفاده می کند. RFC 7252.
در این مقاله پروتکل های اصلی و کاربردهای آنها در نظر گرفته شده است. نتیجه این مقاله این است که اینترنت اشیا بسته به کاربرد مورد نظر از مجموعه ای از پروتکل ها استفاده می کند.
با این حال، در سالهای اولیه اینترنت، پروتکل HTTP که غالب میشد، تنها یکی از بسیاری از پروتکلها بود.
اگرچه HTTP در ابتدا برای انتقال فایل و ایمیل طراحی نشده بود، امروزه برای هر دو مورد استفاده قرار می گیرد.
من انتظار دارم که همین اتفاق در مورد پروتکل های پیام رسانی در اینترنت اشیا رخ دهد: اکثر سرویس ها از یک پروتکل غالب استفاده می کنند.
در زیر نمودارهای Google Trends وجود دارد که نشان می دهد محبوبیت MQTT، COAP و AMQP در چند سال گذشته چگونه تغییر کرده است.
بیشتر تغییرات در کانال (سطح 1 و 2) و سطوح برنامه (سطح 4) است.
لایه های شبکه و حمل و نقل احتمالاً بدون تغییر باقی می مانند.
در لایه برنامه، اجزای IoT از پروتکل های پیام رسانی استفاده می کنند. در حالی که ما هنوز در مراحل اولیه توسعه اینترنت اشیا هستیم، احتمالاً یک یا شاید دو پروتکل پیام رسانی برجسته باشند.
در طی چند سال گذشته، MQTT محبوب ترین شده است، و من اکنون روی این سایت تمرکز می کنم.
HTTP همچنین به استفاده از آن ادامه خواهد داد زیرا در حال حاضر به خوبی در پلتفرم های IoT موجود ساخته شده است.