نرم افزار ها و بسترهای اجرای SDN

نرم افزار ها و بسترهای اجرای SDN

نرم افزارها و بسترهای اجرای SDN

ضمن سلام و با آرزوی موفقیت و پیشرفت تمامی شما دوستان و همراهان عزیز SDNCentral، با توجه به رشد روز افزون شبکه ها و نیاز بیشتر به شبکه های نرم افزار محور، این دسته از شبکه ها روز به روز در حال گسترش و محبوب تر شدن هست. برای همین لازم دونستیم لیستی از مواردی که برای کار با SDN نیاز هست رو خدمتتون معرفی کنیم.

فهرست نرم افزارها و ابزارهای  مورد نیاز

  • مقدمه
  • سیستم عامل شبکه
  • محیط نصب
  • سوئیچ نرم افزاری
  • مجازی سازی شبکه
  • پروتکل
  • کنترلر
  • Simulator/emulator
  • زبان
  • کتابخانه
  • تست
  • NFV
  • شبکه overlay
  • Misc

   مقدمه:

  • شبکه های نرم افزار محور(SDN) رویکردی در شبکه های کامپیوتری هستند و به مدیران شبکه اجازه می دهند که سرویس های شبکه را با انتزاع سازی توابع عملیاتی سطح بالاتر مدیریت کنند. Wiki : Software-Defined Networking

  سیستم عامل شبکه:

  • PicOS: یک سیستم عامل SDN برای مجموعه ای از خصوصیات سوئیچ های white box لایه 3/2 با قابلیت پشتیبانی OpenFlow، OVSDB و سایر پروتکل ها است.
  • Open Network Linux,ONL: یک توزیع لینوکس برای سوئیچ های “bare metal” است که دیوایس های فورواردینگ شبکه هستند و از عناصر اصلی ساخته شده اند.
  • OpenSwitch: یک سیستم عامل شبکه لینوکس از Hewlett-Packard است.
  • Cumulus Linux: یک سیستم عامل شبکه باز و قدرتمند می­باشد که به شما اجازه می دهد مانند بزرگ ترین دیتا سنتر های جهان با استفاده از اصول مقیاس وب (web-scale)، توانایی خودکار سازی، سفارشی کردن و تغییر مقیاس را داشته باشید.
  • OcNOS: پروتکل تعمیم یافته سوئیچینگ و مسیریابی با قابلیت های پیشرفته ای ازجمله MPLS و SDN می باشد.
  • FlexSwitch: اولین پروتکل اوپن سورس شبکه و مناسب برای توابع عملیاتی لایه 3/2 به منظور تسریع توسعه و استقرار تجهیزات شبکه whitebox است.

   محیط نصب:

  • ONIE: یک اکوسیستم سوئیچ bare metalشبکه را فعال می­ کند، که در آن کاربران نهایی دارای حق انتخاب بین سیستم های عامل متفاوتی می ­باشند.

   سوئیچ نرم افزاری:

  • OpenvSwitch: یک سوئیچ مجازی چند لایه ای می ­باشد.
  • Indigo: یک پروژه اوپن سورس با هدف پشتیبانی از OpenFlow بر روی سوئیچ های فیزیکی و هایپروایزر می ­باشد.
  • CpqD: پیاده سازی یک سوئیچ نرم افزاری user-space سازگار با OpenFlow1.3.
  • Lagopus: یک سوئیچ نرم افزاری با عملکرد بالا و سازگار با OpenFlow1.3.
  • LINC-Switch: سوئیچ نرم افزاری محض OpenFlow که با Erlang نوشته شده است.
  • Snabbswitch: یک پشته شبکه اترنت مجازی و اوپن سورس.
  • ZeroTier: یک سوئیچ اترنت تحت مدیریت نرم افزار برای سیاره زمین.
  • PISCES: یک سوئیچ نرم افزاری قابل برنامه ریزی و مستقل از پروتکل.

    مجازی سازی شبکه:

  • FlowVisor: یک کنترلر OpenFlow می­ باشد که به عنوان هایپروایزر/پراکسی بین یک سوئیچ و چندین کنترلر عمل می کند. می تواند به طور موازی چندین سوئیچ را با قابلیت بخش بندی کارآمد شبکه، به چندین بخش تقسیم نماید.
  • OpenViretex: یک هایپروایزر شبکه است که می تواند چندین شبکه مجازی و قابل برنامه ریزی بر روی یک زیرساخت فیزیکی واحد ایجاد نماید.

     پروتکل:

  • OpenFlow: یک پروتکل ارتباطی است که امکان دسترسی به بخش فورواردینگ یک سوئیچ یا روتر شبکه را فراهم می کند.
  • OF-Config: پروتکل مدیریت و کانفیگ OpenFlow است.
  • OVSDB: یک پروتکل ارتباطی است که برای مدیریت دیتابیس OpenvSwitch مورد استفاده قرار می گیرد.
  • POF: پروتکل بی طرف در فورواردینگ است.

     کنترلر:

  • NOX: یک پلتفرم توسعه اوپن سورس برای اپلیکیشن های کنترلی تحت C++ در SDN .
  • NodeFlow: یک حالت از گره کنترلر OpenFlow .
  • ONOS: سیستم عامل باز شبکه.
  • OpenDaylight: پلتفرم OpenDaylight.
  • Ryu: یک فریم ورک مبتنی بر مولفه شبکه های نرم افزار محور.
  • Floodlight: یک کنترلر OpenFlow مبتنی بر جاوا.
  • Vyatta: اولین کنترلر تجاری که مستقیما از OpenDaylight ساخته شده است.
  • OpenContrail: یک پروژه SDN که از SDN و NFV استفاده می کند و تمامی مولفه های ضروری برای مجازی سازی شبکه را ارائه می ­دهد.
  • IRIS: یک کنترلر بازگشتی OpenFlow که توسط بخش تحقیقاتی SDN، ETRI ایجاد شده است.
  • Open MUL: یک کنترلر سبک وزن SDN/OpenFlow که تقریبا به طور کامل از ابتدا با C نوشته شده است.
  • OESS: تبادل باز مجموعه نرم افزاری برای پیکربندی و کنترل سوئیچ های OpenFlow.
  • Beehive Network Controller: یک کنترلر توزیع شده SDN است که بر روی Beehive ساخته شده است. در حالی که از OpenFlow پشتیبانی می کند به راحتی قابل گسترش برای سایر پروتکل های جنوبی می­ باشد.
  • Ravel: یک کنترلر SDN است که از یک دیتابیس SQL برای نمایش شبکه استفاده می کند.
  • Trema: یک فریم ورک full-stack و قابل استفاده آسان برای توسعه کنترلرهای OpenFlow در Ruby و C است.

  Simulators/emulators:

  • Mininet: یک شبکه مجازی از پیش آماده بر روی لپ تاپ یا کامپیوتر شخصی شما.
  • OpenNet: یک شبیه ساز برای شبکه محلی بی سیم نرم افزار محور.
  • EstiNet: یک ابزار نرم افزاری شناخته شده جهانی برای برنامه ریزی شبکه.
  • Ns-3: یک شبیه ساز مستقل از رویداد شبکه و با قابلیت پشتیبانی از محیط های OpenFlow.

     زبان:

  • P4: یک زبان اعلانی برای بیان چگونگی پردازش بسته ها با پایپلاینی از یک عنصر فوروارد شبکه مانند یک سوئیچ، NIC، روتر یا یک تابع شبکه می­ باشد.
  • Frenetic: زبان برنامه نویسی Frenetic و سیستم زمان اجرا.
  • Pyretic: عضوی از خانواده Frenetic از زبان های برنامه نویسی SDN.
  • NEMO: یک زبان ویژه دامنه (DSL) مبتنی بر انتزاع سازی مدل های شبکه و نتایج الگوهای عملیاتی.

     کتابخانه:

  • Loxigen: ابزاری است که کتابخانه های پروتکل OpenFlow را برای تعدادی از زبان ها تولید می کند.
  • Openfaucet: یک پیاده سازی محض پایتون از پروتکل OpenFlow1.0.0 است.
  • Oflib-node: یک کتابخانه پروتکل OpenFlow برای نود هست. بین پیام های پروتکل سیمی و آبجکت های جاوا اسکریپت مبادله می شود.
  • OpenFlowJ: یک پیاده سازی جاوا برای بسته OpenFlow سطح پایین و عملیات IO است.
  • Nettle: یک کتابخانه Haskell برای کاربا پروتکل OpenFlow.
  • OCaml OpenFlow: یک سریال سازی و کتابخانه پروتکلی برای OpenFlow.
  • Scapy: یک برنامه قدرتمند دستکاری بسته های تعاملی.

     تست:

  • Oftest: فریم ورک تست Open Flow.
  • STS: سیستم رفع اشکال SDN، دیوایس های شبکه را شبیه سازی می کند، اجازه تولید test case های قابل برنامه ریزی را می دهد.
  • Nice-of: ابزاری برای تست اپلیکیشن کنترلر OpenFlow برای پلتفرم کنترلر NOX.
  • OpenSDNCore: یک testbed مجازی برای محیط NFV/SDN.

     NFV:

  • OPNFV: تسریع تکامل NFV از طریق یک پلتفرم باز و یکپارچه را فراهم می کند.

     شبکه های Overlay:

  • VXLAN: شبکه LAN مجازی قابل توسعه (Virtual eXtensible LAN)

     Misc:

منبع:

https://github.com/sdnds-tw/awesome-sdn

پاسخ دهید

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