مروری بر پروتکل مسیریابی EIGRP

نویسنده: مهنا حسینی
2 ماه پیش

مروری بر پروتکل مسیریابی EIGRP

در اوایل دهه 1990 میلادی عوامل فنی و تجاری، جهان را به سمت دومین موج پروتکل ­های مسیریابی برد. اگرچه RIPv1 و IGRP گزینه ­های مناسبی برای تکنولوژی ها در دهه 1980 میلادی بودند، اما محدودیت ­های فنی داشتند. به دلیل گسترش و رشد TCP/IP در شبکه ­های سازمانی در دهه 1990 میلادی، جهان به پروتکل ­های مسیریابی بهتری نیاز داشت. شبکه ­های گسترده زیادی از شبکه­ های قدیمی مهاجرت کردند و به استفاده از شبکه ­های مبتنی بر مسیریابی، LAN و TCP/IP روی آوردند. این شرکت­ ها نیاز به عملکرد بهتر در پروتکل­ های مسیریابی داشتند که شامل معیار تصمیم گیری (Metric) و زمان همگرایی (Convergence) بهتر می شد. همه این عوامل منجر به معرفی موج جدید پروتکل های مسیریابی Interior شد. در شکل زیر زمان معرفی این پروتکل­ ها و اوج دوره زمانی استفاده از آن ها نشان داده شده است.

eigrp-history

امروزه EIGRP و OSPF دو رقیب اصلی برای استفاده در شبکه های مدرن هستند. اما دو نکته کلیدی در خصوص EIGRP منجر می شود تا مهندسین به استفاده از آن روی بیاورند:

  • EIGRP از ترکیب یک متریک قوی بر مبنای پهنای باند و تأخیر (Delay) لینک استفاده می کند. بنابراین روترها امکان انتخاب بهترین مسیر را دارند.
  • زمان همگرایی EIGRP سریع است. یعنی زمانی که کوچکترین تغییری در شبکه رخ دهد، EIGRP به سرعت بهترین مسیر بدون Loop جایگزین را می یابد.

مفاهیم و عملکرد EIGRP

هنگامی که یک روتر به شبکه متصل می شود، EIGRP همانند OSPF از سه مرحله استفاده می کند. هر مرحله منجر به تشکیل یک جدول می شود. این جداول شامل Neighbor Table ،Topology Table و Routing table هستند. همه این فرآیندها و جداول باعث ایجاد Route های IPv4 در جدول مسیریابی می شوند. در ادامه به شرح سه مرحله پرداخته ایم:

  1. Neighbor Discovery: روترهای EIGRP برای یافتن روترهای همسایه، پیام های Hello ارسال و یک سری پارامترهای پایه ای را چک می کنند. همسایگانی که تمامی پارامتر ها را داشته باشند، در Neighbor Table افزوده خواهند شد.
  2. Topology Exchange: زمانی که همسایگی برقرار شد، اطلاعات توپولوژی به صورت کامل (Full Update) بین همسایه ها رد و بدل می شود. سپس در ادامه هر زمان که تغییری در توپولوژی شبکه رخ داد، آپدیت های جزئی (Partial Update) ارسال می شود. اطلاعاتی که در این به روز رسانی ها یاد گرفته می شود، در جدول توپولوژی (Topology Table) اضافه می شود.
  3. Choosing Routes: هر روتر جدول توپولوژی خود را تحلیل می کند و مسیر با متریک کمتر برای رسیدن به هر Subnet را انتخاب می کند. EIGRP مسیر با بهترین متریک برای هر مقصد را در جدول مسیریابی (Routing Table) قرار می دهد.

همسایگی در EIGRP

از زاویه دید یک روتر، روتر همسایه به روتری گفته می شود که به یک Subnet مشترک متصل است و روتری است که می خواهد اطلاعات توپولوژی را رد و بدل کند. EIGRP از پیام های Hello برای پیدا کردن همسایه های بالقوه استفاده می کند و به روز رسانی ها را به آدرس مالتی کست، 224.0.0.10 ارسال می کند. زمانی که روتر مقابل شناسایی شد، باید تعدادی پارامتر چک شود و سپس همسایگی تشکیل گردد. این پارامترها در ادامه شرح داده می شود:

  • اگر از فرایند احراز هویت استفاده شود، باید نوع احراز هویت و کلید روتر همسایه با روتر Local یکسان باشد.
  • شماره AS ها باید یکی باشد.
  • آدرس آی پی مبدأ که در پیام Hello همسایه استفاده می شود، باید در Subnet یکسان با آدرس آی پی اینترفیس روتر Local باشد.
  • مقادیر K-value روترها باید تطابق داشته باشد. هرچند سیسکو توصیه می کند این مقادیر تغییر داده نشود.

EIGRP بسته های Hello را به صورت Multicast ارسال کرده و برای ارسال اطلاعات توپولوژی به همسایه ها از پیام های آپدیت به صورت Unicast استفاده می کند، مگر اینکه روتر فرستنده نیازمند به روز رسانی چند روتر روی یک Subnet باشد. در این صورت پیام ها به آدرس آی پی مالتی کست، 224.0.0.10 ارسال می شوند.

EIGRP این پیام ها را بدون استفاده از UDP یا TCP می فرستد و از پروتکلی به نام Reliable Transport Protocol (RTP) استفاده می کند. RTP مکانیزمی را فراهم می کند تا پیام های EIGRP که توسط همسایه دریافت نشده است، دوباره ارسال شوند. با استفاده از این پروتکل، EIGRP می تواند بهتر از وقوع Loop جلوگیری نماید. چون روتر می داند که روتر همسایه آپدیت اطلاعات مسیر را دریافت کرده است یا خیر.

همسایگی در EIGRP

محاسبه بهترین مسیر برای قرار دادن در جدول مسیریابی

متریک محاسبه شده توسط EIGRP با سایر پروتکل های مسیریابی متفاوت است. EIGRP از یک معادله ریاضی و یک متریک مرکب استفاده می کند. متریک مرکب به این معنی است که EIGRP از چند ورودی که به آن اجزا یا پارامتر متریک گفته می شود، برای محاسبه معادله ریاضی استفاده می کند. به صورت پیش فرض از دو پارامتر در محاسبات استفاده می کند: Bandwidth و Delay.

EIGRP شامل پارامترهای دیگری نیز از جمله Load و Reliability برای محاسبه متریک است، اما این پارامترها در حالت طبیعی استفاده نمی شوند. همچنین MTU را به همراه مسیر اعلان می کند اما در محاسبه از آن استفاده نمی کند. فرمول محاسبه متریک EIGRP با تنظیمات پیش فرض و استفاده از Bandwidth و Delay به صورت زیر است:

EIGRP-Formula

در این فرمول اصطلاح Least-bandwidth به کمترین پهنای باند لینک در مسیر اشاره دارد که از واحد کیلو بیت بر ثانیه (Kb/S) استفاده می کند. استفاده از کمترین پهنای باند به EIGRP این امکان را می دهد که از انتخاب مسیرهایی که کندترین لینک ها را دارند و باعث ازدحام (Congestion) می شوند، جلوگیری شود.

مقدار Cumulative-delay که در فرمول استفاده شده است، برابر با مجموع مقادیر Delay اینترفیس های خروجی در مسیر است که واحد آن برابر است با Tens of microseconds. بنابراین مسیرهای با لینک های زیاد، کمتر مورد تقاضا خواهند بود.

امکان تنظیم این مقادیر برای هر لینک به صورت دستی و در زیر اینترفیس میسر است.

به عنوان مثال در شکل زیر روتر R1، رنج آدرس شبکه 10.1.3.0/24 را از روتر R2 یاد می گیرد. پیام آپدیت دریافتی از R2، در بر گیرنده حداقل پهنای باند 100,000Kbps و مجموع تأخیر 100Microseconds است. پهنای باند اینترفیس S0/1 روتر R1، روی مقدار 1544Kbps تنظیم شده است که مقدار پیش فرض لینک Serial است. همچنین Delay آن برابر با 20,000Microseconds است.

EIGRP

R1 درمی ­یابد که پهنای باند اینترفیس S0/1 کمتر از حداقل مقدار اعلان شده توسط روتر R2 است. لذا لازم است R1 از پهنای باند کمتر در محاسبه متریک استفاده کند.

برای محاسبه Delay، روتر همیشه Delay اینترفیس خود را با مجموع Delay مسیر در آپدیت EIGRP اضافه می ­کند. با توجه به واحد Delay، روتر R1 قبل از محاسبه فرمول، مقدار Delay دریافتی را که برابر با 100Microseconds است، به 10Tens of microseconds تبدیل می کند. همچنین Delay اینترفیس S0/1 را نیز معادل 2000Tens of microseconds در نظر می گیرد. در نتیجه متریک به صورت زیر محاسبه می شود:

EIGRP-Formula

محتویات پیام Update در EIGRP

EIGRP از پنج نوع پیام استفاده می کند:

  • Hello
  • Update
  • Query
  • Reply
  • ACK (acknowledgment)

EIGRP از دو پیام Update و ACK به عنوان بخشی از فرآیند تبادل اطلاعات توپولوژی استفاده می کند. پیام Update حاوی اطلاعات توپولوژی است و با استفاده از پیام ACK، دریافت بسته Update تأیید می شود.

پیام Update شامل اطلاعات زیر است:

  • Network Prefix
  • Network Prefix Length
  • پارامترهایی که در محاسبه متریک استفاده می شوند: Bandwidth ،Delay ،Reliability و Load
  • پارامترهایی که در محاسبه متریک استفاده نمی شوند: MTU و Hop count

فرایند Update در EIGRP

زمانی که روترهای EIGRP همسایه می شوند، با استفاده از قوانین زیر شروع به تبادل اطلاعات توپولوژی می کنند:

  • زمانی که یک همسایه برای بار اول به شبکه متصل می شود، روترها اطلاعات توپولوژی را به صورت کامل (Full Update) تبادل می کنند.
  • بعد از اینکه همه رنج آدرس ها با همسایه ها مبادله شد، اگر تغییری در شبکه به وجود نیاید، به روز رسانی متوقف می شود.
  • اگر تغییری ایجاد شود، روترها فقط آپدیت های جزیی در مورد همان Prefix که وضعیتش تغییر کرده، را ارسال می کنند. این اتفاق زمانی رخ می دهد که یکی از پارامترهای محاسبه متریک تغییر کند، لینک ها Fail شوند، لینک ها دوباره بازیابی شوند یا همسایه های جدید، اطلاعات بیشتری اعلان کنند.
  • اگر همسایه ها Fail شوند و دوباره Recover شوند، یا همسایه های مجاور جدید تشکیل شوند، ارسال آپدیت برای این همسایه ها به صورت کامل اتفاق می افتد.
  • EIGRP به صورت پیش فرض از قوانین Split Horizon پیروی می کند. طبق قانون Split Horizon، در صورتی که روتر یک Prefix را بر روی بهترین مسیر خود دریافت کند، نمی تواند آن Prefix را بر روی همان Interface یاد بدهد.

محاسبه متریک: Feasible Distance و Reported Distance

در جدول توپولوژی یک یا بیشتر از یک مسیر ممکن، برای یک Prefix مشخص وجود دارد. پارامترهای محاسبه متریک برای هر مسیر، مقدار متفاوتی دارند. علاوه بر این در دیتابیس برای رنج آدرس های Connected، اینترفیس خروجی مشخص شده است. برای مسیرهایی که به روتر متصل نیستند، علاوه بر اینترفیس خروجی، آدرس آی پی همسایه EIGRP که مسیر را اعلان نموده، در دیتابیس آمده است.

روترهای EIGRP دو متریک را محاسبه می کنند:

  1. محاسبه متریک از منظر خودشان.
  2. محاسبه متریک از منظر روتر Next-hop.

این دو مقدار محاسبه شده برابر زیر است:

  • Feasible Distance (FD): به متریک مسیر از دید روتر گفته می شود که توسط خود روتر برای انتخاب بهترین مسیر تا مقصد معین استفاده می شود.
  • Reported Distance (RD): به متریک مسیر از دید روتر همسایه گفته می شود که توسط روتر برای انتخاب مسیر جدید استفاده می شود.

در بعضی از منابع از کلمه Advertised Distance (AD) به جای Reported Distance (RD) استفاده شده است.

در شکل زیر اطلاعات مربوط به مراحل تبادل توپولوژی بین روترهای B1 و WAN1 نشان داده شده است. همچنین پارامترهای متریک که از B1 به WAN1 فرستاده می شود و پارامترهای متریک از دیدگاه روتر WAN1 ارائه شده است.

EIGRP Metric

مرحله 3 و 4 محاسبه RD و FD برای رنج آدرس 10.11.1.0/24 روی روتر WAN1 را نشان می دهد. روتر WAN1 پارامترهای متریک را از B1 دریافت می کند و برای محاسبه RD در فرمول قرار می دهد. این مقدار برابر با مقداری است که روتر B1 به عنوان FD خودش محاسبه کرده است.

در مرحله 4، فرمول با استفاده از پارامترهای متریک که در مرحله 2 دریافت شده است محاسبه می شود. در این مرحله مقدار FD به دست آمده توسط روتر WAN1 نشان داده می شود که به دلیل محدودیت پهنای باند و مجموع Delay بیشتر، مقدار آن بزرگتر است.

در جدول زیر مقادیر پیش فرض برای Bandwidth و Delay با توجه به نوع اینترفیس ارائه داده شده است:

Delay (Microseconds) Bandwidth (kbps) Interface Type
20,000 1544 Serial
10 1,000,000 Gigabit Ethernet
1000 100,000 Fast Ethernet
1000 10,000 Ethernet

مفاهیم Successor و Feasible Successor

زمانی که برای Prefix/Prefix length، چندین مسیر ممکن وجود دارد، روتر مسیر با کمترین متریک را انتخاب می کند (کمترین FD). در EIGRP این مسیر به عنوان Successor Route برای آن Prefix تعریف می شود و EIGRP، روتر Next-hop در این مسیر را به عنوان Successor معرفی می کند. سپس EIGRP، یک مسیر را با قرار دادن Successor به عنوان روتر Next-hop ایجاد نموده و آن را در جدول Routing قرار می دهد.

اگر بیشتر از یک مسیر ممکن وجود داشته باشد، روتر سایر مسیرهای Nonsuccessor را بررسی نموده و مسیری را که بتواند به سرعت درصورت Fail شدن بهترین مسیر فعلی، استفاده شود و باعث ایجاد Loop نشود، مشخص می کند. EIGRP یک الگوریتم ساده را برای شناسایی مسیرهای قابل استفاده که باعث Loop نمی شوند، اجرا می کند. همچنین مسیرهای Backup بدون Loop را در جدول Topology نگه داری می کند. اگر مسیر Fail ،Successor شود، فورا از بهترین مسیر جایگزین استفاده می کند.

EIGRP این مسیرهای جایگزین را Feasible Successor Route می نامد. چون می توانند به عنوان مسیر Successor جدید استفاده شوند. روتر Next-hop این مسیر، Feasible Successor نامیده می شود.

به عنوان نکته آخر، یک روتر زمانی به عنوان Feasible Successor در نظر گرفته می شود که شرط زیر را داشته باشد:

اگر مقدار RD محاسبه شده مربوط به مسیر Nonsuccessor، کمتر از مقدار FD باشد، این مسیر یک Feasible Successor Route است.

برای قابل فهم تر شدن تعریف قبل، لازم است از یک مثال استفاده شود که در ادامه شرح داده می شود. در شکل زیر EIGRP مشخص می کند که کدام Route برای Subnet1 به عنوان Feasible Successor در نظر گرفته شده است.

EIGRP Successor

در این شکل روتر E سه مسیر به Subnet1 از روترهای B، C و D یاد می گیرد. بعد از محاسبه متریک هر مسیر، روتر E می فهمد که مسیری که از روتر D می گذرد، کمترین متریک را دارد. روتر E این مسیر Successor برای Subnet1 را به جدول مسیریابی خود اضافه می کند. مقدار FD برای این مسیر 14,000 است.

EIGRP درباره اینکه کدام مسیر می تواند Feasible Successor باشد، با تعیین Reported Distance برای آن مسیر (متریک محاسبه شده توسط همسایه) و کوچکتر بودن آن از بهترین متریک محاسبه شده خودش (FD)، تصمیم می گیرد. اگر همسایه متریک کمتری برای رسیدن به Subnet مشخص شده داشته باشد، گفته می شود که آن مسیر شرایط Feasibility را رعایت کرده است.

برای مثال روتر E متریک (FD) 14,000 را روی مسیر Successor (از طریق روتر D) محاسبه کرده است. متریک روتر C، عدد 13,000 است که در واقع برابر با RD روتر E برای روتر جایگزین از طریق روتر C است. این مقدار کمتر از مقدار FD روتر E یعنی 14,000 است. در نتیجه روتر E می داند که بهترین مسیر C برای این Subnet، نمی تواند از مقدار FD روتر E در واقع همان عدد 14,000 کمتر باشد. بنابراین روتر E باور دارد که مسیرش به Subnet1 از طریق روتر C، نمی تواند باعث ایجاد Loop شود. به عنوان نتیجه روتر E ورودی جدول توپولوژی خودش را برای مسیر از طریق روتر C، به عنوان مسیر Feasible Successor مشخص می کند.

متقابلا مقدار RD روتر E برای مسیری که از طریق روتر B به Subnet1 می رود، برابر با 15,000 است که این مقدار از مقدار FD روتر E که برابر با 14,000 است بزرگتر است. بنابراین این مسیر جایگزین شرایط Feasibility را ندارد و روتر E، مسیر از طریق روتر B را یک مسیر Feasible Successor در نظر نمی گیرد.

اگر مسیر به Subnet1 از طریق روتر Fail ،D شود، روتر E می تواند فورا مسیر از طریق روتر C را در جدول مسیریابی قرار دهد. بدون اینکه ترسی از ایجاد Loop داشته باشد. در این مورد همگرایی سریع و در کسری از ثانیه اتفاق می افتد.

52
0
0
نظرات