شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

  • شنبه ۲۱ خرداد ۱۴۰۱
  • بازدید ۱۳۷ نفر

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_8 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

شبیه سازی شبکه های رادیو شناختی (CRCN) با NS2

در این بخش آموزش نصب شبیه ساز CRCN در نرم افزار NS2 ارائه شده که در کنار آن یک محیط گرافیکی که تحت جاوا ساخته شده نیز معرفی می گردد. در ادامه توضیحاتی از معرفی رادیو شناختی ، آشنایی با شبیه ساز CRCN و مراحل نصب و راه اندازی آن قرار داده شده است.

رادیو شناختی (Cognitive Radio)

رادیو شناختی (CR) رادیویی است که می تواند به صورت پویا برنامه ریزی و پیکربندی شود تا از بهترین کانال های بی سیم در مجاورت خود استفاده کند تا از تداخل و تراکم کاربر جلوگیری شود. چنین رادیویی به طور خودکار کانال های موجود در طیف بی سیم را شناسایی می کند، سپس پارامتر های انتقال یا دریافت خود را تغییر می دهد تا ارتباطات بی سیم همزمان بیشتری را در یک باند طیف معین در یک مکان امکان پذیر کند [3].

شبیه ساز CRCN

همانطور که تحقیقات رادیویی شناختی در حال ظهور است، محققان بیشتری به دنبال یک ابزار مناسب برای شبیه سازی شبکه های رادیو شناختی هستند. در مرجع [4] محققان یک شبیه ساز CRCN تحت نرم افزار NS2 توسعه داده اند که آن نسخه به طور گسترده ای در زمینه دانشگاهی مورد استفاده قرار گرفته است. شبیه ساز CRCN از ارزیابی عملکرد برای تخصیص منابع طیف پویا، الگوریتم های کنترل توان و پروتکل های شبکه رادیویی شناختی تطبیقی از جمله پروتکل های مک در شبکه رادیو شناختی (CR MAC) و پروتکل های مسیریابی در شبکه رادیو شناختی (CR Routing) پشتیبانی می کند. این شبیه ساز از NS2 برای ایجاد ترافیک واقعی و الگو های توپولوژی استفاده می کند. همچنین در این شبیه ساز برای هر گره یک لایه فیزیکی چند کاناله چند رادیویی (MRMC) قابل تنظیم و سفارشی سازی پارامترهای طیف مانند قدرت انتقال، انتشار و غیره موجود است [4]. شکل زیر معماری شبیه ساز CRCN را نشان می دهد. این شبیه ساز انتقال پارامتر های رابط را بین لایه های مختلف، همانطور که در تصویر زیر در فلش های با رنگ آبی نشان داده شده، فعال می کند. کاربران فقط باید الگوریتم های مسیریابی و MAC خود را طبق الزامات طراحی پروتکل در NS2 با الگوریتم های موجود در CRCN جایگزین کنند.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_1 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

عملکرد CRCN

عملکرد ارائه شده توسط این شبیه ساز به صورت زیر خلاصه می شود:

پشتیبانی از مسیریابی رادیو شناختی
  • پشتیبانی از چند کانال چند رادیویی (MRMC)
  • پشتیبانی از چند کانال تک رادیویی
  • رابط برای انتخاب رادیو
  • رابط برای انتخاب کانال
  • محیط رادیویی و طیفی ناهمگن
  • اطلاعات مورد نیاز در طول فرآیند مسیریابی
پشتیبانی از MAC رادیو شناختی
  • پشتیبانی از چند کانال تک رادیویی
  • پشتیبانی از چند کانال چند رادیویی
  • رابط برای انتخاب کانال
  • اطلاعات مورد نیاز در طول دسترسی به طیف پویا
پشتیبانی از CR PHY
  • پارامترهای طیف و پارامترهای رادیویی قابل تنظیم مجدد
  • اطلاعات تداخل
  • مدل فیزیکی SINR/SNR
الگوریتم های مسیریابی CR/CR MAC

چندین الگوریتم نمونه برای مسیریابی CR و CR MAC در شبیه سازهای CRCN آورده شده است. این الگوریتم ها نحوه استفاده از عملکرد ارائه شده توسط این شبیه ساز را نشان می دهد. همچنین، این الگوریتم ها یک محیط شبیه سازی برای پروتکل های شبکه CR فراهم می کنند. کاربران می توانند این مؤلفه ها را با الگوریتم های خود جایگزین کرده و عملکرد طرح های خود را آزمایش کنند.

ارزیابی عملکرد برای الگوریتم های CR

این شبیه ساز شامل چندین معیار ارزیابی برای ارزیابی عملکرد الگوریتم ها در لایه های مختلف است. در حال حاضر معیار ارزیابی شامل جمع و تداخل است.

آموزش نصب CRCN در NS2.31

در این مقاله قصد داریم تا آموزش نصب CRCN در NS2.31 را تحت لینوکس نسخه Debian chroot Jail با شما به اشتراک بگذاریم که ابتدا نحوه نصب NS2.31 و سپس نصب ابزار CRCN بر روی NS2.31 ارائه شده است. شما می توانید از همین رویه برای نصب crcn روی لینوکس معمولی نیز استفاده نمایید.

مراحل نصب NS2.31

مرحله اول: پیش نیاز ها وابستگی های لازم ns-2 را نصب کنید

مرحله دوم: NS2.31 را از لینک زیر دانلود کنید:

مرحله سوم: نصب ns-allinone-2.31

ابتدا باید NS2 را کامپایل کنیم تا بررسی کنیم که آیا درست کامپایل می شود یا خیر.

خروجی نهایی زیر از فرآیند نصب در ترمینال، نصب موفقیت آمیز ns-2.31 و سایر موارد مرتبط را نشان می دهد.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_2 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

خروجی های ترمینال زیر در پایان فرآیند نصب، کار هایی را که باید در اسکریپت راه اندازی .bashrc برای .profile انجام دهیم را نشان می دهد که بتوانیم فهرست اصلی کاربر را پیدا کنیم.

بنابراین باید خطوط لازم را در اسکریپت راه اندازی اضافه کنید تا دستورات ns و nam و exgraph را بتوان در هر پوشه ای از سیستم اجرا کرد.

مرحله چهارم: تست نصب

بنابراین دستور ns فقط یک فرمان % را در ترمینال باز می کند. در واقع ns-2 چیزی نیست جز یک نسخه توسعه یافته ازtcl  بنابراین آنچه در اینجا می بینیم خط فرمان tcl است، همین. ترمینال فقط منتظر دستور tcl/ns2 شماست. با توجه به اینکه قرار نیست از آن به این شکل استفاده کنیم، کافی است کلید Ctrl+C را فشار دهید تا از این دستور خارج شوید. تصویر زیر خروجی تست دستور ns را نشان می دهد. توجه کنید اگر با خطای command not found مواجه شدید، به این معنی است که متغیر PATH را به درستی تنظیم نکرده اید یا اصلاً ns-2 را با موفقیت کامپایل نکرده اید.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_3 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

تست ابزار xgraph

کافی است کلید Ctrl+C را فشار دهید تا از این دستور خارج شوید.

تست ابزار nam

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

مراحل نصب CRCN

مرحله پنجم: دانلود ابزار CRCN

توجه کنید که برای استفاده از رابط کاربری گرافیکی ارائه شده توسط این شبیه ساز، لازم است بر روی سیستم شما محیط اجرای جاوا (JRE) 6 یا بالاتر نصب شده باشد.

شما می توانید ابزار CRCN را از لینک زیر دانلود کنید:

https://serverfiles.ir/dl/netsimulate/software/crcn.zip

مطمئن شوید که ns شما می تواند از هر دایرکتوری فراخوانی شود. سپس فایل crcn.zip را از حالت فشرده خارج کنید. فایل های داخل هر زیر پوشه که در crcn وجود دارد را در پوشه های مربوطه در XXX/ns-allinone-2.31/ns-2.31/ کپی کنید. به عنوان مثال، فایل های داخل مسیر crcn/mac/ را در داخل پوشه XXX/ns-allinone-2.31/ns-2.31/mac/ کپی کنید. لطفا توجه داشته باشید که برخی از فایل‌ های ns شما را در همان فهرست باز نویسی (Replace) می‌کند. بنابراین، قبل از اجرای این دستور، از دایرکتوری ns بک آپ بگیرید.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_4 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

در مرحله بعد باید سه خط زیر را در Makefile اضافه کنید که داخل XXX/ns-allinone-2.31/ns-2.31/ قرار دارد.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_5 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

دستورات زیر را در پوشه XXX/ns-allinone-2.31/ns-2.31/ اجرا کنید:

اکنون مجموعه دستورات فوق با موفقیت ns-2.31 را بدون هیچ خطایی کامپایل می کند.

تصویر زیر کامپایل مجدد موفق ns-2.31 با ماژول پسوند crcn را نشان می دهد. (قسمت هایلایت شده را بررسی کنید)

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_6 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

اکنون یوزرها می توانند از اجزای NS2 بدون استفاده از رابط کاربری گرافیکی استفاده کنند.

تست نصب CRCN

اکنون می توانیم با اجرای یک مثال مناسب عملکرد ابزار crcn را آزمایش کنیم.

اگر test4wcett.tcl را اجرا کنیم، با خروجی ترمینال زیر به پایان می رسد. این نشان دهنده تکمیل موفقیت آمیز شبیه سازی است.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_7 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

اکنون می توانیم خروجی nam را باز کره و محیط گرافیکی آن را مشاهده کنیم.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_8 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

انیمیشن گیف زیر خروجی شبیه سازی را نشان می دهد.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_9 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

رابط کاربری گرافیکی برای شبیه سازی CRCN

یک رابط کاربری گرافیکی مبتنی بر جاوا وجود دارد که می توان از آن برای تولید سناریو های CRCN بدون نوشتن کد زیاد استفاده کرد.

ما می توانیم این رابط کاربری گرافیکی را به صورت زیر نصب کنیم:

بخش اول: جاوا JRE نسخه 6 (یا JDE) یا بالاتر را تحت لینوکس از یکی از لینک های زیر دانلود و نصب کنید. (برای IP های ایران مسدود شده)

http://www.java.com/en/download/manual.jsp

https://www.oracle.com/java/technologies/downloads/#jdk18-linux

بخش دوم: ابزار gnuplot را از لینک زیر دانلود و نصب کنید:

http://www.gnuplot.info

بخش سوم: فایل throughput.pl را در دایرکتوری کاری ns خود XXX/ns-allinone-2.31/ns-2.31/ قرار دهید.

بخش چهار: فایل CRCN.jar را از لینک زیر دانلود کنید:

https://serverfiles.ir/dl/netsimulate/software/CRCN.jar

سپس آن را اجرا کنید، یا در پنجره فرمان دایرکتوری که CRCN.jar در آن ذخیره شده، عبارت:

را تایپ کنید. در روش دوم، از طریق پنجره فرمان می توانید خطا های شبیه سازی را مشاهده کنید.

بخش پنجم: اگر می خواهید از این رابط کاربری گرافیکی استفاده کنید، برای اجرای رابط کاربری گرافیکی به راهنمای CRCN GUI در لینک زیر مراجعه کنید:

https://faculty.uml.edu//Tricia_Chigan/Research/helpv4.htm

تصویر زیر رابط کاربری گرافیکی مبتنی بر جاوا برای تولید سناریو های CRCN را نشان می دهد.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_10 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

می توان یک اسکریپت شبیه سازی CRCN را با استفاده از این رابط تولید و اجرا کرد. همچنین می توان از آن برای نمایش برخی از خروجی های گرافیکی اولیه شبیه سازی استفاده کرد.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_11 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

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

به روز رسانی و نسخه پیشرفته CRCN

یک شبیه سازی CRCN بسیار پیشرفته وجود دارد که تحت نرم افزار NS3 در حال توسعه است. این ابزار جدید در آینده در مرجع [6] در دسترس خواهد بود. این شبیه ساز از NS-3 برای ایجاد ترافیک و الگوهای توپولوژی واقعی استفاده می کند. برای هر گره در این شبیه ساز، یک لایه فیزیکی چند کاناله چند رادیویی قابل تنظیم مجدد با سفارشی سازی پارامترهای طیف مانند توان انتقال و غیره در دسترس است. شکل زیر از مرجع [6] نمای کلی از این شبیه ساز را نشان می دهد.

تصویر simulation-cognitive-radio-networks-crcn-ns2_7106_12 شبیه سازی شبکه های رادیو شناختی (CRCN) با نرم افزار NS2

ما نیز در آینده آموزش نصب و استفاده از این CRCN تحت NS3 را ارائه خواهیم داد.

منابع:

  • https://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.31/ns-allinone-2.31.tar.gz/download
  • https://faculty.uml.edu/tricia_chigan/Research/NS3/CRCN%20-%20NS3.htm
  • https://en.wikipedia.org/wiki/Cognitive_radio
  • https://faculty.uml.edu/tricia_chigan/
  • https://faculty.uml.edu//Tricia_Chigan/Research/helpv4.htm
  • https://faculty.uml.edu/tricia_chigan/Research/NS3/CRCN%20-%20NS3.htm
 

مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است