آشنایی با روند کاری مسیریابی (Routing) در شبکه
![سوییچینگ و مسیریابی (CCNA)](/wp-content/uploads/2019/09/ccna-1.jpg)
مسیریابی پروسه انتخاب مسير برای دسترسی به شبکه های غیر محلی می باشد. بنابراین روتر با شناخت از شبکه ها و مسيرهای رسيدن به هر کدام و نگهداری این اطلاعات در یک جدول به عنوان مسيریاب ایفای نقش می کند.
- روتر باید بداند که اطلاعات شبکه های غير محلی را از چه منبعی باید تهيه کند.
- روتر باید بداند که برای رسيدن به هر کدام از شبکه های غير محلی چندین مسير موجود هست.
- روتر باید بداند که از ميان تمامی مسيرهای موجود برای رسيدن به یک شبکه غيرمحلی کدام یک بهترین می باشد.
- در نهایت روتر باید اطلاعات بدست آورده را در یک Database نگهداری کند تا با ورود یک Packet که آدرس مقصد آن شبکه ای غيرمحلی می باشد، هدایت در سریع ترین زمان ممکن صورت گيرد.
روتر همانند سوئیچ و هاب یک سیستم کامپیوتری است که در شبکه کاربرد دارد، منتهی وظیفه سوئیچ و روتر یکی نیستند و با هم متفاوت هستند. روتر دارای یک سیستم عامل به نام IOS هست که توسط این سیستم عامل می توانیم روتر را کانفیگ کنیم.
روتر شبکه های متصل (connect) را به کمک اینترفيس های فعال خود می شناسد ولی جهت معرفی شبکه های غير محلی به یک روتر در شبکه دو روش وجود دارد:
مسیریابی ایستا (Static Routing)
در این روش شبکه های غير محلی و راه دسترسی به هر کدام از آنها به صورت دستی معرفی و به روتر گفته می شود.
مسیریابی پویا (Dynamic Routing)
در این روش، شناخت به کمک الگورتيم های مسيریابی صورت می پذیرد. در واقع در این روش عمليات مسيریابی به صورت اتوماتيک انجام می گيرد.
![تفاوت مسیریابی ایستا و پویا](/wp-content/uploads/2019/09/static-and-dynamic-routing-min.jpg)
این روش به سه دسته کلی تقسيم می شود:
- Distance Vector
![نحوه عملکرد مسیریابی Distance Vector](/wp-content/uploads/2019/09/ش-2.png)
نحوه عملکرد
- شناسایی شبکه های متصل به روتر
- ساختن جدول مسیریابی
- شناسایی روترهای مجاور
- تبادل کل جدول مسیریابی با روترهای مجاور بعد از سپری شدن گام سوم
- آپدیت به صورت دوره ای
در پروتکل های Distance Vector، بين روتر مبدا و شبکه غيرمحلی که به روتر متصل نمی باشد، یک بردار خطی در نظر گرفته می شود. مبداء این بردار خود روتر می باشد که بعد از گذشتن از روتر های مجاور به شبکه مقصد می رسد.
بنابراین روتر ابتدا باید بداند که برای رسيدن به شبکه مقصد چند راه وجود دارد و سپس از ميان راه های موجود بهترین راه را مشخص کرده و آن را در جدول مسیریابی (Routing Table) قرار دهد.
- Link state
در این روش روتر جدیدی که وارد شبکه می شود، ابتدا روترهای مجاورش را شناسایی می کند و با آن ها رابطه همسایگی برقرار می کند، بنابراین اطلاعاتی که معرفی کننده روتر مجاورش باشد را در Neighbor table ذخيره می کند.
بعد از این که یک روتر رابطه همسایگی را برقرار کرد، شروع به تبادل اطلاعات با روترهای مجاورش می کند. در واقع بعد از برقراری رابطه همسایگی لازم است که Link-State Database هر دو یکسان شود.
- Hybrid Routing
همانند Distance Vector بين روتر مبدا و مقصد یک بردار در نظر می گيرد و درصورتی که تغييری در شبکه رخ دهد، این تغييرات به صورت برداری بين روترهای مجاور منتشر می شود. البته این تغييرات را به صورت Full update ارسال نمی کند، بلکه فقط تغييرات جزئی در شبکه به روترهای دیگر ارسال می شوند.
![روند کاری الگوریتم مسیریابی](/wp-content/uploads/2019/09/routing-algorithm1.gif)
همچنین همانند Link state باید تصویرکلی از شبکه داشته باشد و اطلاعات مسيرهای ممکن به هر کدام از شبکه های غيرمحلی را در Topology table نگهداری کند.
الگوریتم مسیریابی
الگوريتم مسيريابی، بخشی از نرم افزار لايه شبكه می باشد كه تعيين می كند بسته ورودی به كدام خط خروجي بايد منتقل شود.
ویژگی های الگوریتم مسیریابی
- صحت
- سادگی
- تحمل عیب
- پایداری
- عدالت و بهینگی
انواع الگوریتم های مسیریابی
از ديدگاه روش تصميم گيری و ميزان هوشمندی الگوريتم
- ایستا
- عدم توجه به شرايط توپولوژيكی و ترافيک لحظه ای شبكه
- جداول ثابت مسيريابی هر مسيرياب در طول زمان
- الگوريتم های سريع
- تنظيم جداول مسيريابي به طور دستی در صورت تغيير توپولوژی زيرساخت شبكه
- تغيير کند مسيرها در طول زمان
- پویا
- آپدیت جداول مسيريابی به صورت دوره ای بر اساس آخرين وضعيت توپولوژيكي و ترافيک شبكه
- تغيير سريع مسيرها
- تصميم گيري بر اساس وضعيت فعلي شبكه جهت انتخاب بهترين مسير
- ايجاد تأخيرهای بحرانی هنگام تصميم گيری در مورد بهترين مسير به دلیل پيچيدگی الگوريتم
از ديدگاه نحوه جمع آوری و پردازش اطلاعات زيرساخت ارتباطی شبكه
- سراسري / متمركز
- اطلاع كامل تمام مسيرياب ها از همبندی شبکه و هزينه هر خط
- الگوريتمهای Link State
- غیر متمرکز
- محاسبه و ارزيابی هزينه ارتباط با مسيرياب های همسايه (مسيرياب هايی كه به صورت مستقيم و فيزيكی با آن در ارتباط هستند.)
- ارسال جداول مسيريابی توسط هر مسيرياب در فواصل زمانی منظم برای مسيرياب های مجاور
- پيچيدگی زمانی كم
- الگوريتم های Distance Vector
پروتکل مسیریابی RIP
![پروتکل مسیریابی RIP](/wp-content/uploads/2019/09/RIP_Distance_Vector_Protocol_Third_Update.jpg)
RIP یک پروتکل قدیمی و عمومی می باشد که جزء دسته پروتکل های Interior Gateway Protocol هست که در شبکه هایی با اندازه کوچک کارایی بالایی دارد و از رده پروتکل های Distance-Vector می باشد.
ملاک انتخاب بهترین مسير در این پروتکل hop count (تعداد گام) می باشد که بیشترین مقداری که برای متریک در این پروتکل در نظر گرفته شده است، ١۵می باشد و در صورتی که از این مقدار بيشتر شود، مسير غيرقابل دسترس خواهد بود و در واقع infinity خواهد شد.
full update در این پروتکل هر ٣٠ ثانيه یک بار در شبکه به صورت Broadcast از اینترفيس های متصل به روتر خارج شده و به روتر های مجاور ارسال می شود.
در صورتی که روتر چند مسير با متریک یکسان به یک شبکه پيدا کند، ترافيک را بين این مسيرها تقسيم می کند. بنابراین در این حالت از منابع شبکه و پهنای باند موجود به خوبی استفاده می شود. RIP به صورت پيش فرض توانایی پشتيبانی ۴ مسير با متریک یکسان جهت load balancing را دارد.
پروتکل مسیریابی IGRP
(Interior Gateway Routing Protocol)
![پروتکل مسیریابی IGRP](/wp-content/uploads/2019/09/Routing_Information_Protocol_RIP-1.png)
پروتكل مسيريابي IGRP پروتكلی می باشد كه در اواسط سال 1980 ميلادی توسط شركت سيسكو معرفی شد. هدف سيسكو از ارائه اين پروتكل، ارائه یک پروتكل قوی و قابل اعتماد برای كار كردن در يک Autonomous System يا AS عنوان شد که به نوعی يک پروتكل Distance Vector از نوع پيشرفته است.
- افزایش محدوده تحت پوشش : IGRP برخلاف RIP توانایی انجام عمليات Routing در شبکه های بزرگ را دارد.
- متریک پيچيده : IGRP برخلاف RIP دارای متریک composite می باشد.
- Unequal Load Balancing : پروتکل IGRP مانند RIP می تواند ترافيک را بين چند مسير Balance کند. اما تفاوتی که این پروتکل با RIP دارد در این است که می تواند ترافيک را بين چند مسير با متریک های مختلف Balance کند.
پروتکل مسیریابی OSPF
(Open Shortest Path First)
![مسیریابی OSPF](/wp-content/uploads/2019/09/ospf-concept.png)
یک پروتکل مسیریابی Link state است که می تواند ترافیک های مربوط به پروتکل IP را مدیریت کند. تقریبا همه روترهایی که در دنیا وجود دارند از پروتکل OSPF پشتیبانی می کنند. این پروتکل مسیریابی از الگوریتم Shortest Path First یا SPF برای جلوگیری از به وجود آمدن Routing Loop در توپولوژی شبکه ها استفاده می کند و به نوعی یک شبکه Loop Free ایجاد می کند. OSPF فرآیند Convergence سریعی دارد و از طرفی قابلیت Incremental Update را نیز با استفاده از Link State Advertisement یا LSA فراهم می کند.
مجموعه روترهایی که OSPF را اجرا می کنند به بخش هایی تحت عنوان Area تقسیم می شوند. یک شبکه OSPF باید یک Area 0 داشته باشد و علاوه بر آن می تواند Area های دیگری نیز داشته باشد. الگوریتم SPF در هر Area اجرا می شود و همچنین مسیر های ناحیه ای بین Areaها ردوبدل می شوند.
در OSPF دو سطح وجود دارد:
- Area 0 به عنوان ناحیه انتقال طراحی شده است و Area های دیگر به آن متصل می شوند.
- Area ها دیگر باید به صورت مستقیم به Area 0 متصل شوند و از طریق Area 0 به دیگر Areaها دسترسی پیدا کنند.