معرفی انواع Routing Protocol ها

معرفی انواع Routing Protocol ها

مقدمه :

Router board ها یکی از اصلی ترین و پر طرفدارترین محصولات تولیدی شرکت میکروتیک محسوب میشوند. این سخت افزار قابلیت ها و ویژگی های فراوانی دارد که به طور همزمان میتوان از همه ی آن ها در شبکه بهره برد. برخی از این قابلیت ها عبارتند از :

  • Wireless
  • توانایی مسیریابی
  • Firewall
  • Dedicated Bandwidth
  • و …

در بین همه ی این ها، توانایی مسیریابی روتر های میکروتیک از چنان قدرتی برخوردار است که گاهی ممکن است به اشتباه Router board ها را تنها با همین ویژگی بشناسیم.

در کل میتوان گفت مسیریابی (Routing) به این معنی است که هر بسته برای رسیدن به مقصد اصلی خود و جا به جا شدن در شبکه از کدام مسیر باید عبور کند.

در دوره ی MTCNA با دسته بندی Route ها آشنا شدیم و دانستیم که Route ها به طور کلی به دو دسته ی Static route و Dynamic route تقسیم میشوند. نحوه ی ایجاد Static route ها در میکروتیک را نیز آموختیم و دانستیم که چگونه آن ها را در سناریو پیاده سازی کنیم. در این دوره اما قصد داریم تا Dynamic route ها را به طور خاص و اساسی مورد بررسی قرار دهیم و با کاربرد آن ها در شبکه آشنا شویم.

انواع Routing protocol ها

انواع Dynamic route ها :

استفاده از Dynamic route ها در روتر این امکان را به وجود می آورد تا روتر به صورت خودکار Routing table ها را در درون خود ایجاد کند. این روش خود به دو دسته تقسیم میشود که در زیر به شرح هر کدام از آن ها میپردازیم.

Connected route : فرض کنید بر روی پورت شماره ۱ روتر، IP=192.168.10.1/24 و بر روی پورت شماره ۲ نیز IP=192.168.20.1/24 تنظیم شده باشد. به محض قرار گرفتن این IP ها بر روی پورت ها، روتر NetID هر کدام از آن ها را به سایر پورت های خود معرفی میکند و بدین ترتیب همه ی آن ها از NetID های یکدیگر باخبر شده و با هم ارتباط برقرار میکنند. برای مثال همه ی پورت های این روتر میدانند که برای رسیدن به شبکه ی ۱۹۲٫۱۶۸٫۱۰٫۰/۲۴ باید از پورت شماره ۱ عبور کنند. در واقع پس از قرار گرفتن هر IP بر روی هر کدام از پورت ها، روتر یک خط Route در جدول Routing خود ایجاد میکند و این مسیر را به سایر پورت ها میشناساند. به چنین Route هایی Connected route میگوییم.

Routing protocol : هنگامی که از Static route ها برای مسیریابی در شبکه استفاده میکنیم ناچاریم به سمت همه ی شبکه هایی که برای روتر ناشناس هستند Route ایجاد کنیم. انجام این کار در شبکه هایی با گستردگی زیاد مسلماً کار دشوار و وقت گیری است و حتی ممکن است در بعضی ابعاد غیر منطقی و غیر ممکن به نظر برسد ( برای مثال شبکه ی جهانی اینترنت را در نظر بگیرید). در حقیقت میتوان گفت امروزه وجود شبکه هایی با گستردگی جغرافیایی بسیار زیاد را مدیون Routing protocol ها هستیم چراکه با استفاده از این Route ها میتوان با انجام کمترین تنظیمات به بسیاری از شبکه ها دسترسی پیدا کرد. عمده ترین تفاوت Static route ها و Dynamic route ها در این است که Route های Dynamic به جای اینکه به سمت سایر شبکه ها Route ایجاد کنند، شبکه ها و NetID های خود را به دیگران معرفی میکنند ( اصطلاحا NetID های خود را Advertise میکنند).

برای مثال اگر بر روی پورت شماره ۱ روتر IP=192.168.10.1/24 و بر روی پورت شماره ۲ نیز IP=192.168.20.1/24 تنظیم شده باشد، این روتر با کمک Routing protocol ها NetID های ۱۹۲٫۱۶۸٫۱۰٫۰/۲۴ و ۱۹۲٫۱۶۸٫۲۰٫۰/۲۴ را به سایر روتر های اطراف خود معرفی میکند و به این ترتیب روتر ها مسیر رسیدن به این دو NetID خاص را خواهند شناخت.

OSPF ، RIP ، EIGRP و …. از انواع Routing protocol ها محسوب میشوند.

Routing protocol ها خود به دو دسته ی کلی تقسیم میشوند که در زیر به شرح آن ها میپردازیم.

IGP : Routing protocol هایی که در یک AS کار میکنند در دسته ی Routing protocol های IGP (Interior Gateway Protocol) قرار میگیرند. OSPF ، RIP و EIGRP از انواع Routing protocol های IGP محسوب میشوند.

EGP : Routing protocol هایی که AS های مختلف را به یکدیگر وصل میکنند در دسته ی Routing protocol های EGP (Exterior Gateway Protocol) قرار میگیرند. BGP (Border Gateway Protocol) تنها Routing protocol مربوط به دسته ی EGP میباشد. با استفاده از این Routing protocol میتوانیم شبکه های بزرگتر را در سطح جهانی ایجاد کنیم.

نکته!!! شبکه و سیستم هایی که تحت یک Administrative domain عمل میکنند و سیاست گذاری ها و قوانین آن ها تنها توسط یک شرکت یا یک مجموعه ی خاص اعمال میشود را یک AS (Autonomous system) (سیستم خود مختار) مینامیم. برای مثال اداره ی برق در ایران یک AS مجزا به حساب می آید.

 

انتخاب مناسب ترین Routing protocol :

هر کدام از Routing protocol ها ویژگی ها و قابلیت های متفاوتی دارند که با توجه به آن ها در شبکه های مختلف مورد استفاده قرار میگیرند. در ادامه به شرح برخی از این ویژگی ها میپردازیم.

Scalability : Scalability یا توسعه پذیری بدین مفهوم که این روتینگ پروتکل تا چه میزان قابلیت رشد و گسترش دارد بعنوان مثال در روتیگ پروتیک RIP  حداکثر ۱۵ روتر را پشتیبانی می کند حال آنکه در  OSPFچنین محدودیتی نداریم.

vendor interoperability : یکی از کارامد ترین ویژگی هایی که یک Routing protocol میتواند در اختیار داشته باشد، vendor interoperability است. vendor interoperability به این معنی است که Routing protocol توانایی کار کردن با تجهیزات کمپانی های مختلف را داشته باشد. برای مثال با استفاده از OSPF میتوان میان تجهیزات میکروتیک و سیسکو، Route ایجاد کرد چرا که این Routing protocol از این قابلیت برخوردار است.

IT Staffs familiarity with protocol : پروتکل های مسیر یابی باید به گونه طراحی و پیاده سازی شوند که کارمندان به راحتی بتوانند از آن ها استفاده کنند.

 

Speed of convergence : هنگامی که تغییری در یک شبکه رخ میدهد، روتر آن را به سایر شبکه های مرتبط با خود نیز اطلاع میدهد. مدت زمانی که طول میکشد تا سایر شبکه ها از این تغییر مطلع شوند Convergence time نامیده میشود. هرچه Convergence time عدد کمتری داشته باشد (Routing protocol ها با سرعت بیشتری تغییر را اطلاع دهند) شبکه بهینه تر عمل میکند.

 

Capability to perform summarization : Routing protocol ها باید به گونه طراحی و پیاده سازی شوند که قابلیت Summarization یا خلاصه سازی را داشته باشند. بعنوان مثال بتوان چند خط Route را در یک خط خلاصه کرد.

۱۰٫۱۰٫۱۰٫۰/۲۴——-à۱۰٫۲۰٫۳۰٫۲

۱۰٫۱۰٫۱۰٫۰/۲۲——-à۱۰٫۲۰٫۳۰٫۲

۱۰٫۱۰٫۱۰٫۰/۲۰——-à۱۰٫۲۰٫۳۰٫۲

معادل

۱۰٫۱۰٫۰٫۰/۱۶——–à۱۰٫۲۰٫۳۰٫۲

 

 

Routing protocol ها به شیوه های مختلفی Routing table ها را به روز رسانی میکنند که بر همین اساس میتوان آن ها را در دو دسته ی Routing protocol های Distance vector و Link state تقسیم بندی کرد. در قسمت زیر تفاوت این دو دسته را توضیح میدهیم.

Distance vector : اگر رفتار Routing protocol به گونه ای باشد که تنها در بازه های زمانی معینی اطلاعات Routing table روتر خود را به سمت سایر روتر های مرتبط ارسال کند در دسته ی Routing protocol های Distance vector قرار خواهد گرفت. این به این معنی است که اگر تغییری در Routing table ایجاد شود به صورت سریع و آنی به سایر روتر ها گزارش داده نخواهد شد و تغییرات به همراه اطلاعات قدیمی تر، پس از مدت زمان مشخصی به سمت سایر روتر ها Broadcast میشوند. الگوریتم های Distance vector بر اساس دو فاکتور Distance (فاصله) و Vector (جهت یابی) بهترین مسیر را برای رسیدن به مقصد انتخاب میکنند.

 

Link state : روتر هایی که از الگوریتم های Distance Vector استفاده میکنند، تنها بر اساس Hop count (تعداد روتر هایی که در مسیر وجود دارد) مسیر مقصد را انتخاب میکنند.

اما روتر هایی که از الگوریتم های Link state استفاده میکنند دید گسترده تری نسبت به شبکه و روتر های موجود در آن دارند. برای مثال تمام روتر ها یک Cost مشخص دارند و این Cost بر اساس میزان پهنای باندی که در اختیار روتر قرار دارد مقدار دهی میشود. الگوریتم Link state علاوه بر Hop count ، مقدار Cost را نیز برای انتخاب بهترین مسیر برای رسیدن به مقصد در نظر میگیرد.

 

به وجود آمدن Loop در لایه ۳ :

هنگامی که روتر ها از Routing protocol ها برای ارتباط با یکدیگر استفاده میکنند، ممکن است در در لایه ی ۳ ارتباط Loop ایجاد شود. برای درک بهتر این موضوع به مثال زیر دقت کنید.

فرض کنید روتر ها برای ارتباط با یکدیگر از Routing protocol ها استفاده میکنند. با توجه به این موضوع میتوان گفت که هر کدام از آن ها اطلاعات Routing table خود را برای سایر روتر ها ارسال کرده اند. برای مثال روتر A شبکه ی ۱۹۲٫۱۶۸٫۱۰٫۰/۲۴ ( شبکه ی داخلی روتر A ) را به روتر B و روتر C معرفی کرده است و آن ها نیز این شبکه و مسیر منتهی به آن را در Routing table خود ثبت کرده اند. حال روتر B نیز پس از گذشت مدت زمانی اطلاعات Routing table خود را به سمت دو روتر A و C ارسال میکند. در نظر داشته باشید که آدرس شبکه ی ۱۹۲٫۱۶۸٫۱۰٫۰/۲۴ نیز در این اطلاعات ارسالی موجود میباشد و روتر B آن را برای روتر A ارسال میکند. این در حالی است که روتر A خودش این شبکه را به روتر B معرفی کرده بود. البته تا این مرحله هیچ مشکل و خللی در شبکه رخ نخواهد داد. اما تصور کنید که به هر دلیلی روتر A شبکه ی ۱۹۲٫۱۶۸٫۱۰٫۰/۲۴ را از دست بدهد. در این صورت تنها روتر A از این موضوع آگاه خواهد بود و سایر روتر های B و C از این اتفاق باخبر نخواهند شد. در چنین شرایطی و با وجود از بین رفتن شبکه ی ۱۹۲٫۱۶۸٫۱۰٫۰/۲۴ روتر B و C این شبکه را مجددا به روتر A معرفی میکنند و روتر A نیز آن را در جدول خود ثبت میکند. این در حالی است که چنین شبکه ای دیگر وجود ندارد. بنابراین با توجه به چنین خطایی ممکن است در شبکه Loop ایجاد گردد.

برای جلوگیری از این خطا دو روش زیر پیشنهاد میگردد.

Split Horizon : استفاده از این روش باعث میشود تا روتر ها اطلاعاتی که از یک اینترفیس خاص دریافت میکنند را به سمت همان اینترفیس ارسال نکنند.

Poisoning reverse : با استفاده از این روش هنگامی که مسیر یا شبکه ی یک روتر از بین میرود، آن روتر موظف میگردد تا این اتفاق را به سایر روتر ها گزارش دهد. نحوه ی گزارش دادن نیز به این صورت است که روتر، Distanse مربوط به آن مسیر را با عددی بسیار بزرگ (۲۵۵) برای سایر روتر ها ارسال میکنند. بقیه ی روتر ها به محض دریافت این Distance متوجه از بین رفتن آن مسیر خاص میشوند.

 

 

RIP یا Routing Information Protocol :

RIP یکی از قدیمی ترین Routing protocol های دنیای شبکه محسوب میشود که در دسته ی الگوریتم های Distance vector قرار دارد. این پروتکل مسیر یابی در ۳ نسخه ی مجزا در زمان های متفاوت به بازار عرضه شد و هر کدام ایرادات و نواقص نسخه ی قبلی را برطرف میکرد. امروزه این پروتکل چندان مورد استفاده قرار نمیگیرد و Routing protocol های قدرتمند تری جایگزین آن شده است. در زیر به شرح هر کدام از این نسخه ها میپردازیم.

RIP Version 1 :

این نسخه از RIP در سال ۱۹۸۸ عرضه شد و تنها می‌تواند از کلاس‌های پیشفرض IP (Classful) استفاده کند. RIP Version 1 برای به روز کردن اطلاعات شبکه، جدول خود را بین سایر روتر ها پخش (Broadcast) می‌کند. این پروتکل مسیریابی تنها میتواند تعداد ۱۵ روتر را پشتیبانی کند.

RIP Version 2 :

با توجه به کمبودها و نواقص موجود در نسخه ۱، نسخه دوم RIP در سال ۱۹۹۸ آماده استفاده شد.در این نسخه بسیاری از کاستی‌های نسخه اول برطرف شده ‌است. برای مثال در این نسخه می‌توان از زیر شبکه‌های (Subnet) غیر پیشفرض استفاده نمود (Classless). همچنین این نسخه از RIP جداول خود را به صورت Multicast و با استفاده از IP=224.0.0.9 برای سایر روتر ها ارسال میکند. نسخه ی دوم نیز تنها توانایی پشتیبانی ۱۵ روتر را دارد.

RIPng :

این نسخه شباهت زیادی به نسخه ۲ دارد با این تفاوت که برای پشتیبانی از IPv6 به وجود آمده ‌است.

مفهوم Best route selection :

در دنیای شبکه مفومی به نام Best route selection یا انتخاب بهترین مسیر وجود دارد. اگر چندین مسیر متفاوت برای رسیدن به یک مقصد مشخص وجود داشته باشد، Routing protocol با استفاده از الگوریتم Best route selection خود بهترین مسیر ممکن را انتخاب میکند.

هر کدام از الگوریتم های Best route selection معیارهای خاص خود را برای انتخاب بهترین مسیر دارند. برای مثال در روتینگ پروتکل RIP بهترین مسیر بر اساس Hop count ( تعداد روتر های سر راه ) انتخاب میشود. فرض کنید روتر ۱ قصد ارتباط با روتر ۲ را داشته باشد و برای رسیدن به روتر ۲ چندین مسیر مجزا وجود داشته باشد، RIP آن مسیری را انتخاب میکند که تعداد کمتری از روتر ها در آن مسیر قرار گرفته باشند. این شیوه از انتخاب در نگاه اول ممکن است هوشمندانه به نظر برسد. اما ممکن است مسیر انتخابی شرایط مناسبی برای انتقال Data نداشته باشد ( مثلا پهنای باند بسیار کمی داشته باشد ).

برچسب :
فاطمه ترک پور

ایشان از جمله برترین مدرسین شبکه می‌باشند و با تجربه بسیار غنی در حوزه دستگاه های میکروتیک و سیسکو در حال حاضر مسئول تحقیقات و تدریس Network مجموعه فرکیان‌تک می‌باشند.

مطالب مرتبط

دیدگاهها

نظر: