طراحی شبکه مش بی‌سیم بر پایه وای‌فای
راهکاری برای پیاده‌سازی آسان و اقتصادی اینترنت اشیا
شبکه‌های مش بی‌سیم (Wireless Mesh Networks) چنانچه از نامشان برمی‌آید، بر اساس توپولوژی مِش بنا شده‌اند که در آن توپولوژی هر گره با سایر گره‌ها بدون واسطه ارتباط برقرار می‌کند. این معماری شبکه در هر دو دسته شبکه‌های مبتنی بر زیرساخت (Infrastructure-based Networks) و شبکه‌های اقتضایی (Ad-hoc Networks) قرار می‌گیرد و به‌نوعی پل ارتباطی میان این دو رویکرد متفاوت در مهندسی شبکه محسوب می‌شود.

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

شکل -1

مطلب پیشنهادی

سیم‌کارت اینترنت اشیا چیست و چه مزایایی دارد؟
سیم کارت IoT در مقابل سیم کارت سلولی

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

پیاده‌سازی سیستم کاربر

معماری سیستم کاربر مبتنی بر وای‌فای در شبکه مش بی‌سیم در شکل 2 نشان داده شده که شامل منبع تغذیه، میکروکنترلر، حسگر/ عملگر، تایمر واچ‌داگ، حافظه EEPROM و ماژول وای‌فای است. منبع تغذیه ولتاژ سطح پایین را برای مجموعه فراهم می‌سازد. میکروکنترلر نیز می‌تواند یک ATMEGA هشت بیتی باشد که اطلاعات حسگر را می‌خواند و آن‌ها را با استفاده از ماژول وای‌فای به یکی از روترها ارسال می‌کند. البته اخیراً بوردهای آماده‌ای همچون آردوینو نیز محبوب شده‌اند که برنامه‌نویسی برای اشیای هوشمند را ساده می‌سازند. در صورت استفاده از این بوردها با چند خط کد می‌توان اطلاعات حسگر را خواند و به ماژول وای‌فای ارسال کرد. ماژول وای‌فای می‌تواند از نوع esp8266 انتخاب شود که یک چیپ ارزان‌قیمت وای‌فای است. این محصول پشته پروتکل TCP/IP را به طور کامل پشتیبانی می‌کند و فرکانس امواج ارسالی آن 2.4 گیگاهرتز است. (شکل 2)
درنهایت باید اشاره کرد که برای تبادل اطلاعات بین کاربر و روتر، پروتکل MQTT پیشنهاد می‌شود. پروتکل MQTT برای ارتباطات بین ماشین‌ها بر بستر اینترنت طراحی شده است. این پروتکل برای شرایطی که پهنای باند شبکه محدود است، توانایی شگرفی در تبادل پیغام‌های کم‌حجم اشیا دارد. در مقایسه این پروتکل با پروتکل معروف‌تر HTTP باید گفت که MQTT مبتنی بر انتشار/ عضویت است، در حالی که HTTP مبتنی بر درخواست/ پاسخ است. در مدل انتشار/ عضویت وابستگی میان فرستنده و گیرنده کنار گذاشته می‌شود، به گونه‌ای که اگر یکی از دسترس خارج شد، ارتباط حفظ می‌شود. مشخصاً این ویژگی برای شبکه‌های مش بی‌سیم که همانند شبکه‌های اقتضایی ناپایدار هستند، مفید و حتی ضروری به حساب می‌آید.


شکل -2

مطلب پیشنهادی

اینترنت اشیا با این روش‌ها، ارزش کسب‌وکارها را چندبرابر می‌کند
فارستر به‌ابعاد استفاده از IoT در زندگی بشر می‌پردازد

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

طراحی شبکه مش

روترها در شبکه مش بی‌سیم وظیفه برقراری ارتباط بین کاربران و دروازه اطلاعات را بر عهده دارند. روترهایی که برای استفاده در شبکه مش وای‌فای در نظر گرفته می‌شوند، باید از نرم‌افزار OpenWRT پشتیبانی کنند. این نرم‌افزار روتر را قابل برنامه‌ریزی می‌کند، به طوری که می‌توان کارکردهای مختلفی را به روتر اضافه کرد. برای مثال، با این نرم‌افزار می‌توان روتر را به یک سرور VPN تبدیل کرد. سازندگان مختلف روترهای مجهز به این نرم‌افزار را عرضه می‌کنند که در هنگام خرید باید به اطلاعات محصول توجه کرد. جالب است بدانید بورد رزبری‌پای مدل B نیز به این قابلیت مجهز است و یک گزینه ارزان برای پیاده‌سازی روتر محسوب می‌شود. پس از خرید روتر، نرم‌افزار OpenWRT را روی آن باید نصب کرد. فرآیند نصب در بسیاری از سایت‌های اینترنتی شرح داده شده است که برای هر مارک روتر متفاوت است. البته یک راهکار ساده‌تر برای پیاده‌سازی نرم‌افزار شبکه وجود دارد که در ادامه به آن می‌پردازیم.
پروژه کوییک مش (Quick Mesh Project) یا به‌اختصار qMp که بر پایه OpenWRT بنا شده است، از گزینه‌های مناسب برای پیاده‌سازی شبکه مش بی‌سیم بر پایه وای‌فای به شمار می‌آید که بسیاری از پیچیدگی‌های پیکربندی (از جمله مسیریابی) را از میان برمی‌دارد. qMp یک پروژه متن ‌باز است که در سال 2011 طراحی شده و در بسیاری از شبکه‌های مش به کار گرفته شده است. برای مثال، شبکه Guifi.net یک پروژه برای فراهم‌سازی دسترسی مناطق روستایی به اینترنت است که چندین هزار کاربر در اسپانیا دارد. (این پروژه در شماره آبان ماهنامه شبکه در مقاله‌ای با عنوان «اینترنت برای همه» بررسی شده است.) پروژه مذکور برای دستیابی به هدف خود از نرم‌افزار qMp بهره می‌برد. در سایت این نرم‌افزار، ویژگی برجسته آن قابلیت پیاده‌سازی سریع بدون نیاز به در نظر گرفتن توپولوژی شبکه ذکر شده است. در واقع این سیستم خود در هنگام فعال شدن به طور خودکار راه‌اندازی می‌شود. البته دستوراتی برای پیکربندی و تحلیل سیستم وجود دارد که در وب‌سایت پروژه شرح داده شده است. پنل کاربری تحت وب این سیستم نیز امکان مدیریت مجموعه را به‌صورت گرافیکی فراهم می‌سازد. نمایی از این پنل در شکل 3 قابل مشاهده است. (شکل 3)

شکل -3

بحث بعدی در ارتباط با نرم‌افزار شبکه مش مسیریابی است. می‌دانیم که روترها طبق یک پروتکل مسیریابی اطلاعات را به مقصد ارسال می‌کنند. در شبکه‌های مش بی‌سیم با توجه به ماهیت اقتضایی و برنامه‌ریزی نشده آن‌ها، پروتکل‌هایی همچون OLSR و AODV که برای این منظور طراحی شده‌اند، مناسب هستند. برخی از این پروتکل‌ها در هنگام ارسال اطلاعات مسیر را کشف می‌کنند و برخی دیگر قبل از اینکه پیغامی به یک مقصد مشخص ارسال شود، تمامی مسیرهای ممکن به آن مقصد را کشف می‌کنند. شیوه اول مقیاس‌پذیری بیشتری دارد، در عین حال تأخیر آن نیز بیشتر است و احتمال دارد کیفیت سرویس را خدشه‌دار سازد. در qMp از پروتکل مسیریابی BMX6 استفاده می‌شود که روی لینوکس نصب می‌شود و از نوع پروتکل‌هایی است که مسیرها را قبل از ارسال اطلاعات مشخص می‌سازند. همچنین، ارتباطات در این سیستم بر پایه IPv6 است و کاربرانی که تنها پروتکل IPv4 را در سیستم خود دارند، از طریق تونل به شبکه متصل می‌شوند. در پایان لازم است اشاره شود گزینه‌های دیگری نیز علاوه بر qMp موجود است که از جمله می‌توان به LibreMesh اشاره کرد که با هدف مشابهی طراحی شده است. 
درنهایت باید گزینه‌های موجود را از لحاظ گسترده بودن جامعه توسعه‌دهندگان، کیفیت پروژه‌هایی که در ‌آن‌ها عملیاتی شده‌اند و سایر پارامترهای ممکن مقایسه کرد و نرم‌افزار مناسب را برگزید.

جمع‌بندی

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

برچسب: