مسیریابی چیست
جواب کوتاه
مسیریابی یعنی انتخاب راه برای هر بسته، از شبکهای به شبکهی دیگر، تا به مقصد برسد. این کار را روترها میکنند، ولی هیچ روتری کل راه را نمیداند: هر روتر در جدولش نگاه میکند و بسته را فقط به روتر بعدی میدهد. به هر قدم یک هاپ میگویند. روی هر بسته شمارندهای به نام TTL است که هر روتر یکی از آن کم میکند، تا بستهی گمشده همیشه نچرخد.
دو مسیریابی
«مسیریابی» برای برنامهی نقشهی گوشی هم به کار میرود، و «شمارهی مسیریابی» در بانک هم هست. این درس دربارهی مسیریابی در شبکه است: بستهای که از رایانهی شما بیرون میرود، چطور از میان چند شبکه راهش را تا سایت پیدا میکند.
پنج کلمه
- مسیریابی (Routing)انتخاب راه برای بسته، از شبکهای به شبکهی دیگر، تا به مقصد برسد.
- روتردستگاهی که میان شبکهها میایستد و برای هر بسته راه بعدی را انتخاب میکند.
- هاپ (hop)هر بار که بسته از یک روتر میگذرد و به شبکهی بعدی میرود؛ یک قدم.
- قدم بعد (next hop)روتر بعدی که بسته باید به آن داده شود تا به مقصد نزدیکتر شود.
- TTLشمارندهای روی هر بسته که هر روتر یکی از آن کم میکند؛ در صفر، بسته دور انداخته میشود.
ایستگاه به ایستگاه
فرض کنید نامهای را ایستگاه به ایستگاه میبرند، مثل چاپار. هر ایستگاه تابلویی دارد که برای هر مقصد میگوید نامه را به کدام ایستگاه بعدی بدهند. نامهرسان هر ایستگاه فقط تا ایستگاه بعد میرود. روتر هم همین است:
قدم ۱: فرستنده بسته را به روتر ۱ میدهد، که گیتوی اوست (درس گیتوی). قدم ۲: روتر ۱ در تابلویش میبیند برای شبکهی د باید به روتر ۲ بدهد. قدم ۳: روتر ۲ هم همین کار را میکند و به روتر ۳ میدهد. قدم ۴: روتر ۳ میبیند شبکهی د پشت خودش است و بسته را به مقصد میرساند.
فقط قدم بعد
چرا هر روتر کل راه را نمیداند؟ چون شبکهها خیلی بزرگاند و اتصالهایشان زود عوض میشود. هیچ دستگاهی نمیتواند بداند همهی دستگاههای اینترنت چطور به هم وصلاند، چه رسد به اینکه راه کامل هر بسته را حساب کند. پس هر روتر فقط جواب یک پرسش را میداند: «برای این مقصد، بسته را به چه کسی بدهم؟» به آن کس قدم بعد (next hop) میگویند.
این کار جدولها را هم کوچک نگه میدارد. روتر لازم نیست برای هر رایانهی دنیا یک ردیف داشته باشد؛ چون نشانیهای IP ساختار دارند، یک ردیف میتواند راه یک شبکهی کامل باشد، مثلا همهی نشانیهای یک بلوک CIDR. نشانیهایی که شبیه هماند، معمولا در شبکه هم نزدیک هماند.
هاپ
هر بار که بسته از یک روتر میگذرد و به شبکهی بعدی میرود، یک هاپ برداشته است. شمار هاپها اندازهی تقریبی فاصله است، مثل شمار ایستگاههایی که نامه از آنها گذشته. چون هر روتر کمی وقت میگیرد تا بسته را بگیرد و جلو بفرستد، هاپ زیاد یعنی تأخیر بیشتر (درس پهنای باند و پینگ).
TTL: شمارندهی روی نامه
اگر تابلوی دو ایستگاه اشتباه باشد و نامه را به هم پاس بدهند چه؟ نامه تا ابد میان آن دو میرود. برای همین روی هر بستهی IP یک شمارنده هست به نام TTL. فرستنده عددی رویش میگذارد، معمولا ۶۴، و هر روتر یکی کم میکند:
اگر شمارنده به صفر برسد، روتر بسته را دور میاندازد و پیام کوتاهی به نام Time Exceeded به فرستنده برمیگرداند. TTL یک بایت است، پس بیشترین مقدارش ۲۵۵ است. در IPv6 همین شمارنده را «hop limit» مینامند. در درس STP دیدید که فریم لایه ۲ چنین شمارندهای ندارد؛ بستهی IP دارد.
بهترین راه
معمولا به هر مقصد بیش از یک راه هست. روتر بهترین را با یک معیار (metric) انتخاب میکند. معیار میتواند سرعت کابل باشد، تأخیر، شمار هاپ، بار، یا هزینه. انتخاب معیار، راه را عوض میکند:
اگر برای یک مقصد چند ردیف در جدول باشد، روتر به این ترتیب انتخاب میکند:
- ردیف دقیقتر برنده است، یعنی ردیفی با ماسک بلندتر؛ این را در درس جدول مسیریابی کامل میبینید.
- اگر دو ردیف از یک روش آمدهاند، ردیف با معیار کمتر.
- اگر از دو روش مختلف آمدهاند (مثلا یکی دستی و یکی خودکار)، ردیفی که منبعش مطمئنتر دانسته میشود.
تا وقتی خبری نرسد که راه دیگری بهتر شده، روتر برای همان مقصد همیشه همان راه را انتخاب میکند.
مسیریابی و سوییچینگ
سوییچ درون یک شبکه کار میکند و با نشانی مک تصمیم میگیرد (درس سوییچ). روتر میان شبکهها کار میکند و با نشانی IP تصمیم میگیرد. اولی در لایه ۲ است و دومی در لایه ۳ (درس OSI). درون شبکهی محلی سوییچ کار میکند؛ در اینترنت، مسیریابی.
مسیریابی کار هر دستگاهی است که بسته را از یک شبکه به شبکهی دیگر میبرد: روتر، دیوار آتش، سوییچ لایه ۳ (درس مسیریابی میان VLANها)، و حتی یک رایانهی عادی.
تابلو از کجا میآید
تابلوی هر ایستگاه همان جدول مسیریابی روتر است. دو راه اصلی برای پر کردنش هست: مدیر شبکه دستی مینویسد، که در شبکههای کوچک بس است (مسیریابی ایستا)؛ یا روترها با هم حرف میزنند و راهها را خودکار به هم میگویند (مسیریابی پویا)، که در شبکههای بزرگ و در اینترنت چارهای جز آن نیست. هر کدام درس خودش را در همین ایستگاه دارد.
سه اشتباه
- «روتر اول کل راه تا مقصد را میداند.»در شبکههای بزرگ هیچ روتری کل راه را نمیداند. هر روتر فقط قدم بعد را انتخاب میکند.
- «راه با هاپ کمتر همیشه تندتر است.»شمار هاپ سرعت و بار هر کابل را نمیبیند. راه با یک هاپ بیشتر ولی کابل تندتر میتواند بهتر باشد.
- «بستهای که راهش را گم کند، همیشه در شبکه میچرخد.»TTL هر بار یکی کم میشود و در صفر بسته دور انداخته میشود. پس هیچ بستهی IP همیشه نمیچرخد.
جمعبندی. آنچه از این درس با خودتان میبرید.
- مسیریابی انتخاب راه بسته از شبکهای به شبکهی دیگر است.
- هر روتر فقط قدم بعد را میداند، نه کل راه.
- هر روتر سر راه یک هاپ است؛ هاپ بیشتر یعنی تأخیر بیشتر.
- TTL هر بار یکی کم میشود؛ در صفر بسته دور انداخته و به فرستنده خبر داده میشود.
- بهترین راه با یک معیار انتخاب میشود: سرعت، تأخیر، شمار هاپ و … .
- جدول مسیریابی یا دستی نوشته میشود یا خودکار با پروتکلهای مسیریابی.
خودتان را بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخر آزمون فقط کارنامه را میبینید: چند درست، چند نادرست.