مروری بر مهم‌ترین پروتکل‌های اختصاصی IoT
آشنایی با پروتکل‌های اینترنت اشیا و معماری آن‌ها
امروزه در هر مکانی صحبت از اینترنت اشیا است. اینکه اینترنت اشیا چه ماهیتی دارد؟ چگونه کار ‌می‌کند و چگونه زندگی ما را راحت‌تر می‌کند، موضوعی نیست که بتوان در یک مقاله به‌طور کامل به آن پاسخ داد، زیرا فناوری‌های مرتبط با اینترنت اشیا همچون دانه‌های زنجیری به یکدیگر متصل هستند. اهل فن، اینترنت اشیا را این‌گونه تعریف می‌کنند: اینترنت اشیا سیستمی است که تجهیزات الکترونیکی مختلف که هرکدام یک آی‌پی اختصاصی دارند در بستر اینترنت و بدون نیاز به حضور انسان با یکدیگر ارتباط برقرار می‌کنند و در عین حال از طریق اپلیکیشن‌های اختصاصی از راه دور قابل کنترل هستند.

اینترنت اشیا همراه با تبلیغاتی که پیرامون آن انجام شده این نگرش را به وجود آورده که فرصت‌های شغلی متعددی به وجود خواهد آمد. به همین دلیل، سازمان‌ها ترغیب شده‌اند در زیرساخت‌های اصلی خود از گجت‌های هوشمند استفاده کنند. به عبارت ساده‌تر اینترنت اشیا آماده است تا حیات تازه‌ای در کالبد تجهیزاتی بدمد که پیش از این ساکن و غیر هوشمند بودند. صحبت درباره یک ایده خوب، لذت‌بخش، جذاب و ساده است، اما زمانی‌که تصمیم می‌گیرید آن‌را پیاده‌سازی کنید با مشکلات متعددی روبرو می‌شوید. یکی از چالش‌های بزرگ در این مبحث ایجاد رویه استانداردسازی و تعیین پروتکل‌های ارتباطی است. 

تفسیرهای مختلفی درباره ماهیت اینترنت اشیا وجود دارد اما همگی به این موضوع اشاره دارند که اینترنت اشیا اجازه می‌دهد تعدادی از دستگاه‌های الکترونیکی را با یک دستگاه مرکزی و بر مبنای اینترنت کنترل کنیم. به عبارت دیگر، اینترنت اشیا یک فناوری نیست، بلکه مجموعه‌ای از فناوری‌های مختلف است که گرد هم آمده‌اند و با یکدیگر سازگار شده‌اند. پیاده‌سازی یک مکانیزم مدیریت مرکزی و جامع مستلزم آن است که ابتدا دستگاه‌های الکترونیکی به حسگرهای هوشمند مجهز شوند و سیگنال‌ها را دریافت کنند. البته امکان برقراری ارتباط توسط کابل‌های سیمی فراهم است، اما برقراری یک اتصال کابلی هدف این فناوری نیست، زیرا اینترنت اشیا سعی در راحت‌تر و دقیق‌تر کردن زندگی دارد. اینترنت اشیا قرار است فرصت‌های شغلی زیادی به وجود آورد، به همین دلیل شرکت‌های بزرگ چند سالی است فرآیند توسعه محصولات مرتبط را آغاز کرده‌اند. ساعت‌های هوشمند، بلندگوهای هوشمند، تلویزیون‌های هوشمند، الکسا آمازون و دستگاه‌های گوگل هوم که می‌توانند به اینترنت متصل شوند، تنها نمونه کوچکی از محصولات
اینترنت اشیا هستند. با در نظر گرفتن چنین چشم‌اندازی باید به یک موضوع مهم که سازگاری است اشاره کرد. بر مبنای چه راهکاری فناوری‌های متفاوت می‌توانند با یکدیگر ارتباط برقرار کنند و زبان یکدیگر را درک کنند؟ گستردگی اینترنت اشیا یادآور این موضوع است که با کاری پیچیده روبرو هستیم. معماری و پروتکل‌های اینترنت اشیا باید در عین سادگی و قابل اتکا بودن، قابل اجرا در تمام دستگاه‌ها (یا حداقل بخش زیادی از آن‌ها) باشند.

پروتکل اینترنت اشیا چیست؟

ابتدا باید به این پرسش پاسخ دهیم که چگونه دستگاه‌ها در اینترنت اشیا با یکدیگر ارتباط برقرار می‌کنند؟ انسان‌ها با یکدیگر ارتباط برقرار می‌کنند و برای این کار قوانین مشخصی دارند. ارتباط بین دستگاه‌های هوشمند باید بر مبنای یک رویه استاندارد و مشخص انجام شود که به عنوان پروتکل‌های اینترنت اشیا شناخته ‌می‌شود. به عبارت دقیق‌تر پروتکل مجموعه‌ای از قواعد (rules) و آیین‌نامه‌هایی است که چگونگی پاسخ‌گویی به دستوراتی که توسط دستگاه‌های دیگر صادر می‌شوند را مشخص می‌کند. پروتکل‌ها برای جلوگیری از هرج و مرج و ایجاد یک رویه یکسان جایگاه ویژه‌ای در ارتباطات شبکه‌ای دارند و اهمیت آن‌ها در اینترنت اشیا بیشتر است، زیرا این فناوری گستردگی زیادی دارد. پروتکل‌های CDMA، WAP و نمونه‌های مشابه برای اینترنت اشیا مناسب نیستند و به پروتکل‌های پیچیده‌تر و قدرت‌مند‌تری نیاز است، زیرا همان‌گونه که اشاره شد اینترنت اشیا مجموعه‌ای از فناوری‌های مختلف است که هر کدام کاربرد، ویژگی و راه‌های ارتباطی مختص به خود دارند. 

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

در دنیای فناوری‌اطلاعات همیشه ایجاد قوانین و استانداردها باید در ابتدای راه توسعه انجام گیرد، زیرا پس از اتمام کار، ناسازگاری بین دستگاه‌ها بوجود می‌آید که خود چالشی جدی است و به‌کارگیری فناوری را به شرایط خاصی محدود می‌کند. تحقیقات در خصوص پروتکل‌های اینترنت اشیا باعث شکل‌گیری پروتکل‌هایی شده که موارد زیر جزء مهم‌ترین‌ها هستند. پروتکل‌هایی که قصد داریم به شکل اجمالی نگاهی به آن‌ها داشته باشیم. 

MQTT – Message Queue Telemetry Transport Protocol
DDS – Data Distribution Service
AMQP – Advanced Message Queuing Protocol
CoAP – Constrained Application Protocol

1. پروتکل MQTT

آی‌بی‌ام پروتکلی به‌نام MQTT طراحی کرده که به ارتباط ماشین به ماشین (M2M Communication) معروف است. پروتکلی که به ماشین‌های مختلف اجازه می‌دهد به‌طورخودکار با یکدیگر ارتباط برقرار کنند. MQTT پروتکل ساده‌ای است که داده‌ها را از حسگرها دریافت و تحویل دستگاه‌های پردازشگر می‌دهد و نتیجه را به سمت شبکه هدایت ‌می‌کند. این پروتکل بر مبنای سه مولفه subscriber، publisher و dealer/broker کار می‌کند (شکل1). داده‌ها بین دو مولفه subscriber و publisher مبادله  می‌شوند، در حالی که مولفه dealer/broker وظیفه تامین امنیت ارتباط را عهده‌دار است. پروتکل MQTT روی پروتکل TCP/IP کار می‌کند و نمی‌تواند برای تما‌می ‌اپلیکیشن‌های اینترنت اشیا استفاده شود. 

2. پروتکل AMQP

پروتکل فوق بر مبنای رویکرد صف‌بندی کار می‌کند و مناسب محیط‌های مبتنی بر پیام مناسب است. پروتکل‌های ارتباطی که باید پیام‌ها را به شکل مطمئن و ایمن مبادله کنند از پروتکل AMQP استفاده می‌کنند. به عبارت دیگر، زمانی‌که پیامی ‌مبادله می‌شود باید با ضریب اطمینان خیلی زیاد به مقصد ارسال شود. از طریق AMQP carrier دو مولفه publisher و subscriber ‌می‌توانند با هم ارتباط برقرار کنند. پیام‌های publisher در AMQP carrier ذخیره می‌شوند و با توجه به اولویت، صف و خط امنیتی مناسب به سمت subscriber مربوطه هدایت می‌شوند. شکل 2 مولفه‌های این پروتکل را نشان می‌دهد. بخش message queue مسیر پیام‌ها را تا زمانی که برای پردازش با نرم‌افزار کلاینت آماده شوند ذخیره می‌کند. ارتباط بین exchange و message queue از طریق مولفه binding انجام می‌شود. 

3. پروتکل DDS

این پروتکل یک استاندارد اینترنت اشیا است که توسط کارگروه Object Management Group  توسعه یافته و برای دستگاه‌های کوچک که فضای کمی اشغال می‌کنند و ارتباطات ابرمحور دارند مناسب است. DSS از دو بخش تشکیل شده است. بخش اول یک پروتکل میان‌افزار (رابطی میان سیستم‌عامل و اپلیکیشن) است و بخش دوم یک API (رابط برنامه‌نویسی اپلیکیشن) است که ارتباط بین دستگاه‌ها را برقرار می‌کند. این معماری مناسب‌ترین گزینه برای اینترنت اشیا است و نرم‌افزاری که بر مبنای آن طراحی می‌شود بهترین گزینه برای تبادل اطلاعات و یکپارچگی سریع داده‌ها در سیستم اینترنت اشیا را ارائه می‌کند. یکی از بزرگ‌ترین مزایای پروتکل فوق پشتیبانی توسط بیشتر زبان‌های برنامه‌نویسی است. ارتباط بلادرنگ با ضریب اطمینان زیاد و مقیاس‌پذیری با کمک DSS امکان‌پذیر است. شکل 3 معماری استاندارد فوق را نشان می‌دهد. DDS از دو لایه (DCPS)سرنام Data-Centric Publish-Subscribe و (DLRL) سرنام Data Local Reconstruction Layer ساخته شده است.  لایه DCPS اطلاعات را تحویل کلاینت‌ها ‌می‌دهد، در حالی که DLRL رابطی برای عملگرهای DCPS فراهم ‌می‌کند.

4. پروتکل CoAP

 CoAPیک پروتکل کاربردی اینترنتی است که البته برای تعداد محدودی از گجت‌ها کاربرد دارد. در ابتدا از پروتکل فوق برای ارتباطات ماشین به ماشین استفاده می‌شد و پروتکلی جایگزین برای HTTP بود، اما به مرور زمان فراگیر شد و اکنون به یکی از پروتکل‌های کلیدی اینترنت اشیا تبدیل شده است. پروتکل CoAP تکنیکی موثر برای مبادله اطلاعات بر مبنای قالب‌بندی XML ارائه می‌کند. پروتکل CoAP از چهار پیام  non-confirmable ،confirmable ،reset و acknowledgment (ack) استفاده می‌کند. پروتکل CoAP برای برقراری ارتباطات امن با قابلیت اطمینان بالا روی UDP از پیام‌های confirmable استفاده می‌کند، البته این امکان وجود دارد تا پیام ack را به عنوان پاسخی استفاده کرد تا مشخص شود پیام به مقصد رسیده است یا خیر. CoAP یک پروتکل سبک است که پروتکل DTLS سرنام Datagram Transport Layer Security برای تامین امنیت بیشتر ارتباط‌ها استفاده می‌کند.
چهار موردی که در بالا به آنها اشاره شد پروتکل‌های مهمی هستند که برای اینترنت اشیا توسعه یافته‌اند.

 معماری پروتکل اینترنت اشیا

 در ابتدا باید نکته مهمی ‌را یادآوری کنیم: در اینترنت اشیا معماری خاصی غالب نیست و محققان موارد مختلفی را پیشنهاد کردند، اما در بیشتر گزینه‌ها از کلیت معماری سه لایه و معماری پنج لایه استفاده شده است.

معماری سه لایه

این معماری در ابتدای تحقیقات انجام شده پیرامون اینترنت اشیا بوجود آمد. در شکل 4 لایه‌های این معماری را مشاهده می‌کنید. 

  • لایه ادراک (perception): این لایه فیزیکی و متشکل از حسگرها است و اطلاعات محیط پیرامون را دریافت می‌کند. حسگرها در اینترنت اشیا نقشی حیاتی دارند و در اکثر دستگاه‌های الکترونیکی به شکل توکار قرار دارند. به همین دلیل یک لایه مختص حسگرها طراحی شده است. 
  • لایه شبکه: این لایه که نقش حیاتی دارد برای برقراری اتصال دستگاه‌ها استفاده می‌شود. 
  • لایه اپلیکیشن: برای پاسخ به درخواست کاربر نهایی طراحی شده و نقشی مشابه با لایه کاربرد در TCP/IP دارد. از جمله محصولات و اپلیکیشن‌هایی که این لایه می‌تواند با آن‌ها تعامل داشته به مواردی همچون ساعت‌ها، تلویزیون‌ها و گوشی‌های هوشمند می‌توان اشاره کرد که قرار است کار مشخصی انجام دهند. 

معماری پنج لایه

این معماری دو لایه مشترک با مورد قبلی دارد.

سه لایه اضافی‌تر این این معماری به شرح زیر هستند:

  • لایه انتقال (transport): کار این لایه انتقال داده بین دو لایه بالایی و پایینی است. در پشته پروتکلی TCP/IP نیز لایه‌ای مشابه با همین نام وجود دارد.
  • لایه پردازش (processing): لایه میانی معماری پنج لایه، داده‌های دریافتی را ذخیره و پردازش ‌می‌کند. داده‌های دریافتی از طریق حسگرها خام هستند و مفهومی ندارند. بنابراین برای ادامه کار باید پردازش و تحلیل شوند. پیاده‌سازی فناوری‌های مهمی مانند بزرگ داده‌ها (big data)، پردازش ابری و DBMS در این لایه امکان‌پذیر است.
  • لایه داد و ستد (business): در راس این معماری، لایه فوق قرار دارد که برای مدیریت اپلیکیشن‌ها، حفظ حریم خصوصی کاربر و.... استفاده می‌شود. 

سخن پایانی

خانه هوشمند که نقش پررنگی در اینترنت اشیا دارد، شامل تمام دستگاه‌هایی که به شبکه متصل هستند. برای توسعه این سیستم‌های هوشمند پشته پروتکلی پنج لایه IoT مناسب‌ترین گزینه است. در خصوص خانه هوشمند و سایر فناوری‌های مرتبط افراد زیادی مشغول به کار هستند و تحقیقات گسترده‌ای در حال انجام است. هر روزه در حوزه اینترنت اشیا تغییرات وسیعی در حال پیاده‌سازی است که از یک طرف فرآیند طراحی را پیچیده‌تر می‌کند، اما در طرف دیگر راه‌های جدیدی برای پیاده‌سازی و طراحی معماری‌ها و پروتکل‌ها به وجود می‌آورند. در این مقاله برای اجتناب از طولانی شدن مبحث به پروتکل‌های رایج همچون بلوتوث، zigbee، وای‌فای، NFC، RFID، ارتباطات سلولی و موارد دیگر اشاره‌ای نکردیم، اما هر یک نقش مهمی در برقراری ارتباطات اینترنت اشیا دارند 
منابع:
 

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟