روتینگ پروتکل EIGRP
توی این مقاله میخوایم در مورد EIGRP بعنوان یک روتینگ پروتکل Hybrid یا ترکیبی صحبت کنیم.
قبل از اینکه وارد بحثهای مربوط به Neighbor ship بشم باید یه Overview یی بهتون بدم که چرا به EIGRP یک روتینگ پروتکل ترکیبی میگیم. اگه بخوایم بهش دقیقتر نگاه کنیم میتونم بگم که ما RIP رو بعنوان روتینگ پروتکل Distance Vector شناختیم و OSPF روهم بعنوان یک روتینگ پروتکل Link State شناختیم. حالا سیسکو اومد و از خصوصیاتِ خوبِ Link State و Distance Vector برداشت و یک روتینگ پروتکلِ ترکیبی ساخت. یعنی در واقع از یکسری جهات EIGRP شبیه OSPF هستش و از یکسری جهات هم شبیه RIP هستش. حالا وقتیکه اون دوتا رو شناختید اینرو راحتتر میتونید بفهمید که مثلا فلان قسمتش داره شبیه OSPF کار میکنه. بعنوان مثال میتونم بگم که از لحاظِ اونچیزیکه ارسال میشه EIGRP هم مثلِ Distance Vector دقیقا Route رو ارسال میکنه ، نه وضعیت لینک رو ازین جهت میتونیم بگیم شبیه RIP کار میکنه ولی تفاوتی که با RIP داره اینه که هر 30 ثانیه یکبار داخلِ RIP شما مجدد اطلاعاتِ روتها رو ارسال میکنید ولی اینکارو EIGRP نمیکنه و EIGRP یکبار روتها رو بصورت Reliable ارسال میکنه و اَکنالِج میگیره. از طرف دیگه توی RIP شما وقتیکه روتها رو یکبار ارسال میکنید ، روتهایی که دریافت میکنه یک روتر ، نگاه میکنه براساسِ متریک که کدوم روت ، روتِ بهتری هستش و اونرو داخل جدول روتینگ قرار میده و مابقی رو دور میریزه. میشه گفت قدرتِ EIGRP به اینه که زمانیکه 10 تا روت میگیره ، این ده تا روت رو دور نمیریزه ، درسته که یکیش میشه بهترین مسیر و میره توی جدول روتینگ ولی میاد 9 تایِ دیگه رو بعنوانِ مسیرهای بک آپ داخلِ جدول توپولوژی قرار میده. پس ازین جهت که EIGRP هم مثلِ OSPF جدولِ توپولوژی داره اینجا دارید شباهتِ کارش رو با Link State میبینید ولی باز تفاوت داره بخاطر اینکه اونچیزیکه توی جدولِ LSDB یِ OSPF ذخیره میشه با اونچیزیکه توی جدولِ توپولوژیِ EIGRP ذخیره میشه فرق میکنه. همون موقع EIGRP میاد دومین و سومین مسیر روهم انتخاب میکنه. چرا؟ بمحضِ اینکه لینکِ اصلیش قطع بشه میاد دومین و سومین و به ترتیب اینارو کپی میکنه توی جدولِ روتینگش. پس میتونم بگم زمانِ همگراییِ EIGRP درواقع میشه زمانِ کپی کرونِ روت از جدولِ توپولوژی توی جدولِ روتینگ.
خب حالا بریم سراغِ فاز اول یعنی تشکیلِ همسایگی. اگه یادتون باشه توی OSPF هم داشتیم که با ارسال بسته های Hello همسایگی تشکیل میشد. Hello time توی EIGRP 5 ثانیه هستش و Dead time 15 ثانیه هستش.
یعنی اگه توی فاصله 15 ثانیه از روترِ همسایه Hello دریافت نکنه اونرو Down فرض میکنه.
آدرسِ Destination ِ بسته های Hello یی که توسط EIGRP ارسال میشه 224.0.0.10 هستش که این یک آدرس مالتی کست هستش.
پارامترهایی که باید حتما مَچ بشه :
یکیش Authentication key هستش. مثلا اگه من بخوام Secret key بین دوتا روترم سِت کنم برای اینکه بتونن همسایگی تشکیل بدن ، حتما باید این کلید هر دوطرفِ روتر مچ بشه.
بحث AS Number نکته مهمی هستش. اگه مثلا قبلا میگفتیم مثلا router ospf 1 ، اینجا هم میگیم router eigrp 1 . ولی این 1 توی ospf بعنوان process id بودش و مهم نبود که دوسره روتر این حتما مچ باشه تا همسایگی تشکیل بشه ولی در اینجا یعنی eigrp این 1 بعنوان AS Number هستش و اگه روی یک روتری eigrp 1 ست میکنید روترِ طرف مقابل هم باید 1 ست کنید وگرنه اینا باهم همسایگی رو تشکیل نمیدن.
همچنین آدرس ip ها باید توی یک نتورک باشه. یعنی بعبارتی میتونم بگم که زمانیکه دوتا روتر میخوان باهم تشکیل همسایگی بدن اگه قرار باشه اینا باهم بصورت Connected متصل نباشن و نتورکهاشون فرق کنه ، اونوقت اینا عملا نمیتونن باهم تشکیلِ همسایگی بدن و حتما همسایه ها باید باهمدیگه یک نتورک رو تشکیل بدن و از همین نتورک بینشون استفاده شده باشه.
دقت کنید که توی بحث توپولوژی دیتابیس اِکسچینج ، یعنی ارسال روتها ، همسایه ها از طریق ارسال بسته های هِلو Discover میشن و همدیگرو پیدا میکنن و بعدش Full Routing Update ردوبدل میشه عینِ RIP ولی بصورت Reliable ردوبدل میشه و این اتفاق دیگه بصورت دوره ای نمیفته و هِلوها ادامه پیدا میکنن ولی اگه تغییری توی این روتینگ رخ بده اونوقت فقط همون تغییر بصورت Partial Update ارسال میشه.
در نهایت EIGRP از داخل جدول توپولوژی مسیرهایی رو برمیداره و بهترین مسیر رو بر اساس متریک توی جدول روتینگش قرار میده.
البته این بحث توی زمانِ همگرایی شروطی داره که جلوتر در موردش صحبت میکنم.
فعلا در مورد خودِ متریک صحبت میکنیم.
اگه یادتون باشه توی OSPF متریک میشد مجموعِ Cost ِ مسیر که خودِ Cost براساسِ بحثِ پهنای باند و Bandwidth بود. شما میتونید تا ۵ پارامتر رو توی EIGRP برای استفاده در حساب کردن متریک ازشون کمک بگیرید. ازین پنج تا پارامتر اینا هر کدومشون رو بعدا توی دوره CCNP یاد میگیرید که یک ضریبی دارن که به ضریبها معمولا KValue میگیم. K1 تا K5 . این K1 تا K5 به ترتیب از MTU تا Delay در اینها ضرب میشن و بصورت پیش فرض ضرایب MTU و Load و Reliability صفر 0 هستش. روهمین حساب میتونم بگم بصورت دیفالت این سه تا پارامتر اول داخلِ محاسبه متریک حساب نمیشن ولی Bandwidth و Delay بصورت دیفالت حساب میشن در محاسبه متریک.
محاسبه متریک فرمول دیفالتش به اینصورت هستش. البته بعدا توی دوره CCNP یاد میگیریم که میتونیم این KValue هارو تغییر بدیم و ضرایبش رو بالا و پایین کنیم. مثلا بکنیمشون 2 تا MTU و 10 تا Load و یدونه Reliability . اینارو توی CCNP میخونید.
ولی وقتی بصورت دیفالت ضرایب MTU و Load و Reliability صفر 0 میشه اینجا Bandwidth و Delay هستن که دخیل هستن. Bandwidth میشه پهنای باند و Delay میشه تاخیری که اون خط داره. فرمول به اینصورت متریک رو حساب میکنه که 10 بتوانِ 7 رو تقسیم بر حداقل پهنای باند میکنه. اینم نکته جالبیه که پهنای باندی که توی OSPF استفاده میشه جمع میشه ولی پهنای باندی که توی EIGRP استفاده میشه میاد حداقل پهنای باند رو حساب میکنه. یعنی میگه اگه من ده تا روتر رو بهم وصل کنم و همه لینک 1Gbpsداشته باشن و فقط یدونه 64Kbps داشته باشه الان این 64Kbps لینکت رو خراب کرده
اگه OSPF باشه میاد همه اینارو باهم جمع میزنه ولی EIGRP میگه من اینارو جمع نمیزنم. میگم کمترین پهنای باندی که توی این مسیر وجود داره رو بهم بده تا من بزارمش توی فرمول محاسبه متریک. از طرف دیگه میاد Delay رو جمع میزنه. مجموعِ Delay ِ هر کدوم ازین مسیرهارو باهم جمع میزنه و کلش رو ضربدر 256 میکنه.
معمولا متریکهای EIGRP عددهای میلیونی هستش. مثلا 2000000 یا 3000000 . همچین رقمهایی رو میبینید.
میخوایم یک مثال رو باهم ببینیم. الان زمانیکه روتر R2 داره آپدیتهارو ارسال میکنه برای یک نتورک ، مینیمم پهنای باندی که تاحالا داشته رو به روتر روبروش داره میگه چقدره که اینجا زده 100000 و Delay یِ خودش روهم اعلام میکنه.
حالا روتر R1 وقتیکه این آپدیت رو دریافت میکنه اونوقت میگه پهنای باندِ خودم 1544 هستش و روتر R2 پهنای باندش 100000 هستش. بین این دوتا پهنای باند 1544 کمتره ، پس 1544 رو میزاره داخلِ فرمول محاسبه متریک ، از طرف دیگه میگه روتر R2 دیلِیِش 100 بوده و Delay یِ روتر R1 هم 20000 هستش ، پس میاد 20000 رو با 100 جمع میکنه و دقت کنید که اینجا اومده توی فرمول Delay یِ 2000 رو با 10 جمع کرده؟ چون دیلِی 10 micro sec هستش نه برحسب micro sec ، پس 10 برابرش هستش. پس در اتمام هم متریکِ نتورکِ سمت راست برای روتر R1 میشه 2,172,416 .
درسته که گفتیم متریک توی بحثِ EIGRP یکی از ارکانِش بحثِ Bandwidth هستش ولی اول به این شکل دقت کنید.
فرض کنید یک روتر دارم و این روتر رو وصل کردم به دوتا لینک. یک لینکتون مثلا 2Mbps هستش و لینک دیگتون 128Kbps هستش. هر دو لینک روهم مثلا روی خطِ E1 تحویل گرفتید. و لینک 2Mbps رو با S1 وصل کردید و لینک 128Kbps رو با S0 وصل کردید. از نظر شما کدوم لینک بهتره؟ بنظرتون کدوم لینک باید توی EIGRP انتخاب بشه؟ قطعا خب لینکی که پهنای باند 2Mbps داره بهتره و مسیر بالا انتخاب میشه. ولی توی دنیای واقعی وقتی میاید چک میکنید اونوقت میبینید که روتر روی هر دو لینک داره بعنوان متریکِ مساوی لود بالانس میکنه. دلیلش چیه؟ دلیل اینه که بصورت دیفالت اینترفیسهای سریال Bandwidth شون 1544 T1 سِت شده. این نکته مهمی هستش. یعنی اینکه از لحاظِ EIGRP این دوتا لینک Bandwidth شون 2Mbps و 128Kbps نیست. براساسِ اینکه هر دو سریال هستن پس هر دو 1.5Mbps هستن و باید روی دوتا پهنای باند مساوی لود بالانس صورت بگیره. پس باید چیکارش کنیم؟ قضیه اینه که شما حتما باید Bandwidth ِ اینترفیسها رو براساسِ Bandwidth ِ واقعی درنظر بگیرید. چون سمتِ WAN درسته که لینکهاتون رو سریال وصل میکنید ولی از لحاظِ EIGRP تمامی اینا Bandwidth ِش 1544 هستش. البته دقت کنید که این مسائل توی LAN کاربرد نداره چون Bandwidth توی LAN مشخصه. مثلا Ethernet پهنای باندش 10Mbps هستش یا FE پهنای باندش 100Mbps هستش.
خب توی شبکه های WAN راه حل چیه؟ ما میایم نگاه میکنیم ببینیم که Bandwidth مون چقدر هستش و براساسِ اون Bandwidth یی که داریم میایم تویِ خودِ اینترفیس با دستورِ Bandwidth فاصله بعدش اونBandwidth یی که میخوایم بزاریم رو سِت میکنیم. مثلا Bandwidth 64 . دقت کنید که دستورِ Bandwidth توی اینترفیس بهیچ عنوان Bandwidth ِ شمارو محدود نمیکنه. یعنی اگه من بیام روی اینترفیسی که لینکم 2Mbps هستش و بیام دستورِ Bandwidth 64 رو بزنم ، عملا Bandwidth ِ شما به 64Kbps کاهش پیدا نمیکنه ها. اونچیزیکه توی بحثِ Transfer rate مطرح هستش درواقع دستورِ Clock rate هستش که داره Transfer rate ِ پهنای باند شمارو محدود میکنه. Bandwidth اصلا کاربردی توی Transfer rate ِ واقعیِ شما نداره. تنها کاربردِ دستورِ Bandwidth توی بحثهای محاسباتِ آماری هستش که مثلا EIGRP ، OSPF و بحثهای مربوط به QoS و سایر این پروتکلها ازش استفاده میکنن برای اینکه بتونن تشخیص بدن کدوم مسیرِ بهتر انتخاب بشه.
بحثِ بعدی اینه که میخوایم راجع به همگرایی یا Convergence صحبت کنیم.
میخوام نکتش رو براتون باز کنم تا ببینید که اصلا مشکل چی هستش. به شکل زیر دقت کنید
اصلا من با شبکه هیچ کاری ندارم و فرض کنید من برای رفتن به بندر عباس چندین مسیر دارم. مثلا از تهران با هواپیما میخوام برم بندر عباس. یه مسیر به اینصورته که مثلا از تهران باید برم شیراز بعد از شیراز برم بوشهر و بعدش از بوشهر برم بندرعباس.
مسیر دیگه به اینصورته که باید با هواپیما برم اصفهان و از اصفهان برم بوشهر و بعدش از بوشهر برم بندرعباس. خب اگه بخوام با دیدِ EIGRP به مسیر نگاه کنم میگم من دوتا مسیر دارم. مسیرِ تهران شیراز بوشهر بندرعباس ، و مسیرِ تهران اصفهان بوشهر بندرعباس. EIGRP هیچکدوم ازینارو دور نمیریزه. میاد هر دو رو توی جدولِ توپولوژیش یعنی مسیر اول و مسیر دوم رو نگه میدارم. حالا بفرض مسیر از سمت بالا قراره 5 ساعت طول بکشه و مسیر از سمتِ پایین قراره 10 ساعت طول بکشه. حالا EIGRP میگه بین این دوتا کدوم مسیر بهتره؟ مسیر با متریکِ کمتر و از جدولِ توپولوژی میام توی جدولِ روتینگ و مسیرِ 1 رو کپی میکنم. اما EIGRP میگه من یکارِ دیگه میتونم بکنم ، میام یه تیک میزارم کنارِ مسیرِ 2 و این مسیرِ دوم رو توی جدولِ توپولوژی دارم خب ، و ازونور بمحضِ اینکه مسیرِ اصلی Fail بشه اونوقت سریع میام از جدول توپولوژی مسیرِ دوم رو کپی میکنم توی جدولِ روتینگ. این قدرتِ EIGRP توی بحثِ همگرایی رو نشون میده. حالا مشکل کجاست؟ فرض کنید ارتباط بین بوشهر و بندرعباس قطع میشه. پس مسیرِ اصلیِ من یعنی مسیرِ ۱ Fail میشه. بنظرتون اگه EIGRP بیاد سریعا مسیر ۲ رو از جدول توپولوژی کپی کنه توی جدول روتینگش فایده ای داره؟ مسلما نه. چون مسیر دوم شما هم Fail شده. پس نکته اینجاست که اگه من ده تا مسیر دارم و اینوسط بعنوان مسیرهای بک آپ گذاشتمشون کنار ، و اگه لینکِ اصلیم قطع بشه و اینمسیرِ بک آپ رو بخوام جایگزین کنم باید مطمئن باشم که مسیرِ بک آپ حتما مستقل از مسیرِ اصلی هستش وگرنه اگه مستقل از مسیر اصلی نباشه ایجادِ Routing loop میکنه و فایده ای نداره. برای اینکه این Routing loop ایجاد نشه یچیزی داریم به اسمِ Feasibility Condition . حالا برای اینکه Feasibility Condition رو بشناسیم باید یکسری از اصطلاحات رو بهتون معرفی کنم.
توی اسلاید ۱۰ با توجه به شکل فرض کنید که R1 برای اینکه بره به NETX دوتا مسیر داره. هم از سمتِ R2 و هم از سمتِ R3 . اگه از سمتِ R2 بره متریکش N2 هستش و اگه از سمتِ R3 بره متریکش N3 هستش. پس هر دو مسیر توی جدول توپولوژیش قرار میگیرن. یعنی جدول توپولوژیِ R1 . حالا اینوسط بین N2 و N3 یکیش کوچیکتره و یکیش بزرگتره. اینجا فرض کردم N2 کوچیکتره. مسیری که متریکش کوچیکتره پس این مسیر میره توی جدولِ روتینگ. به مسیری که از جدول توپولوژی با متریک کمتر خارج میشه و توی جدول روتینگ قرار میگیره میگن Successor . پس مسیرِ Successor در EIGRP اون مسیری هستش که از جدول توپولوژی با متریک کمتر بقیه متریکها رو شکست میده و میاد و میره توی جدول روتینگ و بعنوان مسیر بهتر قرار میگیره. بقیه مسیرها چه وضعیتی دارن؟ الان مسیر از سمت R3 چطوریه؟ الان این مسیر بعنوان مسیر Alternate هستش و به این میگن مسیرِ Alternate . ممکنه اینوسط ما ده تا مسیرِ Alternate داشته باشیم. اما گفتیم که در صورتی مسیرهای Alternate ِ شما میتونن در صورتِ قطع شدنِ Successor بلافاصله کپی بشن و توی جدول روتینگ قرار بگیرن که این مسیرها از مسیرِ Successor مستقل باشن. به مسیرهای Alternate یی که از مسیرِ Successor مستقل هستن میگن Feasible Successor . پس اینوسط باید یه چِکی صورت بگیره. اگه مثلا ما ده تا مسیرِ Alternate داریم بابد ببینیم ازین ده تا مسیر کدوماش Feasible Successor هستن و اون مسیرهای Feasible Successor ها هستن که اجازه دارن در صورت قطع شدنِ Successor ، توی جدول روتینگ کپی بشن. برای اینکه چِک کنه که مسیرِ Alternate ، مسیرِ Feasible Successor هست یا نه اومده Feasibility Condition رو گذاشته. این شرط رو گذاشته و الان میخوایم شرط رو بشناسیم ولی قبل از اینکه شرط رو شرح بدم باید با دوتا اصطلاحِ دیگه آشنا بشیم.
به متریکِ N2 و N3 ، یعنی به متریکهایی که خودِ روتر داره میگن Feasible Distance یا FD . الان N2 و N3 متریکِ اصلیِ هر مسیر ، نقشِ Feasible Distance رو داره توی جدولِ توپولوژی. میخوام یه مثالِ غیرِ شبکه ای بزنم.
به شکل دقت کنید
فرض کنید برای اینکه من از تهران به شیراز برسم یسری مسیر دارم. مسیرِ هوایی دارم. مسیر با قطار دارم. مسیر با اتوبوس دارم. اگه با هواپیما برم از فرودگاه تا شیراز مثلا یکساعت طول میکشه. اگه با قطار برم از ایستگاه قطار تا شیراز مسیرم مثلا ده ساعت طول میکشه و اگه با اتوبوس برم از ترمینال تا شیراز مثلا 4 ساعت طول میکشه. ولی اگه خودم برسم تا مثلا فرودگاه خب خودش یه مسیری داره برای رسیدن به فرودگاه یا ایستگاه قطار و یا ترمینال و امکان داره تا رسیدن من به خودِ فرودگاه فقط 4 ساعت زمان ببره. یا مثلا من تا برسم به ایستگاه قطار این دو ساعت طول بکشه. یا من تا برسم به ترمینال این ممکنه 3 ساعت طول بکشه. پس اگه من بخوام برای این یک جدول توپولوژی در نظر بگیرم اگه من بخوام با هواپیما برم شیراز 5 ساعت متریک باید درنظر گرفته بشه نه 1 ساعت.
اگه بخوام با قطار برم 12 ساعت متریک باید درنظر گرفته بشه نه 10 ساعت و اگه بخوام با اتوبوس برم باید 7 ساعت متریک درنظر گرفته بشه. اما این متریکها از دیدگاهِ من هستش. همسایه من یعنی اون فرودگاه و ایستگاه قطار و ترمینال تا مقصدِ شیراز متریکهایی که خودش داره 1 و 10 و 4 هستش. به متریکی که از دیدگاهِ من نگاه میشه میگن Feasible Distance که راجع بش صحبت کردیم مثل N2 و N3 . اما توی EIGRP میتونم متریک رو از دیدگاهِ همسایَم هم داشته باشم که به این میگن Reported Distance یا RD . برای Feasibility Condition میاد ازین این دو واژه FD و RD استفاده میکنه. مثلا میگهاین متریکِ N2 و N3 بعنوان FD هستش و من توی جدول توپولوژیم متریکها رو از دیدگاهِ همسایه یعنی RD هم دارم.
خب Feasibility Condition میاد اینرو عنوان میکنه که در صورتی یک مسیرِ Alternate ِ شما Feasible Successor هستش که Reported Distance ِش از Feasible Successor ِت کوچیکتر باشه. خب اینجا میگه توی FD ها کدوم متریک از همه کوچیکتره؟ خب 5 کوچیکتره پس قطعا مسیر با هواپیما مسیرِ Successor برام هستش. خب حالا دوتا مسیرت قطار و اتوبوس برات Alternate هستن. در چه صورتی این مسیرهارو میتونی با اطمینان میتونی بگی Feasible Successor هستن؟ در صورتی که Reported Distance شون از Feasible Distance ِ این مسیرِ Successor یعنی 5 کوچیکتر باشه. پس من نمیتونم با اطمینان بگم که مسیرِ با قطار بعنوانِ Feasible Successor هستش چون 10 از 5 بزرگتره ولی میتونم با اطمینان بگم که مسیرِ با اتوبوس Feasible Successor هستش چون 4 از 5 کوچیکتره. نکته یِ اینجا چیه؟ نکته اینجاست که توی همین مثالِ غیرِ شبکه ای مشخصه که توی مسیرهای هواپیما و قطار و اتوبوس ، مسیرهای قطار و اتوبوس مطمئنا مستقل از هواپیما هستن.
خب اینجا داریم میگیم اگه RD کوچیکتر باشه با اطمینان میگیم این Feasible Successor هست و اگه RD بزرگتر باشه نمیتونم با اطمینان بگم که این Feasible Successor نیست یعنی این مستقل نیست. ممکنه مستقل باشه ولی Feasibility Condition صدق نکنه. پس توی چنین شرایطی من باید برم توی بحثهای دیگه ای که اون مباحث رو توی دوره CCNP یاد میگیرید. یعنی اگه یک مسیر Fail بشه و اون روتر توی جدول توپولوژیش Feasible Successor نداشته باشه نمیتونه بگه من مسیرِ مستقل ندارم. باید بره سراغِ یکسری مکانیزمِ دیگه که بهش میگن مکانیزمِ Dual که به این مکانیزم Going Active هم گفته میشه یا Queru and Reply هم گفته میشه که در شرایطی که Feasible Successor توی جدولِ توپولوژی نباشه و Successor فِیل بشه ، برای اینکه چِک کنه مسیرهای Alternate تِش Feasible Successor هستن خودش میره و اونرو پیدا میکنه.
خب میریم سراغِ مباحثِ Configuration . دقت کنید که اول با دستور router eigrp میام AS Number رو مشخص میکنم و مثلا ما بفرض ۱ درنظر میگیریم و یادتون باشه که AS Number توی روترهای مختلف باید یکسان باشه تا همسایگی تشکیل بشه و بعدش با دستور Network و ip address و wild card میاید اینترفیسهای اکتیوتون رو مشخص میکنید. اگه بخواید تاثیر گذار باشید توی انتخابِ مسیر میتونید با تغییراتِ Bandwidth یا Delay که دستوراتش داخل اینترفیس سِت میشه و توی شکل مشخصه اینکارو انجام بدید و یادتونم نره که Bandwidth یی که بصورت دیفالت توی اینترفیسهای سریال سِت شده 1544 یا 1.5Mbps هستش. اگه شما توی محیط واقعی لینکهای سریالتون رو ببینید قطعا شاید لینک T1 1544 نباشه ولی دقت کنید که برید با دستور Bandwidth اگه مثلا پهنای باندِ 128 خریدید برای Bandwidth تون این 128 رو ست کنید.
حالا بریم یه سناریو در موردش ببینیم.
توی این سناریو لینکها رو از بالا به اینصورت قرار دادم که همش FastEthernet هستش و از پایین هم لینکهای سریال رو قرار دادم و میدونیم که لینکهای سریال بصورت دیفالت 1544 هستن و بدونه اینکه من بیام Bandwidth رو دستکاری کنم ، لینکِ پایین به نسبتِ لینکِ بالا لینکِ مناسبی نیست ، یعنی لینک بالا پهنای باندِ بالاتری داره و قطعا بعنوان مسیر بهتر انتخاب خواهد شد.
خب اول میام کانفیگهای عمومی و اولیه رو روی روترها انجام میدم
حالا من قبل از اینکه برم سراغِ EIGRP و سایر بحثهاش میام داخل روتر R6 و یه show از اینترفیس سریال میگیرم و نشونتون میدم.
اینجا میبینید که BW این لینک 1544 هستش.
اگه من بخوام این عدد رو تغییر بدم میتونم بیام توی اینترفیس s0/0/0 و با دستور bandwidth اینرو براساس Kbps تغییر بدم. مثلا میزارمش 1024.
بعد اگه دوباره بخوام برم پهنای باندش رو با دستور show int s0/0/0 چک کنم میبینم که BW تِش تغییر کرده و قبلا هم گفتم که نگران این نباشید که این BW بخواد پهنای باندتون رو محدود کنه. این BW فقط برای محاسبات آماری استفاده میشه و با این دستور تغییر میکرد.
حالا میخوایم توی این سناریو EIGRP رو Run کنیم.
اول میام سراغ روتر R6 و توی محیط Global دستور router eigrp 1 رو میزنم. حواستون باشه که این عدد 1 باید روی بقیه روترها هم یکسان باشه. اولین کار اینه که با no auto-summary میاید و فیچِرِ auto summary رو disable میکنید و بعد با دستور network میاید نتورکتون رو enable میکنید.
حالا میرم سراغ روتر R1 و EIGRP رو کانفیگ میکنم و این روتر فقط نتورک 10 داره.
حالا میرم سراغ روتر R4 و EIGRP رو کانفیگ میکنم.
حالا میریم سراغ رو R2 و EIGRP رو کانفیگ میکنیم
حالا میرم EIGRP رو روی روتر R3 کانفیگ میکنیم
حالا میریم روی روتر R5 و EIGRP رو کانفیگ میکنیم.
حالا میریم که مباحث مانیتورینگ رو چک کنیم
میرم سراغ روتر R6 و دستور show ip eigrp neighbors رو میزنم و میتونم جدول همسایگیم رو ببینم
حالا توی همین روتر با دستور show ip eigrp topology میتونم جدول توپولوژی رو ببینم. وقتی این دستور رو میزنید چیزهایی که بهتون نشون میده فقط Successor ها و Feasible Successor ها هستن.
ولی وقتی شما انتهای این دستور all links رو میزنید همه alternate هارو بهتون نشون میده حالا چه Feasible Successor باشن یا نباشن. ولی دقت کنید که این دستور توی پکت تریسر زیاد تفاوتی نداره چون نخواستن این موضوع رو توی سطح CCNA باز کنن.
دستور دیگه ای که میتونم توی این روتر مانیتور کنم show ip route هستش.
اگه دقت کنید چیزی که دارم بهمون نشون میده اینه که متریکهاش یجورایی متفاوته با اونچیزهایی که قبلا داشتید. الان مثلا برای رسیدن به نتورک 192.168.3.0 از مسیر 10.10.12.1 میره. یعنی از مسیر بالا میره. معلومه که مسیر بالا پهنای باند بهتری داره. و اگه دوباره show ip eigrp topology ش رو نگاه کنیم برای نتورک 192.168.3.0 الان فقط داره یک مسیر رو نشون میده و داره از مسیر 10.10.12.1 نشون میده. حالا ابن منظورش چیه؟ منظور اینه که الان این روترِ R6 برای نتورک 192.168.3.0 ما میدونیم که مسیرهای دیگه ای هم داره ، نکتش اینجاست که این مسیر دیگه ای که وجود داره رو از طریق Feasible Condition به این نتیجه نرسیده که این مسیر Feasible Successor هست ، برای همین اینجا چیزی بهمون نمایش نمیده. اگه میتونستم توی پکت تریسر دستور all-links رو هم تست بگیرم قطعا من میتونستم یک مسیر دیگه روهم ببینم و متوجه میشدم که مسیر دوم Reported Distance ش از Feasible Distance ش قطعا بزرگتر یا مساوی بوده. ولی توی نتورک 10.10.10.0 که بهتون داره دوتا مسیر نشون میده و دلیلش مشخصه. برای اینکه 2169 از 2177 که Feasible Distance ِ مسیرِ Successor هستش کوچیکتره.
دستور show ip route روهم که گرفتیم دیدیم که با D نمایش داده شده بود نتورک 192.168.3.0. برای اینکه D نماد EIGRP هستش و E هم نماد EGP هستش.
دوباره به اسلاید 35 دقت کنید
نکته دیگه توی این قسمت اینه که اگه بخوایم توی انتخاب مسیرها تاثیرگذار باشیم میتونیم با دستکاری کردن BW یا Delay اینکارو بکنیم. من نمیخوام اینکارو بکنم چون قراره راجع به یه موضوع دیگه ای صحبت کنم و روی همین سناریو هم قراره پیاده سازیش کنم و بحث مربوط به لودبالانسینگ روی مسیرهای نامساوی روهم قراره اینجا باهم ببینیم که به چه شکلی هستش. فعلا نمیخوام متریکها رو دستکاری کنم
نکته آخری که میتونم درباره EIGRP بگم اینه که اگه بخوام در مجموع یه Overview یی داشته باشم میتونم بگم که EIGRP بخاطر یکسری از قابلیتهاش معروفه. یسری ازین پارامترهایی که EIGRP رو معروف میکنه به نسبت سایر روتینگ پروتکلها رو باهم میخوایم مرور کنیم.
یکی از اون پارامترها زمانِ همگرایی سریع هستش.
یکی از سریعترین پروتکلهایی هستش که زمان همگرایی رو داره.
قابلیت دیگه EIGRP بخاطر متریکِ غنی هستش که داره. پنج تا پارامتر رو میشه داخلِ متریکش استفاده کرد.
قابلیت لودبالانسینگ روی Unequal path یا روی لینکهای نامساوی هم جزء فیچِرهایی هستش که اینرو از سایر روتینگ پروتکلها متمایز میکنه.
بعنوان مثال فرض کنید که من یک روتر دارم با دوتا لینک.یک لینکم 512 هستش و یک لینکم 2M هستش. بابت لینک 512 دارم هزینه پرداخت میکنم. اگه EIGRP رو روی روترم یعنی R1 بخوام بحالِ خودش بزارم یا هر روتینگ پروتکل دیگه ای رو ، اونوقت میگه این لینک 2M مسیر بهتری هستش و ترافیک رو روی این مسیر میفرستم تا زمانیکه این 2M قطع بشه و اونوقت میارمش روی این 512 . چرا اینجوری میشه؟ چون این لینکها مساوی نیستن. ولی با اینکه این دوتا لینک مساوی نیستن من میخوام هردو لینک توی تقسیمِ بار سهیم باشن.
توی EIGRP یه بحثی داریم به اسم واریانس. میگه واریانس یه عددی هستش که شما بصورت Global داخل EIGRP تون سِت میکنید و بصورت دیفالت این واریانس 1 هستش. ازطرف دیگه میگه شما برای رفتن به یک نتورکی از یک Hop یی مثل R1 و متریکتونم M1 هستش اونوقت اینو میگیم Route1 . و برای همون Net از یه مسیر دیگه ای یعنی R2 متریکتون M2 هستش و قطعا اگه M1 کوچیکتر از M2 باشه پس دراینصورت مسیر بهتر مسیر Route1 هستش و دیگه مسیر Route2 رو استفاده نمیکنه. از طرف دیگه میگه اگه بتونی واریانسِت رو که یه عددی هستش که از 1 تا 255 کانفیگ میشه ، ضرب کنی در متریکِ M1 که کوچیکتره و کاری بکنی که مضرب واریانس در متریکِ M1 بزرگتر از M2 بشه درنتیجه من میام این دوتا روتِ Route1 و Route2 رو باهم مساوی درنظر میگیرم.
یعنی توی این شکل اگه من 2048 رو تقسیم کنم به 512 میتونم بگم که لینک 2M چهار برابرِ لینک 512 هستش. پس اگه اینجا من واریانسم رو K=5 درنظر بگیرم و اگه 5 رو ضربدرِ 512 بکنم و این بزرگتر از 2048 بشه اونوقت من با واریانسِ 5 میتونم بین این دوتا لینک لودبالانسینگ داشته باشم. پس دقت کنید که من توی Router eigrp میتونم با دستورِ Variance که این K یه عددی هستش میتونم واریانسم رو سِت کنم. خب یسوال؟ چرا این واریانس رو نزاریم 255؟ خب اگه من اینو توی بالاترین حد بزارم این توی هر چی ضرب بشه از مسیر M2 بزرگتر میشه. بعدش ممکنه شما توی بعضی از سناریوها بخواید اینکارو بکنید. مثل شکل زیر بگید که این لینک 128Kbps هستش و این یکی 512Kbps هستش و این یکی هم 2Mbps هستش. من شاید بخوام واریانسی تعریف کنم که بین لینکهای 512 و 2048 لود بالانسینگ صورت بگیره ولی روی 128 صورت نگیره. اگه یهو بزاری 255 اونوقت روی هر سه تا لینک لود بالانس میشه. پس میتونید با بازی کردن با واریانس برای خودتون سناریوهای مختلف رو هَندِل کنید.
حالا باهم بریم یه نگاهی به کانفیگ واریانس بندازیم.
نکته ای که باید متذکر بشم اینه که شما فقط روی مسیرهای Successor و Feasible Successor میتونید لود بالانسینگ رو روی مسیرهای نامساوی داشته باشید. مسیرِ Alternate تون حتما باید Feasible Successor باشه که قابلیت لودبالانسینگ رو به شما بده. پس برای همین من باید بگردم توی این شکل و ببینم که کدوم لینکها مسیر Feasible Successor دارن و من روی اون میتونم لود بالانسینگ داشته باشم.
میرم روی روتر R6 و دستور show ip eigrp topology رو میزنم.
الان اینجا میبینیم که برای نتورک 10.10.10.0 دوتا مسیر داریم و میبینیم که دومی یعنی 10.10.13.1 Feasible Successor هستش. همینکه توی این جدول هستش یعنی Feasible Successor هستش و ما میتونیم با مقایسه Repored Distance ش و Feasible Distance متوجه بشیم که این مسیر Feasible Successor هستش. از طرف دیگه بین این دوتا مسیر 10.10.12.1 و 10.10.13.1 مترکهاشون یکسان نیست پایینی 35 و خورده ای هستش و بالایی 21 و خورده ای هستش. پس اگه من show ip route رو ببینیم اونوقت مسیر من برای نتورک 10.10.10.0 قطعا داره از 10.10.12.1 داره میره نه از 10.10.13.1 . حالا من چیکار میتونم بکنم با اینکه این متریکهاش مساوی نیست ولی لود بالانسینگ صورت بگیره؟
من باید واریانسم رو یک عددی در نظر بگیرم که اگه در 2172928 ضرب کنم حاصلش از 3523840 بزرگتر باشه. خب من میام یه Calculator برمیدارم و 3523840 رو تقسیم میکنم به 2172928 که حاصلش میشه 1.621701225259189
حالا اگه من واریانس رو 2 درنظر بگیرم باعث میشه که حاصل ضربِ این Feasible Distance Successor یعنی 2172928 در واریانس بزرگتر از 3523840 یعنی Feasible distance ِ Feasible Successor بشه و روی هر دو لینک لود بالانسینگ صورت بگیره.
میرم داخل router eigrp 1 و و با دستور variance 2 میام واریانس رو به 2 تغییر میدم. اینوسط یکبار همسایه ها up و down میشن تا اطلاعات خودشون رو بروز کنن.
حالا دوباره نگاه میکنم و یه show ip route میگیرم.
Access List
نویسنده: مهندس جواد هدایتی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.