جدول مسیریابی چیست و چگونه ایجاد می شود؟ در مورد جدول مسیریابی در جلسه سیزدهم دوره CCNA صحبت کردیم. در اینجا می خواهیم در مورد 4 روشی که بواسطه اونها روتینگ تیبل ایجاد می شود صحبت کنیم.
1. Connected
2.Static Routing
3. Dynamic Routing Protocols
4. ODR
Connected
خب در مورد connected در همون جلسه سیزدهم CCNA صحبت کردیم و گفتیم که روتر ها به صورت پیش فرض شبکه هایی که به اونها متصل هست رو میشناسن و احتیاج به هیچ یاددادنی ندارند.
ُStatic Routing
در این روش به صورت دستی می آییم برای روتر مسیر تعریف می کنیم. مثلا اگر با این شبکه کار داشتی از این پورت سریال خارج شو. کاملا غیرهوشمند .
استاتیک روتینگ در چه جاهایی استفاده می شود؟
-جایی که مدیریت شبکه بر عهده Admin باشد یعنی Admin می خواهد روتینگ را ، بر اساس مدیریت خودش انجام بدهد.
-جایی که Bandwidth یا پهنای باند ما محدود هست. و چون در داینامیک روتینگ پروتکل ها ، روتر ها مرتب با هم صحبت می کنند و این از پهنای باند ما می خورد ، ترجیح میدیم که از روش استاتیک استفاده کنیم.
-همینطور در جایی که memory و cpu محدودی داریم و چون در داینامیک روتینگ پروتکل ها ، بار بر روی CPU و RAM می اندازد . بالاجبار از این مدل روتینگ استفاده می کنیم.
-در جایی که شبکه های کمی داریم. و نیازی نیست روتینگ پروتکل در این دو شبکه مثلا، اجرا شود.
-و همینطور اگر بخواهیم استاتیک روتینگ بعنوان Backup و پشتیبان روتینگ پروتکل های داینامیک باشد تا اگر داینامیک روتینگ پروتکل ها down شد، شبکه ما Down نشود و بتوانیم از استاتیک روتینگ علی الحساب استفاده کنیم تا مشکل روتینگ پروتکل ها رو مرتفع سازیم.
اما چه مشکلاتی دارد؟
-سختی کارکردن با آن.یعنی مدیریت سختی دارد.باید به صورت دستی تک تک مسیر ها را برای هر روتر تعریف کنیم.
- Convergence یا همگرایی دستی یا Manual آن. یعنی چی ؟ یعنی اگر اتفاقی در شبکه بیوفتد، مثلا یک لینک قطع شود. باید دستی بیاییم و دوباره یک مسیر دیگر برای روتر تعریف کنیم و تا مادامی که این کار رو نکنیم شبکه Down هست. و خود روتر ها به صورت هوشمند نمی توانند بفهمند که این مسیر قطع شد به مسیر دیگری برود.
نحوه پیاده سازی آن به چه صورت هست؟
در جلسه سیزدهم CCNA توضیح دادم که چطور پیاده سازی می شود اما نکته ای که در اینجا می خواهم بگم این هست که اگر به دستور تعریف استاتیک روت دقت کنید:
Router-1(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0
Router-1(config)#ip route 172.16.0.0 255.255.0.0 10.10.10.2
ما هم می توانستیم بگیم که از سریال فلان (مثلا در اینجا 0/0) خارج شو.چون اون شبکه به این پورت سریال وصل هست یا اینکه می تونستیم آدرس روتری که به پورت سریال ما وصل هست رو بدیم.
در شبکه های Point-to-Point فرقی ندارد و ما می تونیم از هر دو روش استفاده کنیم اما در شبکه های Point-to-MultiPoint ناچاریم از آدرس آی پی استفاده کنیم چرا که به یک پورت سریال چندین روتر وصل می شود.
در ادامه بحث Static Route مقوله Static Route هم مطرح می شود.
ِDefault Route
این بحث هم در همان جلسه سیزده CCNA مطرح شده، اما برای کامل کردن بحث نکاتی رو ذکر می کنم.
همانطور که می دانید دیفالت روت یعنی هدایت بسته هایی که مسیری برای آنها نداریم به یک مسیر پیش فرض.
بهترین مثال برای دیفالت روت، اینترنت هست . ما نمی توانیم برای تمام آی پی آدرس های اینترنتی ، مسیر تعریف کنیم. می توانیم با تعریف یک دیفالت روت، به روتر بگوییم اگر درخواستی آمد که تو مسیر برای آن نداشتی حتما درخواست اینترنتی هست و تو از این اینترفیس آن را خارج کن.
مشکلات Default Route
-احتمال بوجود آمدن روتینگ نابهینه: یعنی مثلا در همان مثال اینترنت، ممکن است بسته هایی واقعا با اینترنت کار نداشته باشند ولی ما برای روتر تعریف کردیم هر مسیری که نداشتی را از این اینترفیس خارج کن. و این باعث می شود پهنای باند تا حد زیادی اشغال شود.
Dynamic Routing Protocols
در این روش همانطور که در جلسه چهاردهم CCNA مفصل توضیح داده شد،دو یا چند تا روتر با هم صحبت می کنند . هر روتر هر چی بلد هست رو به روتر دیگری یاد می دهد. و در نهایت همه ، مسیرهای درست رو بدست می آورند.
که روتینگ پروتکل های مختلفی در این زمینه وجود دارد.

در همون اول داینامیک روتینگ پروتکل ها به دو دسته IGP و BGP دسته بندی می شوند.
مفهوم IGP و BGP در یادگیری مفهوم AS خلاصه شده است. AS یا Autonomous System به مجموعه ای از Device ها می گویند که تحت مدیریت یکسان هستند. مثلا دیوایس هایی که تحت مدیریت بانک ملی هستند رو با AS یکسان مشخص می کنند.
ارتباط داخل AS و درون سازمانی رو IGP و ارتباط بین AS های مختلف و برون سازمانی رو BGP میگویند.
حالا خود IGP یا ارتباط درون AS به دو دسته تقسیم می شود. پروتکل های Link State و پروتکل های Distance Vector.
Distance Vector VS. Link State
-در DS یا Distance Vector مسیر ارسال می شود. یعنی کل Routing Table رو در شبکه Advertise میشود.به همین خاطر این نوع روتینگ پروتکل هارو Routing by Rumor یعنی مسیریابی بر اساس شایعه می نامند. اما در LS یا Link State اطلاعات لینک ها ارسال می شود. یعنی وضعیت لینک به روترهای همسایه اعلام می شود. مستقیما بهش نمی گه که از کجا برو. اطلاعات می دهد که لینک ها این وضعیت رو دارند اگر خواستی می تونی از این مسیر ها بری.
-در Distance Vector ها نهایتا یک جدول مسیریابی وجود دارد که اطلاعاتش پریودیک برای باقی روترها ارسال می شود و مسیریابی اش را بر اساس همان جدول انجام میدهد. اما در Link State اینطور نیست. این روتینگ پروتکل ها با روترهای دیگر همسایگی تشکیل می دهند. اطلاعات روترهای همسایه رو در جدولی به نام Neighborship -Table ثبت می کنند. وقتی بواسطه جدول همسایگی اش اطلاعات از همه روترها گرفت، جدول توپولوژی اش را می سازد.
و از داخل جدول توپولوِژی اش با اجرای الگوریتمی مثل SPF کوتاهترین مسیر را بدست می آورد و داخل جدول مسیریابی یا Routing Table می گذارد. می بینید که نسبت به Distance Vector ها خیلی ساختار پیچیده تری دارد.
- Distance Vector ها چون فقط جدول مسیریابی دارند از بین مسیرهایی که می گیرند بهترین را انتخاب می کنند و باقی را دور می ریزند چون دیگر نیازشان ندارند. اما در Link State ها بهترین مسیر انتخاب می شود و باقی مسیرها در جدول Topology نگه داری می شود و دور ریخته نمی شود.
اما این وسط یک سری روتنیگ پروتکل ها اومدند که به Hybrid یا Advanced Distance Vector معروف شدند. از جمله اونها EIGRP.

حالا چرا به این نام معروف شدند چون یه حد واسطی بین Link State ها و Distance Vector ها بودند. یعنی چی حد واسط؟ عرض می کنم خدمتتون.
برای اینکه بحث رو متوجه بشید یه روتیگ پروتکل Hybrid مثل EIGRP رو بررسی می کنیم.
EIGRP
-با باقی روتر ها همسایگی تشکیل می دهد (از خصوصیات Link State ها بود.)
- اصل مسیر را ارسال می کند.(از خصوصیات Distance Vector ها بود) اما فقط یکبار ارسال می کند و بعدا اگر تغییری در مسیرها ایجاد شد فقط تغییر را ارسال می کند .(از خصوصیات Link State ها)
- جدولی به نام توپولوژی دارد(از خصوصیات Link State ها) و بهترین مسیر را از جدول توپولوژی انتخاب می کند و باقی مسیرها را در جدول توپولوژی نگه میدارد.
اما در اینجا بحثی مطرح می شود که کی باید از یک روتینگ پروتکل استفاده کرد. یعنی هر روتینگ پروتکل چه مزایایی نسبت به همدیگر دارند؟ یا مثلا کدوم روتنیگ پروتکل در کدام موقعیت بهتر است؟
OSPF VS. EIGRP
همانطور که می دانید یکی از روتینگ پروتکل های Link State ،روتینگ پروتکل OSPF هست. اینکه OSPF چیست و چطور کار می کند را در آینده مفصلا بحث خواهیم کرد اما در اینجا به صورت مختصر به بیان تفاوت ها و مزیت های این دو روتینگ پروتکل نسبت به هم می پردازیم.
الف- OSPF چون الگوریتم SPF یا Shortest Path First را بابت هر تغییر در شبکه ،داخل جدول توپولوژی اش اجرا می کند تا بهترین مسیر را به Routing Table اش منتقل کند الگوریتم بارداری است. اصطلاحا Resource یا منابع را مصرف می کند. و روی CPU و Memory بار و Load ایجاد می کند. اما در EIGRP اینطور نیست.
هرچند در OSPF با مکانیزم هایی مثل Area بندی دایره وسعت اجرای الگوریتم را کوچک کرده اند ، ولی باز هم باعث ایجاد لود روی Resource ما هست.
ب- EIGRP روتینگ پروتکلی هست که انحصاری خود شرکت سیسکو است و فقط بر روی Device های خودش اجرا می شود. اصطلاحا Proprietary خود سیسکو است. اما OSPF این گونه نیست.
ج- Convergence روتینگ پروتکل EIGRP بسیار کم است یا بهتره بگیم به صورت آنی هست. یعنی به محض Down شدن یک مسیر ، فقط کافی است مسیر جایگزین از جدول توپولوژی به جدول روتینگ منتقل شود. ولی در OSPF پس از Down شدن مسیر، باید الگوریتم SPF بین مسیر های موجود در جدول توپولوژی اجرا شود و بعد از انتخاب مسیر جایگزین آن مسیر به جدول روتینگ منتقل شود که چیزی حدود دو یا سه ثانیه طول می کشد. پس زمان Convergence روتینگ پروتکل EIGRP از OSPF بهتر هست.
د- مقوله پیچیدگی های اجرا نیز یکی دیگر از تفاوت های این دو روتینگ پروتکل هست. پیچیدگی های اجرای OSPF از روتینگ پروتکل EIGRP بیشتر هست. یعنی TroubleShoot کردن OSPF سخت تر هست.
به طور خلاصه مزایای EIGRP عبارتند از:
-سادگی کار با آن.
-Compatibility بالا
-زمان convergence بسیار بالا
بحث Auto Summarization
مقوله summarization منوط به این است که شما بحث classfull و classless رو که در اینجا مطرح کردم به خوبی فهمیده باشید. به صورت خلاصه summarization یا خلاصه سازی یعنی عدم ارسال سابنت مسک در هنگام advertise کردن IP.
- به صورت پیش فرض در همه روتینگ پروتکل ها فعال هست غیر از OSPF. روتری که دارای دو شبکه در یک رینج هست وقتی می خواهد آدرس شبکه را بفرستد آن را summarize می کند و به صورت classfull می فرستد یعنی subnet mask آن را مشخص نمی کند.
-Auto Summarization را می توان غیرفعال کرد. البته در روتینگ پروتکل های Classless . در روتنیگ های Classfull نمی توان این کار را انجام داد.
- دستور غیر فعال کردن Auto summarization به صورت زیر است.
Router(config-router)#no auto-summary
- اگر این قابلیت در روتینگ پروتکل هایی که به صورت پیش فرض فعال است غیرفعال نشود، در شبکه های VLSM به مشکل برمی خوریم.
- توصیه می شود که این قابلیت در روتینگ پروتکل هایی که به صورت پیش فرض فعال هست ، غیرفعال شود. چون بودنش دردسرساز هست. اگر بخواهیم خودمان میتوانیم به صورت دستی فعالش کنیم.
ODR
برای توضیح مفهوم ODR یا On Demand Routing بهتر است ابتدا با مفهوم CDP آشنا شویم.
ODR اطلاعات روتینگی هست که سوار بر پکت های CDP می شود.
- فقط در شبکه های Hub & Spoke اجرا می شود. یعنی روتر هاب به Spoke ها می گوید که تمام مسیرهایی را که میخواستید بفرستید Default advertise کنید به من.
-برای راه اندازی آن ، فقط کافی است در روتر Hub دستور زیر را تایپ کنیم.
router(hub)#Router ODR
-برای مواقعی است که هیچ روتینگ پروتکلی در روتر اجرا نشده است نه استاتیک و نه داینامیک.
- به صورت عملیاتی هیچ وقت در محیط های واقعی پیاده سازی نمی شود.
امیدوارم از این جلسه استفاده لازم رو برده باشید. اگر جایی مبهم بود و یا سوالی داشتید ، می توانید بپرسید، اگر بلد بودم که هیچ ، وگرنه از اساتید برایتان می پرسم و در اختیارتان قرار می دهم. موفق باشید.