لایه شبکه و مسیریابی
لایه شبکه بستهها را از یک میزبان مبدأ به یک میزبان مقصد در چندین پیوند و شبکه منتقل میکند و یک صفحه داده (data plane) را که هر بسته را در هر مسیریاب هدایت میکند، با یک صفحه کنترل (control plane) که مسیرهای دنبال شده توسط آن بستهها را محاسبه میکند، ترکیب میکند.
Definition
لایه شبکه، لایه پروتکلی است که مسئول تحویل بسته به بسته از میزبان به میزبان در یک شبکه داخلی (internetwork) است و آدرسدهی، هدایت بستهها در مسیریابها (صفحه داده)، و تعیین مسیر در سراسر شبکه (صفحه کنترل) را فراهم میکند.
Scope
این حوزه شامل شبکهسازی داخلی (internetworking) است: پروتکل اینترنت (IP) و آدرسدهی و هدایت آن، الگوریتمهای مسیریابی (حالت پیوند و بردار فاصله) که مسیرها را محاسبه میکنند، سازماندهی مسیریابی به پروتکلهای دروندامنه و بیندامنه (از جمله BGP بین سیستمهای خودمختار)، و پارادایم جدیدتر شبکهسازی تعریفشده با نرمافزار (software-defined networking) که صفحه کنترل را به کنترلکنندههای منطقاً متمرکز جدا میکند. این حوزه صفحه داده هر بسته را از صفحه کنترل محاسبهکننده مسیر متمایز میکند و خدمات انتها به انتهای لایه انتقال بالاتر از آن و تحویل گام به گام لایه پیوند پایینتر از آن را شامل نمیشود.
Sub-topics
Core questions
- چگونه یک مسیریاب یک بسته را به سمت مقصد خود هدایت میکند و چه چیزی در یک جدول هدایت وجود دارد؟
- آدرسهای IP چگونه ساختار یافته و تخصیص داده میشوند و زیرشبکهبندی و CIDR چگونه کار میکنند؟
- الگوریتمهای حالت پیوند و بردار فاصله چگونه مسیرهای کمهزینه را محاسبه میکنند؟
- چرا مسیریابی به پروتکلهای دروندامنه و پروتکل بیندامنه BGP تقسیم میشود؟
- شبکهسازی تعریفشده با نرمافزار چگونه مکان و نحوه اتخاذ تصمیمات مسیریابی را تغییر میدهد؟
Key concepts
- پروتکل اینترنت (IP)
- آدرسدهی IP، زیرشبکهبندی و CIDR
- جداول هدایت و تطابق طولانیترین پیشوند
- مسیریابی حالت پیوند
- مسیریابی بردار فاصله
- سیستمهای خودمختار
- پروتکل دروازه مرزی (BGP)
- صفحه کنترل و صفحه داده
- شبکهسازی تعریفشده با نرمافزار
- ترجمه آدرس شبکه (NAT)
Key theories
- جداسازی صفحه داده از صفحه کنترل
- لایه شبکه به یک صفحه داده سریع که هر بسته ورودی را طبق یک جدول هدایت میکند، و یک صفحه کنترل که آن جداول را از طریق پروتکلهای مسیریابی محاسبه میکند، تجزیه میشود؛ شبکهسازی تعریفشده با نرمافزار این را با متمرکز کردن صفحه کنترل بیشتر پیش میبرد.
- مسیریابی مسیر کمهزینه
- الگوریتمهای مسیریابی شبکه را به عنوان یک گراف وزندار مدلسازی میکنند و کوتاهترین مسیرها را محاسبه میکنند: الگوریتمهای حالت پیوند (دایکسترا) به هر مسیریاب یک نمای توپولوژی کامل میدهند، در حالی که الگوریتمهای بردار فاصله (بلمن-فورد) تخمینها را با همسایگان مبادله میکنند و به صورت تکراری همگرا میشوند.
- مسیریابی بیندامنه مبتنی بر سیاست
- مسیریابی بین سیستمهای خودمختار که به طور مستقل مدیریت میشوند، توسط پروتکل دروازه مرزی (BGP) اداره میشود، که اطلاعات دسترسیپذیری را منتشر میکند و به هر شبکه اجازه میدهد ترجیحات تجاری و سیاستی را به جای صرفاً معیارهای کوتاهترین مسیر اعمال کند.
Clinical relevance
لایه شبکه لایهای است که اینترنت جهانی را به یک سیستم قابل دسترس واحد تبدیل میکند: هر بستهای که از اینترنت عبور میکند توسط مسیریابهای IP هدایت میشود، و تصمیمات BGP در میان دهها هزار سیستم خودمختار، اتصال جهانی را تعیین میکند. شبکهسازی تعریفشده با نرمافزار اکنون زیربنای شبکههای ابری و مراکز داده بزرگ است و به اپراتورها اجازه میدهد مهندسی ترافیک و جداسازی را به صورت مرکزی برنامهریزی کنند. اتمام آدرسها، انتقال از IPv4 به IPv6 را به دنبال داشت.
History
پروتکل اینترنت در RFC 791 (1981) به عنوان هسته بدون اتصال و بهترین تلاش معماری TCP/IP مشخص شد. پروتکلهای مسیریابی داخلی مانند RIP و OSPF و پروتکل خارجی BGP برای مدیریت مسیریابی با گسترش اینترنت توسعه یافتند. پیشنهاد OpenFlow در سال 2008 با افشای جدول هدایت سوئیچ به یک کنترلکننده خارجی، شبکهسازی تعریفشده با نرمافزار را راهاندازی کرد و نحوه ساخت و مدیریت شبکههای بزرگ را تغییر داد.
Debates
- صفحههای کنترل توزیعشده در مقابل کنترل متمرکز SDN
- مسیریابی سنتی، محاسبه مسیر را برای استحکام و خودمختاری در تمام مسیریابها توزیع میکند، در حالی که شبکهسازی تعریفشده با نرمافزار، کنترل را برای برنامهریزیپذیری و بهینهسازی جهانی متمرکز میکند؛ بحث در مورد تعادل صحیح تمرکز، مقیاسپذیری و انعطافپذیری ادامه دارد.
Key figures
- Vinton Cerf
- Robert Kahn
- Jon Postel
- Nick McKeown
- Jennifer Rexford
Related topics
Seminal works
- kurose2021
- rfc791
- mckeown2008
Frequently asked questions
- تفاوت بین هدایت (forwarding) و مسیریابی (routing) چیست؟
- هدایت، عمل محلی و بسته به بسته انتقال یک بسته از یک پورت ورودی به یک پورت خروجی با استفاده از جدول هدایت است و با سرعت بالا در صفحه داده اتفاق میافتد. مسیریابی، فرآیند سراسری شبکه برای محاسبه محتویات آن جداول هدایت است که توسط الگوریتمها و پروتکلهای مسیریابی در صفحه کنترل انجام میشود.
- چرا IPv6 معرفی شد؟
- فضای آدرس 32 بیتی IPv4، حدود چهار میلیارد آدرس، با گسترش دستگاههای متصل به اینترنت ناکافی شد. IPv6 از آدرسهای 128 بیتی برای فراهم کردن فضای بسیار بزرگتر، همراه با سادهسازی هدر و پشتیبانی داخلی از ویژگیهایی مانند پیکربندی خودکار استفاده میکند.