EIGRP

 

Enhanced Interior Gateway Routing Protocol یا EIGRP در اوايل دهه 90 توسط سيسکو ارائه شد. با اينکه EIGRP نسخه بهبود يافته IGRP است اما از نظر کارائی و عملکرد تفاوت هايی زير بنائی با کليه Distance Vector دارد و از اين لحاظ بيشتر دارای شباهت و خصوصياتی Link State گونه است بطوريکه به آن Hybrid Routing Protocol گفته ميشود و سيسکو آنرا Advance Distance Vector Protocol می نامد.

EIGRP برای حل مشکلات رشد شبکه های IGRP و کلا ضعف های Distance Vector ها بوجود آمد و نهایتا منجر به کاهش زمان Convergence در شبکه شد. (زمانی که شبکه صرف میکند تا به حالت نرمال برگردد)

a7-cisco-routing-fail

اين پروتکل بر اساس DUAL يا Diffusing Update Algorithm کار ميکند و برای ارتباط با همسايگان خود از Multicast (برخلاف RIP نسخه یک که Broadcasr است)  استفاده ميکند. (آدرس 224.0.0.10)

روتر Neighbor یا همسايه به محض دريافت اين Packet به فرستنده Unicast، ACK (رسيد) ارسال ميکند.

برای جلوگيری از Loop در مسير، روتر مسير Backup (نام دیگر آن Feasible Successor) را نيز ذخيره ميکند. تا در موقع مورد نیاز از آن استفاده کند. همچنين EIGRP برای Summarization برخلاف پروتکلی نظیر OSPF نيازی به تعریف  Area ندارد و هرجائی از شبکه اين امکان وجود دارد.

EIGRP بعنوان يک Routing Protocol قابليت Route پروتکلهای IP ،IPX و AppleTalk را داراست و برای هريک، Routing Table مجزا ميسازد. (همچنین IPv6)

از آنجا که قابليت Route کردن پروتکل های مختلف را داراست، به ازای هر پروتکل سه جدول وضع ميکند:

Neighbor Table, Topology Table و Routing Table.

مشخصات کلی این پروتکل:

IP Protocol 88

Multicast Address: 224.0.0.10

Classless supported – VLSM

Auto-Summary (IANA Classful) and Manual

Administrative Distance = 90 Internal, 5 (Summary), 170 External

Authentication supported: MD5

Partial updates supported


اجزای EIGRP

چهار مزیت اصلی EIGRP عبارتند از:

· Protocol-Dependent Modules:

IP ،IPX و AppleTalk را Route ميکند و برای هريک Routing Table مجزا ميسازد. پروتکل Encapsulate کننده EIGRP برای هر يک از اين پروتکل ها از جنس خودش است بطور مثال بسته های EIGRP برای Update های IPX داخل IPX حمل ميشوند.

EIGRP خودکارIPX RIP، AppleTalk RTMP و IP IGRP را Redistribute ميکند.

· RTP:

Reliable Transport Protocol وظیفه انتقال پيامهای EIGRP را بعهده دارد. بوسيله RTP انتقال پيامها همراه با گارانتی صورت میگیرد. در واقع هر جا RTP همراه با ACK استفاده شود Reliable (مطمئن) است. اين بسته ها از IP به شماره Type 88 و آدرس Multicast رزرو شده 224.0.0.10 استفاده ميکنند. پيامهای Hello نيازی به ACK نداشته و Unreliable رد و بدل ميشوند. برای انتقال ACK ها از Unicast استفاده شده و انتقال update، query و reply نياز به ارسال Reliable دارد.

اگر بسته ای به آدرس Multicast ارسال شود اما ACK از يکي از روتر ها دريافت نشود، بسته بصورت Unicast برای او ارسال میگردد و اگر تا 16 بار Retransmit شد و ACK دريافت نشد آن همسايه بعنوان dead و غيرفعال شناخته ميشود. فاصله بين ارسال اين Unicast ها را RTO يا Retransmission Timeout ميگوئيم. برای محاسبه این گونه زمانبندی ها در EIGRP، از فرمول SRTT يا Smooth Round Trip Time استفاده ميشود.

SRTT ميانگين زمان صرف شده از ارسال بسته تا دريافت ACK، بر حسب ميلی ثانيه است.

· Neighbor Discovery & Recovery:

از آنجا که EIGRP از Update های نوبتی و دوره ای (Periodic Update) استفاده نميکند از مکانيزم Hello بين همسايکان خود سود ميبرد که هر 5 ثانيه و به صورت Multicast انجام ميشود. حال اگر ارتباط به شکل WAN و با پهنای باند کمتر از يک T1 (کمتر از 2 مگابیت) باشد بصورت Unicast و هر 60 ثانيه رخ ميدهد. نباید فراموش کرد که در هر حال Hello نيازی به ACK ندارد. Holddown در صورت عدم دريافت Hello تا سه برابر زمان Hello محاسبه شده و بعد از آن همسايه Dead شناخته ميشود. (اگر از همسایه Hello دریافت نشود)

اطلاعات هر Neighbor يا همسايه داخل Neighbor Table قرار ميگيرد.

در EIGRP تنها پیام های Hello بصورت Connection-less ارسال شده و بقيه پیام ها Connection-Oriented هستند.

· DUAL:

Database شبکه توسط DUAL در EIGRP کشف و ایجاد ميشود. فلسفه طراحی DUAL بر اساس Diffusing Computation است که اولين بار توسط Dijsktra و Scholten ارائه شد و الگوريتم DUAL توسط Dr. J. J. Garcia-Luna-Aceves پیشنهاد گردید.

برای فراگيری بهتر EIGRP بهتر است مفاهيم زير را مرور کنيم:

Feasible Distance: يا FD، کمترين Metric تا مقصد است.

Advertised Distance: فاصله (Distance) گزارش شده از همسايه تا مقصد. (در واقع Metric همسایه تا آن Route)

Feasible Condition: يا FC حالتی است که Advertised Distance کمتر از FD برای همان مقصد باشد.

Feasible Successor: همسايه ايست که AD آن کوچکتر از FD است و نهايتا FC رخ ميدهد پس در Topological Database تمام روتر هايي که FS هستند ثبت شده و کوتاهترين مسير به مقصد بعنوان Successor انتخاب ميشود.

Successor: روتر بعدی به سمت مقصد يا همان Next-hop Router.

از آنجائيکه روتر براساس مقادیر FD و FS تصمیم گیری ميکند، Loop Free بودن پروتکل تضمين شده و از آنجا که AD باید کوچکتر از FD باشد میتوان این استنباط را کرد که مسير تبلیغ شده به مقصد معین قبلا از خود روتر گرفته نشده است.

هدف DUAL ايجاد يک توپولوژی Loop Free در شبکه EIGRP است.

Route های Active

در EIGRP يک مسير سالم، Passive نامیده ميشود چرا که تلاش برای پیدا کردن آن قبلا صورت گرفته و اکنون در Routing Table قرار دارد اما اگر مسیر Active باشد به اين معناست که روتر در حال جستجو برای پيدا کردن مسيری به آن شبکه down شده، میباشد. در واقع وقتی FS برای يک مقصد وجود نداشته باشد محاسباتDiffusing برای پيدا کردن مسير به آن مقصد صورت گرفته و Route بحالت Active در ميايد. در اين حالت روتر بدليل اينکه از Link های متصل به روتر های ديگر اطلاعات کافی ندارد (چون Link-State نيست) پس به سوال پرسيدن درباره شبکه خاص روی مي آورد.

روتر برای مسيری که Active شده به تمام همسايگانش Query ميفرستد و FD خود به مقصد را بينهايت يا Infinity اعلام ميکند. اگر همسايگان -يک يا چند FS- برای مقصد مورد سوال داشته باشند بهمراه Distance خود به درخواست جواب ميدهند. در غير اينصورت خود بحالت Active برای آن مقصد در آمده و به پرسش از همسایگان خود می پردازند. به ازای جواب های دريافت شده Diffusing Computation انجام ميشود. از آنجائيکه جواب دهنده با Distance خود (که بينهايت نيست) جواب Query را ميدهد پس وی خود به خود FS آن مسير شده و کوتاهترين Distance، عنوان Successor را میگیرد.

اگر هیچ جوابی از همسايگان در زمان مورد نظر دريافت نشود Route بحالت Stuck in Active يا به اختصار SIA درميايد. همسايگانی که در مهلت Active Timer (بمدت 3 دقيقه) جواب نداده اند dead شناخته ميشوند. تا زمانی که همه جوابها دريافت نشود Successor انتخاب نميشود.

روتر تا زمانی که برای مسيری Backup Route يا Feasible Successor داشته باشد بحالت Active نمي رود. يک مسير Infinite بصورت Metric زیر درميايد:

Delay = 0xFFFFFFFF يا 4294967295

 

برای Download نسخه کامل متن بفرم PDF به لینک زیر مراجعه کنید:

~ توسط Shafagh در نوامبر 2, 2009.

12 پاسخ to “EIGRP”

  1. سلام
    خسته نباشید
    ممنون از مطالب بسیار جامع و روا نتان بسیار قلم روان و قابل فهمی دارین
    خداوند خیرتون بده
    موفق باشین
    ما منتظر مطالب مفید بیشتری هستیم

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

  3. سلام استاد
    در خصوص مشکلاتی که من خدمتتون فرستادم لازم به ذکر است که هر دو مورد را چک کردم ولی نشد هم در Eigrp و هم در CSASC مشکل همچنان هست برای راهنمایی بیشتر پیکربندی یکی از سوییچ های لایه توزیع و لایه هسته را خدمتتان ارسال میکنم البته در ایمیل که اگه زحمت بکشید چک کنید و حتی اگه مشکلی هم دارد از نطر به غیر از ان دوتا که گفتم شما محبت کنید راهنماپی بفرمایید.

  4. مهران عزیز
    تنظیمات شما را دیدم
    پیشنهاد میکنم عملکرد شبکه در همه سوییچ ها بررسی شود وضعیت تنظیمات جالب نیست و پرداختن به آن در این بلاگ جنبه آموزش عمومی خود را از دست داده و جنبه خصوصی دارد. چنانچه مایل باشید میتوانید در این زمینه با شرکت من در ایران مذاکره و مشاوره کنید. بدیهی است که خدمات فوق براساس نفر ساعت محاسبه و بی اجر نخواهد بود. در صورت تمایل به آدرس من Mail بزنید تا روش کار و Document های لازم برای ارائه سرویس ارسال گردد.

  5. با سلام
    ضمن تشکر بابت مطالب عالی شما به نظر میرسد گاهی انچه در عمل دیده میشود با انچه در کتاب امده است بسیار متفاوت است و یکی از انها عمل LOAD Balancing یا بهتر بگویم Load sharing بین لینکهای نامساوی است که حتی با دستور Variance نیز مانند round robin مایکروسافت ارسال ترافیک را به نوبت انجام میدهد و نه بر اساس میزان پهنای باند لینکها

  6. :) در کدام کتاب گفته که Variance براساس میزان پهنای باند Load Sharing میکند؟؟!

  7. کار Load Sharing توسط CEF انجام میشود که سر فرصت به آن خواهیم پرداخت Per Destination و Per Packet …

  8. با سلام مجدد
    نه در کتاب نگفته است که این کار را میکند ولی دقیقا گفته است:
    If the variance number is higher than the default value of 1, the EIGRP process multiplies the best (lowest) metric by the variance. All paths to the same destination that have metrics less than this product are now included in load balancing. The amount of traffic sent over each link is proportional to the metric for the path
    ولی عملا اینگونه نیست
    و ترافیک یکسان به نوبت ارسال میشود

  9. آها شما به کتاب Brent Stewart اشاره کردید؛ برداشت من این بود که با مطالعه مطلب من آن استنباط را کردید…
    خیلی ممنون که این مطلب را ذکر کردین. به داشتن چنین خوانندگان دقیقی باید افتخار کرد.
    درست گفته اما اشاره نکرده که باید دستور traffic-share balanced را بزنید:

    router eigrp 1
    network x.x.x.x
    variance 2
    traffic-share balanced

    How Does Unequal Cost Path Load Balancing (Variance) Work in IGRP

  10. با سلام مجدد
    داشتن هموطنانی چون شما باعث افتخار است
    از راهنمائی شما بسیار ممنونم

  11. آقای شفق دستتون درد نکنه که جواب سوالمو دادین
    فکر نمیکردم اینقدر بی توجه باشین جواب همه رو دادین جز من

  12. سوال شما چه بود سعید عزیز؟

پاسخ دهید