نرم افزار NS2
- 1400/4/2
- 1696
- نرم افزار های تخصصی
معرفی نرم افزار شبیه ساز NS2
یکی از مهم ترین، پرکاربردترین و قدرتمندترین شبیه سازها در زمینه شبکه های کامپیوتری نرم افزار NS2 است. این نرم افزار در فیلدهای گوناگونی از قبیل IOT، VANET، WSN و MANET استفاده می شود. در بیشتر مقالات علمی از شبیه ساز NS2 به منظور تحلیل الگوریتم های پیشنهادی و همچنین مقایسه با سایر پروتکل ها موجود استفاده می شود. شایان ذکر است که نرم افزار NS2، یک شبیه ساز رویداد گسسته، رایگان و متن باز می باشد که باید گفت یکی از محبوب ترین و رایج ترین شبیه سازهای شبکه برای تحقیقات دانشگاهی و پروژه های تحقیقاتی محسوب می شود. در ادامه این مقاله با این شبیه ساز بیشتر آشنا خواهید شد.
نحوه نصب نرم افزار NS2
شبیه ساز NS2 را می توانید در سیستم عامل لینوکس نصب نمایید چرا که این نرم افزار در محیط یونیکس توسعه یافته است، بنابراین به راحتی می توانید آن را در محیط لینوکس بدون کوچکترین مشکلی نصب کنید. اما با توجه به محبوبیت سیستم عامل ویندوز، اغلب افرادی که با این نرم افزار آشنایی دارند تمایل دارند که آن را در سیستم عامل ویندوز نصب کنند. برای نصب نرم افزار NS2 در محیط ویندوز باید از یک امولاتور یونیکس مانند امولاتور معروف سیگوین (cygwin) استفاده کرد.
برای نصب نرم افزار NS2 در ویندوز لازم است مراحل زیر را طی کنید:
مرحله اول: امولاتور سیگوین را نصب کنید.
امولاتور سیگوین هنگام نصب پکیج هایی لازم دارد که بایستی این پکیج ها نصب شوند. از این رو ابتدا این پکیج ها را دانلود کنید و حین نصب آن ها را به سیگوین معرفی نمایید. این روش، روش نصب آفلاین سیگوین می باشد. اما در صورتیکه این پکیج ها را دانلود نکرده باشید لازم است که به طور آنلاین از اینترنت آن ها را دریافت کنید. گفتنی است که این روش، روش نصب آنلاین سیگوین می باشد. بنابراین به دو روش می توان امولاتور سیگوین را نصب نمود که این روش مطابق آن چه در بالا بیان شد عبارتند از: روش نصب آنلاین و روش نصب آفلاین. ابتدا به نصب آن لاین می پردازیم:
در روش نصب آنلاین، ابتدا باید سیگوین را دانلود کرده باشید. این امولاتور هنگام نصب به اینترنتی با کانکشن قوی و stable نیاز دارد تا بتواند پکیج های لینوکسی لازم را از اینترنت دانلود کرده و نصب نماید. توجه داشته باشید که در مرحله نصب پکیج، از شما خواسته می شود یک mirror را به عنوان repository دانلود پکیج ها انتخاب کنید تا از این طریق پکیج های لازم از آن جا دانلود گردند. نکته ای که لازم است در نصب سیگوین به آن توجه داشته باشید این است که بعد از این که mirror را انتخاب نمودید از شما خواسته می شود که تعیین کنید چه پکیج های لینوکسی را نیاز دارید. باید گفت که مسلما هیچ زمانی همه پکیج ها مورد نیازتان نیست بنابراین در هر پروژهای با توجه به کاربرد آن، به تعدادی از پکیج های لینوکس نیاز خواهید داشت. شبیه ساز NS2 تنها به تعدادی از پکیج ها نیاز دارد که باید حتما وجود داشته باشند. اسامی این پکیج ها عبارتند از:
- perl
- make
- gcc
- patch
- gcc-g++
- tar
- gnuplot
- xorg-x11-bin-dlls
- X-startup-scripts
- xorg-x11-fnts
- xorg-x11-base
- libXmu-devel
- xorg-x11-fenc
- xorg-x11-bin
- xorg-x11-libs-data
- xorg-x11-devel
- xorg-x11-xwin
- xorg-x11-bin-lndir
- xorg-x11-etc
- libxt-devel
پکیج های مورد نظر خود را انتخاب کنید و فرایند نصب را ادامه دهید تا سیگوین با موفقیت نصب گردد.
شایان ذکر است که مشکلاتی که در روش نصب آنلاین سیگوین وجود دارد در روش نصب آفلاین آن دیده نمی شود. در روش آنلاین اغلب، وقتی پکیج های مورد نظر خود را از repositoryهای مربوطه دریافت می کنید، به دلیل مشکلاتی اعم از اینترنت ضعیف و یا عدم دسترسی IP ایران به سایت های repository با مشکل مواجه خواهید شد. همین امر سبب می شود تا فرایند نصب با خطا همراه باشد. از این رو اگر نتوانستید به روش آنلاین، سیگوین را نصب کنید می توانید از پکیج آفلاین سیگوین که نیازی به اینترنت ندارد و نصب راحتی دارد، استفاده کنید.
تفاوتی که در دو روش نصب امولاتور سیگوین(آنلاین و آفلاین) وجود دارد این است که در روش آفلاین از قبل پکیج های سیگوین را دانلود کردهاید و تنها لازم است هنگام نصب سیگوین بعد از انتخاب روش آفلاین، پوشه ای را که مربوط به پکیج های سیگوین است از سیستم خود به سیگوین معرفی کنید تا از روی فایل هایی که در سیستم لوکال (محلی) شما وجود دارد، فرایند نصب سیگوین را انجام دهد.
مرحله دوم: نرم افزار NS2 را نصب نمایید.
پس از این که امولاتور سیگوین را به یکی از دو روشی که در بالا ذکر شد نصب کردید نوبت به نصب نرم افزار NS2 می رسد. اما پیش از آن باید ns2.35 را دانلود نمایید. پس از آن بایستی فایل ns-allinone-2.35.tar.gz دانلود شده را به محل مورد نظر خود برای نصب منتقل کنید و ترمینال سیگوین را اجرا نمایید و بعد از این که با دستور cd مسیر جاری را به آدرس محل کپی فایل (ns-allinone-2.35.tar.gz) تغییر دادید، دستوراتی را که در ادامه آورده شده است در آن مسیر اجرا کنید:
tar -zxvf ns-allinone-2.35.tar.gz
cd ns-allinone-2.35
./install
با وارد کردن دستور install نصب نرم افزار NS2 شروع می شود و مدت زمانی طول می کشد تا فرایند نصب به پایان برسد. توجه داشته باشید که در طول عملیات نصب، نباید پنجره ترمینال cygwin را ببندید و باید منتظر ظاهر شدن پیغام پایان موفقیت آمیز عملیات نصب در ترمینال باشید.
مرحله سوم: متغیرهای محلی را تنظیم کنید.
در مرحله سوم از نصب نرم افزار NS2 لازم است مسیرهای خواسته شده در ترمینال که بعد از موفقیت آمیز بودن نصب نرم افزار NS2 نمایان می شود به متغیرهای محلی اضافه کنید. گفتنی است که برای این که شبیه ساز به درستی اجرا شود، اضافه کردن مسیرهای مورد نیاز به متغیرهای محیطی سیستم عامل ضروری می باشد. لازم به ذکر است که مسیرهایی که باید در متغیرهای محیطی قرار گیرند در پایان نصب در ترمینال ظاهر می شوند.
مرحله چهارم: از صحت نصب نرم افزار اطمینان حاصل کنید.
پیش از توضیح این مرحله باید گفت که این مرحله یعنی تست صحت نصب نرم افزار NS2 اختیاری می باشد و می توانید از انجام آن صرف نظر کنید.
پس از این که مراحل ذکر شده انجام شد برای تست صحت نصب، به طور معمول دستور validate مورد استفاده قرار می گیرد اما چون دستور validate، دستوری زمان بر می باشد می توانید به جای استفاده از آن از روش ساده تری برای تست استفاده نمایید. از این رو کافیست تنها یک بار ترمینال را باز و بسته نمایید و پس از آن دستور "ns" را وارد کنید. چنانچه علامت % زیر دستوری که وارد کردهاید نمایان شود نشان دهنده این موضوع خواهد بود که شبیه ساز به درستی نصب گردیده است در غیر این صورت در روند نصب و یا معرفی مسیرهای مورد نیاز به متغیرهای سیستمی مشکلی وجود دارد.
مزایا و معایب نرم افزار NS2
از مزایای شبیه ساز NS2 می توان به موارد زیر اشاره کرد:
- NS2 از مدل های بی شماری برخوردار است که همگی قابل دسترسی هستند.
- این نرم افزار منبع باز بوده و رایگان می باشد.
- بسیاری از پروتکل ها قبلا در این نرم افزار پیاده سازی شدهاند.
- از نرم افزار NS2 می توان برای شبیه سازی های بی سیم و موازی استفاده کرد.
- این شبیه ساز، نرم افزاری شناخته شده است و گروه های زیادی از آن پشتیبانی می نمایند.
- قابلیت پیکر بندی به علت بهرهگیری از زبان های برنامه نویسی C++ و OTCL آسان است.
از مهم ترین معایب شبیه سازNS2 می توان موارد زیر را نام برد:
- بررسی سریع یک ایده کوچک در آن دشوار است.
- برای آشنایی با آن مدت زمانی طولانی نیاز است.
- سورس کد و دستورالعمل های آن به خوبی مستند سازی نشدهاند.
زبان های برنامه نویسی مورد نیاز شبیه ساز NS2
برای انجام شبیه سازی با این نرم افزار سه زبان برنامه نویسی مورد نیاز می باشد که عبارتند از:
- زبان سی پلاس پلاس(C++): کاربران از این زبان برنامه نویسی به منظور پیاده سازی عامل ها و همچنین پروتکل ها استفاده می کنند. گفتنی است که زبان C++ هسته اصلی این نرم افزار میباشد.
- زبان TCL: از این زبان به منظور ایجاد ساختار و توپولوژی شبکه، نوع ترافیک، مشخصات لینک، تغییر توپولوژی شبکه، پردازش ضبط داده ها و غیره استفاده می شود.
- زبان OTCL: این زبان برای تعریف پارامترهای شبکه مورد نیاز می باشد.
لازم به ذکر است که فرمت خروجی این شبیه ساز NS2 مبتنی بر فایل می باشد که فایل های خروجی آن Trace File نامیده می شود. این فایل های خروجی دارای یک فرمت عمومی و یک فرمت خروجی گرافیکی NAM می باشند. باید گفت که می توان فایل های خروجی این شبیه ساز را بر اساس نیازی که کاربر دارد شخصی سازی کرد.
ویژگی های شبیه ساز NS2
از زمینه های قابل شبیه سازی با نرم افزار NS2 می توان موارد زیر را نام برد:
- با استفاده از نرم افزار NS2 می توان شبکه های AD HOC را شبیه سازی کرد.
- این نرم افزار قابلیت شبیه سازی بین خودرویی(VANET) را دارد.
- امکان طراحی پروتکل های شبکه در این نرم افزار وجود دارد.
- شبیه سازی و تحلیل شبکه های حسگر بی سیم و یا ماهوارهای یکی دیگر از قابلیت های نرم افزار NS2 است.
- پیاده سازی APP(اپلیکیشن) برای محیط NAM از دیگر قابلیت های این نرم افزار محسوب می شود.
- امکان پیاده سازی و شبیه سازی اینترنت اشیا با استفاده از این نرم افزار وجود دارد.
- امکان شبیه سازی شبکه های با سیم در این نرم افزار وجود دارد.
- پیاده سازی ساخت شبکه های ماتریسی از دیگر قابلیت هایی است که می توان برای نرم افزار NS2 نام برد.
- امکان شبیه سازی MAC در این نرم افزار وجود دارد.
- تحلیل و شبیه سازی شبکه های نرم افزار محور از دیگر قابلیت های موجود در شبیه ساز NS2 است.
- نرم افزار NS2 امکان تعریف IP سیار(گره سیار) را فراهم می کند.
- امکان شبیه سازی و همچنین طراحی شبکه های مخابراتی نسل چهارم و پنجم در این نرم افزار وجود دارد.
- امکان تولید اعداد تصادفی و نمونه سازی برای سیستم های با سیم در این نرم افزار وجود دارد.
- از دیگر قابلیت های نرم افزار NS2 می توان به طراحی و شبیه سازی شبکه های بی سیم سلولی، شبیه سازی مسیریابی و یافتن INTENDENY اشاره کرد.
- شبیه ساز NS2 امکان مسیریاب ویژه (غیر عمومی) را فراهم می نماید.
تا اینجا با نرم افزار NS2 آشنا شدید و نحوه استفاده از آن را آموختید، در پایان باید گفت که نرم افزار NS3 نسخه جدیدی از نرم افزار NS2 می باشد. از تفاوت هایی که بین این دو نسخه از شبیه ساز وجود دارد می توان به این موضوع اشاره کرد که نرم افزار NS2 در OTCL اسکریپ شده است و نتایج شبیه سازی را می توان با بهرهمندی از انیماتور شبکه مشاهده کرد. به اجرا در آوردن یک شبیه سازی در نرم افزار NS2 از C++ مثلا به عنوان یک main() بدون هیچ گونه OTCL ممکن نخواهد بود. علاوه بر این تعدادی از اجزای نرم افزار NS2 در سی پلاس پلاس و شماری دیگر در OTCL نوشته شده است اما در نرم افزار شبیه ساز NS3 شبیه ساز به طور کامل در سی پلاس پلاس و با ساختار پایتون نوشته شده است از این رو اسکریپت شبیه سازی میتواند در سی پلاس پلاس و یا در پایتون نوشته شود.
سخن پایانی
پیش از این نرم افزارهای شبیه ساز شبکه را به شما معرفی کردیم و سپس به معرفی نرم افزار شبیه ساز GNS3 پرداختیم. در این مقاله به نرم افزار NS2 که دارای کاربردهای زیادی در طراحی و شبیه سازی شبکه می باشد، اشاره کردیم. با توجه به این که شبکه پیچیدگی هایی دارد برای شبیه سازی آن باید از دانش زیاد و تخصص کافی برخوردار باشید. افزون بر شبیه سازی، این نرم افزار نقش مهم و تعیینکننده ای در بررسی رفتار و همچنین خصوصیات شبکه دارد از این رو برای شبیه سازی با این نرم افزار و یا دیگر نرم افزارهایی که به منظور شبیه سازی شبکه وجود دارند باید آموزش های لازم را کسب کنید. در نهایت هم باید افزود که با وجود این که شبیه سازNS2 به علت معماری پیچیدهاش مورد نقد قرار می گیرد، اما محبوبیت و استفاده وسیع دانشجویان و پژوهشگران از آن، این نقص را برطرف میکند.