شبیه ساز های شبکه های حسگر زیر آب (UWSN)
در این بخش با معرفی شبیه ساز های شبکه های حسگر زیر آب (UWSN) در خدمت شما دوستان عزیز هستیم که ابزار های مطرح شده در آن شبیه ساز MIRACLE ، شبیه ساز NS3 UAN و شبیه ساز Aqua-Sim می باشد که در ادامه به جزئیات هر کدام از آنها پرداخته می شود.
شبیه سازی شبکه های زیر آبی
تاکنون شبیه سازهای بسیار کمی جهت شبیه سازی شبکه های زیر آب ارائه شده اند که بیشتر این شبیه سازها مبتنی بر شبیه ساز NS2 هستند. شبیه ساز شبکه NS2 ابزاری پرطرفدار، متن باز و رویداد گسسته است و در محافل علمی و پژوهشی طرفداران زیادی دارد و تعداد مقالات ارائه شده با این شبیه ساز بسیار زیاد است. NS2 از دو زبان ++C و Otcl استفاده می کند. زبان اسکریپتی Otcl برای پیکربندی و تنظیمات و طراحی توپولوژی به کار می رود. زبان ++C نیز برای پیاده سازی الگوریتم ها و پروتکل های شبکه استفاده می شود. متن باز بودن NS2 این امکان را می دهد تا بتوان بر اساس نیاز خود، بسته ها و ماژول های جدیدی را به این شبیه ساز افزود و آنها را به کار گرفت. در ادامه به تعدادی از شبیه سازهای ارائه شده مبتنی بر NS2 می پردازیم.
شبیه ساز MIRACLE
در حال حاضر NS2 از واسط های بی سیم چند گانه پشتیبانی نمی کند و فاقد ابزارهای انعطاف پذیر جهت کنترل Cross Layer سیستم های ارتباطی می باشد. شبیه ساز Miracle از تکنولوژی چند لایه و لایه متقاطع استفاده می کند. این شبیه ساز با افزودن کتابخانه های پویا به NS2 سبب پشتیبانی از تکنولوژی چندگانه و لایه متقاطع را فراهم آورده است. در این شبیه ساز ویژگی های کانال صوتی نظیر تاثیر دما، شوری، فشار بر سرعت صوت، تضعیف وابسته به فرکانس و نویز مدل شده است. لایه فیزیکی در Miracle بصورت BPSK عمل مدولاسیون را انجام می دهد. در این شبیه ساز پروتکل های لایه MAC به راحتی می توانند بر روی لایه فیزیکی توسعه داده شوند. در حال حاضر پروتکل های MAC قابل استفاده در این شبیه ساز، پروتکل Aloha و پروتکل FDMA می باشند.
این شبیه ساز توسط موسسه UWFunLab ارائه شده است. این شبیه ساز نیز از ماژول های جداگانه ای که در پوشه UAN قرار دارند و جهت توسعه از NS2 استفاده می کند. ماژول های اضافه شده توسط هسته NS2 کامپایل می شوند و می توان از آنها استفاده نمود. لایه فیزیکی به کار گرفته شده در آن از روش FH-FSK جهت مدولاسیون استفاده می کند. پروتکل های MAC به کار گرفته شده در این شبیه ساز شامل پروتکل Aloha و پروتکل Pure ALOHA با مقدار BackOff تصادفی و MAC مبتنی بر رزرو کانال کنترلی می باشد.
شبیه ساز NS3 UAN
شبیه ساز NS3 یک ابزار رویداد گسسته متن باز است که برای مقاصد آموزشی و تحقیقاتی ارائه شده است. هسته NS3 با زبان ++C نوشته شده و می توان در آن از زبان Python استفاده نمود. یکی از اهداف طراحی نرم افزار NS3 رفع مشکل انقیاد ماژول ها و تعامل آنها و فقدان مدیریت حافظه و کامپایل دو زبان متفاوت در NS2 می باشد. شبیه ساز NS3 از ماژول هایی که در پوشه UAN قرار دارند جهت شبیه سازی شبکه های حسگر زیر آب استفاده می کند. این شبیه ساز از مدل های متفاوتی جهت مدل کردن ارتباطات زیر آب استفاده می کند. پروتکل های MAC به کار گرفته شده در این شبیه ساز شامل پروتکل CW-MAC ، پروتکل RC-MAC و پروتکل Aloha می باشد. همچنین در این شبیه ساز امکان بکارگیری AUV ها و استفاده از آنها در کنار گره های حسگر وجود دارد.
شبیه ساز Aqua-Sim
شبیه ساز Aqua-Sim یک ابزار متن باز مبتنی بر نرم افزار NS2 است که توسط Peng Xie در دانشگاه Connecticut ارائه شده است. به دلیل اینکه ماژول های بسته CMU در NS2 قابل استفاده در محیط زیر آب نیست و برای ارتباطات بی سیم شبکه های حسگر بی سیم زمینی به کار می رود، بسته Aqua-Sim مستقل و موازی با CMU بر روی هسته NS2 قرار می گیرد تا ارتباطات صوتی زیر آب را پشتیبانی کند. این مفهوم در شکل زیر نشان داده شده است.
شبیه ساز Aqua-Sim از روش طراحی شی گرایی در NS2 تبعیت می کند که در آن همه موجودیت های شبکه حسگر زیر آب در قالب کلاس های ++C پیاده سازی شده اند. بسته Aqua-Sim تحت پوشه ای با نام UnderwaterSensorNetwork در شاخه اصلی NS2 قرار می گیرد و حاوی چهار پوشه به شرح زیر است:
UW_Common:
کلاس ها و کدهای شبیه سازی گره های حسگر بی سیم زیر آب و تولید ترافیک در این پوشه قرار دارند.
UW_Routing:
در این پوشه کدهای مربوط به پروتکل های مسیریابی قرار دارند.
UW_Tcl:
این پوشه نیز شامل چندین سناریو و مثال با زبان Otcl است.
کلاس های موجود در شبیه ساز Aqua-Sim
کلاس های موجودیت شبکه:
این نوع کلاس ها موجودیت های شبکه را توصیف می کنند. به عنوان مثال لایه فیزیکی یک گره با شی UnderwaterPhy و پروتکل MAC همه پخشی آن با شی BroadcastMAC شناخته می شود. این اشیاء وظایف مربوط به خود را انجام می دهند و واسط های استانداری برای ارائه خدمات به لایه های پائینی یا بالایی فراهم می آورند.
کلاس های واسط محض:
این نوع کلاس ها از نوع مجازی هستند و نمی توان از آنها نمونه ای را تعریف کرد. این نوع کلاس ها پایه ای برای سایر کلاس ها هستند به عنوان مثال UnderwaterMAC یک واسط برای موجودیت های لایه MAC مانند RMAC و BroadcastMAC فراهم می آورد. اگر چه پیاده سازی پروتکل های RMAC و BroadcastMAC کاملا متفاوت است، آنها از واسط یکسانی برای ارتباط لايه LLC و فیزیکی استفاده می کنند که توسط کلاس پایه UnderwaterMAC مشخص می شود.
کلاس های کاربردی رایج:
این نوع کلاس ها برخی وظایف رایج را برای کلاس های دیگر انجام میدهند و می توانند در هر کلاسی مورد استفاده قرار گیرند. به عنوان مثال کلاس UW_Hash_Table یک جدول Hash (درهم) بسیار کارا که قابل استفاده توسط کلاس های پروتکل های مسیریابی و MAC است را پیاده سازی می کند. شکل زیر دیاگرام Aqua-Sim را نشان میدهد.
در این شکل شی UnderwaterNode برای توصیف گره حسگر زیر آب است. این شی اطلاعات مفیدی از گره مانند موقعیت گره و سرعت حرکت آن را در بر می گیرد. این شئ می تواند توسط هر شئ دیگری در Aqua-Sim مورد استفاده قرار گیرد. شیی UnderwaterChannel توصیف گر کانال صوتی آب است. در هر شبکه یک شی UnderwaterChannel قرار دارد و همه بسته ها قبل از تحویل در این شی صف می شوند. علاوه بر این، این شئ واسطی عمومی برای لایه های بالاتر فراهم می کند و اشیاء موجود در لایه بالاتر مانند لایه مسیریابی می توانند به راحتی از خصوصیات کانال آگاهی کسب کنند. به عنوان مثال اگر پروتکل MAC گره A بخواهد یک بسته کنترلی به گره B ارسال کند، بسته را به شئ UnderwaterPhy خود ارسال کرده و این بسته به UnderwaterChannel تحویل داده می شود و در یک صف FIFO قرار می گیرد و میزان تاخیر انتشار و مقدار تضعیف آن محاسبه و به شئ UnderwaterPhy گره B تحویل داده می شود و در نهایت به شی لایه MAC گره B می رسد.
سلام نرم افزار شبیه ساز Aqua-Sim به همراه آموزش نصب رو هم میشه تو سایتتون واسه دانلود بزارین جهت انجام پروژم خیلی لازمش دارم. ممنون
بله لینک دانلود نرم افزار شبیه ساز Aqua-Sim به زودی در سایت قرار خواهد گرفت.