Uncategorized

مسیریابی در شبکه و طریقه مسیریابی در آن بررسی 2 دیدگاه

روتر شبکه سیسکو مدل CISCO1941W-AK9

مسیریابی در شبکه و طریقه مسیریابی در آن

در این مقاله می خواهیم در مورد مسیریابی در شبکه و طریقه مسیریابی در آن و انواع مسیریابی ها و پروتکل های مسیریابی در شبکه صحبت کنیم. در کل به فرآیند دریافت بسته های داده از یکی از کانال های ورودی و هدایت آن بر روی کانال خروجی مناسب بطوری که به سمت مقصد نهایی خود نزدیک شود را سوئیچینگ گویند. حال در صورتی که عمل سوئیچینگ توسط دستگاه های خاص در هر یک از لایه های مدل OSI انجام گیرد , نام های خاص خود را میگیرند.

به عنوان مثال عمل سوئیچینگ در لایه 1 توسط دستگاه های Repeater , Hub انجام میگیرد و یا عمل سوئیچینگ در لایه 2 توسط دستگاه های Switch انجام میگیرد. در صورتی که عمل سوئیچینگ در لایه 3 (لایه Network) از مدل OSI انجام گیرد به آن مسیریابی گفته می شود. هدایت بسته های داده از یک شبکه (شبکه مبدأ) به سمت شبکه دیگر(شبکه مقصد) را مسیریابی گویند.

مسیریابی در شبکه و طریقه مسیریابی در آن

what is Routing

مسیریاب یا Router

مسیریاب که با نام سوئیچ لایه 3 هم یاد می شود با سوئیچ های لایه 2 تفاوت فراوان داشته. زمانی که بسته داده وارد مسیریاب می شود , عملیات Encapsulation انجام می شود و  بعد از حذف Header لایه پیوند داده تبدیل به فریم شده ولی هدایت بسته داده توسط Mac address انجام نمی شود بلکه فریم برای پردازش , تحویل لایه بالاتر یعنی لایه Network می شود که در آن شناسه جهانی خود و ادرس جهانی مقصد را به همراه دارد (IP address مبدأ و مقصد). آدرس جهانی مقصد توسط نرم افزار لایه 3 پردازش می شود و یک مسیر خروجی برای آن محاسبه و انتخاب می کند.

بر خلاف تصور خیلی از افراد فرآیند مسیریابی و شناخت و آشنایی با روش  ها و اصول  آن خیلی دشوار نیست. مسیریابی فرآیندی بر پایه یکسری قواعد منطقی و سیاست هاست که پیچیدگی آن به سطوح و لایه های امنیت , امکان پشتیبانی همزمان از دو یا سه پروتکل و پیچیدگی ساختار و توپولوژی شبکه بستگی دارد.

مسیریابی در یک شبکه بسیار ساده

انتقال داده از یک شبکه به شبکه دیگر که تنها یک مسیر  بین دو شبکه وجود داشه باشد ساده ترین فرآیند مسیریابی است ولی در صوت وجود چندین شبکه و چندین مسیر بین آن ها , پیدا کردن بهترین مسیر و اعمال معیارهای بهینگی مسیر به الگوریتم های پویا نیاز دارد. در شکل زیر دو شبکه محلی مستقل با نام های A , B وجود دارد که به دلیل اینکه دو شبکه مستقل و جدایی هستند دارای رنج  IP متفاوت هستند. یعنی داده ها به راحتی نمی تواند بین این دو شبکه منتقل  شود بلکه نیاز به مسیریاب است که این دو شبکه را به هم متصل کند. میخواهیم متوجه شویم که داده ها چگونه بین این دو شبکه از طریق مسیریاب منتقل می شود.

example of routing

example of routing

ابتدا تمام دستگاه ها در این دو شبکه باید جوری تنظیم شده باشند که این مسیریاب را بشناسند , در بسیاری از سیستم عامل ها Default gateway نامیده می شود. فارغ از اینکه دستگاه چیست و دارای چه سیستم عاملی است باید برای اتصال هر دستگاه به شبکه ,  آدرس حداقل یک مسیریاب برای سیستم عامل شان تعریف شود. در این مثال مسیریاب دارای دو کارت شبکه Ethernet است که به دو شبکه با رنج IP متفاوت متصل است که باید به هر یک از کارت شبکه های مسیریاب یک IP address اختصاص دهیم.

در این مثال مسیریاب به دو شبکه با رنج IP های 192.168.100.0 و 10.10.2.0  متصل است پس باید به کارت شبکه ای که به شبکه 192.168.100.0 متصل است آدرسی محدود به 192.168.100.x و به کارت شبکه ای به شبکه 10.10.2.0  متصل است , آدرسی محدود به 10.10.2.y اختصاص دهیم.

حال مسیریاب به دو شبکه متصل است که دستگاه های موجود در این دو شبکه آدرس مسیریاب را می دانند و همچنین دستگاه های موجود در شبکه A از طریق سوئیچ با یکدیگر در ارتباط هستند و می توانند مبادله داده داشته باشند. برای مثال  وقتی دستگاه 192.168.100.11  برای دستگاه 192.168.100.11 داده ای میفرستد , بسته های داده به دست سوئیچ رسیده و طبق یکسری فرایند داده ها را بر روی لینکی که به مقصد 192.168.100.16 می رسد قرار می دهد و داده ها را به مقصد می رساند.

حال اگر دستگاهی در شبکه A بخواهد بسته داده ای به دستگاهی در شبکه B ارسال کند ابتدا بسته داده وقتی به دست سوئیچ می رسد می بیند که IP address مقصد در رنج شبکه خود نبود پس آن را به سمت آدرس default Gateway خود  ارسال می کند که در واقع همان آدرس کارت شبکه ای از مسیریاب است که به شبکه A متصل شده. بعد از دریافت بسته داده توسط مسیریاب عمل Encapsulation تا لایه 3 انجام می شود و بعد Header مربوط به بخش IP را پردازش می کند و IP address مقصد (10.10.2.14) را بدست می آورد سپس مسیریاب Subnet mask را با IP address مقصد AND می کند تا آدرس شبکه بدست آید (Subnet mask برابر با 255.255.255.0 است که با انجام عملیات AND با IP address مقصد , آدرس شبکه می شود 10.10.2.0).

حال مسیریاب با توجه به پیکربندی هایی که شده بررسی و جست و جو می کند که آیا کارت شبکه ای که با آدرس 10.10.2.0 مطابقت داشته باشد تعریف شده یا خیر؟ مسیریاب با جست وجو ها متوجه می شود که کارت شبکه 10.10.2.1 در شبکه 10.10.2.0 قرار دارد در نتیجه بسته داده مجدد Capsulation کرده و تحویل کارت شبکه مربوطه که به شبکه 10.10.2.0(شبکه B) می رسد , می دهد. سپس به دست Switch رسیده و طبق فرآیند سوئیچینگ بسته داده را به دستگاه 10.10.2.14 می رساند.

مثال بالا هرچند مثالی بسیار ساده بود و مکانیزم مسیریابی به طور صحیح و دقیق و کاربردی انجام شد ولی در محیط واقعی امکان انتظار اینکه تمام شبکه ها به همین سادگی و به صورت ایستا پیکربندی شده باشند , نیست. امروزه شبکه ها دارای توپولوژی های پیچیده هستند که در ادامه مثالی از شبکه های پیچیده خواهیم زد.

مسیریابی در شبکه پیچیده

یک زیرساخت شبکه مانند شکل زیر را در نظر بگیرید که دارای چندین مسیریاب و سوئیچ است که از چند شبکه محلی تشکیل شده.

فرض کنید دستگاهی در شبکه A می خواهد اطلاعاتی برای دستگاهی در شبکه D ارسال کند . برای رسیدن داده ها به مقصد مراحل زیر طی می شود:

1)بسته ای که توسط پروتکل لایه شبکه بسته بندی شده به دست مسیریاب A می رسد.

2)مسیریاب A در جدول مسیریابی خود به دنبال “درایه”(entry) میگردد که شبکه D را مشخص کرده باشد. از طریق جدول مسیریابی , مسیریاب A متوجه می شود که 2 مسیر برای رسیدن به شبکه D وجود دارد اولین مسیر از طریق (F , G (A->F->G و مسیر دوم از طریق G , H (A->G->H)است.

3)مسیریاب A الگوریتم مسیریابی را اجرا می کند (نوع الگوریتم به پروتکل مورد استفاده در لایه شبکه , نوع مسیریاب و پیکربندی آن بستگی دارد) در این مثال الگوریتم مسیریابی OSPF در نظر گرفته شده. الگوریتم مسیریابی با استخراج مقادیر و معیارهای هزینه خطوط , محاسبتی انجام می دهد و از بین دو مسیر بهترین مسیر که کمترین هزینه را دارد انتخاب می کند. ( در این مثال فرض کنید مسیر F , G طبق محاسبات الگوریتم OSPF بهینه ترین مسیر است.)

4)مسیریاب A بسته IP را داخل بسته  OSPF قرار می دهد و در فیلد IP address مقصد از بسته OSPF , آدرس شبکه D را قرار می دهد.

5)مسیریاب A بسته کپسول شده IP را به سمت مسیریاب F هدایت می کند.

6)مسیریاب F , سرایند( Header) بسته OSPF را پردازش کرده و متوجه می شود که به مقصد مسیریاب G ارسال شده است.

7)مسریاب F با جست و جو در جدول مسیریابی خود متوجه می شود که با مسیریاب G یک ارتباط مستقیم دارد در نتیجه بسته را بر روی لینک مربوطه قرار داده و به سمت مسیریاب G هدایت می کند.

8)مسیریاب G بسته را دریافت کرده و Header بسته OSPF را جدا کرده و بسته IP را از آن استخراج می کند سپس بسته IP را از طریق هاب به درون شبکه D منتقل می کند.

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

الگوریتم های مسیریابی

الگوریتم مسیریابی  یک فرمول یا پروسه ای ریاضی  است که با اعمال آن بر روی جدول مسیریابی , میزان مطلوبیت یا میزان بهینگی مسیر های مختلف محاسبه شده و بر اساس آن مطلوب ترین و بهینه ترین مسیر بدست می آید کدهای اجرایی الگوریتم و همچنین اطلاعات جدول مسیریابی هر دو در حافظه اصلی نگهداری می شوند و به محض نیاز به تصمیم گیری الگوریتم فراخوانی می شود.

الگوریتم های مسیریابی را با دو دیدگاه می توان دسته بندی کرد :

1)از دیدگاه روش تصمیم گیری و میزان هوشمندی الگوریتم

2)از دیدگاه چگونگی جمع اوری و پردازش اطلاعات زیرساخت ارتباطی شبکه

دیدگاه اول

از دیدگاه اول الگوریتم های مسیریابی خود به دو دسته پویا و ایستا تقسیم می شود که در الگوریتم های ایستا به شرایط توپولوژی و ترافیک لحظه ای شبکه توجه نمی شود. معمولا در این الگوریتم ها برای هدایت بسته های داده از جداولی استفاده می شود که در هنگام پیکربندی مسیریاب ها تنظیم می شود و ثابت می مانند و در هنگام تغییر توپولوژی و زیرساخت شبکه این جداول مجددا توسط مدیران شبکه به صورت دستی تنظیم می شود. اگر چه این الگوریتم ها بسیار سریع هستند ولی به دلیل اینکه ترافیک لحظه ای شبکه تغییر می کند نمی تواند بهترین مسیر را انتخاب کند.

در الگوریتم های پویا مسیریابی بر اساس اخرین وضعیت توپولوژی و ترافیک شبکه انجام می شود و جدول مسیریابی در الگوریتم های مسیریابی پویا هر چند ثانیه یکبار بروز رسانی می شود. این الگوریتم ها بر اساس وضعیت فعلی شبکه تصمیم گیری می کند ولی ممکن است به دلیل پیچیدگی این الگوریتم ها زمان تصمیم گیری برای انتخاب بهترین مسیر طولانی شود و خود منجر به تأخیر و در نهایت ازدحام شود به این دلیل در مسیریاب های خاص و سریع از cpuهای خاص و بسیار سریع استفاده می شود (این cpuها از تکنیکهای چند پردازنده ای و پردازش موازی استفاده می کنند).

دیدگاه دوم

از دیدگاه دوم الگوریتم های مسیریابی به دو دسته سراسری متمرکز (Global Routing Algorithm) و غیره متمرکز توزیع شده (Decentralized Routing Algorithm)تقسیم می شوند در الگوریتم های متمرکز هر مسیریاب باید اطلاعات کاملی از زیر ساخت ارتباطی کل شبکه داشته باشد یعنی هر مسیریاب باید تمام مسیریاب های دیگر , ارتباطات بین آنها و هزینه هر خط را دقیقا شناسایی کنند. سپس با جمع آوری این اطلاعات , ساختمان داده مربوط به گراف زیرساخت شبکه را تشکیل می دهند.

که برای پیدا کردن بهترین مسیر بین دو مسیریاب از الگوریتم های کوتاه ترین مسیر مثل الگوریتم دایجسترا استفاده می کنند . به چنین الگوریتم هایی که برای پیدا کردن کوتاهترین مسیر نیاز به داشتن اطلاعات کامل از زیرساخت و هزینه ارتباط بین دو مسیریاب است اختصاصا الگوریتم های LS یا Link State Algorithms گفته می شود. مسیریاب هایی مثل پروتکل های OSPF , IS-IS برای مسیریابی از الگوریتم های متمرکز استفاده می کنند. در الگوریتم های غیره متمرکز  مسیریاب اطلاعات کاملی از زیرساخت شبکه ندارد و فقط قادر است هزینه ارتباط با مسیریاب هایی که مستقیم و فیزیکی با آن ها در ارتباط است را محاسبه و ارزیابی کند.

سپس هر مسیریاب در فواصل زمانی مشخص هر مسیریاب جدول مسیریابی خود را با مسیریاب های مجاور ارسال می کند. مسیریاب با دریافت جداول و مقادیری که خودش مستقیما اندازه گیری کرده , با لگوریتم بسیار ساده جدول مسیریابی خود را به روزرسانی می کند. الگوریتم های غیره متمرکز پیچیدگی زمانی بسیار کمی دارند زیرا درگیر الگوریتم های پیچیده و وقتگیر مثل دایجسترا نمی شوند که به این الگوریتم ها به اختصار الگوریتم ها DV یا Distance Vector Algorithm گفته می شود.

الگوریتم هایی مثل RIP , IGRP , EIGRP , BGP از این الگوریتم استفاده می کنند.

 

برای مشاهده محصولات دیگر سایت ما اینجا کلیک کنید .

برای مشاهده محصولات متنوع تر به سایت NKTECH مراجعه نمایید .

برای مشاهده محصولات برند LAFAND به سایت لافند مراجعه نمایید .

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *