پیشگامان رایان گستر آراز / شریک فناوری سازمان شمااز طراحی تا پشتیبانی، همراه شما

ARAZ / ARTICLE

پشته شبکه و پروتکل‌های ارتباطی اینترنت اشیا

پشته شبکه و پروتکل‌های ارتباطی اینترنت اشیا

پشته شبکه و پروتکل‌های ارتباطی اینترنت اشیا

۳ آبان ۱۴۰۵

۱ مقدمه: چرا پشته شبکه IoT با اینترنت سنتی تفاوت دارد

اینترنت سنتی برای اتصال رایانه‌ها و سرورهای قدرتمند طراحی شده بود؛ اما گره‌های اینترنت اشیا (IoT) معمولاً ریزکنترل‌گرهایی با چند ده کیلوبایت حافظه، باتری‌ای که باید سال‌ها دوام بیاورد و پهنای باندی محدود هستند. اجرای کامل پشته TCP/IP سنتی با سرآیندهای سنگین HTTP و XML روی چنین سخت‌افزاری عملاً ممکن نیست. به همین دلیل، جامعه استانداردسازی — به‌ویژه IETF و IEEE — پشته‌ای بازطراحی‌شده از پروتکل‌ها ارائه داده که از لایه فیزیکی کم‌توان (مثل IEEE 802.15.4) تا پروتکل‌های کاربردی بهینه‌شده (MQTT و CoAP) را در بر می‌گیرد. این نوشتار لایه‌به‌لایه این پشته را بررسی می‌کند.

۲ لایه‌های پشته شبکه IoT در برابر مدل OSI

رایج‌ترین چارچوب برای توصیف سیستم‌های ارتباطی، مدل مرجع OSI است که در نسخه ساده‌شده خود ارتباطات را به پنج لایه تقسیم می‌کند: فیزیکی، پیوند داده، شبکه، انتقال و کاربرد. بر اساس سفیدنامه تگزاس اینسترومنتز (Olsson, 2014)، یک دستگاه مبتنی بر 6LoWPAN در این لایه‌ها چنین چیده‌ماندی دارد: لایه فیزیکی و MAC بر عهده IEEE 802.15.4 است، لایه انطباق 6LoWPAN و پروتکل مسیریابی RPL در لایه شبکه با IPv6 کار می‌کنند، در لایه انتقال UDP (و در صورت نیاز TCP) قرار دارد و در لایه کاربرد پروتکل‌هایی مانند CoAP، MQTT و HTTP به کار می‌روند؛ امنیت نیز از طریق TLS روی TCP یا DTLS روی UDP تأمین می‌شود.

لایه فیزیکی: بیت‌ها را به سیگنال رادیویی تبدیل می‌کند. در استاندارد IEEE 802.15.4، دو اصلاحیه مهم وجود دارد: 802.15.4e که در لایه MAC قابلیت‌هایی مانند پرش کانالی زمان‌بندی‌شده (TSCH) را برای کاهش مصرف توان و افزایش پایداری اضافه می‌کند، و 802.15.4g که باند فرکانسی PHY را برای کاربرد جهانی حتی در باندهای زیر یک گیگاهرتز گسترش می‌دهد.

لایه پیوند داده: با سازوکار CSMA-CA (شنود کانال پیش از ارسال برای جلوگیری از تصادم) دسترسی به بستر را مدیریت کرده و قاب‌بندی و تشخیص خطا را بر عهده دارد. لایه انطباق 6LoWPAN نیز — هرچند کارکردش مربوط به شبکه است — در همین لایه پیوند مستقر می‌شود.

لایه شبکه: آدرس‌دهی و مسیریابی چندپرشی را انجام می‌دهد. در پشته IoT این کار با IPv6 و پروتکل مسیریابی RPL انجام می‌شود.

لایه انتقال: نشست‌های ارتباطی برنامه‌ها را ایجاد می‌کند. TCP با سربار بزرگش برای گره‌های فوق‌کم‌مصرف مناسب نیست و UDP به‌عنوان گزینه بی‌اتصال و سبک انتخاب می‌شود.

لایه کاربرد: قالب‌بندی داده و بهینه‌سازی انتقال برای نیاز برنامه را بر عهده دارد؛ جایی که پروتکل‌های تخصصی IoT جانشین HTTP سنگین می‌شوند.

IoT networking & communication protocols
IoT networking & communication protocols

۳ لایه شبکه: IPv6 و لایه انطباق 6LoWPAN

مشکل اصلی آدرس‌دهی، اتمام فضای آدرس IPv4 است که به گفته منبع مذکور، در تاریخ ۳ فوریه ۲۰۱۱ رخ داد و فقط ترجمه آدرس (NAT) آن را به تأخیر انداخته بود. IPv6 با فضای آدرس ۲ به توان ۱۲۸ (حدود ۳٫۴×۱۰³۸ آدرس) پاسخ این مسئله است؛ اما قاب کوچک IEEE 802.15.4 (حداکثر ۱۲۷ بایت) گنجایش سرآیند کامل ۴۰ بایتی IPv6 را ندارد. راه‌حل، لایه انطباق 6LoWPAN است که در RFC 6282 توسط IETF تعریف شده و بسته‌های IPv6 را به‌صورت بهینه در قاب‌های لینک کوچک جا می‌دهد.

شبکه 6LoWPAN از طریق «روتر لبه» (Edge Router) به اینترنت متصل می‌شود که سه وظیفه دارد: تبادل داده میان گره‌ها و اینترنت، تبادل داده محلی میان گره‌های شبکه، و ایجاد و نگهداری زیرشبکه رادیویی. نکته مهم معماری این است که روتر لبه در لایه شبکه کار می‌کند و به پروتکل‌های لایه کاربرد بی‌اعتناست؛ برخلاف شبکه‌هایی مانند ZigBee یا Z-Wave که برای اتصال به اینترنت به دروازه‌های کاربردی پیچیده و مطلع از پروفایل‌های برنامه نیاز دارند. درون شبکه نیز روترها داده را بین گره‌ها مسیریابی می‌کنند و میزبان‌ها (گره‌های انتهایی) می‌توانند دستگاه‌های «خواب‌آلود» باشند که به‌صورت دوره‌ای بیدار می‌شوند تا از روتر والد خود داده بگیرند — سازوکاری که مصرف باتری را به حداقل می‌رساند.

۴ لایه انتقال و کاربرد: TCP، UDP، TLS/DTLS، MQTT و CoAP

در لایه انتقال، انتخاب میان TCP و UDP یک مصالحه بنیادین است: TCP قابل‌اعتماد و مرتب است اما سربار برقراری اتصال و ترتیب‌دهی بسته‌ها دارد؛ UDP سبک و بی‌اتصال است اما تضمین تحویل نمی‌دهد. امنیت این لایه نیز با TLS (روی TCP) یا DTLS (روی UDP) فراهم می‌شود.

در لایه کاربرد، دو پروتکل بیشترین جایگاه را دارند:

CoAP (Constrained Application Protocol): تعریف‌شده در RFC 7252 توسط IETF؛ یک سازوکار REST بهینه‌شده بیتی روی UDP که بسیار شبیه HTTP است اما سبک‌تر. قابلیت‌هایی مانند بازارسال، پیام‌های تأییدپذیر/غیرتأییدپذیر، پشتیبانی از دستگاه‌های خواب‌آلود، انتقال بلوکی، اشتراک و کشف منبع دارد و از طریق پروکسی به‌سادگی به HTTP نگاشت می‌شود.

MQTT: پروتکل متن‌باز ساخت IBM با الگوی انتشار/اشتراک (Publish/Subscribe) روی TCP. داده مستقیماً بین دو نقطه انتقال نمی‌یابد بلکه یک «بروکر» پیام‌ها را رله می‌کند. دستگاه‌ها روی «موضوعات» (Topics) منتشر یا مشترک می‌شوند و می‌توانند با نویسه‌های عام مانند # و * به سلسله‌مراحلی از موضوعات مشترک شوند. MQTT چند سطح کیفیت سرویس (QoS) برای تضمین تحویل دارد و بسیاری از ارائه‌دهندگان خدمات ابری دسترسی MQTT فراهم می‌کنند.

پروتکلبسترالگوی ارتباطینقطه قوت کلیدی
CoAPUDPRequest/Response (REST)سازگاری نزدیک با HTTP و سربار بسیار کم
MQTTTCPPublish/Subscribe با بروکرمقیاس‌پذیری و QoS چندسطحی
HTTPTCPRequest/Responseفراگیر، اما برای گره‌های محدود سنگین

۵ پروتکل‌های لینک بی‌سیم: Zigbee، LoRaWAN و NB-IoT

در لایه‌های پایین‌تر، انتخاب فناوری رادیویی بر اساس برد، مصرف توان و نرخ داده انجام می‌شود:

Zigbee: مبتنی بر IEEE 802.15.4 در باند ۲٫۴ گیگاهرتز با توپولوژی مش خودترمیم‌شونده؛ مناسب خانه و ساختمان هوشمند. برای اتصال به اینترنت به دروازه کاربردی نیاز دارد، برخلاف پشته‌های مبتنی بر IP.

LoRaWAN: پروتکل شبکه LPWAN مبتنی بر مدولاسیون LoRa که طبق اطلاعات اتحادیه LoRa، برای «IoT انبوه» (Massive IoT) بهینه شده است: برد چند کیلومتری، مصرف باتری چندساله و نرخ داده پایین؛ گزینه رایج کنتورخوانی، پایش محیطی و شهر هوشمند. اتحادیه LoRa راهکارهای ترکیبی LoRaWAN با 5G را برای پوشش هم‌زمان نیازهای انبوه و بحرانی IoT معرفی می‌کند.

NB-IoT: فناوری سلولی استاندارد 3GPP که از زیرساخت مخابراتی موجود بهره می‌گیرد و برای دستگاه‌های ثابت کم‌مصرف با پوشش عمیق (مانند کنتورها در زیرزمین) طراحی شده است.

BLE و Wi-Fi: بلوتوث کم‌مصرف برای پوشش کوتاه و Wi-Fi برای کاربردهای دارای برق شهری و نرخ داده بالا.

نکته معماری مهم این است که 6LoWPAN دیگر منحصر به 802.15.4 نیست و طبق منبع تگزاس اینسترومنتز روی بسترهای دیگری مانند فرکانس زیر یک گیگاهرتز، Bluetooth Smart، خطوط برق (PLC) و Wi-Fi کم‌مصرف نیز به کار می‌رود.

۶ جمع‌بندی و انتخاب پشته مناسب

انتخاب پشته شبکه IoT یک تصمیم مهندسی بر پایه قیدهاست، نه یک پاسخ واحد. برای گره‌های باتری‌محور با نیاز به اتصال بومی IP، پشته IEEE 802.15.4 + 6LoWPAN + UDP + CoAP سبک‌ترین گزینه استاندارد است. برای تله‌متری مقیاس بزرگ به سمت ابر، MQTT روی TCP با بروکر مرکزی رایج‌ترین انتخاب است. برای پوشش شهری چندکیلومتری با باتری چندساله، LoRaWAN و NB-IoT مناسب‌اند و برای محیط‌های خانگی متراکم، Zigbee و BLE. در همه حالت‌ها، تأمین امنیت با TLS/DTLS و طراحی الگوی خواب‌بیداری گره‌ها، دو عامل تعیین‌کننده موفقیت استقرار هستند.

۷ منابع

Olsson, J. (2014). 6LoWPAN demystified. Texas Instruments. لینک منبع

LoRa Alliance. LoRaWAN and Massive/Critical IoT Requirements. لینک منبع

LET’S BUILD WHAT’S NEXT

شبکه بهتر، از یک گفت‌وگو شروع می‌شود.

نیازتان را بگویید؛ مسیر اجرا را با هم روشن می‌کنیم.

شروع گفت‌وگو