بلاگ
در این مقاله میخواهیم در مورد Dynamic Route ، صحبت کنیم ، همانطوری که میدانید در روش static Route ما route های خود را به صورت دستی و استاتیک وارد میکردیم به صورتی که برای هر شبکه ، Route مناسب ان در جدول روتینگ اضافه میکردیم حال به این فکر کنید که این شبکه ها و مسیر ها دائم در حال تغییر باشند، و تعداد روتر های ما هم افزایش یابد ، در این صورت ما قادر به مدیریت این همه Route نخواهیم بود از این رو ، در روش داینامیک ، پروتکل هایی هستند که جدول روتینگ را به صورت داینامیک اپدیت میکنند
روتینگ پروتکل های داینامیک ؛ در ابتدا به دو دسته کلی تقسیم میشوند ، معیار این تقسیم بندی ، این است که هر یک از این پروتکل ها درون یک autonomous system ، کار میکنند یا خارج از ان ، هر autonomous system ، به مجموعه دیوایس هایی که تحت مدیریت یکسانی هستند میگویند
جهت دریافت اطلاعات بیشتر درمورد دورهها و اساتید با مشاورین دوران آکادمی در ارتباط باشید.
به روتینگ پروتکل هایی که درون یک AS کار میکنند را در این دسته یعنی IGP قرار میدهند پروتکل هایی که در دسته IGP قرار میگیرند ( از حیث نحوه advertisement و مبنا قرار دادن هر یک از این دسته پروتکل ها در انتخاب بهترین مسیر میباشد) به سه دسته بندی دیگر تقسیم میشوند.
به روتینگ پروتکل هایی که درون یک AS کار میکنند را در این دسته یعنی IGP قرار میدهند پروتکل هایی که در دسته IGP قرار میگیرند ( از حیث نحوه advertisement و مبنا قرار دادن هر یک از این دسته پروتکل ها در انتخاب بهترین مسیر میباشد) به سه دسته بندی دیگر تقسیم میشوند. Link State - Distance Vector - Hybrid
نحوه عملکرد این پروتکل به گونه ای است که هر روتر ، به صورت دوره ای جدول روتینگ و شبکه های خودش را به همسایه هایش یاد میدهد ولو اینکه تغییری در شبکه رخ داده باشد یا خیر روتر همسایه به توجه به اینکه این اپدیت ها را از کدام اینترفیس خود دریافت کرده و همچنین src-ip ان اپدیت (یک بسته( جدول روتینگ خود را کامل میکند.
مدت زمان ارسال دوره ای اپدیت ها هر 30 ثانیه میباشد.
مدت زمانی که یک روتر صبر میکند تا از روتر همسایه خود اپدیتی دریافت کند ، 180 ثانیه میباشد پس از ان مدت همسایه خود را down فرض میکند.
همه روتر ها برای انتخاب بهترین مسیر به metric مسیر نگاه میکنند، و هر کدام metric کمتری داشته باشد ، مسیر بهتری ایست ، اگر مساوی بود، load balancing رخ میدهد ، حال اینکه روتینگ پروتکل های مختلف معیار انتخاب متریکشان با هم متفاوت میباشد ، معیار انتخاب متریک در RIP ، تعداد hop count میباشد به عبارت ساده تر تعداد روتر های مسیر ; یعنی اگر تعداد روتر ها در یک مسیر کمتر از مسیر های دیگر است ، ان مسیر به عنوان مسیر بهتر شناخته میشود
پروتکل RIP دارای دو ورژن میباشد ، RIPv1 ، RIPv2 که تفاوت عمده این دو ورژن در ان است که در ورژن یک ، تنها netid, metric ، advertise میشد ، و همچنین بسته های اپدیت را به مقصد ادرس برادکست ارسال میکرد ، اما در ورژن دو علاوه بر metric و netid ، subnet mask هم advertise میشد و همچنین به جای اینکه این اپدیت ها را به ادرس برادکست ارسال کند به ادرس multicast 224.0.0.9 ، ارسال میکرد.
همانطور که قبلا ذکر کردیم ، dead time 180 ثانیه میباشد ، یعنی اگر ، 15 روتر به هم متصل شده باشند ، یکی از بازو های روتر 15 هم قطع شود، پس از 180 ثانیه روتر همسایه خود که روتر چهاردهم میباشد متوجه این قطعی میباشد و سپس ان را از جدول روتینگ خود پاک میکند ، بنابرین 15*180 ثانیه طول میکشد تا روتر اول متوجه قطعی شود ، بنابراین به دلیل زمان تشخیص خطای بسیار بالا ، فیچر Route poisoning میگوید ، اگر مسیری قطع شد ، ان را با متریک 16 ارسال کن ، یعنی این مسیر بن بست است ، بنابراین تشخیص خطا به 15*30 ثانیه میرسد.
این فیچر به طور ساده ، برای جلوگیری از انکه نا هماهنگی بین روت ها ایجاد نشود میگوید ، مسیر هایی را که از روتری دریافت کرده اید حق ندارید به خود ان روتر دوباره ارسال کنید.
این فیچر بیان میکند که اگر روتری ، مسیری با متریک 16 دریافت کرد وارد hold on timer میشود که موجب میشود تا 180 ثانیه هیچ اپدیتی از همسایه های خود یاد نگیرد ، این فیچر برای ان است که اطمینان حاصل شودکه همه روتر ها متریک 16 را دریافت کرده باشند.
ما با Route poisoning زمان تشخیص خطا را از 45 دقیقه به 7.5 دقیقه کاهش دادیم اما باز هم زیاد است ، برای همین این فیچر میگوید اگر مسیری قطع شد ، بلافاصله ان را با متریک 16 ارسال کن ، و صبر نکن تا 30 ثانیه که زمان ارسال دوره ای است ان را ارسال کنید.
پروتکل های link state برخلاف distance vector ها که همه Route ها به صورت پریودیک به همسایه ارسال میشد ، اطلاعات مربوط به لینک ها به همه روتر ها ارسال میشود ، به گونه ای که ابتدا تمام اطلاعات ارسال میشود و برای دفعات بعد فقط تغییرات ارسال میشود منظور از اطلاعات لینک ها network ,ip address , type of network , cost of path, neighbors ، میباشد.
کارتکسی که این اطلاعات(اطلاعات لینک ها ) را در برمیگیرد را LSA (link state advertisement)میگویند LSA انواع مختلفی دارد این نوع که هر روتر برای خودش ان را ایجاد میکند و اطلاعات مربوط به لینک های خود درون ان میباشد ، LSA type 1 میباشد تمامی روتر ها LSA type 1 خود را ایجاد میکنند و به دیگران ارسال میکنند ، در نتیجه تمامی روتر ها ، LSA 1 های همدیگر را دارند و در پایان همگرایی جدول LSDB تمامی روتر ها یکسان است
در فاز اول ، هر روتر با روتر همسایه خود، تشکیل همسایگی خواهد داد و سپس اطلاعات این همسایه ها در جدولی به نام جدول همسایگی ذخیره خواهد شد.
در فاز دوم قرار است ، روتر ها ، LSA های همدیگر را با هم تبادل کنند و در نهایت این LSA ها ، درون جدولی به نام LSDB ذخیره میشود.
فاز بعدی ، ایجاد Routing table میباشد ، هر روتر روی جدول LSDB خود ، الگوریتم SPF یا Dijkstraرا اجرا میکند که از این عملیات Routing table ایجاد خواهد شد.
همانطوری که گفتیم ، وقتی دو روتر با هم همسایه میشوند ، اطلاعاتشان درون جدول همسایگی ذخیره میشود . دو همسایه ، هر 10 ثانیه یک بار به یکدیگر hello میفرستند ، تا از وجود یکدیگر با خبر شوند ، و مدت زمان dead time هم 40 ثانیه میباشد. پارامترهای ایجاد همسایگی :
یک شناسه 32 بیتی بسیار مهم در ospf میباشد ، و وجود ان ضروری است ما میتوانیم این شناسه را به صورت دستی خودمان مشخص کنیم ، در غیر این صورت ، به صورت اتومات بزرگترین ip اینترفیس loopback ، به عنوان Router id تنظیم میشود یا اگر اینترفیس loopback نداشتیم ، بزرگترین ادرس ip یکی از اینترفیس ها به عنوان Router id تنظیم میشود فاز های ایجاد همسایگی :
OSPF ، پنج نوع packet دارد :
LSA type 1:(Router LSA) قبلا با این نوع LSA اشنا شدیم مه هر روتر برای خود ، این LSA را ایجاد میکند ،و ارسال میکند که درن ان جزئیات لینک های ان روتر وجود دارد
LSA type 1 قبلا با این نوع LSA اشنا شدیم مه هر روتر برای خود ، این LSA را ایجاد میکند ،و ارسال میکند که درن ان جزئیات لینک های ان روتر وجود دارد
LSA type 2 این نوع LSA توسط DR ما ایجاد میشود و سابنتی که DR درون ان میباشد را Present میکند
توسط ABR ایجاد میشود و نتورک های یک Area را درون Area دیگر Present میکند