اهداف دوره
در پکیج آموزش جامع NS3، شما پس از آموزش کامل آموزش ns3، شبیه سازی انواع شبکه های سیمی، وایرلس و ادهاک (LAN , WLAN , Ad-hoc, Manet , …) در NS3 را به طور کامل آموزش خواهید دید.
NS3 چیست؟
NS3 یا Network Simulator 3 محیط نرم افزاری است که اکثر شرکت ها و تیم های پژوهشی، دانشجویان و محققین حوزه شبکه برای مدل سازی، شبیه سازی، Emulation و تحلیل و ارزیابی کارآیی شبکه و پروتکل های شبکه از آن استفاده می کنند. شبیه ساز شبکه NS3 اکثر پروتکل های متداول شبکه را پوشش می دهد. با استفاده از شبیه سازی شبکه با NS3 می توان یک شبکه را قبل از پیاده سازی واقعی، مدل سازی نموده و پارامترهای مختلف شبکه را در شبیه سازی تغییر داد و نتایج حاصل از شبیه سازی ها را مورد ارزیابی و مقایسه قرار داد.
پس از هر شبیه سازی شبکه با NS3 می توان یک سری آماره یا Statistic را از نتایج شبیه سازی استخراج نمود. آماره ها در واقع پارامترهایی هستند که با انجام شدن هر شبیه سازی، مقدار آنها مشخص می شود. برای آشنایی بیشتر با NS3 می توانید مقاله آموزش NS3 را مطالعه نمایید.
شبکه چیست؟
یک شبکه کامپیوتری یا مخابراتی، شامل یک سری تجهیزات و زیرساخت است که اجرای آن در مقیاس تجاری، معمولاً با هزینه های زمانی و مالی چشمگیری همراه است. بنابراین لازم است قبل از اجرای واقعی شبکه، یک مدل سازی و آنالیز قبلی در مورد شبکه مورد نظر صورت گیرد و مشکلات احتمالی شبکه، شناسایی و برطرف گردد. برای این کار نیاز به ابزاری داریم که تجهیزات و ارتباطات شبکه را برای ما مدل سازی و شبیه سازی کند.
مخاطبین دوره
پکیج جامع آموزش ns3، مربوط به آموزش شبیه سازی و مدل سازی شبکه های کامپیوتری با استفاده از نرم افزار NS3 می باشد و با توجه به اینکه محتوای دوره، کاملاً کاربردی و پروژه محور است، برای دانشجویان تحصیلات تکمیلی، متخصصین حوزه شبکه و فعالان حوزه IT ، بسیار مفید و کاربردی خواهد بود.
ضمناً شرکت ها و ارگان های دولتی که نیاز به آموزش سازمانی کارکنان دارند، می توانند با ما تماس حاصل کنند، و در رابطه با شرایط مناسب و تخفیف های ما برای ثبت نام های گروهی یا آموزش اختصاصی برای سازمان ها، اطلاعات لازم را کسب نمایند.
دموی رایگان از محتوای دوره
دموهای رایگان پکیج جامع آموزش ns3 در این قسمت قابل مشاهده می باشد. چنانچه دموی جدیدی از این دوره، ارائه شود، در همین قسمت درج خواهد شد. همچنین شما می توانید از طریق “ثبت نام در وب سایت” دموهای جدید این دوره را به محض ارائه شدن، از طریق ایمیل دریافت نمایید. امیدواریم این دوره را بپسندید و از این آموزش لذت ببرید.
نصب لینوکس و پکیج های پیش نیاز – مدت آموزش ۲۷:۵۵ دقیقه
معرفی شبیه ساز NS3 – مدت آموزش ۷:۱۴ دقیقه
اجرا و مشاهده نتایج گرافیکی مثال CSMA – مدت آموزش ۱۳:۲۱ دقیقه
نصب شبیه ساز NS3 – مدت آموزش ۱۵:۰۳ دقیقه
رسم منحنی با کلاس Gnuplot در NS3
مثال کامل از استخراج نتایج شبیه سازی در NS3
مثالی از شبیه سازی مدل خطای شبکه های بیسیم
آشنایی با شبکه های بیسیم
پروتکل مسیریابی AODV
شبیه سازی یک مقاله ادهاک
آموزش نصب OpenFlow 0.8.9
سرفصل مطالب
ماژول اول – آموزش مقدماتی NS3
بخش اول: معرفی و نصب شبیه ساز NS3
در این بخش، ابتدا به صورت کوتاه شبیه ساز NS3 به شما معرفی می شود و سپس نحوه نصب لینوکس اوبونتو روی ماشین مجازی به شما آموزش داده می شود. برای نصب NS3 ابتدا یک VMWare را نصب کرده و سپس یک لینوکس اوبونتو در VM نصب خواهیم کرد. در مرحله بعد قبل از نصب خود NS3 پکیج های پیش نیاز آن را روی لینوکس ubuntu نصب می کنیم و شبیه ساز NS3 را به صورت کامل نصب می کنیم. شما با مشاهده جلسات آموزشی این هفته خواهید توانست NS3 را بدون هیچ مشکلی روی سیستم خود نصب کرده و از آن استفاده نمایید.
۱: معرفی شبیه ساز NS3
- چرا NS3؟
- تاریخچه NS3
- مقایسه NS3 با NS2
- دانش مورد نیاز برای کار با NS3
- پلت فرم های موجود برای NS3
۲: نصب لینوکس و پکیج های پیش نیاز
- نصب لینوکس اوبونتو در ویندوز به کمک ماشین مجازی VMWare
- دانلود و نصب پکیج های پیش نیاز برای نصب NS3
۳: نصب شبیه ساز NS3
- دستورات نصب NS3
- نصب شبیه ساز NS3 روی لینوکس Ubuntu
- اطمینان از صحت نصب
- اجرای یک اسکریپت ساده
بخش دوم: شبیه سازی شبکه های p2p در NS3
در این بخش، یک مثال از شبکه های point to point در نظر گرفته شده است. هدف از این بخش، آشنا نمودن شما با کدهای شبیه سازی در NS3 بوده و به همین دلیل سعی شده تا ساده ترین مثال برای این بخش انتخاب شود. شما در این بخش با دستورات مورد استفاده برای کامپایل و اجرای شبیه سازی NS3 در لینوکس اوبونتو آشنا می شوید. کلیه مراحل شبیه سازی به صورت خط به خط به شما آموزش داده می شود. شما پس از پایان این بخش، مفاهیم شبیه سازی شبکه های نقطه به نقطه را می آموزید و با شبیه سازی شبکه های p2p در NS3 آشنا می شوید.
1: مروری بر مدل Point-to-Point در NS3
- آشنایی با پروتکل p-2-p یا همان پروتکل نقطه به نقطه یا نظیر به نظیر
- ساختار فریم ها در پروتکل p-to-p
- مدل Pont-to-Point در NS3
2: شبیه سازی یک شبکه Point-to-point در NS3
بخش سوم: شبیه سازی شبکه های LAN با استاندارد Ethernet و پروتکل مک CSMA
در این بخش قصد داریم یک شبکه LAN با استاندارد Ethernet را به شبکه Point-to-Point مثال قبلی اضافی کنیم. برای شبکه LAN خود از پروتکل CSMA استفاده خواهیم کرد. نحوه پیکربندی و شبیه سازی استاندارد اترنت، تشکیل توپولوژی BUS را خواهید آموخت و اینکه چگونه پس از شبیه سازی، معیارهای ارزیابی مورد نظر را از نتایج شبیه سازی استخراج کنیم و چگونه با استفاده از ویژوالایزر NS3 نتایج شبیه سازی را به صورت گرافیکی مشاهده کنیم.
۱: توصیف مدل مک CSMA در NS3
- آشنایی با پروتکل CSMA : Carrier-Sense Multiple Access
- آشنایی با شبکه های اترنت – Ethernet
- ساختار فریم های اترنت
- بررسی مدل CSMA در NS3
- بررسی مدل CSMA Channel در NS3
- بررسی کارت شبکه یا CSMA Net Device در NS3
- نحوه استفاده از CSMA Net Device در NS3
- نحوه انجام Tracing در CSMA
۲: یک مثال از شبیه سازی CSMA با توپولوژی Bus در NS3
- مثال2: شبیه سازی CSMA در NS3
- افزودن یک شبکه Bus/LAN به شبکه p-to-p مثال1
۳: تحلیل خروجی و نتایج مثال CSMA
- نحوه فعال کردن تولید خروجی (کپچر کردن پکت های شبکه) در کد مثال2
- فعالسازی تولید فایل های PCap شبیه سازی با دستور EnablePcap در اسکریپت شبیه سازی
- تحلیل محتوای فایل های خروجی شبیه سازی (Pcap) با استفاده از وایرشارک و TCPDump
۴: اجرا و مشاهده خروجی گرافیکی برای مثال CSMA
- نحوه تولید خروجی گرافیکی شبیه سازی در کد مثال2
- استفاده از دستور vis برای اجرای ماژول ویژوالایزر شبیه ساز NS3
- نحوه ارسال آرگومان vis به ترمینال جهت تولید خروجی گرافیکی یک اسکریپت شبیه سازی
- معرفی محیط خروجی گرافیکی و امکانات موجود
- بررسی جزئیات شبیه سازی در خروجی گرافیکی شبیه سازی
بخش چهارم: استفاده از سوئیچ برای ارتباط گره ها در شبکه
در این بخش، می خواهیم به توپولوژی شبکه مثال قبلی، یک سوئیچ اضافه کنیم. در واقع تاکنون گره های ما در شبیه سازی ها به صورت مستقیم با هم در ارتباط بودند و هیچ وسیله شبکه دیگری مانند سوئیچ وجود نداشت. حال می خواهیم ببینیم اگر یک سوئیچ بین گره ها قرار گیرد شبیه سازی به چه صورتی خواهد بود و نیاز به چه پیکربندی یا کدنویسی های دیگری در NS3 خواهیم داشت. شما در این بخش مطالب جدیدی از جمله نحوه استفاده از flow monitor برای استخراج پارامتر های شبکه همچون تاخیر (Delay) و اتلاف پکت (Packet Loss) و چگونگی رسم نمودار های مربوط به این پارامترها را خواهید آموخت.
۱: شبیه سازی Switching در شبکه های Ethernet
۲: تحلیل نتایج و ترسیم نمودارهای شبیه سازی
بخش پنجم: Logging ، Tracing و دستورات خط فرمان
۱: استفاده از ماژول Logging
- نحوه استفاده از ماژول logging برای ثبت وقایع در NS3
- فعالسازی logging
- چند مثال از ثبت وقایع شبیه سازی با ماژول logging
۲: استفاده از آرگومان های خط فرمان
- آشنایی با روال تغییر پارامترهای شبیه سازی بدون ویرایش کد شبیه سازی
- نحوه فعال کردن استفاده از آرگومان در شبیه سازی
- چند مثال از استفاده از درج آرگومان خط فرمان هنگام اجرای اسکریپت شبیه سازی
- تعریف و استفاده از آرگومان های دلخواه کاربر
۳: آشنایی با سیستم Tracing در NS3
- سیستم ردیابی یا tracing در NS3
- تولید خروجی مناسب برای تحلیل بیشتر شبیه سازی
- اهداف اصلی سیستم ردیابی
- انواع tracing
- اجرای چند مثال برای روشن شدن نحوه کار با tracing
ماژول دوم- آموزش پیشرفته NS3
بخش اول: سیستم Tracing شبیه سازی در NS3
۱: مقدمه ای بر سیستم Tracing و رویکردهای ردیابی در NS3
- مقدمه و معرفی سیتم tracing
- مزایا و معایب روش های مختلف
- معرفی callback ها
۲: نحوه استفاده از سیستم Tracing در NS3
- توضیح کامل برنامه fourth.cc
۳: معرفی Trace Source ها در NS3
- استفاده از سیستم Config برای اتصال به trace source
- چگونگی مشخص شدن trace source ها
۴: نحوه استفاده از Trace Source و Trace Sink در NS3
- نشان دادن تغییرات پنجره ازدحام در TCP با استفاده از trace source و trace sink
- توضیح کامل برنامه fifth.cc
۵: نحوه استفاده از Mid-Level Helper ها در NS3
- نحوه استفاده از Mid-Level Helper های tracing
- توضیح کامل برنامه sixth.cc
۶: کلاس های Helper مربوط به Tracing در NS3
- معرفی انواع trace helperها با جزییات آنها
بخش دوم: جمع آوری دیتا و ذخیره خروجی شبیه سازی در فایل
۱: چارچوب جمع آوری داده و رسم منحنی با GnuplotHelper
- معرفی چارچوب جمع آوری داده (Data Collection Framework (DCF)) و قابلیت های آن
- اجزا و helper های DCF
- چگونگی استفاده از GnuplotHelper در مثال seventh.cc و انواع خروجی آن و رسم منحنی
- توضیح مثال دیگری به نام gnuplot-helper-example
۲: نحوه استفاده از FileHelper
- چگونگی استفاده از FileHelper در مثال seventh.cc و خروجی آن
- توضیح مثال دیگری به نام file-helper-example
۳: بررسی Probe و دلیل استفاده از آن در Data Collection
- توضیح جزییات دقیق تری از Probe
- دلایل استفاده از Probe به جای استفاده مستقیم از trace source
- چگونگی ایجاد و استفاده از Probe و تنظیمات مربوط به attribute های آن
- تشریح عملکرد DoubleProbe با ذکر یک مثال جامع
۴: بررسی Aggregator ها
- توضیح جزییات دقیق تری از Aggregator
- معرفی دو نوع GnuplotAggregator و FileAggregator به همراه جزییات
- توضیح دو مثال کامل برای این دو نوع Aggregator
۵: یک مثال کامل از Data Collection در NS3
- توضیح کامل مثال seventh.cc از tutorial
۶: رسم منحنی با کلاس Gnuplot در NS3
- رسم منحنی با استفاده از کلاس Gnuplot
- توضیح کامل مثال gnuplot-example
بخش سوم: مدل های اینترنت
۱: بررسی مدل های پشته اینترنت و IPV4
- چگونگی ایجاد سوکت و آدرس دهی به آن
- مسیر ارسال و دریافت بسته
- نحوه آدرس دهی به صورت دستی و اتوماتیک
- توضیح یک مثال با DHCP برای آدرس دهی اتوماتیک
- پروتکل ARP
- سیستم tracing برای ARP و IPv4
- بیتهای ECN در هدر IP
۲: مدل IPV6
- نحوه استفاده و انتساب آدرس
- پروتکل radvd و توضیح یک مثال از آن
- بیت های ECN در IPv6
- سیستم tracing و helper ها و attribute های IPv6
- توضیح یک مثال udp با IPv6
۳: مسیریابی
- معرفی انواعی پروتکل های مسیریابی موجود در ns3
- معماری کلی مسیریابی
- توضیح اجزا اصلی این معماری
- مسیریابی تک پخشی و انواع آن
- توضیح مسیریابی سراسری با جزئیات
- توضیح پروتکل های RIP و RIPng
- استراتژی split horizoning
- توضیح مثال از RIP و RIPng
- مسیریابی چندپخشی
۴: مدل های TCP
- انواع پیاده سازی TCP
- نحوه ایجاد سوکت و پیکربندی آن و ایجاد ترافیک
- توابع و callback های مورد نیاز برای سوکت
- معرفی انواع الگوریتم های کنترل ازدحام TCP ارایه شده در ns-3 با توضیح پیاده سازی آنها
- توضیح و بررسی جامع یک مثال شبیه سازی از انواع الگوریتم های کنترل ازدحام
۵: Internet Applications
- معرفی انواع اپلیکیشن های مدل اینترنت با توضیح آنها
بخش چهارم: ماژول Network
۱: بررسی آبجکت های شبکه (Packet)
- اساس چارچوب طراحی بسته
- بررسی پیاده سازی کلاس بسته و تشریح جزییات
- چگونگی ایجاد بسته (Packet) و اضافه و حذف کردن انواع اطلاعات به پکت با بررسی دو مثال جامع
- تکه تکه کردن و الحاق پکت
۲: مدل خطا، گره، سوکت و صف در NS3
- معرفی انواع مدل خطا ارایه شده در شبیه ساز با جزییات و موارد استفاده
- بررسی یک مثال از مدل خطا
- کلاس گره و معماری آن
- انواع کلاس سوکت با چگونگی ایجاد آن
- انواع توابع و callback های مورد نیاز برای سوکت ها
- انواع آپشن های سوکت
- صف و چگونگی طراحی آن
- انواع صف و یک مثال پیکربندی از آن
- محدودیت های مدل صف و موارد استفاده آن
ماژول سوم- شبیه سازی شبکه های بیسیم در NS3
شبکه های بیسیم (Wireless Networks)
شبکه های بیسیم چیست؟ بیسیم یا وایرلس نوع خاصی از شبکه های کامپیوتری است که از ارتباطات دیتای بیسیم بین گره ها استفاده می کند. به وسیله شبکه بندی بیسیم، دیگر نیازی به فرآیند پرهزینه کابل کشی در منازل مسکونی، شرکت ها و شبکه های ارتباطی نبوده و بدین طریق، هزینه زیادی صرفه جویی میشود. عموماً شبکه های ارتباطی بیسیم، به وسیله ارتباطات رادیویی، پیاده سازی و مدیریت میشوند. این پیاده سازی در سطح لایه فیزیکی مدل OSI اتفاق می افتد. برای آشنایی بیشتر با شبکه های وایرلس، می توانید مقاله آموزش شبکه های بیسیم را مطالعه نمایید.
انواع شبکه های بیسیم
- Wireless Personal Area Networks (WPANs)
- Wireless Local Area Network (WLAN)
- Wireless Metropolitan Area Networks (WMAN)
- Wireless Wide Area Networks (WWAN)
- Global Area Network (GAN)
- Ad-Hoc , Cellular , Space , …
بخش اول: آشنایی با مفاهیم و کلاس های مرتبط با بیسیم در NS3
۱: اصول و مقدمات شبیه سازی شبکه های بیسیم در NS3 (قسمت اول)
- معرفی شبکه های بیسیم
- معرفی انواع مدل های IEEE 802.11 موجود در ns-3
- معماری کارت شبکه بیسیم شامل لایه فیزیکی و MAC در آن
- محدودیت های IEEE 802.11 و لایه فیزیکی آن در ns-3
- معرفی کانال بیسیم
۲: اصول و مقدمات شبیه سازی شبکه های بیسیم در NS3 (قسمت دوم)
- جزییات بیشتری از انواع لایه فیزیکی و وضعیتهای آن
- تشریح مراحل دریافت بسته در لایه فیزیکی
- بیان تداخل و نویز در لایه فیزیکی و انواع مدل خطای استفاده شده در ns-3
- معرفی لایه فیزیکی طیفی
- توضیح مدل MAC و سیگنال های کنترلی آن و عملکرد سطوح مختلف آن
- معرفی انواع الگوریتم های کنترل نرخ
۳: پیکربندی کانال و لایه فیزیکی بیسیم در NS3 (قسمت اول)
- تشریح چگونگی استفاده از کارت شبکه و پیکربندی آن در ns-3
- مثالی از پیکربندی یک شبکه بیسیم با زیرساختار
- معرفی helper های مربوط به کانال و لایه فیزیکی
- نمونه کد نصب لایه فیزیکی و MAC
- پیکربندی کانال
- پهنای باند و فرکانس
- روش های پیکربندی attribute ها و مشخص کردن انواع استانداردها
۴: پیکربندی کانال و لایه فیزیکی بیسیم در NS3 (قسمت دوم)
- چگونگی استفاده از attribute های لایه فیزیکی و تنظیم شماره کانال با ذکر مثال
- چگونگی استفاده از helper مربوط به لایه MAC با ذکر مثال
- چگونگی فعال سازی QoS با ذکر مثال
- تنظیمات مربوط به IEEE 802.11n/ac با مفاهیم HT، VHT و Aggregation
- چگونگی انتخاب و تنظیم Access Category (AC)
- چگونگی تنظیم پارامترهای زمانبندی IEEE 802.11
- مثال کاملتری از پیکربندی شبکه بیسیم در دو حالت ادهاک و زیرساختی
۵: مدل خطا و تداخل محیط بیسیم در NS3
- معرفی مدل خطا
- بررسی عملکرد نرخ خطای بسته
- تداخل در دو حالت بیسیم و طیفی با بررسی چندین مثال
۶: ماژول طیفی در NS3
- معرفی ماژول طیفی و قابلیت های آن
- مدل کانال
- لایه فیزیکی و سیگنال در آن
- اجزای اصلی این ماژول و attribute های آن
- کاربرد اصلی ماژول طیفی و نحوه استفاده از آن
- چگونگی خروجی گرفتن از ماژول طیفی
- مدل های اضافی دیگر
بخش دوم: ایجاد یک توپولوژی وایرلس و بررسی مدل های حرکت در NS3
۱: مدل های حرکت در NS3
- توصیف ماژول تحرک (Mobility Module) در NS3
- اجزای ماژول Mobility در NS3
- نحوه اتصال مدل تحرک به گره
- توابع و صفات ماژول تحرک NS3
- زیرکلاس های MobilityModel
- نحوه انتخاب مدل حرکت گره
- تخصیص موقعیت اولیه به گره
- کلاس های Helper مدل تحرک NS3
- دستور نصب مدل حرکت روی گره
- چند مثال شبیه سازی برای نشان دادن نحوه استفاده از ماژول تحرک NS3
- در این مثال برای مدل حرکت گره ها از فایل های سناریوی حرکتی NS2 استفاده شده است.
- مشاهده خروجی گرافیکی شبیه سازی مدل تحرک Random Walk و مشاهده نحوه حرکت گره ها
۲: بررسی یک مثال از ایجاد یک شبکه بیسیم در NS3
- نحوه ساخت یک توپولوژی شبکه بیسیم
- مثال3: افزودن یک شبکه Wifi به مثال2
- معرفی ابزارهای قابل استفاده برای مدل حرکتی شبکه های ادهاک در NS3
- ابزار BonnMotion
- ابزار Sumo
- ابزار TraNS
- ابزار setdest در NS2
- بررسی سورس کد شبیه سازی
- فعالسازی tracing مربوط به تحرک در شبیه سازی
- اجرای خروجی گرافیکی شبیه سازی شبکه وایرلس
بخش سوم: شبیه سازی یک مقاله در رابطه با شبکه های ادهاک در NS3
۱: پیاده سازی مقاله در NS3
در این جلسه، بر اساس مقاله ذکر شده، یک پروژه شبکه های بیسیم انجام شده و روند بررسی مقاله و پیاده سازی آن در NS3 به صورت کامل تشریح شده است.
- عنوان مقاله شبیه سازی شده : Efficient Collision Detection for Auto Rate Fallback Algorithm
۲: استخراج خروجی های شبیه سازی و ترسیم نمودارهای مقاله در Gnuplot
- استخراج خروجی های شبیه سازی
- ترسیم نمودارهای مقاله در Gnuplot
ماژول چهارم- شبیه سازی Manet در NS3
MANET چیست؟
شبکه های MANET یا Mobile Ad-Hoc NETworks نوع خاصی از شبکه های ادهاک Ad-Hoc (شبکه های موردی بی نیاز از زیر ساخت یا infrastructure-less) است که دارای قابلیت تغییر موقعیت شبکه و همچنین خود سازماندهی (Self Configuration) می باشد. شبکه های MANET از اتصال بیسیم وسیله های متحرکی تشکیل می شود که هر وسیله می تواند به صورت مستقل در هر جهتی حرکت کرده و به صورت مکرر لینک های خود را به سایر گره های شبکه تغییر دهد. تمام گره ها در MANET مانند یک روتر عمل میکنند و دریافت کننده و ارسال کننده اطلاعات هستند.
یکی از مشخصه های شبکه های MANET ویژگی Self-Forming / Self-Healing است. یعنی تشکیل شدن و نگهداری این شبکه ها بدون نیاز به عامل خارجی بوده و توسط خود شبکه صورت می گیرد. برای آشنایی بیشتر با شبکه های MANET، می توانید مقاله آموزش جامع شبکه های ادهاک متحرک Manet را مطالعه نمایید.
بخش اول: پروتکل مسیریابی AODV
1: تشریح ویژگی های پروتکل AODV و کدهای پیاده سازی آن در NS3
- ویژگی های پروتکل مسیریابی AODV
- تشریح پیاده سازی پروتکل AODV در NS3
2: مثال شبیه سازی یک شبکه Manet ساده با پروتکل AODV
- شبکه شبیه سازی شده در این مثال، شامل ۱۰ گره پشت سرهم است که گره اول، گره آخری را از طریق گره های میانی با مسیریابی ping میکند.
- خروجی ها در قالب فایل pcap و همچنین محتویات جدول مسیریابی گره ها قابل دسترس است.
3: مثال شبیه سازی و ارزیابی کامل یک شبکه Manet با پروتکل AODV
- شبکه شبیه سازی شده در این مثال، شامل ۵۰ گره پشت سرهم است که ۱۰ گره ابتدایی به عنوان دریافت کننده (مقصد) و ۱۰ گره انتهایی به عنوان تولید کننده بسته (مبدا) در نظر گرفته شده اند.
- مسیریابی بسته ها از مبدا به مقصد با پروتکل aodv انجام میشود.
- چیدمان تصادفی نودها در ناحیه ای به بزرگی ۲۰۰۰x۲۰۰۰ متر بر اساس دو مدل حرکتی تصادفی Random Waypoint و Random Walk و سرعت گره ها به صورت تصادفی در بازه صفر تا ۲۰ متر بر ثانیه است.
- تولید بسته با نرخ ۲۰۴۸ بیت بر ثانیه توسط مبدا و نرخ انتقال کانال ۱۱ مگابیت بر ثانیه بر اساس استاندارد IEEE 802.11b است.
- پارامترهای ارزیابی شبکه شامل گذردهی، تاخیر، گم شدگی بسته و … در قالب یک فایل خروجی xml نشان داده شده است.
- همچنین برای دو مدل حرکتی، خروجی ascii برای گره های فرستنده و گیرنده به دست آمده است.
بخش دوم: پروتکل مسیریابی DSDV
1: تشریح ویژگی های پروتکل DSDV و کدهای پیاده سازی آن در NS3
- ویژگی های پروتکل مسیریابی DSDV
- تشریح پیاده سازی پروتکل DSDV در NS3
2: مثال شبیه سازی کامل یک شبکه Manet با پروتکل DSDV و محاسبه Throughput شبکه
- شبکه شبیه سازی شده در این مثال شامل ۳۰ گره است که ۱۰ گره ابتدایی به عنوان مقصد و همه گره ها نیز در نقش مبدا هستند.
- مسیریابی بسته ها از تولید کننده بسته (مبدا) به دریافت کننده (مقصد) با پروتکل DSDV انجام میشود.
- چیدمان تصادفی نودها در ناحیه ای به بزرگی ۱۰۰۰x۱۰۰۰ متر بر اساس مدل حرکتی تصادفی Random Waypoint و سرعت گره ها ۱۰ متر بر ثانیه است.
- تولید بسته با نرخ ۸ کیلوبیت بر ثانیه توسط مبدا و نرخ انتقال کانال ۱۱ مگابیت بر ثانیه بر اساس استاندارد IEEE 802.11b است.
- گذردهی (Throughput) شبکه در قالب یک فایل خروجی csv است که با اکسل قابل نمایش است. همچنین خروجی ascii و pcap برای همه گره ها و محتویات جدول مسیریابی به دست آمده است.
3: نمایش گرافیکی شبکه و توضیح عملکرد شبکه
- نمایش گرافیکی شبکه و توضیح عملکرد شبکه
بخش سوم: پروتکل مسیریابی DSR
1: تشریح ویژگی های پروتکل DSR و کدهای پیاده سازی آن در NS3
- ویژگی های پروتکل مسیریابی DSR
- چگونگی پیاده سازی پروتکل DSR در NS3
2: مثال شبیه سازی کامل یک شبکه Manet با پروتکل DSR و محاسبه معیارهای ارزیابی شبکه
- شبکه شبیه سازی شده در این مثال شامل ۵۰ گره است که ۱۰ گره ابتدایی به عنوان مقصد و ۱۰ گره پایانی به عنوان مبدأ متناظر هستند.
- مسیریابی بسته ها از تولید کننده بسته (مبدا) به دریافت کننده (مقصد) با پروتکل DSR انجام میشود.
- چیدمان تصادفی نودها در ناحیه ای به بزرگی ۱۵۰۰x3۰۰ متر بر اساس مدل حرکتی تصادفی Random Waypoint و سرعت گره ها به صورت تصادفی از صفر تا ۲۰ متر بر ثانیه متغیر است.
- تولید بسته به سایز ۶۴ بایت با نرخ ۵۱۲ بیت بر ثانیه توسط مبدا و نرخ انتقال کانال ۱۱ مگابیت بر ثانیه بر اساس استاندارد IEEE 802.11b است.
- رنج رادیویی گره ها ۲۵۰ متر است.
- زمان کل شبیه سازی ۶۰۰ ثانیه است
- خروجی در قالب فایل ascii به دست آمده است.
3: نمایش گرافیکی شبکه و توضیح عملکرد شبکه
- نمایش گرافیکی شبکه و توضیح عملکرد شبکه
بخش چهارم: پروتکل مسیریابی OLSR
1: تشریح ویژگی های پروتکل OLSR و کدهای پیاده سازی آن در NS3
- ویژگی های پروتکل مسیریابی OLSR
- تشریح پیاده سازی پروتکل OLSR در NS3
2: مثال شبیه سازی کامل یک شبکه Manet با پروتکل OLSR و استخراج معیارهای ارزیابی شبکه
- شبکه شبیه سازی شده در این مثال، شامل ۵ گره که به صورت نقطه به نقطه بر اساس توپولوژی در نظر گرفته شده به یکدیگر متصل اند.
- دو ترافیک یکی از گره n0 به n4 و دیگری از n3 به n1 ایجاد شده است.
- مسیریابی بسته ها از تولید کننده بسته (مبدا) به دریافت کننده (مقصد) با پروتکل OLSR انجام میشود.
- تولید بسته به سایز ۲۱۰ بایت با نرخ ۴۴۸ کیلوبیت بر ثانیه توسط مبدا است.
- خروجی در قالب فایل ascii و pcap به دست آمده است.
3: مثال شبیه سازی یک شبکه Manet ناهمگن ترکیبی از سیمی و بی سیم با پروتکل مسیریابی OLSR
- یک شبکه ترکیبی از بی سیم و سیمی با دو رنج آی پی متفاوت که گره ای به عنوان ارتباط این دو شبکه در نظر گرفته شده است.
- در این مثال، شبیه سازی مفهوم HNA در OLSR تشریح شده است.
- مبدا از شبکه بی سیم به مقصد در شبکه سیمی با استفاده از مفهوم HNA بسته ارسال می کند و در گیرنده دریافت می شود.
- سایز بسته ۱۰۰۰ بایت و RSS ثابت در نظر گرفته شده است
- در پایان نمایش گرافیکی شبکه و توضیح عملکرد آن آمده است.
بخش پنجم: مقایسه پروتکل های مسیریابی AODV , DSDV , DSR , OLSR
1: مثال ارزیابی و مقایسه پروتکل های مسیریابی Manet و استخراج خروجی های شبیه سازی
- شبکه شبیه سازی شده در این مثال شامل ۵۰ گره است که ۱۰ گره ابتدایی به عنوان مقصد و ۱۰ گره بعدی به عنوان مبدا به طور متناظر هستند.
- چیدمان تصادفی نودها در ناحیه ای به بزرگی ۳۰۰x۱۵۰۰ متر بر اساس مدل حرکتی تصادفی Random Waypoint و سرعت گره ها به طور تصادفی از صفر تا ۲۰ متر بر ثانیه است.
- تولید بسته به سایز ۶۴ بایت با نرخ ۲۰۴۸ بیت بر ثانیه توسط مبدا و نرخ انتقال کانال ۱۱ مگابیت بر ثانیه بر اساس استاندارد IEEE 802.11b است.
- زمان کل شبیه سازی ۲۰۰ ثانیه است.
- خروجی لایه فیزیکی و مختصات تحرکی گره ها در قالب فایل ascii به دست آمده است.
- گذردهی (Throughput) شبکه در قالب فایل csv قابل نمایش با اکسل و خروجی گرافیکی نمایش داده شده است.
2: نمایش گرافیکی شبکه و توضیح عملکرد شبکه
- نمایش گرافیکی شبکه و توضیح عملکرد شبکه
معرفی کوتاهی از شبیه سازی SDN در NS3
OpenFlow چیست؟
OpenFlow را می توان یک سوئیچ (ماشین پردازش پکت) انتزاعی تعریف کرد. اوپن فلو در واقع مجموعه ای از پروتکل های تدوین شده توسط ONF می باشد که دسترسی مستقیم و تغییرات در لایه فورواردینگ تجهیزات شبکه همچون روترها و سوئیچ ها را به هر دو صورت فیزیکی و مجازی امکانپذیر کرده است. امروزه اکثر دستگاه های شبکه ساخته شده در شرکت های مطرح، به پروتکل OpenFlow مجهز هستند. برای آشنایی بیشتر با OpenFlow به مقاله آموزش SDN مراجعه نمایید.
نصب و فعال سازی ماژول سوئیچ OpenFlow در NS3
- آموزش نصب OpenFlow 0.8.9
- آموزش نصب OpenFlow 1.3
منابع و مراجع آموزش ns3
- ns-3 Manual
- Springer.The ns-3 Network Simulator
- A Journey starts from basic understanding of NS2 To NS3
- nsnam.org
ابزارهای مورد نیاز
- Linux Ubuntu-16.04
- VMWare Workstation 12.5
- ns-allinone-3.26
- BonnMotion
- Sumo
- TraNS
- setdest
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهدوره های مرتبط
کتاب راهنمای شبیه ساز شبکه NS2
دوره اصول و مبانی برنامه نویسی
دوره هایپرلجر فابریک مقدماتی | HyperLedger Fabric
دوره آموزش شبیه ساز GNS3
معرفی دوره برای آموزش GNS3 ابتدا باید ببینیم GNS3 چیست؟ یک شبکه کامپیوتری یا مخابراتی، شامل تجهیزاتی است که اجرای…
دوره آموزش شبیه ساز Omnet
معرفی دوره OMNET چیست؟ یک شبکه کامپیوتری یا مخابراتی، شامل تجهیزات و زیرساختی است که اجرای آن در مقیاس تجاری،…
پکیج آموزش جامع Opnet
معرفی دوره قبل از آشنایی با شبیه ساز OPNET ابتدا باید با شبکه آشنا شویم. یک شبکه کامپیوتری یا مخابراتی،…
پکیج آموزش جامع SDN
اهداف دوره آشنایی با اصطلاحات و مفاهیم شبکه های SDN آشنایی با شبیه سازی شبکه های مبتنی بر نرم افزار…
دوره آموزش مجازی سازی کارکردهای شبکه NFV
معرفی دوره مفهوم مجازی سازی کارکردهای شبکه (NFV) در تعریف NFV و پاسخ به سوال “NFV چیست” باید بگوییم NFV عبارت…
دوره آموزش اینترنت اشیا با Packet Tracer
معرفی دوره آموزش اینترنت اشیا اخیراً بسیار پر اهمیت شده است چرا که با پیشرفت سریع علوم و تکنولوژی در…
پکیج آموزش جامع NS2
معرفی دوره قبل از آموزش NS2 ابتدا ببینیم شبکه چیست. یک شبکه کامپیوتری یا مخابراتی، شامل یک سری تجهیزات و…
امتیاز دانشجویان دوره
نظرات
۱,۲۰۰,۰۰۰ تومان قیمت اصلی ۱,۲۰۰,۰۰۰ تومان بود.۱,۰۰۰,۰۰۰ تومانقیمت فعلی ۱,۰۰۰,۰۰۰ تومان است.
دکتر سید مهدی فقیه ایمانی
مدرس دورههای شبیه سازی شبکه - NS3دکتری تخصصی (PHD) رشته مهندسی کامپیوتر – گرایش معماری کامپیوتر – دانشگاه آزاد علوم تحقیقات تهران - مدرس دورههای شبیه سازی شبکه – NS3
پردرآمدترین مهارت ها را یاد بگیرید
طرح استعدادیابی
ارشدان بلاکچین
(Blockchain Seniors)
تا کنون بیش از 1000 دانشجو در این طرح شرکت کرده اند.
شما هم دوست دارید برای تضمین آینده کاری خودتان به این جمع بپیوندید؟
همین امروز شروع کنید!
مجید شبیری(مدیریت)
سوال:
موضوع من در مورد شبکه های بین خودرویی هستش ، با استفاده از این مباحث میتونم vanet را هم پیاده سازی کنم؟
پاسخ:
شبکه های Vanet یک شاخه از شبکه های Ad-Hoc متحرک هست که علاوه بر متحرک بودن نودها در این شبکه، ویژگی ها و مشخصه های دیگری دارد که آن را از شبکه های Manet جدا میکند. یکی از ماژول های این دوره مربوط به Manet است (شبکه های ادهاک متحرک).
اگر میخواهید روی شبکه های Vanet کار کنید میتوانید میتوانید از این دوره برای یادگیری اصول شبیه سازی با NS3 و همچنین شناخت پروتکل های مسیریابی ادهاک متحرک (AODV-DSDV و …) استفاده کنید. چون شناخت پروتکل هایی مثل AODV در پروژه شما مورد نیاز خواهد بود. البته اگر بخواهید روی این پروتکل ها کار کنید.
در کنار این دوره لازم است با ابزارهای مدل تحرک مثل Sumo هم آشنایی داشته باشید.
مجید شبیری(مدیریت)
سوال:
برای پیداه سازی یک شبکه بیسیم سیار مثل ۴G/5G کدام شبیه ساز شبکه پرکاربردتر است NS3 یا OPNET؟
پاسخ:
اگر بخواهید امکان کدنویسی بهتری داشته باشید و پروتکل مورد نظر رو پیاده سازی کنید یا تغییراتی روی پروتکل های موجود بدهید، شبیه ساز NS3 بهتر هست.
مجید شبیری(مدیریت)
سوال:
برای پیاده سازی مقاله در حیطه vanet کدوم آموزش را پیشنهاد میکنید؟
پاسخ:
برای پیاده سازی Vanet شما می توانید از NS3 یا Omnet استفاده کنید.
هر کدام از این دو شبیه ساز ویژگی های خاص خودشون رو دارند. انجام کار با هر دو امکانپذیر است.
میتوانید با توجه به نیازهای پروژه، یکی از این دو شبیه ساز را انتخاب و استفاده کنید.
ماژول آموزش Manet در NS3 برای موضوع شما نزدیک تر است و پروتکلهای ادهاک نیز در این بخش از پکیج آموزش NS3 توضیح داده شده است.
مجید شبیری(مدیریت)
سوال:
شبیه ساز شبکه های dtn بهتر است با چه شبیه سازی انجام شود
پاسخ:
برای پیاده سازی پروتکل استک DTN در شبیه ساز NS3 در سال ۲۰۱۹ ایده هایی ارائه شده ولی فعلاً بین ماژول های موجود در NS3 موردی مبنی بر مجموعه پروتکل DTN مشاهده نمی شود.
هر چند شما می توانید خودتان پروتکل های مورد نیاز پروژه را در NS3 پیاده سازی کنید و نیازی نیست حتماً مجموعه پروتکل موضوع مورد نظر در لیست ماژول های NS3 موجود باشد. ولی طبیعتاً در این حالت، حجم کاری شبیه سازی بالاتر خواهد بود.
با وجود اینکه تیم توسعه NS3 هنوز مجموعه پروتکل شبیه سازی DTN را به لیست ماژول های NS3 اضافه نکرده است، ولی تیم های جداگانه ای این پیاده سازی ها را انجام داده اند.
برای مشاهده کدهای نوشته شده برای شبیه سازی شبکه های DTN در NS3 می توانید لینک زیر را دنبال کنید:
https://www.netlab.tkk.fi/tutkimus/dtn/ns/
همچنین شما می توانید از شبیه ساز ONE برای شبیه سازی شبکه های DTN استفاده کنید:
http://www.netlab.tkk.fi/tutkimus/dtn/theone/
مجید شبیری(مدیریت)
سوال:
شبیه سازی شبکه های رادیوشناختی در NS3 به خوبی انجام میشه؟ درصورتی که جواب مثبته ممنون میشم اگه یه مختصر توضیحی در موردش بفرمایید.
پاسخ:
برای شبیه سازی Cognitive یا همان رادیو شناختی در NS3 فعلا تیم توسعه NS3 ماژول خاصی را ارائه نداده است. ولی اگر صفحه مشارکت های NS3، را مشاهده نمایید، پروژه ای به نام CRE-NS3: Cognitive radio extension for ns-3 توسط اساتید Prof. Kaushik Chowdhury و Prof. Abdulla Al-Ali توسعه داده شده است.
لینک های مربوط به توضیحات و دانلود این افزونه:
۱. http://www.coe.neu.edu/Research/krclab/crens3/index.html
۲. http://krc.coe.neu.edu/?q=ns3
۳. https://github.com/abdulla-alali/CRE-NS3
البته پروژه دیگری نیز برای شبیه سازی شبکه های CRN در NS3 در حال توسعه است ولی فعلا به مرحله استفاده نرسیده است.
لینک پروژه: http://faculty.uml.edu/Tricia_Chigan/Research/CRCN_NS3.html
امیدوارم اطلاعات ارائه شده، برای شبیه سازی شبکه های CRN-رادیو شناختی در NS3 برای راهنمایی شما در این زمینه راهگشا باشد. با آرزوی موفقیت برای شما و همه پژوهشگران محترم.
Ali( دانشجوی دوره )
سلام
لطفا دروره آموزش شبکه های vanet با ns3 هم بذارید.
مجید شبیری(مدیریت)
سلام
وقت بخیر
حتما دوره Vanet را در اولیت کاری قرار خواهیم داد.
با تشکر از همراهی شما دوست گرامی
مجید شبیری(مدیریت)
با سلام و عرض ادب خدمت دوستان گرامی که با دوره آموزشی NS-3 همراه ما هستند.
اگر سوالی در رابطه با این مبحث داشتید لطفا در بخش نظرات عنوان بفرمایید.
با تشکر و قدردانی از همراهی شما دوستان گرامی.
sadeghian_ameneh@yahoo.com
سلام برای تغییر در پروتکل مسیریابی AODV به منظور تشخیص حمله کرمچاله میتونم از NS3استفاده کنم؟ پیاده سازی حملات در NS3 راحت تره یا NS2؟
سید مجید شبیری(مدیریت)
سلام
بله برای این منظور میتونید از NS3 استفاده کنید.
هر دو شبیه ساز اوپن سورس هستن و این امکان رو به شما میدن که بتونید کدهای پروتکل AODV رو تغییر بدید و حمله کرمچاله رو پیاده سازی کنید.
هر دو شبیه ساز هم از زبان C++ برای پیاده سازی پروتکل استفاده کردن.
اگر تحقیقات شما ادامه دار هست بهتر است از NS3 استفاده کنید که ابزار جدیدتری هست و بروزرسانی و پشتیبانی بهتری داده.
موفق باشید.
hadi barzegar
سلام. پروتکل مسیریابی آگاه از تحرک و ترافیک در شبکه های پهپادی رو میشه با دوره آموزشی ns3 (دوره های مقدماتی وپیشرفته و manet) شبیه سازی کرد یا خیر؟
احمدی
سلام من میخواستم بر روی application layer iot کار کنم این دوره جهت پیاده سازی من مناسب هست؟
سید مجید شبیری(مدیریت)
با سلام و عرض ادب
شبیه ساز NS3 امکان کار روی IoT را برای شما فراهم آورده است و شما می توانید با استفاده از ماژول های Lrwpan ، ۶lowpan ، LoRaWAN شبیه ساز NS3 طرح های مربوط به IoT را شبیه سازی نمایید.
لازم به ذکر است که دوره مقدماتی NS3 و دوره پیشرفته NS3 به آموزش کلیه مباحث شبیه ساز NS3 پرداخته است و شما با یادگیری مطالب این دوره با NS3 به خوبی آشنا خواهید شد ولی توجه داشته باشید که در این دوره به صورت اختصاصی روی ماژول های ذکر شده برای IoT کار نشده است و شما پس از گذراندن دوره NS3 می توانید با اندک مطالعه و تحقیق در مورد نحوه استفاده از این ماژول ها در NS3 شبیه سازی IoT در NS3 را انجام دهید. اطلاعات کافی برای استفاده از این ماژول ها در سایت اصلی NS3 موجود است که با کمی جستجو در اینترنت، اطلاعات بیشتری کسب خواهید کرد.
موفق باشید.
بهادر
با سلام اموزش ns3 visual studio به زبان فارسی برای خرید و دانلود دارین یا نه
سید مجید شبیری(مدیریت)
با سلام و احترام
اگر آموزشی در این موضوع بخواهیم ارائه بدیم، فقط به نحوه نصب و راه اندازی NS3 در ویژوال استدیو مربوط خواهد بود.
بعد از نصب و راه اندازی NS3 در ویژوال استدیو، نحوه کدنویسی در NS3 به یک صورت واحد و استاندارد بوده و برنامه نویسی آن در محیط های مختلف، تفاوتی نخواهد داشت.
سعی میکنیم به زودی، نحوه نصب NS3 در ویژوال استدیو را در سایت قرار دهیم.
موفق باشید.
فرهاد
سلام چطور میتونم دوره ها رو دانلود کنم؟
سید مجید شبیری(مدیریت)
سلام و عرض ادب
برای دانلود دوره ها باید روی دکمه ثبت نام کلیک کنید.
با تکمیل صفحه ثبت نام و واریز هزینه دوره به صورت آنلاین، لینک دانلود دوره برای شما ارسال خواهد شد.
موفق باشید.
alink5m
سلام و عرض ادب
می خواستم یه پروتکل انتقال داده رو شبیه سازی کنم با NS3؛ کمک می خواستم