SDN چیست؟

شبکه نرم افزاری تعریف شده

SDN چیست؟

شبکه نرم افزار محور (Software Defined Networking یا  SDN) یک معماری جدید در شبکه است. این معماری دارای ویژگی‌های زیر می‌باشد:

  • پویا
  • مدیریت‌پذیر
  • مقرون به صرفه
  • انطباق‌پذیر
در این معماری  بخش کنترل از بخش داده جدا شده است. در یک معماری SDN/OpenFlow، دو مولفه اصلی وجود دارد:
  • تجهیزات روانه‌سازی (Forwarding Elements) یا سوئیچ‌های SDN
  • کنترلرهای SDN

یک دستگاه روانه‌سازی، سخت‌افزار یا نرم‌افزاری است که به طور اختصاصی وظیفه روانه‌سازی بسته‌ها را بر عهده دارد، در حالیکه کنترلر، نرم‌افزاری است که بر روی یک پلتفرم سخت‌افزاری مناسب (مانند سرور یا کامپیوتر شخصی) در حال اجرا می‌باشد.در ادامه به تعریف هریک موارد فوق پرداخته شده‌است.

تجهیزات روانه‌سازی یا سوئیچ‌های SDN

یک زیرساخت SDN همانند شبکه‌های سنتی دارای مجموعه‌ای از تجهیزات شبکه (از جمله سوئیچ‌ها،‌ مسیریاب‌ها و جعبه‌های میانی (Middlebox Appliances))می‌باشد. تنها تفاوتی که در این بین وجود دارد، تبدیل تجهیزات فیزیکی سنتی به عناصر ساده روانه‌سازی می‌باشد که این عناصر فاقد بخش کنترلی و یا نرم‌افزاری جهت تصمیم‌گیری‌های خودکار می‌باشد. هوش شبکه از تجهیزات بخش داده به یک سیستم کنترلی به طور منطقی متمرکز انتقال یافته است. این سیستم کنترلی شامل سیستم عامل شبکه و برنامه‌های کاربردی آن می‌باشد. به منظور اطمینان از قابلیت همکاری و سازگاری بین انواع مختلف بخش کنترل و داده، می‌بایست این شبکه‌ها بر روی واسط‌های باز و استانداردی (از جمله OpenFlow) ایجاد شوند. در صورت وجود چنین واسطی، کنترلر قادر به برنامه‌ریزی تجهیزات روانه‌سازی ناهمگون به صورت پویا خواهد بود. این موضوع در شبکه‌های سنتی چالشی اساسی می‌باشد، که دلیل آن استفاده از تجهیزات شرکت‌های مختلف با واسط‌های غیر متن‌باز و بخش کنترلی توزیع‌شده می‌باشد.

یک دستگاه روانه‌سازی مبتنی بر پروتکل OpenFlow دارای خط لوله‌ای از جداول جریان (Flow Tables) است که هر مدخل (Entry) از این جداول شامل سه بخش می‌باشد:

  • یک قاعده انطباق (Matching Rule)؛
  • یک اقدام (Action) که برای بسته‌های انطباق‌یافته صورت می‌پذیرد؛
  • و شمارنده‌هایی که آمار بسته‌های انطباق‌یافته را نگهداری می‌کنند.

این مدل سطح بالا از OpenFlow در حال حاضر در ساخت و پیاده‌سازی بسیاری از دستگاه‌های بخش داده‌ی SDN بکارگرفته شده است.

OpenFlow Switch

شکل ۱ ساختار مدخل جریان (Flow Entry) در سوئیچ SDN

در یک دستگاه OpenFlow، چگونگی رفتار با یک بسته توسط مجموعه‌ای از جداول جریان (Flow Tables) متوالی مشخص می‌شود. زمانی‌که یک بسته وارد می‌شود، یک فرآیند جستجو از اولین جدول آغاز می‌شود و تا زمانی‌که یک انطباق اتفاق نیفتد (Match) و یا به طور قطع قاعده‌ای برای آن بسته یافت نشود (Miss) این روند ادامه می‌یابد. همان طورکه در شکل ‏فوق نشان داده شده است، یک مدخل جریان می‌تواند به شکل‌های مختلفی تعریف شود. اگر هیچ قاعده‌ی پیش‌فرضی بر روی سوئیچ نصب نشده باشد آن‌گاه بسته دور ریخته خواهد شد. اگرچه به طور متداول، یک قاعده پیش‌فرض بر روی سوئیچ نصب خواهد شد که به سوئیچ دستور می‌دهد تمامی بسته‌های دریافتی را به سمت کنترلر ارسال نماید (و یا به خط لوله معمولی غیر OpenFlow موجود در سوئیچ ارسال کند؛ توضیح این که در سوئیچ‌های هیبرید با استفاده از خط لوله Normal، این قابلیت وجود دارد که به طور پیش‌فرض می‌توان بسته‌ها را بدون استفاده از پروتکل OpenFlow هدایت نمود). الویت‌های این قواعد بر اساس شماره جداول و ترتیب سطرهای جداول جریان می‌باشد؛ یعنی ابتدا قواعد موجود در جدول ۰ و سپس قواعد موجود در جدول ۱ و الی آخر. پس از روی دادن یک انطباق می‌بایست اقداماتی برای آن جریان صورت پذیرد. اقدام‌ها (Actions) شامل موارد زیر می‌باشند:

  • هدایت بسته به سمت پورت(های) خروجی تعیین شده
  • کپسوله (Encapsulate) و سپس هدایت کردن بسته به سمت کنترلر
  • دور ریختن بسته (Drop)
  • ارسال آن به سمت خط لوله عادی (Normal pipeline)
  • ارسال آن به جدول جریان بعدی و یا به جداول خاص (مانند جداول گروه (Group Tables) و یا جداول اندازه‌گیری (Metering Tables))

کنترلر SDN

کنترلر همانند یک سیستم عامل شبکه می‌باشد که کنترل سخت‌افزار را برعهده گرفته و هم‌چنین مدیریت خودکار شبکه را تسهیل می‌کند. این سیستم عامل، یک واسط قابل برنامه‌ریزی متمرکز و یکپارچه را برای تمام شبکه فراهم می‌سازد. همانگونه که سیستم عامل موجود بر روی یک رایانه، امکان خواندن و نوشتن را برای برنامه‌های کاربردی فراهم می‌کند، سیستم عامل شبکه نیز قابلیت مشاهده و کنترل شبکه را فراهم می‌سازد؛ بنابراین کنترلر، به تنهایی عمل مدیریت شبکه را انجام نمی‌دهد بلکه صرفا به عنوان یک واسط قابل برنامه‌ریزی می‌باشد که امکان مدیریت شبکه را برای نرم‌افزارهای کاربر فراهم می‌کند.

 

(2) دیدگاه

  • مریم پاسخ

    سلام .اگه امکانش هست .مرجع این نوشته هارو برام بگین .بهش نباز دارم واقعا.

    ۱۸ شهریور ۱۳۹۶ در ۱۲:۱۵ ب.ظ
    • نفیسه دانشگر مقدم
      نفیسه دانشگر مقدم پاسخ

      سلام.
      از مجموع چند مقاله گردآوری شده است اما یکی از منابع مطلب فوق مقاله “Software-Defined Networking: A Comprehensive Survey” مرحوم سیامک عضد الملکی است.

      ۱۸ شهریور ۱۳۹۶ در ۱۰:۲۵ ب.ظ

پاسخ دهید

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