موضوع مقاله: ان اس (شبیه‌ساز) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ان اس (شبیه‌ساز) | مقدمه: همه آن‌ها شبیه‌ساز رویداد گسسته شبکه هستند که اوایل در تحقیق و تدریس استفاده شدند. | ## بخش 1: ان اس (شبیه‌ساز) | هدف پروژهٔ ns-3 فراهم آوردن محیط شبیه‌سازی آزاد برای تحقیقات شبکه است که در درون جامعه تحقیقاتی پذیرفته شده خواهد بود که به‌طور عمده معنی اش دو چیز است: باید آن را با نیازهای شبیه‌سازی تحقیق شبکه‌های مدرن تراز وسط قرار دارد و باید توزیع جامعه، بررسی دقیق و اعتبار نرم‌افزار را تشویق کند از زمان فرایند تولید شبیه‌سازی شبکه‌ای که دارای تعداد کافی ماژول باکیفیت بالا و معتبر و آزمایش شده و به صورت پویا نگهداری شده‌است کار زیادی نیاز داشته که پروژهٔ ns-3 این بار کاری را بین جامعه بزرگ کاربران و توسعه دهندگان توزیع کرده‌است. تاریخچه قبل از ns شبیه‌سازی به نام REAL وجود داشته که قدمت آن به سال ۱۹۸۹ بر می‌گردد. ns-1 اولین ورژن ns به نام ns-1، در آزمایشگاه ملی لارنس برکلی (LBNL) در بازه زمانی ۱۹۹۵-۹۷ توسط استیو مک کین، سالی فلوید، کوین فال و همکارانشان توسعه داده شده‌است. ns-2 در سال ۱۹۹۶-۹۷ کار بر روی نسخه دوم ns (ns-2) برپایه بازسازی استیو مک کین انجام شد. هسته ns-2 نیز با C++ نوشته شده بود اما اشیا شبیه‌سازی c++ به اشیا سایه در otcl وصل هستند و متغیرها می‌توانند بین این دو حوزه زبان بهم وصل شوند. این ساختار اجازه می‌دهد شبیه‌سازی‌ها در یک محیط تفیسر شده نوشته واصلاح شوند بدون دوباره کامپایل کردن شبیه‌ساز وقتی که ساختارش تغییر کرد. در فاصله زمانی که ns-2 معرفی شد دو راحتی چشمگیر را فراهم کرد اجتناب از دوباره کامپایل کردن‌های وقت گیر و همچنین علائم اسکریپتی ساده برای توصیف شبیه‌سازی. Ns-2 یک انیمیشن همراه به نام انیماتور شبکه nam-1 دارد که توسط مارک هندلی نوشته شده‌است برای بصری سازی شبیه‌سازی خروجی و تنظیمات گرافیکی (محدود) برای سناریوهای شبیه‌سازی. | ## بخش 2: ان اس (شبیه‌ساز) | و احتمالاً شامل کدهای توزیعی قابل ملاحظه‌ای دیگری که به‌طور مستقیم با توزیع اصلی یکپارچه نشده‌اند. نرم‌افزار بر روی لینوکس، فری‌بی‌اس‌دی، سولاریس، اواس‌ده و Windows 95/98/NT/2000/XP قابل اجرا است که توسط ورژن ۲ پروانه عمومی همگانی گنو لایسنس شده‌اند. بعضی از هدف‌های اصلی شامل پشتیبانی بهتر شبیه‌سازی شبکه و استفاده مجدد از کدهای پیاده‌سازی و همچنین یکپارچگی بهتر ابزارها با تحقیقات پایه است. در فرایند توسعه ns-3 سازگاری با ns-2 اساساً بخاطر سربار بالای نگهداری که نتیجه گرفته شده بود رها شد. اولین نسخه از ns-3.1 در ژوئیه ۲۰۰۸ ساخته شد و پس از آن این پروژه با انتشار نرم‌افزار فصلنامه ادامه داد و اخیراً به سه انتشار در سال منتقل شد ns-3 پنجمین انتشار (ns-3.15) خود را در سومین فصل ۲۰۱۲ ساخت. طراحی Ns-3 با استفاده از سی++ و پایتون ساخته شد و اسکریپت‌نویسی با هر دو زبان موجود است. این فایل‌های تولید شده خودکار c++ سرانجام به ماژول پایتون ns- 3 کامپایل می‌شوند که به کاربران اجازه می‌دهد که با ماژول‌های c++ ns-3 و هسته از طریق اسکریپت‌های پایتون ارتباط برقرار کنند. محتویات Ns-3 به بیش از چندین جفت ماژول تقسیم می‌شود که شامل یک یا بیشتر ماژول برای ابزار یا پروتکل‌های شبکه دنیای واقعی است. | ## بخش 3: ان اس (شبیه‌ساز) | گردش کار شبیه‌سازی فرایند عمومی تولید یک شبیه‌سازی می‌تواند به چندین مرحله تقسیم شود: تعریف توپولوژی: برای راحتی ایجاد امکانات اولیه و تعریف روابط بین آنها، ns-3 دارای سیستمی شامل کمک کننده‌ها است که این فرایند را راحتتر می‌کند. استفاده از مدل: مدل‌ها به شبیه‌سازی اضافه شده‌اند (برای مثال udp، ipv4، ابزارهای نظیر به نظیر و لینک‌ها، برنامه‌ها) که بیشتر اوقات توسط کمک کننده‌ها انجام می‌شوند تنظیمات لینک‌ها و نود ها: مدل‌ها مقادیر پیش فرض خود را ست می‌کنند (برای مثال سایز بسته‌هایی که برنامه می‌فرستد یا mtu، یا لینک‌های نظیر به نظیر) که بیشتر اوقات با سیستم‌های توزیعی انجام می‌شود. اجرا: امکانات شبیه‌سازی رویدادها و دیتاهای درخواست شده توسط کاربر را ایجاد می‌کنند. آنالیز عملکرد: بعد از اینکه شبیه‌سازی پایان یافت، داده‌ها به شکل تریس رویداد با برچسب زمان آماده هستند این داده‌ها سپس می‌توانند به صورت آماری با ابزارهایی مثل R آنالیز شوند تا نتیجه را بکشند. تجسم گرافیکی: داده‌های خام یا پردازش شده که در شبیه‌سازی جمع شده‌اند می‌توانند با ابزارهایی مثل گنوپلات،کتابخانه مت‌پلات Xgraph رسم شوند. Xgragh یک ابزار رسم است که همراه بسیاری از بسته‌های نصب وجود دارد انتقاد Ns-2 بسیاری از اوقات انتقاد می‌شود زیرا مدلسازی آن خیلی پیچیده و یک فرایند زمان بر است و چون محیط گرافیکی ندارد باید زبان اسکریپت نویسی، تئوری صف و تکنیک‌های مدلسازی یاد گرفته شود. و هم چنین اخیراً شکایاتی مبنی بر اینکه نتایج سازگار نیستند وجود دارد (احتمالاً بخاطر تغییرات متناوب کد آن) وپروتکل‌های خاص آن مملو از باگ هستند. Ns-3 بیشتر بخاطر کمبود پشتیبانی از پروتکل‌هایی که در ns-2 پشتیبانی می‌شدند مورد انتقاد قرار می‌گیرند که بخاطر سازگار نبودن آن با Ns-2 است. | ## جمع‌بندی | همانند ns-2، ns-3 نیز برای یادگیری و استفاده زمان بر است در مقایسه با شبیه‌سازهای دارای رابط گرافیکی.