همانطور که قول داده بودیم ، این جلسه در مورد روتینگ پروتکل RIP بحث می کنیم.

Routing Information Protocol - RIP

RIP جزو اولین روتینگ پروتکل ها به حساب می آید و همانطور که می دانید جزو خانواده Distance Vector ها از روتینگ پروتکل های داینامیک هست.این روتینگ پروتکل را شرکت زیراکس به دنیا معرفی کرد.

پنج خصوصیت روتینگ پروتکل RIP

1.از خانواده Distance Vector هست.

2. آپدیت هایش را به صورت Broadcast می فرستد.

3. Classful هست یعنی عمل روتینگ رو برای شبکه های subnet شده نمی تواند انجام دهد.

4. Hop Count متریک مسیریابی است که استفاده می کند.

5. IP-IPX در مورد آن توضیح میدهم.

6. Convergency time آن بالا است. در مورد آن کمی جلوتر توضیح می دهم.

7. می تواند ارسال ترافیک را از شش مسیر با ارزش یکسان انجام دهد. به صورت پیش فرض این عدد4 است.

IPX پروتکلی است که در سیستم عامل شبکه ای netware شرکت ناول استفاده می شدو RIP قابلیت پشتیبانی از این پروتکل را نیز دارا می باشد.

Hop Count

تعریف سیسکو از hop count :

RIP uses a single routing metric (hop count) to measure the distance between the source and a destination network

RIP از یک متریک مسیریابی استفاده میکند به نام hop Count که فاصله بین شبکه مبدا و مقصد را اندازه می گیرد.

برای اینترفیس های متصل به یک روتر هاپ کنت برابر صفر است. وقتی یک آی پی از روتر همسایه می رسد یک هاپ کنت به آن اضافه می شود و برابر یک می شود.تا 15 هاپ کانت RIP پشتیبانی می کند و اگر شبکه آنقدر بزرگ شدکه از 15 تا hop count بیشتر شد، دیگر نمیتوانیم از این روتینگ پروتکل استفاده کنیم.

همانطور که در تصویر هم توضیح داده شد، چون در RIP متریک مسیریابی بر اساس Hop count  است و H.C (از این به بعد به اختصار Hop Count رو H.c میگویم) R1 تا R5 برابر یک است. به همین دلیل بهترین مسیر در RIP همان است که در تصویر نشان داده شده است.

اما اساسا RIP چگونه کار می کند؟

برای اینکه به سوال بالا پاسخ بدهیم باید با مفاهیم زیر آشنا شویم.

Update Timer

هر روتر هر 30 ثانیه یکبار ، کل روتینگ تیبل خود را در شبکه ارسال می کند یا اصطلاحا Advertise می کند.

به این زمان Update timer می گویند.

 

Convergency Time

به مدت زمانی گفته می شود که تغییرات در شبکه ارسال و اعمال شده باشد. یعنی مدت زمانی که طول می کشد تا هر روتر کل شبکه را ببیند.مثلا در RIP ،سی ثانیه طول می کشد تا همسایه هایش را ببنید، در سی ثانیه دوم میتواند همسایه های همسایه هایش را ببیند ، در سی ثانیه سوم می تواند دیوایس های دورتر را ببنید و آپدیت هایشان را دریافت کند و یک مدت زمانی طول می کشدتا بتواند از وجود دیوایس های کل شبکه با خبر شود به این مدت زمان Convergency time می گویند.

 

Invalid Timer

در روتینگ پروتکل RIP، همانطور که می دانید روتر ها هر 30 ثانیه یکبار کل روتینگ تیبل خودشون رو به همسایه هاشون میفرستند.

فرض کنید یک روتر در شبکه Down شود، مسلما دیگر نمی تواند روتینگ تیبل خودش را به همسایه ها بفرستد. اما همسایه ها و کل شبکه از کجا بفهمد که این روتر Down شده و از شبکه خارج شده تا برای آن ترافیک نفرستند؟

یک راه حل وجود دارد و آن زمان Invalid Timer هست. همه روترها وقتی Update تکراری از Device های همسایه دریافت کنند ،Invalid Timer رو ریست می کنند و صفر می شود. این زمان تا 90 ثانیه می رود و اگر طی این مدت آپدیتی از Device همسایه نیاید ، آن روتر به عنوان یک روتر Invalid مارک می خورد. اما چه اتفاقاتی می افتد که روتر ها می فهمند که آن روتر down شده است را در ادامه می گویم.

 

Poison Reverse

در صورتی که زمان Invalid Timer تمام شود و آپدیتی از Device مورد نظر دریافت نشود، یک آپدیت با شماره آی پی روتر Down شده  به نام Poison Reverse با H.C 16 به روترهای دیگر می فرستد تا همه را باخبر کند این روتر Down شده است. اما چرا با H.C 16 ؟

همانطور که می دانید RIP از 15 H.C پشتیبانی می کند و هاپ کانت 16 مشخص می سازد که آن روتر قابل دستیابی نیست و معنایش این است که "شما نمی توانید به آن دسترسی پیدا کنید."

 

Flush Timer

خب روتر از ثانیه 90 تا 240 ثانیه یعنی 4 دقیقه صبر می کند بلکه آپدیتی از روتری که به حالت Invalid در آمده دریافت کند. اما وقتی 240 ثانیه سپری شدو دید که از آپدیت خبری نیست، آی پی آن از داخل Routing Table پاک می شود.

خب برای اینکه بهتر با مفهوم RIP آشنا بشید . یک مثال تصویری می زنم.. من فکر می کنم بهترین مثال ها، مثال های تصویری هستند .

به تصویر زیر دقت کنید.

همانطور که می بینید در تصویر 4 روتر داریم با چهار شبکه که عبارتند از :

الف - 192.168.10.0

ب - 172.16.0.0

ج - 166.166.0.0

د - 200.200.200.0  

در ابتدا روتینگ تیبل ، هر 4 روتر به قرار زیر است.

همانطور که می بینید تنها اینترفیس هایی که به روتر وصل هستند در روتینگ تیبل آنها وجود دارد.

در سی ثانیه اول که روترها کل Routing Table خودشون رو به روترهای همسایه می فرستند، روتینگ تیبل هرکدام به قرار زیر می شود.

 

اگر در شکل بالا که داده ام دقت کنید هر روتر، به دو روتر متصل شده است. به همین دلیل دو آپدیت هر روتر دریافت کرده است و اگر دقت کنید در جدول دو آی پی با حرف R مشخص شده است که یعنی این روتر این دو آی پی را از طریق RIP از روترهای همسایه دریافت کرده است.

اما همانطور که می بینید دراین سی ثانیه هنوز روتر ها نتوانسته اند که روترهایی که با دو H.C از آنها فاصله دارند را ببینند . به همین دلیل می گویند که زمان Convergency Time این روش بالاست. فرض کنید تعداد روترها زیادتر باشد چه مدت زمانی طول می کشد تا بتوانند این روترها همدیگر را ببینند.

در سی ثانیه دوم روتینگ تیبل هر روتر به صورت زیر می شود که من جدا جدا می آورم:

همانطور که می بینید،من با رنگ قرمز دو IP که در سی ثانیه دوم دریافت شده است را مشخص کرده ام.

اگر RIP، یک network را از دو مسیر یکسان دریافت کند، هر دو را نگه می دارد و در روتینگ تیبل روتر ثبت می شود همانطور که در شکل مشخص شده است.

به همین صورت اگر آپدیتی را دریافت کند که مسیرش (یعنی تعداد H.C) بهتر از مسیر خودش باشد، آن را جایگزین مسیر خودش می کند.

و برعکس اگر آپدیتی دریافت کند که مسیرش بدتر از مسیر خودش باشد آن را Drop می کند و دور میریزد.

و اما RIP چطور پیاده سازی می شود؟ تا جلسه بعد منتظر بمانید.. مطمئن باشید ارزشش را دارد.