این پروتکل یکی از محبوبترین پروتکلهای روتینگ و یکی از قدیمیترین آنها هم است. این پروتکل زیرمجموعهی پروتکلهای Distance Vector است و یک پروتکل IGPs است و در داخل یک AS(Autonomous System) کار میکند.
این پروتکل، مخصوص شبکههای کوچک است و در شبکههای بزرگ بالای ۱۵روتر کاربرد ندارد.
یکی دیگر از ویژگیهای این پروتکل، این است که جدول روتینگ را به صورت کامل در فواصل زمانی ۳۰ ثانیه به دیگر روترها ارسال میکند که به آن Priodic Update میگویند که قبلاً روی این موضوع صحبت کردیم.
پروتکل Rip بر دو نوع است:
- Rip Version 1
- Rip Version 2
همانطور که در مطالب قبلی خواندید، ملاک انتخاب بهترین مسیر در این پروتکل، Hop Count یا روترهای سر راه است. توجه داشته باشید، حداکثر متریک در این پروتکل، ۱۵ است و شما حداکثر روتری که در این پروتکل در یک AS میتوانید استفاده کنید، ۱۵ عدد است. اگر متریک بیشتر از ۱۵ شود، شبکه غیرقابلدسترس خواهد بود.
ویژگیهای پروتکل Rip در یک نگاه:
· این پروتکل از زیرمجموعهی پروتکلهای Distance Vector است. |
· در فواصل زمانی مشخص (۳۰ ثانیه) کل جدول روتیگ را به صورت Broadcast به روترهای مجاورش ارسال میکند (Priodic Update). |
· جزو پروتکلهای IGPs است. |
· حداکثر متریک ۱۵ است. |
یکی دیگر از ویژگیهای پروتکل Rip، استفاده بهینه از شبکه یا Load Balancing است. اگر دو مسیر با متریک یکسان داشته باشد، اطلاعات را بر روی هر دو مسیر انتقال میدهد و این امر باعث افزایش کارایی شبکه میشود.
در این شکل، R1 برای رسیدن به R6 میتواند از دو مسیر حرکت کند، چون برای رسیدن به روتر مورد نظر Hop Count سر راه یا روترهای سر راه در هر دو مسیر برابر است، پس از هر دو مسیر به صورتLoad Balancing استفاده میکند.
حالا سؤال پیش میآید کهRip Version 1 و Rip Version 2 چه تفاوتی باهم دارند؟ برای دریافت جواب به جدول زیر توجه کنید:
Rip Version 1 از CIDR و VLSM پشتیبانی نمیکند و SubnetMask را به همراهNet ID نمیفرستد. امیدوارم که متوجه شده باشید، اگر هم نشدید در ادامه، متوجه خواهید شد.
راهاندازی پروتکل Rip
برای راهاندازی پروتکلRip به صورت زیر عمل میکنیم:
Router(Config)# Router Rip
Router(config-router)# Netwok Network number
در قسمت اول وارد مد Global میشویم و با دستور Router Rip پروتکل Rip بر روی روتر راهاندازی میشود و بعدازآن باید شبکههای متصل به روتر را به آن معرفی کنیم. با یک مثال به این موضوع پی خواهیم برد.
مثال ۲: Packet Tracer را اجرا کرده و ۳ روتر مانند شکل زیر به صفحه اضافه کنید و آنها را از طریق کابل به هم متصل کنید و طبق شکل آدرسدهی کنید.
میخواهیم در این شبکه، پروتکل Rip راهاندازی کنیم؛ بر روی R1 کلیک میکنیم و دستورات زیر را در آن وارد میکنیم:
Router(config)#router Rip
Router(config-router)#network 192.168.1.0
Router(config-router)#network 192.168.4.0
همانطور که مشاهده میکنید، با دستور Router Rip، وارد پروتکل Rip شدهایم. بعدازآن باید آدرس NET ID شبکههای متصل به روتر را معرفی کنیم، شبکههایی که به روتر R1 متصل میباشند، ۱۹۲.۱۶۸.۱.۰ و ۱۹۲.۱۶۸.۴.۰ هستند. همین کار را روی روترهای دیگر انجام میدهید.
تنظیمات روتر R2:
Router(config)#router Rip
Router(config-router)#network 192.168.1.0
Router(config-router)#network 192.168.2.0
تنظیمات روتر R3:
Router(config)#router Rip
Router(config-router)#network 192.168.2.0
Router(config-router)#network 192.168.3.0
به همین راحتی توانستیم این پروتکل را روی تکتک روترها راهاندازی کنیم. حالا باید ببینیم جدول روتینگ در چه وضعیتی است. همانطور که قبلاً گفتیم این جدول اطلاعات مسیرهای مختلف شبکهها را در خود ذخیره میکند. برای نمایش جدول Routing باید از دستور زیر در یکی از روترها استفاده کنیم، وارد مد Privileged میشویم و دستور Show IP Route را وارد میکنیم، این کار را در روتر R1 انجام میدهیم:
همانطور که مشاهده میکنید، جدول روتیگ با ip address های مختلفی را به ما نشان میدهد. شبکههایی که با C شروع میشوند، شبکههای connected و متصل به روتر و شبکهای که با L شروع میشود، IP address متصل به روتر است، اما R شبکههایی هستند که از طریق پروتکل Rip وارد جدول شدهاند و اگر به شکل توجه کنید این شبکهها را از روترهای R2 و R3 یاد گرفته است، مثلاً یکی از این خطها به صورت زیر است:
همانطور که مشاهده میکنید IP ها به صورت ClassFull در جدول روتینگ قرار دارند و این موضوع را بیان میکند که پروتکلRip Version 1 از ClassLess پشتیبانی نمیکند. امیدوارم دربارهی ClassLess در قسمت IP ها مطالعه کرده باشید.
به خاطر ClassFull بودن این پروتکل(مثلاً اگر شما ip هایی در رنج کلاس b داشته باشید، مانند این ip های ۱۷۲.۱۶.۱.۰، ۱۷۲.۱۶.۲.۰، ۱۷۲.۱۶.۳.۰) در این صورت در معرفی Network در پروتکل Rip از این روش استفاده میکنید.
Network 172.16.0.0
به خاطر اینکه همهی IP ها در رنج کلاس b بودند، فقط لازم است در موقع تعریف شبکه از Net ID آن استفاده کنید. این Net ID همهی این IP ها را دربرمیگیرد. به جدول زیر توجه کنید.
۱۷۲.۱۶.۱.۰ | ۱۷۲.۱۶.۰.۰/۱۶ |
۱۷۲.۱۶.۲.۰ | |
۱۷۲.۱۶.۳.۰ |
تایمرها در پروتکل Rip:
- Update Timer
- Invalid Timer
- Holddown Timer
- Flush Timer
:Update Timer
این زمان، همان زمان Priodic Update است و هر ۳۰ ثانیه یکبار، کل جدول روتینگ را به صورت Broadcast به ip، ۲۵۵.۲۵۵.۲۵۵.۲۵۵ میفرستد، البته در پروتکل Rip ver2 به صورت Multicast و بهIP ، ۲۲۴.۰.۰.۹ میفرستد.
Invalid Timer:
این تایمر زمانی اجرا میشود که در مورد یک شبکه، هیچگونه اطلاعاتی در زمان ۹۰ ثانیه دریافت نکند، به حالت Hold رفته و در جدول روتینگ مقابل این شبکه، جملهی Posibly Down را درج میکند.
Holddown Timer:
این تایمر با تایمر invalid Timer باهم کار میکنند، هر موقع در مورد یک شبکه متریک بینهایت را دریافت کند، به حالت Hold رفته و جملهی Posibly Down را در کنار آن شبکه در جدول روتینگ درج میکند و زمان آن ۱۸۰ ثانیه است.
Flush Timer:
این تایمر بعد از ۲۷۰ ثانیه که تمام تایمرهای بالا به کار خود پایان دادندآن را از جدول حذف خواهد کرد. اگر update برای شبکهی مورد نظر نرسد، آن را از لیست یا همان Routing Table حذف میکند.
این سؤال شاید برای شما پیش آید که آیا میشود این تایمرها را تغییر داد؟
بله این کار شدنی است و باید وارد پروتکلRip شده و دستور زیر را وارد کنید:
Router(config-router)# timers basic ?
<0-4294967295> Interval between updates
Router(config-router)#timers basic 10 ?
<1-4294967295> Invalid
Router(config-router)#timers basic 10 50 ?
<0-4294967295> Holddown
Router(config-router)#timers basic 10 50 90 ?
<1-4294967295> Flush
Router(config-router)#timers basic 10 50 90 30
همانطور که مشاهده میکنید با دستور Timer basic میتوان این کار را انجام داد. اولین تایمر همانPriodic Update است که به صورت پیشفرض ۳۰ است و شما میتوانید آن را تغییر دهید. در قسمت دوم،Invalid است که بهطور پیشفرض ۹۰ است و میتوانید آن را تغییر دهید. در قسمت بعد، Holddown تایمر است که زمان آن ۱۸۰ است و میتوانید تغییر دهید و قسمت آخر، تایمر Flush است که زمان آن ۲۷۰ ثانیه است و میتوانید آن را تغییر دهید.
فرمان Debug:
این فرمان برای کنترل و عیبیابی به کار میرود و برای فعال کردن آن برای پروتکل RIP دستور زیر را در مد Privileged وارد میکنیم:
Router# Debug IP Rip
این دستور را در مثال بالا در R1 اجرا میکنیم:
همانطور که مشاهده میکنید، این دستور اجرا شده است و تمام حرکات پروتکل Rip را در نظر دارد. این پروتکل بعد از زمانهای مشخص نسبت به ارسال و دریافت اطلاعات اقدام میکند. اگر دقیق نگاه کنید، یک ip به شمارهی ۲۲۴.۰.۰.۹ وجود دارد که این ip همان Multicast است که در Rip Version2 کاربرد دارد. این حالت نشاندهندهی ارسال جدول روتینگ به این آدرس است، برای اطلاع به روترهای دیگر در شبکه RIP است.
برای اینکه این دستور را غیرفعال کنید از دستور زیر استفاده کنید:
Router#no debug all
راهاندازی پروتکل Rip Version2:
یکی از ویژگیهای مهم Rip V2 این است که ClassLess و VLSM را پشتیبانی میکند و بهرهدهی شبکه را افزایش میدهد.
برای اینکه در پروتکل rip از اینVersion استفاده کنید، در داخل Rip دستور Version 2 را وارد کنید، مانند زیر عمل کنید:
Router(config)#router rip
Router(config-router)#version 2
به همین راحتی پروتکل V1 تبدیل به V2 شد و توانایی پشتیبانی از CIDR و VLSM را دارد.