RIP
یکی از قدیمیترین پروتکلهای مسیریابی داینامیکه که بر اساس الگوریتم Distance Vector کار میکنه. یعنی روترها برای پیدا کردن بهترین مسیر، کل نقشه شبکه رو در اختیار ندارن و فقط اطلاعاتی رو که از همسایههای مستقیمشون دریافت میکنن، مبنای تصمیمگیری قرار میدن.
فرض کن سه تا روتر به اسم R1 و R2 و R3 داری. هر کدوم از این روترها فقط از شبکههایی که مستقیماً به خودشون وصل شدن خبر دارن. مثلاً R2 فقط میدونه که شبکه 172.16.4.0 به خودش وصله و R3 هم فقط از وجود شبکه 172.16.2.0 خبر داره. حالا RIP باعث میشه این روترها اطلاعاتشون رو با هم تبادل کنن.
وقتی RIP رو فعال میکنی، روتر هر ۳۰ ثانیه یک بار کل جدول مسیریابی خودش رو برای همسایهها میفرسته. این تبادل اطلاعات از طریق پروتکل UDP و روی پورت ۵۲۰ انجام میشه.
مثلاً R2 یه پیام برای R1 میفرسته و میگه من به شبکه 172.16.4.0 دسترسی دارم. R1 این اطلاعات رو داخل جدول مسیریابی خودش ذخیره میکنه. بعد R1 همین اطلاعات رو برای R3 میفرسته و بهش میگه اگر خواستی به شبکه 172.16.4.0 برسی، باید از طریق من عبور کنی.
اما RIP برای انتخاب بهترین مسیر از چیزی به اسم Hop Count استفاده میکنه. Hop در واقع تعداد روترهاییه که بسته باید از اونها عبور کنه تا به مقصد برسه.
فرض کن R3 میخواد به شبکه پشت R2 برسه. مسیر به این شکله:
R3 → R1 → R2
در اینجا بسته از دو روتر عبور میکنه؛ بنابراین مقدار Hop برابر با ۲ میشه.
حالا فرض کن یه مسیر دیگه هم وجود داشته باشه:
R3 → R4 → R5 → R2
در این مسیر مقدار Hop برابر با ۳ میشه.
RIP
همیشه مسیری رو انتخاب میکنه که کمترین تعداد Hop رو داشته باشه. نکته جالب اینجاست که RIP اصلاً به سرعت لینک، پهنای باند، تأخیر شبکه، میزان ترافیک یا کیفیت ارتباط توجه نمیکنه و فقط تعداد روترها رو حساب میکنه.
یکی از بزرگترین محدودیتهای RIP هم همین موضوعه. فرض کن یه لینک فیبر نوری ۱۰ گیگابیتی از سه روتر عبور میکنه و یه لینک قدیمی ۱۰ مگابیتی فقط از دو روتر عبور میکنه. RIP احتمال داره لینک ۱۰ مگابیتی رو انتخاب کنه؛ چون تعداد Hop کمتری داره.
محدودیت مهم دیگه RIP اینه که حداکثر تا ۱۵ Hop رو پشتیبانی میکنه. اگر تعداد روترهای مسیر به ۱۶ برسه، RIP اون مسیر رو غیرقابل دسترس در نظر میگیره و دیگه بستهای رو از اون مسیر عبور نمیده.
یه مشکل دیگه هم وجود داره. چون روترها هر ۳۰ ثانیه کل جدول مسیریابی رو برای همدیگه ارسال میکنن، ممکنه بعد از قطع شدن یه لینک، مدتی طول بکشه تا همه روترها از این تغییر باخبر بشن. به این زمان، Convergence Time یا زمان همگرایی میگن.
فرض کن ارتباط بین R1 و R2 قطع بشه. ممکنه R3 هنوز فکر کنه که مسیر رسیدن به شبکه R2 از طریق R1 فعاله و همچنان بستهها رو به سمت R1 بفرسته. این اتفاق باعث ایجاد حلقه مسیریابی یا Routing Loop میشه.
برای حل این مشکل، RIP از چند مکانیزم مثل Split Horizon، Route Poisoning و Hold-Down Timer استفاده میکنه تا از ایجاد حلقه جلوگیری کنه.
نسخه اول RIP یا RIPv1 از ارسال اطلاعات Subnet Mask پشتیبانی نمیکرد و به همین دلیل فقط در شبکههای کلاسبندیشده قابل استفاده بود.
بعداً RIPv2 معرفی شد که از قابلیتهایی مثل موارد زیر پشتیبانی میکنه:
پشتیبانی از CIDR
پشتیبانی از VLSM
ارسال اطلاعات Subnet Mask
ارسال اطلاعات بهصورت Multicast
احراز هویت بین روترها
امروزه RIP تقریباً در شبکههای بزرگ استفاده نمیشه؛ چون پروتکلهایی مثل OSPF و EIGRP خیلی سریعتر، دقیقتر و هوشمندتر عمل میکنن.
@ITSecurityComputer
