پروژه آنالیز ترافیک و شبیه سازی شبکه داده کشور دانشکده مهندسی کامپیوتر و فن آوری اطلاعات دانشگاه صنعتی امیرکبیر
مروری بر قابلیتهای
NS-2
آموزش کامل شبیه سازی ان اس 2
به همراه اسلایدها و جزوات و کتابچه های الکترونیکی
فهرست مطالب
2-1 بخش 1 : طریقه download کردن و نصب ns.... 2-3
2-2 بخش 2 : شروع کار با ns.... 2-6
2-3 بخش 3 : نرم افزار Nam.......... 2-12
2-3-1 پیکربندی nam برای نمایش توپولوژی.......... 2-12
2-3-2 واسط کاربری.......... 2-13
2-4 بخش 4 : مثالهای عملی........ 2-15
2-4-1 فرمانهای اولیه ns-2..... 2-15
2-4-2 مدل کردن یک توپولوژی ساده : دو گره با یک لینک.............. 2-16
2-4-3 مشخص کردن جریانهای ترافیک و مونیتور کردن لینک ها.. 2-19
2-4-4 تعریف توپولوژی.......... 2-19
2-4-5 تعریف منابع ترافیک و گیرنده های ترافیک.............. 2-20
2-4-6 مشخص کردن جریانهای ترافیک.............. 2-21
2-4-7 مونیتور کردن یک لینک.............. 2-22
2-4-8 ایجاد توپولوژی با تعداد گره های بالا و مدل کردن خرابی لینک ها.. 2-23
2-4-8-1 ایجاد توپولوژی با تعداد گره های بالا...... 2-23
2-4-8-2 مدل کردن خرابی لینک ها.. 2-24
2-4-9 ایجاد فایل خروجی برای برنامة XGraph..... 2-27
2-4-9-1 توپولوژی و منابع ترافیک............ 2-27
2-4-9-2 ثبت داده ها در فایل خروجی........ 2-29
2-4-9-3 اجرای شبیه سازی........ 2-31
3-1 روشهای جمعآوری داده در NS...... 3-34
3-2-1 معماری سرآیند بستهها برای پشتیبانی از trace.... 3-35
3-2-2 معماری لینکها برای پشتیبانی از Trace.... 3-36
3-2-3 فرمت فایل trace.... 3-37
3-2-4 توابع کمکی برای دسترسی به اشیاء tracing.... 3-38
3-2-5 واسطهای برنامه نویسی برای استفاده از اشیاء trace.... 3-38
3-2-5-1 واسطهای برنامه نویسی برای فعال نمودن trace در لینکها.. 3-39
3-2-5-2 فرمانهای trace مربوط به صفها.. 3-39
3-3 اشیاء Monitoring..... 3-40
3-3-2 شئ QueueMonitor/ED....... 3-41
3-3-3-1 شئ QueueMonitor/ED/FlowMon..... 3-42
3-3-3-2 شئ QUEUEMONITOR/ED/FLOW.......... 3-43
3-3-3-3 فرمت Flow Monitor.. 3-43
3-3-4 واسطهای برنامه نویسی برای Monitoring.... 3-44
3-3-4-1 فرمانهای فعال نمودن Monitoring روی لینکها.. 3-44
3-3-4-2 فرمانهای شئ QueueMonitor.. 3-44
3-3-4-3 فرمانهای شئ Flow Monitor.. 3-45
3-5 مثالهایی برای استفاده از Trace و Monitoring در NS-2...... 3-46
3-5-1-1 trace-all و numtrace-all. 3-46
3-5-2-1 Queue Monitoring.... 3-48
3-5-2-2 Monitor per Flow....... 3-50
4-1 قابلیتهای MPLS Network Simulator-V2...... 4-53
4-1-1 MNS-v2 اعمال توزیع برچسب که شامل اجزاء زیر است را پشتیبانی میکند:. 4-53
4-1-2 MNS-V2 از روشهای زیر برای ایجاد LSP پشتیبانی میکند:. 4-54
4-1-3 قابلیت مسیریابی مجدد..... 4-55
4-2 معماری Mpls Network Simulator... 4-55
4-2-1 معماری MNS برای ارائه کیفیت سرویس................ 4-55
4-2-2 معماری MNS برای راهگزینی برچسب............ 4-57
4-2-3 معماری MNS برای پردازش ترافیک بیدرنگ.............. 4-58
4-2-4 معماری MNS برای رزرو منابع........ 4-59
4-2-5 سطوح سرویس در MNS..... 4-60
4-2-6 معماری MNS برای مسیریابی مجدد..... 4-62
4-3 واسطهای برنامهنویسس برای استفاده از شبیهساز MNS...... 4-66
4-3-1 فرمانهای واسط برای استفاده از MPLS در NS-2..... 4-66
4-3-2 واسطها برای ساختن مسیر صریح......... 4-68
4-3-3 واسطها برای پیکربندی کلاسهای ترافیک.............. 4-68
4-3-4 واسطها برای ساختن مسیر مقید (CR-LSP) و CR-LDP..... 4-70
4-3-5 واسطها برای فراخوانی روالها.. 4-71
4-3-6 واسطهای مسیریابی مقید....... 4-72
4-3-7 واسطهای مسیریابی مجدد..... 4-72
4-3-8 واسطهای برنامهنویسی برای trace کردن........ 4-74
4-3-9 واسطهای برنامهنویسی برای استفاد در namulator.. 4-74
4-4 مثالهای از استفاده از MPLS در شبیهساز :. 4-75
4-4-1 استفاده از MPLS برای مسیریابی صریح......... 4-79
4-4-2 استفاده از MPLS برای ارائه کیفیت سرویس................ 4-81
4-4-2-1 مسیرهای CR-LSP..... 4-81
4-4-2-2 CR-LSP با خصوصیت به زور گرفتن منابع...... 4-85
4-4-2-3 Constraint Based Routing.... 4-86
4-4-3 استفاده از MPLS برای مسیریابی مجدد..... 4-88
4-4-3-1 کد مورد نیاز برای استفاده از روش مسیریابی مجدد Hashkin..... 4-90
4-4-3-2 کد مورد نیاز برای روش مسیریابی مجدد Makam......... 4-91
4-4-3-3 کد مورد نیاز برای مسیریابی مجدد Simple-Dynamic.... 4-91
4-4-3-4 کد مورد نیاز برای مسیریابی مجدد shortest-dynamic.... 4-91
4-4-3-5 کد مورد نیاز برای مسیریابی مجدد L3..... 4-92
5-1 ماجول DiffServ در NS-2...... 5-93
5-2 معماری ماجول DiffServ...... 5-93
5-2-1 معماری روترهای لبه و مرکزی.......... 5-94
5-2-3 انواع policyهای تعریف شده در ماجول DiffServ..... 5-96
5-2-4 ساختار Policy های تعریف شده.... 5-97
5-3 پیکربندی پارامترهای ماجول DiffServ...... 5-98
5-3-1 پیکربندی پارامترهای صف............ 5-98
5-3-1-1 پیکربندی شمای زمانبندی بین صفهای فیزیکی........ 5-100
5-3-2 پیکربندی Policy..... 5-101
5-4 واسطهای برنامه نویسی برای استفاده از ماجول Diffserv...... 5-102
1. مقدمه
با توجه به پیچیدگی شبکه، شبیهسازی نقش بسیار مهمی هم در تعیین خصوصیات رفتار فعلی شبکه، و هم در تعیین اثرات احتمالی ناشی از تغییرات پیشنهاد شده روی عملکرد شبکه دارد. شبکه داده کشور نیز از این قاعده مستثنی نیست و به منظور ارزیابی رفتار آن در شرایط مختلف نیاز است شبیهسازی شود.
شبیهسازهای زیادی برای این امر وجود دارد. در این پروژه به منظور شبیهسازی شبکه داده کشور NS-2 انتخاب شده است علت استفاده از این شبیهساز موارد زیر میباشد:
الف- مورد تایید مجامع علمی میباشد.
ب- به صورت رایگان در دسترس است.
ج- کد آن نیز در دسترس است و میتوان به این شبیهساز کدهایی اضافه یا کم نمود.
د- اکثر پروتکلهای شبکه در آن پیادهسازی شده است.
قبل از شبیهسازی شبکه داده کشور، ابتدا باید با نحوه کار NS و نحوه استفاده از آن آشنا شویم. هدف از تهیه این گزارش تشریح نحوه استفاده از برخی قابلیتها و ماجولهای NS که برای شبیهسازی داده کشور مورد نیاز هستند، میباشد.
در فصل اول این گزارش چگونگی نصب و راهاندازی NS-2 و نحوه شروع کار با آن تشریح میشود، در فصل دوم نحوه استفاده از قابلیت Monitoring و trace در NS-2 شرح داده میشود، در فصل سوم چگونگی استفاده از MPLS در NS-2 تشریح میشود و در فصل چهارم به شرح نحوه استفاده از ماجول DiffServ در NS-2 پرداخته خواهد شد.
2. آشنایی مقدماتی با NS-2
در این گزارش به توضیح چگونگی نصب و راهاندازی ns و نحوة استفاده از آن پرداخته میشود. ns یک شبیهساز شیگرا و discrete event driven است که با استفاده از زبانهای C++ و OTcl در دانشگاه برکلی طراحی و پیادهسازی شده است. از نرمافزار ns عموما به منظور شبیهسازی شبکههای کامپیوتری محلی و شبکههای گسترده استفاده میشود. ns میتواند شبکههای IP گوناگونی را شبیهسازی نماید. پروتکلهای شبکه مانند TCP و UDP، منابع ترافیک همچون FTP، Telnet، Web، CBR و VBR، مکانیزمهای مدیریت صفهای مسیریاب مثل DropTail، RED و CBQ، الگوریتمهای مسیریابی مثل Dijkstra و ... در ns پیادهسازی شدهاند. همچنین multicasting و برخی از پروتکلهای لایة MAC برای شبیهسازی شبکههای محلی در ns پیادهسازی شدهاند.