این روش مشابه روش قبلی می باشد، با این تفاوت که برای مسیریابی درون ناحیه ای از پروتکل AODV استفاده شده است. به این معنا که خوشه بندی و مسیریابی بین ناحیه ای مانند حالت قبل است اما برای مسیریابی درون ناحیه ای به جای استفاده ازپروتکل DSDV از پروتکل AODV استفاده شده است .
( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
هدف از پیشنهاد این روش در این است که تفاوت پروتکل مسیریابی پیشگیرانه با پروتکل واکنش گرا، در مسیریابی درون ناحیهای به نمایش گذاشته شود.
فصل پنجم: شبیه سازی
مقدمه
در این فصل در ابتدا نرم افزارهای شبیه سازی شبکه معرفی می شوند. سپس معیارهای کارایی پروتکلهای مسیریابی در شبکه معرفی میشوند. در ادامه نتایج شبیه سازی روش پیشنهادی با کمک نرم افزار شبیه سازی NS2 ارائه می شود. در نهایت با کمک نتایج بدست آمده ارزیابی و مقایسهای در مورد عملکرد شبکه پیشنهادی انجام می شود.
نرم افزار های شبیه ساز شبکه
هدف از شبیه سازی به طور کلی، تحقیق تاثیر یک یا چند پارامتر بر کارایی شبکه میباشد. نرمافزارهای متفاوتی جهت شبیه سازی شبکهها ارائه شدهاند، که از میان آنها می توان به نرم افزارهای NS2 ،GlomoSim ، QualNet، OPNET [۱۷۶] اشاره کرد. انتخاب نرم افزار مناسب جهت پیادهسازی، مسئلهای مهم و تاثیر گذار در صحت ارزیابی عملکرد پروتکل مسیریابی پیشنهادی میباشد. در ادامه هر یک از این نرم افزارها به طور خلاصه معرفی می شوند.
نرم افزار OPNET:
مدل ساز Opnet [۱۷۷]اولین محصول نرم افزاری شرکت فناوری OPNET می باشد. این نرم افزار ابزاری برای مدل کردن و شبیهسازی شبکههای مخابراتی میباشد. در این نرم افزار مدلهایی برای شبیهسازی شبکه از یک LAN ساده تا شبکههای ماهواره ای بزرگ وجود دارد و می توان شبکه اینترنت در کل جهان را با آن شبیه سازی کرد. Opnet از رابط گرافیکی جهت ارتباط با کاربر [۱۷۸] استفاده میکند. در شبیه ساز OPNET، یک ساختار سلسله مراتبی بکار میرود و مسئله در سطوح شبکه، گره و فرایند [۱۷۹] تعریف می شود که در هر سطح، جنبههای مختلف مدل مطرح می شود. در شکل زیر این ساختار دیده می شود:
شکل ۵‑۱ ساختار سلسله مراتبی بکار رفته در نرم افزار OPNET
از معایب این نرم افزار در این است که امکان بوجود آوردن پروتکل های جدید در آن فراهم نیست.
شبیه ساز GloMoSim:
GloMoSim [۱۸۰] یک نرم افزار شبیه ساز پروتکلهای شبکه برای شبیه سازی شبکههای سیمی و بدون سیم می باشد. GloMoSim طراحی شده است تا بتواند از قابلیت شبیه سازی رخدادهای مجزای موازی[۱۸۱] استفاده کند. این شبیهساز به عنوان یک مجموعه از ماژولهای کتابخانه [۱۸۲] طراحی شده است. هر کدام از این کتابخانهها، پروتکل ارتباطی خاصی را شبیهسازی میکند. این کتابخانهها توسط نرم افزار PARSEC طراحی شدهاند. کتابخانههای ماژولهای جدید می توانند، با کمک این زبان به GloMoSim اضافه شوند. GloMoSim طوری طراحی شده است که قابل گسترش باشد[۶۷]. از این نرم افزار جهت شبیه ساز شبکه های بزرگ سیمی و غیر سیمی می توان استفاده کرد. پنج لایه فیزیکی، مک، شبکه، انتقال و کاربرد در GloMoSim وجود دارد. این نرم افزار از شبکههای ناهمگن با هزاران گره پشتیبانی میکند. این نرم افزار توانایی نصب شدن، روی انوع محیط های لینوکس و ویندوز را دارد. جهت نصب این نرم افزار بر روی ویندوز، لازم است نرم افزار های java و C++ نصب شده باشند. این شبیه ساز دیگر در حال توسعه فعال [۱۸۳] نمی باشد. در شکل زیر معماری این شبیه ساز را مشاهده می کند.
شکل ۵‑۲: معماری شبیه ساز GloMoSim [67]
شبیه ساز QualNet:
این شبیه ساز در اصل نسخه تجاری شبیه ساز GloMoSim می باشد که توسط گروه تکنولوژیهای مقیاس پذیر شبکه یا SNT [۱۸۴]برای شبیه سازی پروژه های دفاعی JTRS، BCNIS و Stratcom Cyber طراحی شده است.
شبیه ساز NS2:
نرم افزار شبیه ساز شبکه [۱۸۵] یا NS2 یک ابزار کاربردی برای شبیه سازی عملکرد شبکههای مخابراتی می باشد که برای اولین بار در سال ۱۹۸۹ به کار گرفته شد و هم اکنون به یکی از رایج ترین ابزارها جهت ارزیابی عملکرد شبکههای مخابراتی تبدیل شده است. از این نرم افزار جهت شبیه سازی رویدادهای گسسته شبکه استفاده میشود. هسته نرم افزار NS2 با زبان برنامه نویسی C++ نوشته شده است و پوسته و ظاهر این این نرم افزار توسط زبان برنامه نویسی Otcl [۱۸۶]نوشته شده است. NS2 زمینههای لازم برای شبیه سازی پروتکلهای لایه مک، مسیریابی، ترافیک و… در محیط سیمی و بیسیم را فراهم میکند. در این نرم افزار، یک سری الگوریتم مسیریابی به صورت پیش فرض تعریف شدهاند، که شامل پروتکلهای AODV و DSDV و DSR و TORA و PUMA میباشد. هر گونه پروتکل جدیدی که بخواهد تعریف شود، در ابتدا باید در زبان C++ تعریف شود و سپس در برنامه tcl به کار گرفته شود. این تعریف باید به گونهای باشد که بتوان توابع تعریف شده در C++ را در tcl فراخوانی کرد. NS2 به علتی که متن باز[۱۸۷] است، می توان آن را تغییر داد و در آن پروتکل های جدید و ساختار های نو تعریف کرد. همچنین در این شبیهساز تنوع وسیعی از انواع پروتکلهای شبکه و مدل های حرکتی تعریف شده است. به همین دلایل، در این پایان نامه از نرم افزار NS2 جهت شبیه سازی شبکه و پروتکل پیشنهادی استفاده شده است. در ادامه با ساختار این نرم افزار بیشتر آشنا میشوید.
ساختار شبیه ساز NS2 :
نسخه قدیمیNS2 ، NS1 نام داشت. نسخه جدید NS2، NS3 نام دارد که البته هنوز نسخه نهایی آن منتشر نشده است. NS2 یک زبان مفسری می باشد، به این معنا که این ساختار اجازه میدهد که شبیهسازی نوشته و اصلاح شود بدون اینکه نیاز باشد نرم افزار از اول دوباره کامپایل شود. NS2به همراه یک قسمت جدید انیمیشن شبکه به نام [۱۸۸] nam-1 آمد (این قسمت در NS 1 وجود نداشت). از این انیمیشن ساز جهت مشاهده بصری نتایج خروجی شبیهسازی و مشاهده پیکربندی شبکه به صورت گرافیکی استفاده میشود .
شبیه ساز NS2 مبتنی بر دو زبان است، یک شبیه ساز شی گرا که در زبان C++ نوشته شده است و تفسیرگر OTcl که دستورات کاربر را اجرا می کند. OTcl میتواند اشیا کامپایل شده در C++ را از طریق tclcl اجرا کند. در نتیجه هر شی تعریف شده در C++ یک زوج متقابل در OTcl دارد و رابط اجرای این دو، tclcl میباشد.
NS2 یک کتابخانه قوی از شبکهها و عناصر شبکه و پروتکلها دارد. دو کلاس سلسله مراتبی[۱۸۹] وجود دارد: سلسله مراتب کامپایل شده C++ [۱۹۰]و مفسرهای OTcl. اینها یک به یک متناظر با یکدیگر هستند. استفاده از سلسله مراتب کامپایل شده C++ اجازه می دهد که شبیهسازی سریعتر اجرا شود و ما به بازدهی بالا برسیم. این امر در تعریف و اجرای دقیق پروتکلها تاثیرگذار است و باعث کم شدن زمان شبیه سازی می شود. در برنامه های OTcl که توسط کاربر نوشته می شود، توپولوژی شبکه مورد نظر، پروتکلها و عناصر مورد نیاز تعریف میشود. هر کدام از این موارد قبلا باید در سلسله مراتب کامپایل شده تعریف شده باشند[۶۸].
NS2 یک شبیه ساز رویداد های گسسته می باشد. در این ساختار، پیشرفت زمان وابسته به زمان بندی رویدادها می باشد. این کار توسط یک زمان بند[۱۹۱] انجام میشود. منظور از رویداد، یک شی[۱۹۲] در سلسله مراتب C++ با یک شناسه منحصر به فرد به همراه یک برنامه زمانی مشخص و یک اشاره گر به آن شی جهت مدیریت رویداد میباشد.
ساختار زبانهای برنامه نویسی بکار رفته در NS2 در شکل زیر به نمایش گذاشته شده است. Otcl [۱۹۳] همان زبان tcl شی گرا می باشد. Tclcl رابط بین زبان برنامه نویسی tcl و C++ میباشد. در شکل زیر مفاهیم بالا دیده می شود :
شکل ۵‑۳: ساختار زبان های برنامه نویسی NS2
شبیه سازی در زبان برنامه نویسی Otcl تعریف میشود که شامل گرهها، لینکها، توپولوژی شبکه، نوع ترافیک و … میباشد. هر کدام از این وجهههای برنامه قبلا در زبان C++ نوشته و تعریف شدهاند.
شکل ۵‑۴: روند اجرای شبیه سازی در نرم افزار NS2
NS2 همه اطلاعات خروجی شبکه را در فایل متنی به نام فایل ردگیری [۱۹۴] ذخیره می کند. جهت استخراج اطلاعات لازم خروجی از این فایل باید، باید با نرم افزار دیگیری به نام awk پردازش هایی را بر روی این فایل انجام داد .
شکل ۵‑۵ نمونه ای از فایلهای ردگیری شبیه ساز NS2
معیارهای ارزیابی عملکرد پروتکل مسیریابی
در این بخش به معرفی چند معیار از بین معیارهای متعددی که میتوانند برای ارزیابی پروتکل های مسیریابی مفید باشند، میپردازیم:
توان عملیاتی [۱۹۵] متوسط نرخ تحویل موفق پیام بر روی کانال می باشد .به بیان دیگر توان عملیاتی، برابر است با میزان انتقال موفقیت آمیز پیام بین مبدا و مقصد بر روی یک بازه زمانی خاص.
تأخیر پایان به پایان [۱۹۶] در دریافت بستههای داده شامل تمامی انواع تأخیرهای ممکن در شبکه میباشد. مانند تأخیر ناشی از انتخاب مسیر[۱۹۷]، تأخیر در لایه MAC، انتظار در صف[۱۹۸] گره های میانی[۱۹۹] ،زمان لازم برای انتقال و… .
تأخیر پایان به پایان برای بسته j که توسط گره i (گره مبدأ) فرستاده شده است و به طور موفق به مقصد رسیده، برابر است با:
(۲) End-to-End Delay(ij) = Start time(ij) - End time(ij)
Start time= زمان ارسال بسته j از گره i
End time = زمان دریافت بسته j توسط گره مقصد
نرخ تحویل دهی بستهها [۲۰۰] یا PDR بیانگر نسبت تعداد بسته هایی که طور موفق به مقصد رسیدهاند به کل بستههای ارسالی می باشد.
بار نرمال شده مسیریابی [۲۰۱] یا NRL بیان گر میانگین تعداد پیامهای کنترلی تولید شده به ازای یک بسته دادهای که با موفقیت به مقصد میرسند، میباشد .
نتایج شبیه سازی
برای ارزیابی پروتکل پیشنهادی، سه آزمایش جداگانه طراحی شده است. در آزمایش اول برای ارزیابی قابلیت مقیاس پذیری، عملکرد پروتکل های پیشنهادی در برابر افزایش تعداد گرهها ارزیابی شده است. در آزمایش دوم برای تعیین تعداد بهینه خوشهها، پروتکل پیشنهادی با تعداد متفاوت خوشه مورد بررسی قرار گرفته است. در آزمایش سوم به دنبال مشاهده اثر تحرک بر عملکرد پروتکل های پیشنهادی می باشیم.
بررسی پروتکل پیشنهادی در حل مشکل مقیاس پذیری
جهت بررسی تاثیر پروتکل پیشنهادی در حل مشکل مقیاس پذیری در مقایسه با پروتکل های موجود، سناریوی زیر طراحی شده است. در این آزمایش مقایسه ای بین عملکرد دو پروتکل پیشنهادی DSDV-Het و AODV-Het با پروتکلهای مسیریابی DSDV و AODV انجام شده است. در سناریوی شبیهسازی فرض شده است که همه گره ها به رادیوی IEEE 802.11 DCF با برد ۲۵۰ متر مجهز هستند. بعضی از گرهها نیز به رادیویی با برد ۱۰۰۰ متر مجهز هستند. جهت بررسی مشکل مقیاس پذیری باید چگالی گرهها موجود در محیط ثابت باشد. به همین دلیل با افزایش تعداد گرهها محیط نیز بزرگتر شده است. تعداد گرهها از ۶۰ تا ۲۱۰ گره (۶۰و۹۰و۱۲۰و۱۵۰و۱۸۰و۲۱۰)افزایش پیدا کرده است و محیط شبیه سازی نیز از ۱۰۰۰×۱۰۰۰ تا ۱۹۰۰×۱۹۰۰ افزایش پیدا کرده است. در همه این آزمایشها، میانگین تعداد همسایههای هر گره، ۱۰ تا در نظر گرفته شده است.
نوع ترافیک در نظر گرفته شده UDP/CBR با سایز بستهی ۵۱۲ بایت میباشد. ۱۰ جریان ترافیک بین ۲۰ گره که به طور تصادفی انتخاب شده است، برقرار شده است. گره ها به صورت تصادفی حرکت می کنند و بیشترین سرعت هر گره ۳ متر بر ثانیه می باشد. پیام CHC هر ۵۰ ثانیه یک بار در شبکه توسط گره های سرخوشه همه پخشی شده است. این دوره تناوب ارسال پیام CHC با توجه سرعت حرکت گرهها انتخاب شده است. زمان کل شبیه سازی ۲۰۰ ثانیه در نظر گرفته شده است و هر شبیه سازی ۱۵ بار تکرار شده است و نتایج نهایی از میانگین این ۱۵ بار اجرای تصادفی بدست آمده است.
در این آزمایش شبکه به ۴ ناحیه تقسیم شده است. حرکت گره ها از نظر سرعت و زمان توقف و مقصد به طور تصادفی در نظر گرفته شده است. عملکرد شبکه از نظر توان عملیاتی و تاخیر انتها به انتها و نرخ تحویل دهی بسته (PDR) و بار نرمال شده مسیریابی (NRL) بررسی شده است. هر آزمایش ۱۵ بار با مکان گره های تصادفی و حرکت تصادفی متفاوت گره ها تکرار شده است و میانگین گرفته شده است .
شکل ۵‑۶: نمای شبکه شبیه سازی شده در نرم افزار NS2
نتایج این شبیه سازی در نمودارهای زیر به نمایش گذاشته شده است :
شکل ۵‑۷: توان عملیاتی برحسب تعداد گره