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

ARAZ / ARTICLE

پشته شبکه و پروتکل‌های ارتباطی اینترنت اشیاء - بازطراحی لایه‌به‌لایه مدل TCP_IP برای دنیای محدودیت‌ها

پشته شبکه و پروتکل‌های ارتباطی اینترنت اشیاء - بازطراحی لایه‌به‌لایه مدل TCP_IP برای دنیای محدودیت‌ها

پشته شبکه و پروتکل‌های ارتباطی اینترنت اشیاء: بازطراحی لایه‌به‌لایه مدل TCP/IP برای دنیای محدودیت‌ها

۳ آبان ۱۴۰۵

۱ چکیده و مقدمه

پشته ارتباطی اینترنت اشیاء پاسخ صنعت به یک ناهم‌خوانی بنیادین است: مدل TCP/IP و استانداردهای وب برای شبکه‌هایی با پهنای باند فراوان، منبع تغذیه پایدار و پیوند نسبتاً پایدار طراحی شده‌اند، حال آن‌که نودهای IoT با باتری‌های چندساله، فریم‌های رادیویی کوچک و شبکه‌های پرتلفات (Lossy Networks) کار می‌کنند S1. در نتیجه، از لایه فیزیکی تا لایه کاربرد، هر لایه با استانداردی کم‌مصرف بازآفرینی شده است: IEEE 802.15.4 در پیوند داده، لایه تطبیق 6LoWPAN در شبکه، پروتکل RPL برای مسیریابی و پروتکل‌های MQTT و CoAP در پیام‌رسانی. این مقاله این پشته را لایه‌به‌لایه و بر پایه اسناد استاندارد IETF و مستندات فنی تحلیل می‌کند تا نشان دهد چگونه ترکیب این پروتکل‌ها، امکان اتصال بومی و مقیاس‌پذیر میلیاردها نود محدود به اینترنت را فراهم می‌سازد.

۲ لایه فیزیکی و پیوند داده: IEEE 802.15.4 و رادیوهای کم‌مصرف

بنیان پشته ارتباطی IoT لایه فیزیکی و پیوند داده است. استاندارد IEEE 802.15.4 شبکه‌های محلی بی‌سیم کم‌نرخ (LR-WPAN) را با نرخ داده حدود ۲۵۰ کیلوبیت بر ثانیه در باند ۲٫۴ گیگاهرتز تعریف می‌کند و زیربنای فنی فناوری‌هایی مانند Zigbee و Thread است. در لایه MAC، سازوکار دسترسی CSMA-CA تلاطم شبکه را مدیریت می‌کند و اصلاحیه‌های بعدی استاندارد کارایی را بیشتر کرده‌اند: IEEE 802.15.4e با زمان‌بندی TSCH (پرش کانالی اسلات‌بندی‌شده) و شنیدن نمونه‌بردار هماهنگ (CSL) مصرف انرژی و پایداری پیوند را بهبود می‌دهد و IEEE 802.15.4g باندهای رادیویی تازه‌ای از جمله Sub-1 GHz را برای پوشش جهانی افزوده است S1.

در کنار 802.15.4، خانواده‌ای از رادیوهای کم‌مصرف مکمل این لایه‌اند: BLE با سازوکار تبلیغ (Advertising) کم‌مصرف برای دستگاه‌های پوشیدنی، LoRa با مدولاسیون Chirp Spread Spectrum و حساسیت گیرندگی در حد −۱۴۸ دسی‌بل‌میل‌وات برای بردهای چندکیلومتری، و فناوری‌های سلولی NB-IoT و LTE-M که روی طیف مجاز اپراتورها کار می‌کنند و برای کنتورهای هوشمند و دارایی‌های ثابت گزینه‌ای مناسب‌اند. انتخاب این لایه، مستقیماً توازن میان برد، نرخ داده و طول عمر باتری را تعیین می‌کند.

The IoT protocol stack: a layer-by-layer view
The IoT protocol stack: a layer-by-layer view

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

دشوارترین نقطه اتصال IoT به اینترنت، تطبیق بسته‌های IPv6 با فریم‌های کوچک IEEE 802.15.4 (حداکثر ۱۲۷ بایت) است؛ زیرا هدر IPv6 به‌تنهایی ۴۰ بایت است و عملاً جایی برای داده باقی نمی‌گذارد. لایه تطبیق 6LoWPAN دقیقاً برای حل این مسئله ابداع شد و در RFC 6282 استاندارد شده است. این لایه بین پیوند داده و شبکه می‌نشیند و با سازوکار فشرده‌سازی هدر IPHC و NHC، هدر ۴۰ بایتی IPv6 را در حالت‌های رایج تا حدود ۲ بایت فشرده می‌کند؛ علاوه بر آن، قطعه‌بندی و بازچینی (Fragmentation/Reassembly) بسته‌های بزرگ و آدرس‌دهی فشرده بر اساس پیشوندهای مشترک شبکه را نیز انجام می‌دهد S1.

نتیجه معماری این است که نودهای محدود به‌صورت بومی و سرتاسری با IP صحبت می‌کنند و شبکه‌های 6LoWPAN به‌عنوان شبکه‌های انتهایی (Stub) از طریق یک مسیریاب لبه (Edge Router) به اینترنت متصل می‌شوند. مسیریاب لبه سه وظیفه دارد: تبادل داده میان نودها و اینترنت، تبادل داده محلی درون شبکه، و تولید و نگهداری زیرشبکه رادیویی. چون ارسال در لایه شبکه انجام می‌شود، این مسیریاب از پروتکل‌های لایه کاربرد بی‌اطلاع است — برخلاف گیت‌وی‌های پیچیده‌ای که معماری‌هایی مانند Zigbee نیازمند آن‌اند — و همین امر هزینه و پیچیدگی زیرساخت را به‌طور چشمگیر کاهش می‌دهد (S1; S2).

۴ مسیریابی با RPL در شبکه‌های کم‌توان

مسیریابی در شبکه‌های کم‌توان و پرتلفات (LLN) با الگوریتم‌های معمول IGP قابل حل نیست؛ پیوندها ناپایدارند، نودها مدام به خواب می‌روند و قدرت پردازشی محدود است. IETF برای این محیط پروتکل RPL را در RFC 6550 در گروه کاری ROLL استاندارد کرده است. RPL گراف جهت‌دار بدون دور با مقصد مشخص (DODAG) می‌سازد؛ ریشه گراف معمولاً مسیریاب لبه است و هر نود یک مسیر ترجیحی به سمت ریشه نگه می‌دارد.

وجه تمایز اصلی RPL، معیارهای مسیریابی آگاه از انرژی است: به‌جای کمترین تعداد گام، از شاخص‌هایی مانند تعداد انتقال‌های مورد انتظار (ETX)، مصرف انرژی یا تأخیر برای انتخاب والد بهینه استفاده می‌شود و در نتیجه عمر شبکه به‌عنوان یک کل بیشینه می‌شود. پشتیبانی توأم از ترافیک چند‌نقطه‌به‌یک (Multipoint-to-Point)، یک‌به‌چند و چند‌به‌چند، RPL را به انتخاب پیش‌فرض مسیریابی در پشته‌های مبتنی بر 6LoWPAN و Thread تبدیل کرده است (S3).

۵ لایه انتقال: UDP، TCP و امنیت TLS/DTLS

در لایه انتقال، IoT معمولاً میان دو گزینه انتخاب می‌کند. TCP اطمینان از تحویل، ترتیب بسته‌ها و کنترل ازدحام را تضمین می‌کند، اما هزینه اتصال‌محور و هدر بزرگش برای نودهای فوق‌کم‌مصرف سنگین است. UDP با هدر تنها ۸ بایتی و ساختار بدون اتصال، انتخاب غالب برای دستگاه‌های محدود است؛ به‌ویژه که پروتکل‌های لایه کاربرد IoT مانند CoAP، سازوکارهای تکرار و تأیید خود را روی UDP پیاده می‌کنند و فقط اندازه ضروری از قابلیت اطمینان را می‌خرند S1.

این بدان معنا نیست که TCP بی‌کاربرد است؛ در سناریوهایی مانند اتصال به بروکرهای ابری MQTT که جریان تله‌متری پیوسته و پایدار است، TCP انتخاب منطقی است. برای محرمانگی و صحت داده نیز دو معادل امنیتی وجود دارد: TLS روی TCP و DTLS روی UDP. چالش عملی این لایه، بار محاسباتی رمزنگاری نامتقارن روی نودهای ۸ و ۱۶ بیتی است که به گرایش به‌سوی رمزنگاری سبک‌وزن (مانند الگوریتم ASCON تأییدشده توسط NIST) انجامیده است.

The IoT protocol stack: a layer-by-layer view
The IoT protocol stack: a layer-by-layer view

۶ لایه کاربرد: MQTT و CoAP

دو پروتکل در لایه کاربرد IoT حضوری غالب دارند و فلسفه‌های متفاوتی را نمایندگی می‌کنند.

MQTT پروتکل انتشرواژه (Publish/Subscribe) مبتنی بر TCP است که توسط IBM ابداع شد. در این معماری، داده مستقیماً میان دو سر تبادل نمی‌شود؛ بلکه یک واسطه مرکزی (Broker) پیام‌ها را روی «موضوعات» (Topics) بین ناشران و مشترکان مسیریابی می‌کند. مشترک‌ها می‌توانند با نویسه‌های عام به سلسله‌مراتب موضوعات گوش دهند و سه سطح کیفیت سرویس (QoS 0 تا 2) توازن میان اطمینان تحویل و سربار شبکه را تنظیم می‌کند. هدر بسیار کوچک MQTT (حداقل ۲ بایت) و پایداری آن، این پروتکل را به استانداردی کارآمد برای تله‌متری ابری بدل ساخته است S1.

CoAP رویکرد متفاوتی دارد: بازآفرینی REST به‌سبک HTTP برای دستگاه‌های محدود بر پایه RFC 7252. طبق این استاندارد، CoAP روی UDP اجرا می‌شود، از متدهای GET/POST/PUT/DELETE و کدهای پاسخ مشابه HTTP بهره می‌گیرد و برای عملکرد، سازوکارهای مشخصی دارد: پیام‌های قابل تأیید و غیرقابل تأیید با تکرار خودکار، انتقال بلوکی بارهای بزرگ، پشتیبانی از دستگاه‌های خواب‌آلو و کشف منابع از طریق /.well-known/core (S1; S4).

ویژگیMQTTCoAP
الگوی ارتباطیPublish/SubscribeRequest/Response (RESTful)
بستر انتقالTCPUDP
معماریبروکر مرکزیسرور/کلاینت با کشف منابع
سناریوی ایده‌آلتله‌متری پیوسته ابریحسگرهای به‌شدت محدود و LLN

قاعده انتخاب ساده است: جایی که جریان داده ناشر-مشترک با بروکر معنا دارد، MQTT؛ و جایی که تعامل مستقیم و کم‌سربار با یک دستگاه محدود ضروری است، CoAP.

۷ جمع‌بندی: انتخاب پشته به‌مثابه تصمیم مهندسی

پشته ارتباطی IoT در مجموع بازآفرینی هوشمندانه مدل OSI/TCP-IP برای دنیای قیود فیزیکی است: 802.15.4 و رادیوهای کم‌مصرف در پایین، لایه تطبیق 6LoWPAN در فشرده‌سازی IPv6، RPL در مسیریابی آگاه از انرژی و MQTT/CoAP در پیام‌رسانی S1. از این رو انتخاب پشته یک تصمیم مهندسی یکپارچه است، نه فراخوانی کتابخانه‌ای صرف. دو ترکیب مرجع این را نشان می‌دهند: «IEEE 802.15.4 + 6LoWPAN + UDP + CoAP» برای حسگرهای به‌شدت محدود با مسیریابی مش، و «LoRaWAN + UDP + MQTT-SN» برای بردهای طولانی با نرخ داده حداقلی. انتخاب نادرست در هر لایه — از مدولاسیون رادیویی تا سطح QoS — مستقیماً مصرف انرژی، مقیاس‌پذیری و امنیت سامانه را تضعیف می‌کند؛ بنابراین تحلیل لایه‌به‌لایه‌ای که در این مقاله ارائه شد، پیش‌نیاز هر طراحی جدی در این حوزه است.

۸ منابع

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

IETF (2011). RFC 6282: Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks. لینک

IETF (2012). RFC 6550: RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks. لینک

IETF (2014). RFC 7252: The Constrained Application Protocol (CoAP). لینک

LET’S BUILD WHAT’S NEXT

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

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

شروع گفت‌وگو