آشنایی با OpenNet

آشنایی با OpenNet

OpenNet چیست؟

OpenNet یک امولاتور (مقلد) SDN است که Mininet و NS-3 رابا یکدیگر ادغام می کند. همان طور که می دانیدزبان برنامه نویسی Mininet  پایتون است، درحالی که NS-3 بر اساس ++C نوشته شده است. سوالی که ممکن است هم اکنون ذهن شما را درگیر کرده باشد این است که چگونه Mininet و NS-3 می توانند با یکدیگر کار کنند؟ خوشبختانه NS-3 امکان پشتیبانی از کتابخانه های پایتون را دارد و کتابخانه های NS-3 را می توان به صورت ماژول های پایتون ایمپورت نمود. بنابراین OpenNet قادر خواهد بود اینترفیس هایی را ایجاد نماید که به کمک این اینترفیس ها، اسکریپت های مقلد Mininet بتوانند به راحتی از مدل های NS-3 استفاده نمایند.

ایجاد و توسعه OpenNet را می توان از دو جنبه بررسی نمود:

  • Mininet به عنوان مسئول تقلید (emulating) سوئیچ های OpenFlow، ساخت محیط و فراهم نمودن CLI.
  • NS-3 مسئول تقلید مدل هایی که Mininet قادر به پشتیبانی از آن ها نیست.

به طور خلاصه و در یک جمله می توان گفت OpenNet یک امولاتور برای شبکه محلی وایرلس نرم افزار محور (SDWLAN) و شبکه LTE نرم افزار محور محسوب می شود.

ویژگی های OpenNet

  •  ساخته شده بر اساس Mininet و ns-3
  • مکمل ns-3 با پشتیبانی از رفتار اسکن کانال (channel) روی Wi-Fi station (با استفاده از sta-wifi-scan-patch)
  • نمایش CsmaLink و SimpleLink در NetAnim (با استفاده از animation-interface.patch)
  • رفع خطای زمان اجرا (runtime error) هنگام دسترسی به PacketMetadata  از CSmaLink
  • پشتیبانی از مقلد SDN-based LTE backhaul (با استفاده از lte.patch)

شروع کار با OpenNet

OpenNet از لینوکس توزیع Ubuntu و ورژن 14.04.5 پشتیبانی می کند. قبل از نصب OpenNet باید توجه داشته باشید که NS-3 و Mininet بر روی لینوکس نصب شده باشند. در صورتی که هنوز Mininet را نصب نکرده اید می توانید دستورات مربوط به نصب Mininet را در  اینجا  مشاهده نمائید.

در مرحله بعد باید یکی از نسخه های ns-allinone-3.xx را در دایرکتوری مورد نظر نصب نمایید. برای اینکار پس از دریافت یک نسخه ns-3 مثلا ns-allinone-3.26 مطابق دستورات زیر NS-3 را نصب نمایید:

cd ns-allinone-3.xx/ns-3.xx/
 ./waf build
 ./waf install

حالا شرایط برای نصب OpenNet مهیاست، به منظور نصب OpenNet کافیست دستورات زیر را به ترتیب اجرا نمایید.

sudo su -
apt-get install git ssh
git clone https://github.com/dlinknctu/OpenNet.git
cd OpenNet
./configure.sh
./install.sh master

پیام “OpenNet installation has completed” نشانگر این است که نصب به صورت موفقیت آمیز به پایان رسیده است.

اجرای یک نمونه اسکریپت ساده OpenNet

به عنوان یک مثال ساده از اجرای اسکریپت  می توانید مثال two-ap-one-sw را با استفاده از دستورات زیر را اجرا نمایید.

sudo su -
cd OpenNet
python mininet/examples/opennet/wifi/two-ap-one-sw.py

اجرای NetAnim

می توانید از NetAnim به منظور باز کردن یک فایل XML در دایرکتوری tmp/xml/ استفاده کنید. با کلیک روی دکمه “Play Animation” می توانید فعالیت شبکه خود را به صورت انیمیشن مشاهده نمایید. به مثال زیر توجه کنید:

sudo su -
cd OpenNet
python mininet/examples/opennet/wifi/wifi-roaming.py
./ns-allinone-3.22/netanim-3.105/NetAnim

SDN-based LTE Backhaul Emulation (Advanced Feature)

به منظور پیاده سازی LTE Backhaul مبتنی بر SDN کافیست دستورات زیر را وارد نمایید:

sudo su -
cd OpenNet
python mininet/examples/opennet/lte/lte-example.py

به منظور مطالعه بیشتر در مورد OpenNet می توانید مقاله زیر را دانلود نمایید.

دانلود مقاله OpenNet

در صورت داشتن هرگونه مشکل احتمالی از طریق انجمن تخصصی سوالات خود را مطرح نمائید.

منبع:

https://github.com/dlinknctu/OpenNet

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *