IP Routing فرآیندی است که در آن مسیر بهینهای برای انتقال بستههای IP از یک آدرس مبدأ به یک آدرس مقصد در شبکه انتخاب میشود. این فرآیند یکی از ارکان اصلی شبکههای ارتباطی داده است. این فرآیند یکی از ارکان اصلی شبکههای ارتباطی داده است. روترها، که وظیفه اجرای مسیریابی IP را بر عهده دارند، از جدولهای مسیریابی برای هدایت بستههای داده استفاده میکنند. این جدولها با استفاده از پروتکلهای مسیریابی IP مانند BGP، IS-IS و OSPF مدیریت و بهروزرسانی میشوند.
چرا IP Routing مهم است؟
همانطور که در ابتدا اشاره کردیم IP Routing یا مسیریابی IP فرآیندی است که در آن بهترین مسیر برای انتقال بستههای IP از یک آدرس مبدأ به یک آدرس مقصد در شبکه انتخاب میشود. این فرآیند یکی از اساسیترین عناصر شبکههای ارتباط داده است. مسیرها بر اساس حالت انتقال IP به دو دسته مسیرهای تکپخشی (Unicast) و چندپخشی (Multicast) تقسیم میشوند. در این متن، منظور از مسیرها، مسیرهای Unicast است.
با گسترش مقیاس یک شبکه، ممکن است هزاران مسیر انتقال به یک مقصد وجود داشته باشد. برای دستیابی به بهترین تعادل میان سرعت، کیفیت و عملکرد انتقال اطلاعات، انتخاب مسیر اهمیت ویژهای پیدا میکند. در شکل زیر، برای انتقال بستههای داده از کامپیوتر A به کامپیوتر B، دو مسیر موجود است: یکی از طریق شبکههای 1، 3 و 5 و دیگری از طریق شبکههای 2 و 4. اگرچه مسیر اول طولانیتر است، اما در شرایطی که مسیر دوم اتصال شبکه ضعیفی دارد، سرعت انتقال بیشتری ارائه میدهد. در نتیجه، مسیر اول برای انتقال بستههای داده انتخاب میشود.
جدول مسیریابی چیست و چگونه کار میکند؟
جدول مسیریابی یک جدول داده است که در هر روتر ذخیره میشود. این جدول شبیه به یک نقشه است که در آن میتوانید مسیر دسترسی به یک آدرس شبکه خاص را جستجو کنید. این جدول شامل ورودیهای متعددی است که هر کدام نشاندهنده مسیری است که به یک مقصد خاص در شبکه مربوط میشود. شکل زیر یک نمونه از جدول مسیریابی را نشان میدهد.
هنگامی که یک روتر بسته IP دریافت میکند، آدرس مقصد را در سربرگ بسته بررسی کرده و در جدول مسیریابی خود به دنبال ورودیای میگردد که با آدرس مقصد مطابقت داشته باشد. اگر ورودی مطابق پیدا شود، روتر بسته را بر اساس رابط خروجی و گام بعدی (Next Hop) مشخصشده در آن ورودی ارسال میکند. اگر هیچ ورودی مطابقی پیدا نشود، روتر بررسی میکند که آیا مسیر پیشفرض وجود دارد یا خیر؛ اگر مسیر پیشفرضی وجود نداشته باشد، روتر بسته IP را دور میاندازد. همزمان، روتر یک پیام خطای پروتکل کنترل پیام اینترنتی (ICMP) به دستگاه مبدأ بسته ارسال میکند و گزارش میدهد که آدرس یا شبکه مقصد غیرقابل دسترسی است.
هر روتر یک جدول مسیریابی اصلی محلی دارد که مسیرهای شناساییشده توسط پروتکلهای مختلف را ذخیره میکند؛ سپس از میان این مسیرها، بهترین مسیر انتخاب میشود. جدول مسیریابی میتواند شامل انواع مختلفی از مسیرها باشد:
- Direct route (مسیر مستقیم): Direct route مسیرها بهصورت خودکار توسط روتر شناسایی شده و به جدول مسیریابی اضافه میشوند.
- Static route: مسیری است که بهصورت دستی توسط مدیر شبکه پیکربندی میشود.
- Dynamic route: مسیر پویا با Dynamic route مسیری است که توسط روتر از طریق یک پروتکل، مانند پروتکل BGP، IS-IS، OSPF یا پروتکل اطلاعات مسیریابی (RIP) کشف میشود.
مسیرها براساس نوع آدرس مقصد به دو دسته زیر تقسیم شوند:
- Host route (مسیر میزبان): مسیری است که به آدرس یک میزبان خاص اشاره دارد. از طریق این مسیر، بستههای داده تنها به این آدرس میزبان ارسال میشوند.
- Network segment route: مسیری است که به آدرس یک بخش شبکه اشاره دارد. از طریق این مسیر، بستههای داده به تمامی میزبانها در آن بخش شبکه ارسال میشوند.
همانطور که در بالا اشاره کردیم انتقال اطلاعات و داده ها از مسیر مبدا به مقصد در شبکه های پیوسته به یک دیگر را ip routing و یا routing می گویند. روترهای شبکه برای فرایند مسیر یابی می بایست موارد زیر را بدانند و بشناسند:
- آدرس مقصد
- Routerهای مجاور
- مسیرهایی که به شبکه های غیر مجاور منتهی می شوند و انتخاب بهترین مسیر به هر یک از آن ها
- توانایی یادگیری، ذخیره، تایید و مدیریت اطلاعات
نکته قابل توجه در مورد فرایند مسیر یابی این است که اگر یک router اطلاعاتی در مورد مسیر داده نداشته باشد آن اطلاعات و داده ها دور انداخته می شوند در اصطلاح drop می شود و موضوع به node مبدا اطلاع داده می شود؛ اما اگر زمانی اطلاعات مسیریابی router نادرست باشد احتمال تکرار حلقه ها پیش می آید که در این صورت شبکه از کار می افتد.
در فرایند routering چندین پروتکل و لایه دخیل هستند؛ برای درک بهتر این موضوع به شکل زیر توجه کنید:
در این شکل زمانی که هاست 1 یک tco segment به هاست 3 ارسال می کند اتفاقات زیر رقم می خورد:
- Tcp segment به پروتکل آی پی می رود و پرتکل های ip هدری تحت آدرس مبدا و آدرس مقصد به آن اضافه می نماید و سپس بسته را به لایه ی بعدی ارسال می کند.
- از ماسک زیر شبکه هاست معین می شود که آدرس مقصد در شبکه غیر مجاور است و می بایست به get way پیش فرض که آدرس آن 168.1.1 می باشد ارسال شود. در این صورت host1 درخواست ARP ارسال می کند تا mac address روتر یک دریافت کند زمانی که پاسخی دریافت نمود اطلاعات را با mac address مبدا هاست1 و mac address مقصد روتر یک به شکل فریم درمیاید.
- هنگامی که روتر یک frame را دریافت می کند هدر و فوتر آن را استخراج کرده و به آدرس مقصد در هدر آی پی می نگرد و چون مقصد بسته روتر یک نیست باید مسیریابی شود.
- روتر یک آدرس مقصد را با لیستی از شبکه هایی که می شناسد مطابقت می دهد این لیست همان routering table می باشد. روتر یک متوجه می شود که آدرس شبکه مقصد را می تواند از طریق روتر دو در اختیار داشته باشد در نتیجه با درج mac address مبدا کارت شبکه خروجی خود را با ip 1.1.1 و آدرس مقصد کارت شبکه روتر2 اطلاعات را به شکل فریم در می آورد.
- زمانی که روتر2 فریم را دریافت می نماید دوباره بسته اطلاعاتی را از frame خارج کرده و مراحل جستجو را تکرار می کند و مجدد بسته اطلاعاتی را پیش از ارسال به روتر3 به شکل frame در می آورد در این حالت آدرس مبدا mac address خروجی را روتر2 است. آدرس مقصد نیز mac address روتر3 می باشد.
- در نهایت روتر3 با دیدن mac address مقصد درمی یابد که شبکه مقصد مستقیم به آن متصل است. روتر3 mac address مقصد host را پیدا می کند سپس mac address خود را به عنوان آدرس مبدا و هاست را به عنوان address مقصد اضافه می کند و بسته اطلاعاتی را به شکل frame در آمده و به host مقصد ارسال می شود.
- در مقصد فریم باز شده و آدرس ip مقصد آن تایید می گردد و بعد هدر آی پی استخراج شده و tcp segment به لایه ی چهار مقصد فرستاده می شود.
- در این قسمت اگر نیاز باشد هاست3 پاسخ هاست1 را داده و tcp segment پاسخ آن را به پروتکل ip تحویل می دهد.
- همانطور که گفتیم پروتکل ip شامل یک آدرس مبدا و مقصد به آن اضافه کرده و به لایه ی دوم ارسال می کند تا به شکل frame دربیاید.
- ماسک زیر شبکه هاست3 تعیین می کند که مقصد در شبکه دور واقع شده در این صورت frame برای پیدا کردن مقصد، مک آدرس گیت وی را به طور پیش فرض نیاز دارد.
- روتر3 هدر فریم را خارج کرده و در هدر ip به دنبال ip address مقصد می گردد. طبق routing table بسته اطلاعاتی می بایست به روتر2 ارسال شود.
- روتر2 بسته را دریافت نموده و آن را به شکل فریم در می آورد و مراحل فوق را تکرار کرده و آن را برای روتر1 ارسال می کند.
- روتر1 به علت اینکه frame را پیش از 1host دریافت نموده mac address هاست را که متناظر با ip address در جدول arp را دارد. روتر1 با استفاده از addressها فریمی ساخته که مبدا آن mac address کارت شبکه fa0/0 و مقصد آن mac address هاست1 می باشد و در نهایت فریم به کارت شبکه مورد نظر ارسال می شود.
- هنگامی که هاست1 فریم را می گیرد address مقصد را تایید کرده؛ فریم و هدر آی پی را خارج و tcp segment را به لایه ی چهار ارسال می کند.
نظر خود را وارد نمایید