شبیه سازی شبکه های WSN و IoT تحت NS3 با ماژول NB-IoT
در این مقاله آموزشی قصد داریم تا ماژول NB-IoT را معرفی و نحوه نصب و استفاده از آن را در محیط نرم افزار شبیه ساز NS3 ارائه کنیم و یک مثال نمونه از این شبکه را نیز نشان دهیم. در ادامه با ما همراه باشید تا شما را با ماژول NB-IoT آشنا کنیم.
شبکه گسترده کم توان (LPWAN) و اینترنت اشیا باند باریک (NB-IoT)
اینترنت اشیا باند باریک (NB-IoT) یک فناوری شبکه گسترده کم توان (LPWAN) است که برای اتصال دستگاه ها و حسگرها به اینترنت اشیا (IoT) طراحی شده است. این فناوری بر روی باندهای سلولی دارای مجوز کار می کند و پوشش بهتر و عمر باتری طولانی تری را در مقایسه با سایر فناوری های IoT بی سیم فراهم می کند. NB-IoT می تواند در شبکه های سلولی 2G – 3G – 4G موجود و همچنین در شبکه های اختصاصی مستقر شود. همچنین در مقایسه با Wi-Fi یا بلوتوث، NB-IoT یک راه حل کم هزینه و کم مصرف را برای اتصال دستگاه ها به یک شبکه گسترده ارائه می دهد. همینطور به دلیل استفاده از شبکه های سلولی از سایر راه حل ها نیز ایمن تر است. NB–IoT برای کاربردهایی مانند کنتورهای هوشمند، ابزارهای پوشیدنی هوشمند، اتومبیل های متصل و سایر دستگاه های IoT کم مصرف ایدهآل است.
NB-IoT برای برنامه های کاربردی با پهنای باند کم و مصرف انرژی پایین که به اتصال دوربرد نیاز دارند بهینه شده است و برای موارد استفاده مانند اندازه گیری های هوشمند، ردیابی وسیله ها و نظارت بر محیط زیست مناسب است. این شبکه ها از سیگنال های رادیویی با قدرت پایین مانند سیگنال های زیر ۱ گیگاهرتز برای ارسال مقادیر کمی داده در یک منطقه بزرگ استفاده می کنند. LPWAN ها در کاربردهایی مانند شبکه های حسگر بی سیم (WSN)، انرژی هوشمند، شهرهای هوشمند و اینترنت اشیا (IoT) استفاده می شوند. همچنین از آنها برای اتصال دستگاه ها در مکان های دور که به اتصالات اینترنتی قابل اعتماد دسترسی ندارند نیز استفاده می شود. LPWAN ها برای برنامه هایی که به سرعت داده کم، عمر باتری طولانی و هزینه کم نیاز دارند ایده آل هستند.
از نمونه هایی LPWAN می توان به Sigfox، LoRaWAN و Weightless اشاره کرد. LPWAN ها معمولاً در برنامه هایی مانند اندازه گیری هوشمند، روشنایی هوشمند، نظارت و ردیابی دارایی، شهرهای هوشمند، کشاورزی دقیق، نظارت بر دام، مدیریت انرژی، تولید و استقرار IoT صنعتی استفاده می شوند. همچنین NB-IOT مبتنی بر LTE است، اما LTE را به روش های مختلفی گسترش می دهد. پیاده سازی مدل NB-IOT توسعه را به زیر ماژول هایی تقسیم می کند که تا حد امکان مستقل از یکدیگر باشند.
توسعه فعلی بر این نکات متمرکز شده است [1]:
- ترافیک سیگنالینگ DL – MIB-NB و SIB-NB
- پشتیبانی از کلاس NB-IOT UE (CAT NB1)
مراحل بعدی شامل [1] خواهد بود:
- نگاشت کانال های NB-IOT جدید
- رویه های دسترسی تصادفی UL
- پیام های RRC جدید
ماژول NS3 NB-IoT
همانطور که در مرجع [2] ذکر شده، ماژول NS-3 NB-IoT بر اساس 3GPP NB-IoT نسخه 13 پیاده سازی شده است [3-9]. به منظور بررسی عملکرد NB-IoT به ماژول ns-3 NB-IoT مورد نیاز است. اگرچه ماژول NB-IoT توسط تیم رسمی ns-3 در حال توسعه می باشد، اما برخی از بخش های مهم NB-IoT مانند دسترسی تصادفی NB-IoT و زمانبندی NB-IoT هنوز اعمال نشده است. در مقاله مرجع [2]، آنها بخش زیر را براساس ماژول NS-3 LTE اجرا می کنند و این پروژه تنها از فرمت 1 RU که شامل 15KHz و 12 SC و 2 اسلات می باشد، پشتیبانی می کند.
- دسترسی تصادفی در NB-IoT که شامل مکانیزم سطح NB – SIB2 و CE می باشد.
- زمان بندی در در NB-IoT که شامل SIB1 – NB – NPDCCH – NPDSCH و NPUSCH می باشد.
نصب ماژول NB-IoT ns-3
مرحله اول: نصب NS-3.26
نصب ماژول NB-IoT به ns-3.26 از پیش نصب شده بستگی دارد. نصب یک نسخه قدیمی از نرم افزار شبیه ساز NS3 در آخرین نسخه لینوکس اغلب به دلیل وجود برخی مشکلات در نسخه های کتابخانه یا نسخه gcc با شکست مواجه می شود. بنابراین میتوانید نسخه قدیمی ns-3.26 را با کمک مقاله آموزشی زیر در VirtualBox نصب کنید [10]:
https://netsimulate.net/installing-lubuntu-linux-under-virtualbox-and-shared-folders
شما می توانید از آدرس دانلود رسمی NS3.26 را دریافت کنید:
https://www.nsnam.org/releases/ns-3-26/
سپس ns-3.26 را با استفاده از روشی مانند فیلم آموزشی موجود در پست زیر نصب کنید:
https://netsimulate.net/simulation-software-ns3-with-direct-link
اگر هنگام کامپایل با خطایی مواجه شدید، راهنمای کامپایل در پست آموزشی زیر می تواند به شما کمک کند:
https://netsimulate.net/simulation-of-5g-network-with-5g-lena-3gpp-nr-module-in-ns3
تصویر زیر یک نمونه از این نصب موفقی آمیز ns-3.26 را نشان می دهد. اما ما در اینجا این نصب را در محیط chroot Debian10 انجام دادیم زیرا اوبونتو 16.04 از نزدیکترین نسخه Debian 10 مشتق شده است.
مرحله دوم: اضافه کردن ماژول NB-IoT
پس از نصب ns-3.26، محتوای پوشه “/ns-allinone-3.26/ns-3.26/src/lte/model” را با پروژه ای که توسط پروژه NB-IoT ارائه شده، جایگزین کنید.
1 | ./Your_home/ns-allinone-3.26/ns-3.26/src/lte/model |
مرحله سوم: کامپایل دوباره نرم افزار NS3
اکنون دوباره ns-3.26 را به صورت زیر کامپایل کنید تا نسخه جدید مدل lte کامپایل شود و دارای پشتیبانی NB-IoT باشد.
1 2 | $ cd ./Your_home/ns-allinone-3.26/ns-3.26/ $ ./waf |
همانند تصویر زیر مشاهده خواهید کرد که اجزای مرتبط LTE دوباره در حال کامپایل شدن هستند:
در پایان کامپایل مجدد موفق، لیست ماژول های موجود به صورت زیر قابل مشاهده خواهد بود:
مرحله چهارم: اجرای نمونه شبیه سازی های NB-IoT در NS3
مثال را به صورت زیر اجرا کنید:
1 2 | $ cd ./Your_home/ns-allinone-3.26/ns-3.26/ $ ./waf --run NB-IoT_scheduler_example.cc |
اکنون طبق تصویر زیر مثل شروع به اجرا می کند:
پس از اجرا به خروجی زیر ختم می شود:
نتیجه گیری
ماژول NB-IoT برخی از ویژگی های اساسی را برای شبیه سازی LoT با استفاده از ویژگی های شبکه lte ارائه می کند و تنها از فرمت 1 RU که شامل 15KHz و 12 SC و 2 اسلات می باشد، پشتیبانی می کند.
آزمایش بیشتر
به نظر می رسد یک پیاده سازی قدیمی دیگر از NB-IoT در مرجع [12] وجود دارد. صفحه رسمی ویکی آن پروژه را می توان در مرجع [13] یافت. در مرجع [13] ذکر شده که دپارتمان مهندسی اطلاعات دانشگاه فلورانس (DINFO) کار بر روی تجزیه و تحلیل، طراحی و توسعه این ماژول را در پایان سال 2016 آغاز کرده است. در ابتدای سال 2017 سایر شرکا نیز در این کار درگیر شدند. از جمله گروه های مشغول در این پروژه Magister Solutions، imec، Telecom Italia و گروه مهندسی اطلاعات دانشگاه رم (DIET) هستند. در حال حاضر توسعه ماژول NB-IOT فعال است.
اهداف پروژه [13]
NB-IOT مبتنی بر LTE است، اما LTE را به روش های مختلفی گسترش می دهد. پیاده سازی مدل NB-IOT توسعه را به زیر ماژول هایی تقسیم می کند که تا حد امکان مستقل از یکدیگر باشند.
توسعه فعلی بر این نکات متمرکز شده است:
- ترافیک سیگنالینگ DL – MIB-NB و SIB-NB
- پشتیبانی از کلاس NB-IOT UE (CAT NB1)
مراحل بعدی شامل موارد زیر خواهد بود:
- نگاشت کانال های NB-IOT جدید
- رویه های دسترسی تصادفی UL
- پیام های RRC جدید
ما اطلاع دقیقی نداریم که آیا ماژول NB-IoT که در مقاله ما مورد بحث قرار گرفت از آن پروژه قدیمی نشات گرفته است یا خیر. اگر کسی این را می داند، پس فقط یک ایمیل برای ما ارسال کند. ممکن است در مقاله های آموزشی بعدی ماژول قدیمی NB-IOT را مورد بررسی قرار دهیم. همانطور که در مقاله آموزشی مرتبط زیر ذکر شده، شما می توانید برای شبیه سازی ساده و قدرتمند شبکه از ماژول LoRaWAN ns-3 استفاده کنید. لینک دسترسی:
https://netsimulate.net/simulation-and-analysis-iot-lorawan-networks-with-ns-3
منابع
- https://www.nsnam.org/wiki/NB-IOT
- https://github.com/a3794110/ns-3-NB-IoT
- 3GPP, “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Medium Access Control (MAC) protocol specification (Release 15) ,” Tech. Rep. 3G TS 36.321, 3GPP, March 2018.
“ns-3 lte module design documentation.” - 3GPP, “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Physical channels and modulation (Release 15),” Tech. Rep. 3G TS 36.211, 3GPP, March 2018.
- 3GPP, “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Requirements for support of radio resource management (Release 15),” Tech. Rep. 3G TS 36.133, 3GPP, March 2018
- 3GPP, “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control (RRC); Protocol specification (Release 13),” Tech. Rep. 3G TS 36.331, 3GPP, April 2018.
- 3GPP, “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Physical layer procedures (Release 15) ,” Tech. Rep. 3G TS 36.213, 3GPP, March 2018.
- 3GPP, “3rd Generation Partnership Project; Technical Specification Group GSM/EDGE Radio Access Network; Cellular system support for ultra-low complexity and low throughput Internet of Things (CIoT) (Release 13) ,” Tech. Rep. 3G TR 45.820, 3GPP, November 2015.
- Installing an old Linux under VirtualBox and using Shared Folders.
- Simulation and Analysis of IoT LoRaWAN Networks Under ns-3
- https://github.com/TommyPec/ns-3-dev-NB-IOT
- https://www.nsnam.org/wiki/NB-IOT
- projectguideline.com
هیچ نظری ثبت نشده است