جلسه قبل راجع به Dynamic Routing Protocol ها صحبت کردیم و گفتیم که در روتینگ پروتکل های داینامیک دو یا چند تا روتر با هم صحبت می کنند . هر روتر هر چی بلد هست رو به روتر دیگری یاد می دهد. و در نهایت همه ، مسیرهای درست رو بدست می آورند.

در ابتدا با هم به صورت خلاصه، خصوصیات EIGRP رو بررسی می کنیم:

1.روتینگ پروتکل EIGRP آپدیت های خودش رو به صورت Multicast با آدرس IP رزرو شده 224.0.0.10 می فرستد.

2. Tiggered Update هست. یعنی به محض بوجود آمدن تغییرات در شبکه آن را ارسال می کند. مثلا یک لینک Down شود یا یک روتر از دسترس خارج شود یا یک روتر اضافه شود و...

3. از مفهومی به نام Wildcard Mask استفاده می کند.

اما Wildcard Mask چیست و چه تفاوتی با Subnet Mask دارد؟

Subnet Mask برای این بود که ما می خواستیم همراه آی پی آدرس، چیزی اضافه کنیم تا مشخص کند که قسمت نتورک و هاست کجاست. یعنی با مفهوم Subnet Mask یک خطی فرضی می کشیدیم که قسمت نتورک رو از قسمت هاست جدا می کرد.

با جدا کردن قسمت نتورک از قسمت هاست، مشخص می شد که در شبکه ما چند آدرس آی پی وجود دارد.

اما Wildcard Mask امکانی است که به ما داده شده تا بتوانیم چند آدرس IP را با هم یکجا تعریف کنیم.اگر یادتون باشه ما باید IP تک تک اینترفیس ها را به روتینگ پروتکل معرفی میکردیم. با Wildcard Mask می تونیم با یه دستور همه اینترفیس ها را با هم معرفی کنیم و نیازی به معرفی تک تک نداشته باشیم.

همانطور که می بینید هیچ ربطی به یکدیگر ندارند.

اما در جاهایی گفته شده که این دو یعنی Subnet Mask و Wildcard Mask برعکس هم هستند. از این جهت گفته می شود که برعکس هم هستند چون در Subnet Mask ، ما میگیم که تمام بیت های قسمت نتورک بشود یک و تمام بیت های قسمت Host بشود صفر.

اما در تعریف Widlcard Mask میگوییم تمام بیت های "مهم" بشود صفر و تمام بیت های غیر مهم بشود یک. همانطور که می بینید در تعریف Wildcard Mask ما کاری به Net ID و Host ID نداریم. بلکه بیت های مهم و غیر مهم را کار داریم که کمک کند بتوانیم اینترفیس ها را "باهم" معرفی کنیم.

فکر می کنم کامل تفاوت این دو برایتان مشخص شده باشد.

4. از آدرس های IP و IPX و همینطور Appletalk نیز ساپورت می کند.

5.متریک مسیریابی آن همانطور که در IGRP نیزگفته شد، به صورت Composite یا ترکیبی است.این متریک یکی دیگر از علل معروفیت و محبوبیت EIGRP است چون بسیار غنی هست.

6. قابلیت load balancing در مسیرهای نامساوی از لحاظ Bandwidth را هم دارد. به صورت پیش فرض در 4 مسیر نامساوی. یکی از دلایل معروفیت EIGRP هم همین است. چون تنها روتینگ پروتکلی است که این قابلیت را دارد که حتی روی مسیرهای نامساوی هم Load Balance انجام دهد.

7. Authentication

8. Summarization: که همانطور که در جلسه پیش گفته شد به صورت پیش فرض فعال است که بهتر است حتما با دستور no auto-summary آن را غیر فعال کنیم.

9.Split horizon است. یعنی آپدیت هایی که از یک روتر گرفته دوباره برای خودش نمی فرستد.

10.دارای Administrative Distance  با شماره 90 هست.

11. Hybrid هست . که همانطور که در جلسه پیش گفته شد یک چیزی مابین Distance Vector ها و Link State هاست.

برای پیاده سازی اولیه روتینگ پروتکل EIGRP کافی است از دستورات زیر در روتر استفاده کنیم.

Router-1(Config)#router eigrp 1

Router-1(Config-router)#network 0.0.0.0 255.255.255.255

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

همانطور که می دانید سه جدول در روتینگ پروتکل EIGRP وجود دارد:

1. جدول همسایگی

2. جدول توپولوژی

3. جدول مسیریابی

اما واقعا چرا سه جدول وجود دارد و این جداول به چه دردی می خورند؟

از جدول همسایگی شروع می کنیم و در ادامه بحث جداول دیگر هم بررسی می شوند.

در روتینگ پروتکل EIGRP به دو دلیل جدول همسایگی در روتر تشکیل می شود:

1. اینکه چک کنند همسایه ها زنده و alive هستند.

2. پارامترهای همسایگی را با هم چک کنند.

که اگر یکی از این دو دلیل نقض بشود همسایه ابتدا از جدول همسایگی پاک می شود . سپس از جدول توپولوژی پاک می شود و در پایان از چدول مسیریابی نیز پاک می شود.

برای چک کردن جدول همسایگی در روتینگ پروتکل EIGRP ، این دستور را باید در محیط Privilege بزنیم:

Router-1#show ip eigrp neighbors

با اجرای این دستور جدول همسایگی به ما نمایش داده می شود.(من دو روتر را بواسطه اینترفیس سریال به یکدیگر متصل کردم و بین آن ها eigrp اجرا کرده ام.)

من دو روتر را بواسطه اینترفیس سریال به یکدیگر متصل کرده ام و بین آن ها روتینگ پروتکل eigrp را اجرا کرده ام.

در روتر دوم دستور show ip eigrp neighbors را زدم و تصویر بالا به دست آمد.

خب در این جدول یک سری نماد هست که دونه دونه به توضیح اونها می پردازم.

1. H: برگرفته از کلمه Handle هست که از این شماره برای شناسایی neighbor router ها استفاده می شود. در اینجا عدد 0 قرار داده شده است.

2. Address: این ستون مربوط به آی پی آدرس روترهای همسایه است. که در اینجا آی پی 10.10.10.2 قرار داده شده است که آی اینترفیس سریال روتر همسایه است.

3. Interface: این ستون مربوط به اینترفیس لوکال همین روتر هست که بواسطه آن با روتر مجاورت ارتباط برقرار کرده است.

4. HoldTime : این ستون نیاز به کمی توضیح دارد.

همانطور که می دانید در EIGRP هر روتر طبق زمان بندی، هر پنج ثانیه یکبار برای همسایگانش پیغام های Hello میفرستد. روتر مقابل 15 ثانیه برای پیغام های Hello صبر می کند و اگر تا 15 ثانیه پیغام Hello همسایه اش به دستش نرسد می فهمد که همسایه اش یا لینک ارتباطی Down شده است. به این زمان 15 ثانیه ای HoldTime میگویند. همانطور که در تصویر می بینید HoldTime از 15 شروع میشود و به 11 رسیده است. اگر از ده کمتر شود. معلوم است که اتفاقی برای همسایه افتاده است. اگر به صفر برسد دیگه مطمئن می شود که حتما اتفاقی افتاده است.

5. Uptime : نشانگر مدت زمانی است که این همسایه UP شده است.

6. SRTT: نیاز به کمی توضیح دارد.

SRTT مخفف Smooth Round Trip Timer می باشد. در eigrp بسته ها به صورت Reliable فرستاده می شود. یعنی چی؟ یعنی حتما باید روتر مقابل Acknowledge یا تصدیق بدهد که بسته را دریافت کرده است. البته غیر از پیغام های Hello که نیاز به تصدیق یا Ack ندارند. دلیل Reliable فرستاده شدنش هم این هست چون یکبار بیشتر بسته ها را نمی فرستد. مثلا مثل RIP نیست که هر 30 ثانیه یکبار کل روتینگ تیبل رو تو شبکه Advertise کند ، که اگر دفعه اول نگرفت سی ثانیه بعد بگیرد. بلکه یکبار کلش رو می فرستد و دفعه های بعدی فقط تغییرات رو می فرستد.

خب سوال اینجاست، حالا وقتی آپدیت ارسال شد، تا چه مدت اگر Acknowledge گرفته نشد، آپدیت را مجددا بفرستد؟

پاسخ به این سوال ، توضیح SRTT هست.EIGRP می گوید این مدت زمان نسبی است و کاملا به جایی که این روتینگ پروتکل اجرا می شود ربط دارد و در جاهای مختلف متفاوت است و دقیقا نمی شود یک زمان خاصی را تعیین کرد.EIGRP از یک روشی استفاده می کند. EIGRP می آید ، Delay و تغییرات بسته های قبلی را محاسبه می کند و کلیتی در رابطه با دو همسایه به دست می آورد و به یک مدت زمانی می رسد. این مدت زمان همان SRTT یا Smooth Round Trip Timer می باشد.

به طور خلاصه SRTT  میانگین زمان ارسال و دریافت پکت ها ، از یک روتر به روتر همسایه می باشد. 

7. RTO : توضیحش در ادامه می آید.

خب ما SRTT را متوجه شدیم و زمانی به دست آمد. از طریق این مدت زمان که به صورت میانگین محاسبه شده است RTO یا Retransmission Time Out به دست می آید.

RTO که به صورت نسبی به دست آمده است مدت زمانی است که اگر Acknowledge از روتر مقابل نیامد ، آپدیت ها را مجددا برایش می فرستد. این زمان بر حسب میلی ثانیه هست.

8. Q cnt: برگرفته از Queue Count می باشد و بیان کننده تعداد پکت هایی است که در صف ارسال، منتظر ارسال می باشند که اگر مشکل ترافیک شبکه نداشته باشد این عدد حتما باید صفر باشد.

9. Seq Num: که برگرفته از Sequence Number می باشد و نشاندهنده تعداد آخرین بسته های Update، Query و Reply هست که از روتر همسایه دریافت شده است.

خب. همانطور که دیدید پارامترهای جدول همسایگی رو با هم بررسی کردیم. به صورت کلی دو تا روتر به صورت زیر با یکدیگر ارتباط  برقرار می کنند.

این تصویر برگفته از کتاب CCNP Route نوشته مهندس مسعود حسینقلی پور هست.

با توجه به تصویر ابتدا به یکدیگر سلام می کنند (مرحله 1)بعد از پایان این مرحله جدول همسایگی ساخته خواهد شد.

سپس روتر دوم یک کپی کامل از اطلاعات مسیریابی اش را برای روتر اول می فرستد (مرحله 2)

روتر اول تصدیق می کند که بسته به دستم رسید(مرحله 3)

سپس روتر اول که اطلاعات کامل مسیریابی روتر دوم را دریافت کرد ، باتوجه به اطلاعات جدول توپولوژی اش را می سازد که شامل کلیه مسیرها و مقصدهای مختلف می باشد.(مرحله 4)

روتر اول نیز یک کپی کامل از اطلاعات مسیریابی اش برای روتر دوم می فرستد (مرحله 5)

روتر دوم نیز تصدیق می کند (Acknowledge) که اطلاعات به دست من رسید و بر طبق آن جدول توپولوژی اش را تکمیل می کند(مرحله 6)

و بر طبق جدول توپولوژی در هر دو روتر جدول مسیریابی ساخته می شود.

خب . باتوجه به مطالب گفته شده و باتوجه به کتاب CCNP Route خود شرکت سیسکو مراحل به صورت زیر است:

مرحله اول: Neighbor Discovery

شناسایی همسایه ها بواسطه مالتی کست کردن Hello Message ها.


مرحله دوم : Topology Exchange

بار اول به صورت Reliable (یعنی نیازمند acknowledge) کل روتینگ تیبل را ارسال می کند. Hello ها کماکان ادامه پیدا می کند. اگر تغییری در شبکه رخ دهد، Partial Update ارسال می کند. پروتکلی که Reliable بودن این جابجایی آپدیت ها را هماهنگ می کند RTP یا Reliable Transport Protocol نام دارد.


مرحله سوم: Choosing Routes

بهترین مسیر را انتخاب می کند و این کار را از داخل جدول توپولوژی انجام میدهد.EIGRP همه مسیرهای ممکن را در جدول توپولوژی نگه می دارد. برخلاف RIP که وقتی همه مسیرها بهش اعلام شد بهترین مسیر را انتخاب می کند و بقیه را دور میریزد، در EIGRP بهترین مسیر را ابتدا انتخاب می کند و داخل جدول مسیریابی قرار می دهد ، که نام بهترین مسیر را Successor میگذارد، و دومین بهترین مسیر را هم مشخص می کند که مادامی که بهترین مسیر Down شد سریعا دومین بهترین مسیر را از داخل جدول توپولوژی به داخل جدول مسیریابی کپی کند. دومین بهترین مسیر هم Feasible Successor نام دارد.

علت اینکه زمان Convergence روتینگ پروتکل EiGRP پایین هست ، هم همین است که همان ابتدا دومین بهترین مسیر را انتخاب می کند.

خب فکر می کنم تا اینجا کافی باشد. مقوله EIGRP بسیار مفصل است و من فکر کنم بتوانم آن را در سه جلسه تمام کنم. فعلا تا اینجا را داشته باشید. ادامه را ان شاء الله در جلسه بعدی خواهم گفت. موفق باشید.

پایان جلسه سوم



تاريخ : چهارشنبه بیست و هفتم شهریور ۱۳۹۲ | 9:10 | نویسنده : حمید مقصودی |
.: Weblog Themes By Bia2skin :.