آموزش رایگان شبیه ساز NS3
در این آموزش رایگان، با آموزش ns3 در خدمت شما دانش پژوهان محترم خواهیم بود. برای یادگیری شبیه ساز ns3 ، این آموزش را در قالب 4 جلسه آموزشی در نظر گرفته ایم. طی این آموزش، شما با نرم افزار ns3 و نحوه نصب ns3 در لینوکس آشنا خواهید شد. همچنین در پایان این آموزش از نرم افزار ns3 ، نحوه اجرای یک شبیه سازی در ns3 را برای شما توضیح خواهیم داد.
دانش پژوه گرامی، این دوره رایگان، بخشی از دوره آموزش جامع NS3 می باشد. نسخه کامل این آموزش را می توانید در صفحه اصلی دوره دنبال کنید.
بخش ۱: معرفی شبیه ساز NS3
ابتدا با معرفی شبیه ساز شبکه NS3 شروع می کنیم. شبیه ساز NS3 یک شبیه ساز شبکه گسسته ، مبتنی بر رویداد است که برای اهداف تحقیقاتی و آموزشی استفاده می شود. این شبیه ساز در سیستم عامل های MAC، Linux و Windows قابل نصب و استفاده می باشد.
پروژه NS3 که یک پروژه Open-Source و در حال توسعه می باشد در سال ۲۰۰۶ آغاز شده و تا کنون (۲۰۱۷) ادامه پیدا کرده است. شبیه ساز NS3 شبکه های مبتنی بر IP و غیر IP را پشتیبانی می کند و علاوه بر این با بهره گیری از یک زمانبند بلادرنگ امکان تعامل با یک سیستم واقعی (Emulation) را نیز فراهم می نماید.
معرفی شبیه ساز NS3 – مدت آموزش ۷:۱۴ دقیقه
پشتیبانی NS3 از NS2
شبیه ساز NS3 دارای قابلیت Backward Compatibility با NS2 نیست. یعنی قرار نیست همه ویژگی های NS2 به طور مستقیم در NS3 نیز پشتیبانی شوند. بلکه شبیه ساز NS3 یک شبیه ساز جدید است. هرچند که هر دو شبیه ساز در ++C نوشته شده است اما شبیه ساز NS3 یک شبیه ساز جدیدی است که نمی تواند رابط های برنامه کاربردی NS2 را پشتیبانی کند. برخی از مدل های NS2 در حال حاضر از NS2 به NS3 منتقل شده است و پروژه حفظ NS2 در طی ساخت NS3 ، همچنان ادامه دارد.
مقایسه NS3 با NS2
مزیت شبیه ساز NS3 در مقایسه با سایر شبیه سازهای مبتنی بر رویداد، عدم استفاده از زبان های مدل سازی مانند TCL است. شبیه ساز NS3 از زبان های ++C و Python استفاده کرده است در حالی که بسیاری از شبیه سازها از زبان های مدل سازی خاص حوزه کاری مد نظرشان استفاده می کنند.
برای مثال شبیه ساز شبکه NS-2 از زبان OTcl برای این منظور استفاده می کند. کاربر با اسکریپت های OTcl ساختار شبکه مورد نظر را می نویسد و سپس برنامه ی اصلی NS2 آن ساختار را با پارامترهای مشخص شده شبیه سازی می نماید.
برای کسانی که با NS2 آشنایی دارند، واضح ترین تغییر در شبیه ساز NS3 عبارت است از انتخابی بودن زبان اسکریپت است. در NS2 امکان شبیه سازی تماماً به زبان ++C وجود ندارد. علاوه بر این برخی از اجزای NS2 به زبان ++C و برخی دیگر به زبان OTcl نوشته شده اند درحالیکه در NS3 کلیه ماژول ها به زبان ++C نوشته شده است و شما می توانید اسکریپت های خود را به صورت کامل با ++C یا Python بنویسید.
نمایش گرافیکی شبیه سازی در NS3
یکی از مزایای شبیه ساز NS3 قدرت بصری سازی بالای این شبیه ساز است که در ابزار NetAnim دیده می شود. آخرین نسخه این انیماتور شبکه را می توانید از این لینک دریافت نمایید.
این ابزار، قادر است وقایع شبکه را با استفاده از خروجی trace شبیه سازی، به صورت ویژوال نمایش دهد. در شکل زیر یک اسکرین شات از محیط NetAnim قابل مشاهده می باشد:
ماژول ها و فیلدهای قابل شبیه سازی در NS3
شبیه ساز NS3 از لحاظ ماژول ها و فیلدهای قابل شبیه سازی بسیار غنی بوده و به صورت مداوم به پروتکل های آن افزوده می شود:
- ۶LoWPAN
- AODV
- Applications
- Bridge Network Device
- CSMA
- Click Routing
- Core
- DSDV
- DSR
- Energy Models
- Flow Monitor
- Internet
- LR-WPAN
- LTE Models
- MPI Distributed Simulation
- Mesh Device
- Mobility
- Network
- Network Animation
- Nix-Vector Routing
- OLSR
- OpenFlow
- Point-To-Point Network Device
- Propagation Models
- Spectrum Models
- Statistics
- String-value-formatting
- Tap Bridge Network Device
- Test suites
- Topology Input Readers
- Traffic-control
- UAN Models
- Utils
- Virtual Device
- Visualizer
- WAVE module
- WiMAX Models
- Wifi Models
برای مشاهده آخرین نسخه از لیست ماژول های NS3 لطفاً به این صفحه مراجعه نمایید.
بخش ۲: نصب لینوکس و پکیج های پیش نیاز NS3
برای نصب پکیج های پیش نیاز شبیه ساز شبکه NS3 کافی است دستورات زیر را به ترتیب اجرا نمایید:
sudo apt-get update
sudo apt-get install build-essential autoconf automake libxmu-dev python-pygoocanvas python-pygraphviz cvs mercurial bzr git cmake netanim p7zip-full
نصب لینوکس و پکیج های پیش نیاز NS3 – مدت آموزش ۲۷:۵۵ دقیقه
بخش ۳: نصب شبیه ساز NS3
در این جلسه قصد داریم نحوه نصب ns3 روی سیستم عامل لینوکس Ubuntu را به شما آموزش دهیم. نصب برنامه ns3 روی لینوکس، با نصب برنامه های عادی لینوکس کمی متفاوت است. در این آموزش، به صورت ساده و کامل، نحوه نصب شبیه ساز ns3 روی سیستم عامل لینوکس اوبونتو را آموزش خواهیم داد.
قبل از پرداختن به آموزش نصب ns3، ابتدا باید ns3 را دانلود نمایید. برای دانلود NS3 می توانید از لینک زیر استفاده کنید.
چنانچه قبلاً یکی از نسخه های شبیه ساز NS3 را نصب کرده اید، می توانید به جای دانلود برنامه ns3 ، از لینک زیر patch مربوط به ارتقای نسخه NS3 به نسخه جدیدتر را دانلود و نصب نمایید.
برای نصب شبیه ساز NS3 کافی است دستورات زیر را وارد نمایید:
tar jxvf ns-allinone-3.2x.tar.bz2
cd ns-allinone-3.2x/
./build.py –enable-examples –enable-tests
پس از اتمام مراحل نصب، برای بررسی صحت نصب NS3، می توانید از دستورات زیر استفاده نمایید:
cd ns-allinone-3.2x/ns-3.2x/
./waf –run hello-simulator
نصب شبیه ساز NS3 – مدت آموزش ۱۵:۰۳ دقیقه
بخش ۴: اجرای یک شبیه سازی در NS3
در این جلسه آموزشی، اجرای یک شبیه سازی مربوط به پروتکل CSMA و نحوه تحلیل خروجی شبیه سازی ns3 را مشاهده خواهید کرد.
شبیه سازی CSMA در NS3 – مدت آموزش ۱۳:۲۱ دقیقه
دانش پژوه گرامی، این دوره رایگان، بخشی از دوره آموزش جامع NS3 می باشد. نسخه کامل این آموزش را می توانید در صفحه اصلی دوره دنبال کنید.
درباره مجید شبیری
کارشناس ارشد فناوری اطلاعات از دانشگاه صنعتی امیرکبیر. مدیر و مؤسس "علوم نوین امیرکبیر"، متخصص برنامه نویسی، شبکه، لینوکس و امنیت. از سال 84 همزمان با شروع تحصیلات دانشگاهی، وارد حوزه تخصصی مهندسی نرم افزار شدم و اکنون مشغول تحقیق، توسعه و آموزش در حوزه بلاک چین هستم و معتقدم بلاکچین به زودی فضای کسب و کارها را منقلب خواهد کرد.
نوشته های بیشتر از مجید شبیریمطالب زیر را حتما مطالعه کنید
دوره های آموزشی مرتبط
پکیج آموزش جامع NS3
3 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام اموزش تحت ویندوز یاد بدید نه لینوکس
سلام
شما در محیط ویندوز می تونید با ماشین مجازی یک سیستم لینوکسی راه اندازی کنید و از آموزش استفاده کنید
مدرس دوره هم در سیستم عامل مک از طریق ماشین مجازی لینوکس NS3 را نصب و تدریس کرده اند.
ولی اگر منظور شما این است که در سیستم عامل ویندوز NS3 را نصب کنیم و آموزش دهیم. کار اصولی نیست و باید در سیستم عامل لینوکس نصب شود.
موفق باشید.
سلام. امکان آن وجود دارد. آیا دوره ها را دیده اید؟
https://amirkabir-science.com/courses/ns3-online-course/