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

در شبیه ساز NS از دو زبان c++ و otcl همزبان با هم استفاده می شود.از c++ برای برنامه نویسی و otclبه عنوان واسط و مترجم، به علت سرعت c++ از آن برای پیاده سازی پروتکل ها و پردازش بسته های اطلاعاتی ورودی استفاده می شود.اما برای شبیه سازی ساختار و توپولوژی شبکه از زبان otcl استفاده می گردد.

 NS2یک شبیه ساز گسسته - پیشامد در شبیه سازی شبکه های کامپیوتری است و از شبیه سازی پروتکل های مختلف از جمله TCP در شبکه های کابل و بی سیم پشتیبانی می کند.

دلیل استفاده از شبیه ساز NS

الف  مورد تایید مجامع علمی میباشد.

ب - به صورت رایگان در دسترس است.

 ج - کد ان نیز در دسترس است و می توان به این شبیه ساز کد هایی اضافه یا کم نمود.

د - اکثر پروتکلهای  شبکه در آن پیاده سازی شده است.

این نرم افزار قابلیت های قابل توجهی در شبیه سازی خانواده پروتکل IP/TCP از خود نشان میدهد.

این بسته ی نرم افزار پروتکل هایی نظیر TCP،UDP،رفتار منابع مولد ترافیک نظیر پروتکل هایWEB،CBR،VBR،TELNET،FTP،مکانیزم های مدیریت صف در مسیر یاب ها مانند Drop Tail،RED،CBQ و الگوریتم های مسیریابی و امثال آن را مهیا می نماید.علاوه بر این ns مکانیسم های چند پراکنی و برخی از پروتکل های دسترسی به رسانه برای شبیه سازی شبکه های محلی را نیز در اختیار می گذارد.

از دید کاربر،بسته نرم افزار ns یک مفسر است نوشته های octel است که از کتابخانه اشیاء و اجزا شبکه،زمانبند رخدادهای شبیه سازی و واحد های کتابخانه ای بر پایی شبکه تشکیل شده اند.

به بیان دیگر به منظور استفاده از ns کاربر می بایست تنها برنامه ای به زبان دست نویس octl بنویسد و در آن زمان بند وقایع را تنظیم کرده و با استفاده از توابع مربوط بند شبیه ساز،منابع مولد ترافیک و زمان شروع و خاتمه ارسال بسته ها توسط این منابع ترافیکی را تعیین می کند.

کاربر در هنگام بر پایی شبکه،مسیر داداه ها را از طریق تنظیم اشاره گر یک شیء شبکه به شیء جدید شبکه می سازد که به آن لوله کشی plumbing گفته می شود.

یکی دیگر از اجزای ساختمانی مهم در بسته نرم افزار ns زمان بند رخدادهاست،یک رخداد در ns در واقع یک شماره شناسایی بسته است(packet id) که در زمان مشخص شده برای رخداد منحصر بفرد بوده و همچنین اشاره گر به شیء است که آن رخداد را پردازش میکند.به بیان دیگر رخداد مجموعه شماره شناسایی و اشاره گر است.

هنگامی که شبیه سازی خاتمه می یابد،ns یک یا چند فایل متنی به عنوان خروجی تولید می کند که این داده ها تفصیلی شبیه سازی را در بر دارند،این داده ها برای تحلیل شبیه سازی به عنوان ورودی ابزار نمایش داده های شبیه سازی نظیر nsm قرار می گیرد.این نرم افزار از رابط دوستانه بهره می برد. این رابط کاربر شباهت زیادی به نرم افزار پخش DVD صوتی دارد،و با استفاده از آن می توان نتایج شبیه سازی را با دقت زمانی مورد نظر مطالعه و بررسی قرار داد.به علاوه این نرم افزار قادر است اطلاعات مربوط به گذردهی،تعداد بسته های از دست رفته در هر پیوند ارتباطی و نظایر آن را در قالب نمودار های گرافیکی نمایش و ارائه دهد. برنامه nam که یکی از قسمت های تشکیل دهنده شبیه ساز ns می باشدیک ابزار انیمیشن بر اساس tel/tk می باشد.که برای مشاهده نتایج از شبیه سازی و ردیابی شیکه به کار می رود.برای استفاده از nam باید یک فایل خروجی برای ردیابی شبکه و اطلاعات مربوط به توپولوژِی شبکه شامل نودها ولینک هاایجاد نمود،بعد از ایجاد فایل ردیابی خروجی می توان با nam نتایج حاصل از شبیه سازی را بصورت انیمیشن در صفحه رایانه نمایش داد. بعد از فعال شدنnam فایل ردیابی خروجی خوانده می شود و توپولوژِی شبکه ایجاد می شود.یک پنجره در صفحه نمایش باز شده و کاربر با امکاناتی که nam در اختیار آن قرار می دهد،قادر به کنترل جنبه های مختلف شبیه سازی می باشد.

روش های جمع آوری داده در ns

ns به دو روش tracing را پشتیبانی می کند.

1-به وسیله اشیاء trace :توسط این اشیاء اطلاعات مربوط به هر بسته انفرادی را می توان جمع آوری نمود.

2-اشیاء monitoring : این اشیاء کمیت های مختلفی مانند تعداد بسته ها،بیت های دریافتی یا فرستاده شده و غیره را یادداشت میکند.مانیتورها می توانند هم روی بسته ها و هم روی فلوها عمل شمارش را انجام دهند.

تعاریف و فرمان ها :

گره :به هر وسیله ای اطلاق می شود که قابلیت اتصال به شبکه را داشته باشد.

لینک :ایجاد ارتباط بین گره ها

صف :صف ها،محل هایی هستند که بسته های اطلاعاتی در آنها نگهداری شده و یا دور انداخته می شود.

توانایی پشتیبانی از شش نوع مکانیسم صف بندی        CBQ/DOR/RED/FIFO/SFQ/FQ

عاملان :نقطه انتهایی یک اتصال رل در سطح لایه شبکه بیان می کند و تولید کننده بسته های ارسالس و دریافتی در شبکه می باشد.        FULL TCP/TCP/UDP

traceing :جمع آوری داده های خروجی به منظور پردازش شبکه شبیه سازی شده