شبیه سازی با omnet

شبیه سازی با omnet

شبیه سازی و انجام پروژه با omnet که  یک شبیه ساز شی گرا بوده و از دسته نرم افزارهای discrete event  است. omnet مخفف Objective Modular Network است و مبتنی بر C++ است. چون این نرم افزار در محیط C++ نوشته شده است در اغلب محیط ها باکامپایلر C قابل اجرا می باشد. به وسیله  DoS و X- window پشتیبانی شده و به  Win3.1 و Win95 و WinNT قابل حمل است. نویسنده این نرم افزار با یک  شرکت مجارستانی توزیع کننده OPNET همکاری داشته است. این فرد عضو چندین پروژه شبیه سازی شبکه بوده و مدل شبیه سازی سیستم VSAT در OPNET را نوشته است. در شبیه سازی با omnet از لحاظ ساختاری این نرم افزار سلسله مراتبی از ماژول های تو در تو می باشد که ماژول ها از طریق تبادل پیغام با یکدیگر در ارتباط هستند. در پائین ترین سطح این سلسله مراتب ماژول های خود کاربر قابل ایجاد می باشند که می تواند اجرای شبیه سازی با omnet را به صورت موازی پیش ببرد.با این نرم افزار هر نوع مکانیزم زمانبندی قابل بکار گیری است. زبان متنی برای توصیف توپولوژی دارد که به آن NED گویند. این زبان متنی بوسیله هر ابزار پردازشگر متنی (مانند perl و awk) قابل ایجاد است. همین فرمت بوسیله ادیتور گرافیکی قابل بکار گیری است. امنت واسط قوی برای دیباگ کردن و تریس کردن فراهم می کند.

OMNET چیست؟

یک شبکه کامپیوتری یا مخابراتی، شامل تجهیزات و زیرساختی است که اجرای آن در مقیاس تجاری، معمولاً با هزینه های زمانی و مالی چشمگیری همراه است. بنابراین لازم است قبل از اجرای واقعی شبکه، یک مدل سازی و تحلیل قبلی در مورد شبکه مورد نظر صورت گیرد و مشکلات احتمالی شبکه، شناسایی و برطرف گردد. برای این کار نیاز به ابزاری داریم که تجهیزات و ارتباطات شبکه را برای ما مدل سازی و شبیه سازی کند. OMNET محیط نرم افزاری است که اکثر شرکت ها و تیم های پژوهشی، دانشجویان و محققین حوزه شبکه برای مدل سازی، شبیه سازی، Emulation و تحلیل و ارزیابی کارآیی شبکه و پروتکل های شبکه از آن استفاده می کنند. کار اصلی نرم افزار OMNET++ شبیه سازی شبکه های سیمی و بیسیم می باشد و با پشتیبانی از شبکه های ادهاک بیسیم (Wireless Ad Hoc Networks)، شبکه های حسگر بی سیم (WSN)، شبکه MANET، شبکه بین خودرویی (VANET)، شبکه های نوری (Photonic Networks)، پروتکل و استاندارد های متنوع شبکه و … محبوبیت مطلوبی را در مقایسه با نرم افزار های مشابه شبیه ساز شبکه نظیر NS2, NS3, OPNet, QualNET, GloMoSIM, JSIM و … به خود اختصاص داده است.

شبکه در نرم افزار OMNET یک مفهوم گسترده تر را در بر می گیرد که شامل شبکه های ارتباطی سیمی و بی سیم است. با استفاده از این نرم افزار می توان روی تراشه شبکه ها برنامه ریزی کرد. بسته های ساخته شده در این شبیه ساز یک شبکه را صف بندی می کند. همپنین می توان با این نرم افزار، عملیات پیشرفته روتینگ در سطوح مختلف را پیاده سازی کرد. این شبیه ساز شبکه در سیستم عامل های windows و Mac و توزیع‌ های مختلف Linux قابل نصب می باشد. نرم افزار OMNET فریم ورک های متنوعی دارد که هر یکی از آنها عملکرد خاصی را در شبیه سازی ارئه می کند که از در معروف ترین آنها INET, INETMANET, Simulte, OverSIM, Veins, ReaSE, Castalia می باشند.

OMNET اکثر پروتکل های متداول شبکه را پوشش می دهد. با استفاده از Omnet می توان یک شبکه را قبل از پیاده سازی واقعی، مدل سازی نموده و پارامترهای مختلف شبکه را در شبیه سازی تغییر داد و نتایج حاصل از شبیه سازی ها را مورد ارزیابی و مقایسه قرار داد. پس از هر شبیه سازی می توان یک سری آماره یا Statistic را از نتایج شبیه سازی استخراج نمود.  Statistic در واقع پارامترهایی هستند که با انجام شدن هر شبیه سازی، مقدار آنها مشخص می شود.

نرم افزار OMNET از معروف ترین و محبوب ترین ابزار های شبیه سازی شبکه های کامپیوتری است که عملکرد آن بر اساس رویداد های گسسته می باشد که ابزاری کد باز (open source) و با قابلیت توسعه است. شبیه ساز آمنت دارای محیط گرافیکی می باشد و ماژول های مختلف را نیز در خود جای داده است. آمنت یک نرم افزار شبیه ساز مبتنی بر زبان برنامه نویسی سی پلاس پلاس می باشد که از کتابخانه ها و چارچوب های متنوع این زبان استفاده می کند. وظیفه اصلی این نرم افزار در درجه اول، شبیه سازی ساختمان شبکه است. جهت مشاهده فیلم های آموزش omnet می توانید به صفحه فیلم های آموزشی وارد شوید.

لینک دانلود امنت ۵.۶.۱:

https://github.com/omnetpp/omnetpp/releases/download/omnetpp-5.6.2/omnetpp-5.6.2-src-linux.tgz

شبیه سازی با امنت

شبیه سازی انجام پروژه با امنت، تمامی اتفاقات در داخل ماژول های ساده رخ می دهند. ماژول های ساده کد C++ را که وقایع را ایجاد کرده و به وقایع پاسخ می دهند را کپسوله می نمایند. به عبارت دیگر، در واقع رفتارهای مدل را پیاده سازی می نمایند. کاربر قادر است انواع ماژول ساده را به وسیله زیر کلاس های cSimpleModule که بخشی از کتابخانه کلاس پروژه آمنت است ایجاد نماید. cSimpleModule فقط به عنوان یک ماژول مرکب از یک کلاس پایه دستوری، cModule مشتق می گردد. شما بایستی بعضی از اعضای مجازی را برای انجام کارهای مفید دوباره تعریف نمایید.

این قسمت متن متن متن دیدگاه­هایی را در کار عملی مانند مباحثی در رابطه با فایل­های مدل، گردآوری و اجرا و شبیه سازی پروژه با امنت مطرح می ­نماید. وقتی یک برنامه شروع بکار می­کند پیکربندی یک فایل را که اکثراً omnetpp.ini نامیده می­شود را می­خواند. این فایل شامل یک مجموعه تنظیمات کنترلی برای اجرا برنامه و مقدار دهی پارامترهای مدل می­باشد. خروجی ­های شبیه ساز نیز در داخل فایل­های داده نوشته می­شوند که شامل: فایل­های خروجی vector و فایل­های خروجی Scalar می­باشند. همچنین ممکن است کاربر مایل باشد که از فایل­های خروجی خود استفاده  نماید. در آموزش انجام پروژه با امنت ابزارهای جداگانه برای بررسی هر کدام از این فایل­های خروجی دارد. برنامه Plove و Scalars همراه با امنت نصب می­ شوند که به وسیله آنها به ترتیب می­توان فایل­های vector و scalar را مشاهده کرده و نتایج آنها را بررسی نمود. دو نوع ماژول داریم ماژول های مرکب و ساده. ماژولهای مرکب همانطور که از نامش پیداست به ماژول هایی گفته می شود که زیر ماژول ها را در بر دارند.ماژول های ساده ماژول هایی هستند که بوسیله خود کاربر ایجاد می شوند. در حقیقت ماژول های ساده الگوریتم های مدل هستند.

همه ماژول های سیستم در قالبی به نام module type هستند. در انجام پروژه های آمنت (Omnet) کاربر برای توصیف مدل modul type ها را به کار می گیرد (نمونه هایی از  module type را برای ایجاد module type های پیچیده تر بکار می گیرد). در مجموع ماژول سیستم نمونه ای از module type های از پیش تعریف شده است. زمانی که module type به عنوان بلاک سازنده بکار گرفته شود تفاوتی بین ماژول ساده و ماژول مرکب نیست. بدین مفهوم که کاربر برای سادگی می تواند یک ماژول ساده را به چندین ماژول ساده بشکند و در قالب یک ماژول مرکب بگنجاند یا برعکس قابلیت های یک ماژول مرکب را در یک ماژول ساده خلاصه کند.

OMNET چیست؟

آموزش نرم افزار omnet

آموزش پیاده سازی پروژه با نرم افزار omnet همان طور که ذکر شد ماژول ها از طریق تبادل پیغام با یکدیگر ارتباط برقرار می کنند. در محیط آموزش نرم افزار omnet شبکه واقعی پیام ها می توانند فریم ها یا بسته ها باشند. ماژول های ساده از طریق ارسال مستقیم پیغام یا به کمک مسیرهای از پیش تعریف شده با یکدیگر در ارتباط هستند.گیت ها واسط های ماژول ها هستند که دارای بافر می باشند و عامل اتصال دهنده لینک ها به یکدیگرند. لینک ها تنها در یک سطح از سلسله مراتب ماژول قابل ایجاد هستند. بدین معنا که در یک ماژول مرکب دو زیر ماژول می توانند از طریق گیت های متناظر متصل شوند ویا یک زیر ماژول با ماژول مرکب خود مرتبط شود. در آموزش نرم افزار omnet ساختار سلسله مراتبی پیام ها از طریق لینک ها یا اتصالات قابل انتقال هستند که مبدأ و مقصد پیغام ها ماژول های ساده می باشند.به سری لینک ها یا اتصالاتی که از یک ماژول ساده شروع و به یک ماژول ساده ختم می شود مسیر (route) گویند. پارامترهای زیر را می توان برای یک لینک مقداردهی نمود:

(sec) 1.Propagation Delay

(errors/bit) 2.bit error rate

 (bits/sec) 3.data rate

 ماژول های پیام

 مدل سازی پاکت های انتقال

اتصالات می توانند با سه پارامتر مشخص شوند. گرچه این پارامترها بیشتر امکاناتی را برای مدلسازی شبکه های ارتباطی ایجاد می نماید اما برای دیگر مدل های شبکه نیز مفید هستند. این پارامترها عبارتند از:

  • میزان تأخیر

  • نرخ خطای بیتی

  • نرخ داده

این مشخصات می توانند در تمامی مدل ها بکار برده شوند زیرا این مشخصه ها می توانند پارامترهای فردی هر connection، را مشخص نماید و یا تعریف کننده انواع لینک باشند. برای تعریف و مشخص نمودن این ویژگی ها ابتدا می بایست مفهوم کلی آنها را درک کرد. این مفاهیم عبارتند از:

Propagation Delay: (تأخیر انتشار) عبارت است از مقدار زمان تأخیر پیام طی عبور از کانال یا به عبارتی دیگر مدت زمانی که طول می کشد تا اطلاعات از طریق رسانه انتقالی مانند هوا در شبکه های بی سیم از یک کامپیوتر به کامپیوتر دیگر منتقل شود.

Bit Error Rate: (نرخ خطای بیتی) مشخص کننده احتمال خطا (درست نرسیدن) یک بیت است و برای مدلسازی کانال های ساده نویزی کاربرد دارد.

Data Rate: (نرخ داده) مشخص کننده تعداد بیت های انتقالی در ثانیه می باشد و برای محاسبه زمان انتقال یک پاکت (Packet) استفاده  می شود. هنگامی که از Data Rate استفاده  می شود، ارسال پیام در مدل سازی، شبیه انتقال اولین بیت است و ورود پیام مشابه پذیرش آخرین بیت است. این نوع مدل سازی معمولاً قابل اجرا نمی باشد. به عنوان مثال پروتکل های Tocken Ring و FDDI (Fiber Distributed Data Interface) معمولاً برای رسیدن فریم صبر نمی کنند. اما آنها تکرار ارسال بیت اولیه را زودتر از رسیدن، تکرار می نمایند. به عبارت دیگر فریم هایی که بین ایستگاه ها در جریان هستند دارای تأخیر کمی هستند (در حد چند بیت).

آموزش نرم افزار omnet