Dynamic Route چیست
در این مقاله میخواهیم در مورد Dynamic Route ، صحبت کنیم ، همانطوری که میدانید در روش static Route ما route های خود را به صورت دستی و استاتیک وارد میکردیم به صورتی که برای هر شبکه ، Route مناسب ان در جدول روتینگ اضافه میکردیم حال به این فکر کنید که این شبکه ها و مسیر ها دائم در حال تغییر باشند، و تعداد روتر های ما هم افزایش یابد ، در این صورت ما قادر به مدیریت این همه Route نخواهیم بود از این رو ، در روش داینامیک ، پروتکل هایی هستند که جدول روتینگ را به صورت داینامیک اپدیت میکنند
Dynamic Route protocols
- IGP
- Link state:OSPF,ISIS
- Distance vector:IGRP,RIPv1,RIPv2
- Hybrid:EIGRP
- EGP: BGP
روتینگ پروتکل های داینامیک ؛ در ابتدا به دو دسته کلی تقسیم میشوند ، معیار این تقسیم بندی ، این است که هر یک از این پروتکل ها درون یک autonomous system ، کار میکنند یا خارج از ان ، هر autonomous system ، به مجموعه دیوایس هایی که تحت مدیریت یکسانی هستند میگویند
IGP: Interior Gateway Protocol))
به روتینگ پروتکل هایی که درون یک AS کار میکنند را در این دسته یعنی IGP قرار میدهند
پروتکل هایی که در دسته IGP قرار میگیرند ( از حیث نحوه advertisement و مبنا قرار دادن هر یک از این دسته پروتکل ها در انتخاب بهترین مسیر میباشد) به سه دسته بندی دیگر تقسیم میشوند
Link State
Distance Vector
Hybrid
EGP: (exterior Gateway Protocol)
و به روتینگ پروتکل هایی که بین AS ها کار میکنند را در این دسته یعنی دسته EGP قرار میدند که تنها پروتکلی که در این دسته قرار میگیرد BGP میباشد
پیشنهاد ما به شما: دوره آموزش CCNA
RIP
نحوه عملکرد این پروتکل به گونه ای است که هر روتر ، به صورت دوره ای جدول روتینگ و شبکه های خودش را به همسایه هایش یاد میدهد ولو اینکه تغییری در شبکه رخ داده باشد یا خیر
روتر همسایه به توجه به اینکه این اپدیت ها را از کدام اینترفیس خود دریافت کرده و همچنین src-ip ان اپدیت (یک بسته( جدول روتینگ خود را کامل میکند
- Hello time:مدت زمان ارسال دوره ای اپدیت ها هر 30 ثانیه میباشد
- Dead time : مدت زمانی که یک روتر صبر میکند تا از روتر همسایه خود اپدیتی دریافت کند ، 180 ثانیه میباشد پس از ان مدت همسایه خود را down فرض میکند
Metric
همه روتر ها برای انتخاب بهترین مسیر به metric مسیر نگاه میکنند، و هر کدام metric کمتری داشته باشد ، مسیر بهتری ایست ، اگر مساوی بود، load balancing رخ میدهد ، حال اینکه روتینگ پروتکل های مختلف معیار انتخاب متریکشان با هم متفاوت میباشد ، معیار انتخاب متریک در RIP ، تعداد hop count میباشد به عبارت ساده تر تعداد روتر های مسیر ; یعنی اگر تعداد روتر ها در یک مسیر کمتر از مسیر های دیگر است ، ان مسیر به عنوان مسیر بهتر شناخته میشود
- ماکزیمم متریک در RIP ، 16 میباشد
- در RIP تنها 15 روتر را میشود به هم متصل کرد
Rip version
پروتکل RIP دارای دو ورژن میباشد ، RIPv1 ، RIPv2 که تفاوت عمده این دو ورژن در ان است که در ورژن یک ، تنها netid, metric ، advertise میشد ، و همچنین بسته های اپدیت را به مقصد ادرس برادکست ارسال میکرد ، اما در ورژن دو علاوه بر metric و netid ، subnet mask هم advertise میشد و همچنین به جای اینکه این اپدیت ها را به ادرس برادکست ارسال کند به ادرس multicast 224.0.0.9 ، ارسال میکرد
- از دیگر تفاوت های دو ورژن میتوان به این اشاره کرد که rip version یک ، class less address ها و vlsm و authentication ، را پشتیبانی نمیکند ، و همچنین به دلیل اینکه auto summary به صورت پیشفرض فعال است و غیر فعال نمیشود موجب میشود تا ناپیوستگی در شبکه رخ دهد
- حال انکه RIPv2 class less address ها و vlsm وmd5 authentication ها را پشتبانی میکند
RIP Features
- Route poisoning
همانطور که قبلا ذکر کردیم ، dead time 180 ثانیه میباشد ، یعنی اگر ، 15 روتر به هم متصل شده باشند ، یکی از بازو های روتر 15 هم قطع شود، پس از 180 ثانیه روتر همسایه خود که روتر چهاردهم میباشد متوجه این قطعی میباشد و سپس ان را از جدول روتینگ خود پاک میکند ، بنابرین 15*180 ثانیه طول میکشد تا روتر اول متوجه قطعی شود ، بنابراین به دلیل زمان تشخیص خطای بسیار بالا ، فیچر Route poisoning میگوید ، اگر مسیری قطع شد ، ان را با متریک 16 ارسال کن ، یعنی این مسیر بن بست است ، بنابراین تشخیص خطا به 15*30 ثانیه میرسد
- Split horizon:
این فیچر به طور ساده ، برای جلوگیری از انکه نا هماهنگی بین روت ها ایجاد نشود میگوید ، مسیر هایی را که از روتری دریافت کرده اید حق ندارید به خود ان روتر دوباره ارسال کنید
- Hold on timer:این فیچر بیان میکند که اگر روتری ، مسیری با متریک 16 دریافت کرد وارد hold on timer میشود که موجب میشود تا 180 ثانیه هیچ اپدیتی از همسایه های خود یاد نگیرد ، این فیچر برای ان است که اطمینان حاصل شودکه همه روتر ها متریک 16 را دریافت کرده باشند
- Triggered flash update: ما با Route poisoning زمان تشخیص خطا را از 45 دقیقه به 7.5 دقیقه کاهش دادیم اما باز هم زیاد است ، برای همین این فیچر میگوید اگر مسیری قطع شد ، بلافاصله ان را با متریک 16 ارسال کن ، و صبر نکن تا 30 ثانیه که زمان ارسال دوره ای است ان را ارسال کنی
OSPF
پروتکل های link state برخلاف distance vector ها که همه Route ها به صورت پریودیک به همسایه ارسال میشد ، اطلاعات مربوط به لینک ها به همه روتر ها ارسال میشود ، به گونه ای که ابتدا تمام اطلاعات ارسال میشود و برای دفعات بعد فقط تغییرات ارسال میشود
منظور از اطلاعات لینک ها network ,ip address , type of network , cost of path, neighbors ، میباشد
LSA
کارتکسی که این اطلاعات(اطلاعات لینک ها ) را در برمیگیرد را LSA (link state advertisement)میگویند
LSA انواع مختلفی دارد این نوع که هر روتر برای خودش ان را ایجاد میکند و اطلاعات مربوط به لینک های خود درون ان میباشد ، LSA type 1 میباشد
تمامی روتر ها LSA type 1 خود را ایجاد میکنند و به دیگران ارسال میکنند ، در نتیجه تمامی روتر ها ، LSA 1 های همدیگر را دارند و در پایان همگرایی جدول LSDB تمامی روتر ها یکسان است
OSPF phases
- (neighbor ship ) : در فاز اول ، هر روتر با روتر همسایه خود، تشکیل همسایگی خواهد داد و سپس اطلاعات این همسایه ها در جدولی به نام جدول همسایگی ذخیره خواهد شد
- (database exchange): در فاز دوم قرار است ، روتر ها ، LSA های همدیگر را با هم تبادل کنند و در نهایت این LSA ها ، درون جدولی به نام LSDB ذخیره میشود
- (Routing table): فاز بعدی ، ایجاد Routing table میباشد ، هر روتر روی جدول LSDB خود ، الگوریتم SPF یا Dijkstraرا اجرا میکند که از این عملیات Routing table ایجاد خواهد شد
Neighbor ship
همانطوری که گفتیم ، وقتی دو روتر با هم همسایه میشوند ، اطلاعاتشان درون جدول همسایگی ذخیره میشود . دو همسایه ، هر 10 ثانیه یک بار به یکدیگر hello میفرستند ، تا از وجود یکدیگر با خبر شوند ، و مدت زمان dead time هم 40 ثانیه میباشد
پارامترهای ایجاد همسایگی
- Subnet number
- Subnet mask
- Hello interval
- Dead interval
- Area id
- Authentication key
- Value of area flag
Router id: یک شناسه 32 بیتی بسیار مهم در ospf میباشد ، و وجود ان ضروری است ما میتوانیم این شناسه را به صورت دستی خودمان مشخص کنیم ، در غیر این صورت ، به صورت اتومات بزرگترین ip اینترفیس loopback ، به عنوان Router id تنظیم میشود یا اگر اینترفیس loopback نداشتیم ، بزرگترین ادرس ip یکی از اینترفیس ها به عنوان Router id تنظیم میشود
فاز های ایجاد همسایگی
- ابتدا که همسایگی down میباشد ، هر روتر ، هر 10 ثانیه hello ارسال میکند به ادرس multicast 224.0.0.5
- روتر های دیگر با دریافت hello ، وارد فاز initialize میشود و پاسخ hello مقابل را میدهد
- حال روتر اول هم پاسخ ان را میدهد
database exchange
OSPF ، پنج نوع packet دارد
- Hello : که قبلا با ان اشنا شدیم و در تشکیل همسایگی نقش داشت
- DBD(database description)
- LSR(link state request)
- LSU(link state update)
- ACK
بسته های DBD,LSR,LSU,Ack بسته هایی هستند که در Data base exchange نقش دارند و این بسته ها هستند که رد و بدل کردن LSA را بر عهده دارند
مراحل Database exchange
- Ex start
در این فاز ، از بسته های ، DBD استفاده میشود که در واقع هدر LSA هستند(به عبارتی خلاصه ای از وضعیت LSA و اطلاعاتی که درون ان میباشد)
در این فاز روتر ها ، Router id های یکدیگر را به همدیگر اطلاع میدهند تا master/slave مشخص شود
- Master اغاز کننده database exchange در مراحل بعدی میباشد ، و روتری که بزرگترین RID را دارد این نقش را بر عهده دارد
- Exchange
روتر master که شروع کننده است ، LSID هایی که دارد را با بسته های DBD ، به صورت خلاصه ارسال میکند سپس روتر Slave هم به همین صورت عمل میکند (در این مرحله مشخص میشود که روتر ها چه تعداد از LSA های روتر مقابل خود را ندارند و جدید هستند(
- Loading
در این مرحله روتر ، LSA هایی را که از طرف مقابل خود ندارد را با بسته های LSR درخواست میکند روتر مقابل هم در جواب با بسته های LSU جزئیات LSA را برای ان ارسال میکند و این پروسه در نهایت با دریافت ACK پایان می یابد
- Full
در پایان جدول LSDB دو روتر با هم یکسان خواهد شد
درون لینک های (Ethernet ,frame relay ,ATM)multi-access ، database exchange متفاوت میباشد
درون این شبکه ها ، چون تعداد روتر افزایش پیدا میکند ، پروسه Database exchange هم افزایش پیدا میکند برای کاهش این پروسه در شبکه های multi access یک روتر به عنوان DR یا Designated Router انتخاب میشود که وظیفه به روز نگه داشتن LSDB همه نتورک را برعهده دارد
- برای DR یک روتر بکاپ هم انتخاب میشود تا در صورت نبود DR ، این وظیفه را برعهده بگیرد
- ادرس DR,BDR درون بسته های Hello وجود دارد که همه روتر ها ، ان ها را بشناسند
معیار انتخابDR ,BDR
Priority (0-255(بالاتر به عنوان DR انتخاب میشود و بعدی به عنوان BDR
- به طور پیشفرض priority همه روتر ها یکسان میباشد ، در صورتی که ما خودمان priority را مشخص نکنیم Router id بزرگتر به عنوان DR و بعدی هم به عنوان BDR انتخاب میشود
LSA type
LSA type 1:(Router LSA) قبلا با این نوع LSA اشنا شدیم مه هر روتر برای خود ، این LSA را ایجاد میکند ،و ارسال میکند که درن ان جزئیات لینک های ان روتر وجود دارد
- LSID این LSA ، RID ان روتر میباشد
LSA type 2:(network LSA) این نوع LSA توسط DR ما ایجاد میشود و سابنتی که DR درون ان میباشد را Present میکند
- LSID این LSA ، ادرس ای پی ، DR درون ان سایت میباشد
: LSA type 3(summary LSA)توسط ABR ایجاد میشود و نتورک های یک Area را درون Area دیگر Present میکند
- LSID این LSA ، subnet number ، Area ی دیگر میباشد
OSPF Metric
در مورد metric قبلا صحبت کردیم ، که پروتکل های مختلف ، معیار های متفاوتی جهت انتخاب بهترین مسیر دارند ، در OSPF متریک مسیر ها ، مجموع cost لینک ها در مسیر رسیدن به مقصد میباشد . در واقع هرچه پهنای باند اینترفیس ها بالاتر باشد ، cost ان پایین تر میباشد و در اخر ،پایین ترین metric به عنوان بهترین مسیر انتخاب میشود
همچنین این دوره آموزشی را ببینید: آموزش دوره React
Multi area OSPF
هرچه تعداد روترها و دیوایس ها در شکبه زیادتر میشود process ها هم افزایش پیدا میکند (ناشی از اجرای الگوریتم SPF) و در نتیجه کاهش پرفورمنس را به همراه دارد . از این رو برای کاهش احتمال اجرای الگوریتمSPF روتر ها را Area بندی میکنند
Area type
- Backbone area : area id = 0
- Normal area
قوانین
- همه area ها باید به backbone area متصل باشند
- بین area ها نباید connection ای وجود داشته باشد
- Backbone area باید پیوسته و یکی باشد
ABR(area border Router) : روتر های مرزی (اینترفیس های این روتر در بیش از یک area میباشد)
Backbone Router: به روتر هایی که حداقل یکی از اینترفیس های ان درون backbone area باشد ، backbone Router میگویند
Internal Router : به روتر هایی که تمام اینترفیس های ان درون یک area میباشد ، internal Router میگویند
ASBR(autonomous system boundary router) : به روتری که Route های خارجی را وارد ospf میکند ( به عبارتی دیگر Route ها مانند connected route را redistribute میکند)
دیدگاهتان را بنویسید