SDN
توضیحات
در جلسه چهلم فیلم آموزشی (آموزش مجازی) شبکههای کامپیوتری و شبکه پیشرفته دکتر حقیقت ویژه کنکور کارشناسی ارشد مهندسی کامپیوتر و کنکور کارشناسی ارشد مهندسی فناوری اطلاعات و کنکور دکتری مهندسی کامپیوتر و نیز امتحانات دانشگاهی و آزمونهای استخدامی با عنوان «SDN»، آخرین بخش از فصل چهارم شبکه (لایه شبکه) تدریس میشود. وظایف لایه شبکه به دو بخش اصلی صفحه داده (Data Plane) و صفحه کنترل (Control Plane) تقسیم میشوند. نقش اصلی صفحه داده هر مسیریاب، هدایت دیتاگرامها از لینکهای ورودی به لینکهای خروجی از طریق زیربنای سوئیچ است. در مقابل، نقش اصلی صفحه کنترل این است که این هدایت محلی در هر مسیریاب را به صورت کلان در کل شبکه به گونهای هماهنگ کنیم که دیتاگرامها در نهایت مسیر مناسب انتها به انتها را با عبور از چندین مسیریاب بین میزبانهای مبدا و مقصد طی نمایند. وظیفه مسیریابی در مسیریابهای سنتی با همکاری صفحه کنترل تمامی مسیریابها انجام میشود؛ مسیرهای مناسب محاسبه شده و جداول مسیریابی بهروز میشوند. به عبارت دیگر در رویکرد سنتی، صفحه کنترل هر مسیریاب دارای یک مؤلفه مسیریابی است که با مؤلفههای مسیریابی سایر مسیریابها ارتباط برقرار میکند و بهترین مسیرها پیدا شده و با بهروزرسانی جداول مسیریابی هر مسیریاب، اطلاعات لازم برای هدایت در اختیار صفحه داده آن مسیریاب گذاشته میشود تا در «عمل» محلی هدایت مورد استفاده قرار گیرد. SDN یک رویکرد جایگزین مدرن است که در آن یک کنترل کننده راه دور که از نظر فیزیکی از مسیریابها جدا است، الگوریتم مسیریابی را به صورت متمرکز اجرا کرده و جداول هدایت همه مسیریابها را محاسبه و به مسیریابها میفرستد تا جداول خود را برای استفاده صفحه دادهشان بهروز نمایند. در واقع مسیریابی صفحه کنترل از مسیریابهای فیزیکی جدا شده است و مسیریابها فقط «عمل» هدایت را انجام میدهند، در حالی که کنترلکننده راه دور، جداول هدایت را محاسبه و توزیع میکند. کنترل کننده راه دور ممکن است در یک مرکز داده راه دور با قابلیت اطمینان و افزونگی بالا پیادهسازی شده باشد و توسط ISP یا شرکت ثالث مدیریت شود. در شبکههای نرم افزار محور (SDN: Software-Defined Networking) عبارت «نرم افزار محور» (مبتنی بر نرم افزار) به این دلیل دیده میشود که کنترلکنندهای که جداول هدایت را محاسبه میکند و با مسیریابها هم تعامل دارد به صورت کاملاً نرمافزاری پیادهسازی شده است. این نرم افزارها به طور فزایندهای به صورت متن باز در حال توسعه هستند، یعنی مشابه کد سیستم عامل لینوکس، کد آنها در دسترس عموم است.