چالش های شبکه نرم افزار محور (SDN)

چالش های شبکه نرم افزار محور (SDN)

پژوهشگرانی که وارد دنیای SDN شده ­اند، و در این زمینه به مطالعه و تحقیق می­ پردازند، حتما این سوال برایشان پیش آمده است که آیا SDN علاوه بر مزایایی که با خود به ارمغان می­ آورد، نقاط ضعفی را نیز دارد؟ و یا به عبارت بهتر SDN چه چالش­ هایی در سر راه خود دارد؟ در این بخش قصد داریم، به بررسی برخی نقاط چالش برانگیز در حوزه SDN بپردازیم که می­ تواند کمک مؤثری به محققان این حوزه کند و برانگیزاننده شما محقق گرامی برای ارائه ایده­ های جدید در این حوزه باشد.

کارایی 

یکی از چالش ­های بسیار مهم SDN، چگونگی پردازش بسته ­های جریان است که امنیت، کارایی و دسترس­پذیری را در حدی بسیار خوب و به صورت مؤثر فراهم کند. برای بررسی کارایی به دو پارامتر قابلیت­ برنامه­ ریزی و انعطاف­ پذیری توجه می ­شود. در بسیاری از مقالات کارایی را مشخصا به سرعت پردازش گره شبکه با در نظر گرفتن گذردهی و تأخیر ارجاع می­ دهند. قابلیت برنامه­ ریزی به معنای توانایی تغییر و یا پذیرفتن مجموعه­ ای از دستورات برای تغییر رفتار عملکردی است. انعطاف ­پذیری، توانایی تطبیق یافتن سیستم­ ها برای پشتیبانی از ویژگی­ های غیرمنتظره است. یکی از اهداف SDN توسعه شبکه ­هایی است روی سخت­افزار­هایی که با اهداف کلی ساخته شده­ است.

مقیاس ­پذیری

جداسازی بخش داده و کنترل، SDN را از شبکه­ های سنتی متمایز می ­کند. در SDN، هر دو بخش به طور مستقل تکامل می­ یابند و این نگاه متمرکز شبکه به تغییرات در بخش کنترل سرعت می­ بخشد. با این حال، این جداسازی خالی از اشکال نیست. در کنار پیچیدگی ناشی از تعریف APIهای استاندارد بین دو بخش، محدودیت مقیاس ­پذیری ممکن است بوجود بیاید.  وقتی که از نظر تعداد سوئیچ­ها و تعداد میزبان­های نهایی مقیاس شبکه بزرگ­تر می­ شود، کنترلر SDN می­ تواند به یک گلوگاه اساسی تبدیل شود. به محض این که پهنای باند و تعداد سوئیچ­ها و جریان­ ها افزایش می­ یابد، اکثر درخواست­ها در صف کنترلر قرار خواهند گرفت که ممکن است کنترلر هم نتواند تمامی آن­ها را مدیریت کند.

به طور کلی، بحث مقیاس ­پذیری را می­توان در دو بخش بررسی کرد، مقیاس ­پذیری گره و مقیاس ­پذیری کنترلر که سه چالش را می­ توان در این مقوله بررسی نمود. اول از همه بحث تأخیر است که با تبادل اطلاعات شبکه بین چندین گره و یک کنترلر تعریف می­ شود. دوم، چگونگی ارتباط کنترلر SDN با سایر کنترلرها با استفاده از APIها است. سوم، سایز و عملکرد کنترلر و پایگاه داده است. در بررسی بحث تأخیر می­ توان از زیرساخت کنترلر توزیع شده و یا نظیر به نظیر استفاده کرد که در واقع بار را بین کنترلرها تقسیم نماید. هرچند این راه­ حل چالش دوم را که در واقع چگونگی ارتباط بین کنترلرهاست، حل نمی کند. همچنین ممکن است وضعیت یک سری از سیستم­ ها را نگه داریم تا در صورت وقوع خرابی، وقفه بسیار کم یا حتی عدم وقفه در سرویس­ دهی داشته باشیم. عمدتا سیستم­هایی نظیر لودبالانسرها و فایروال­ها نیازمند چنین عملکردی هستند. یک راه­ حل مشخص برای مقیاس ­پذیری کنترلر، استفاده از HyperFlow است. HyperFlow یک برنامه کاربردی کنترلر است که روی کنترلر NOX قرار می­ گیرد و با سیستم انتشار واقعه کار می ­کند. این برنامه به صورت انتخابی، رویدادهایی را که وضعیت سیستم را تغییر می ­دهند، منتشر می­ کند و سایر کنترلرها، در پاسخ به این رخداد منتشر شده وضعیت خود را اصلاح می­ کنند. با این روش کنترلرها یک دید یکسان و سازگار از شبکه را بین خود به اشتراک می­ گذارند. یک راه برای دستیابی به مقیاس ­پذیری کامل برای SDN، یک رویکرد انقلابی است که قابلیت برنامه­ ریزی را برای کل شبکه فراهم کند. به عنوان مثال، با یک معماری ترکیبی یک حجم از Queryها به جای این که برای پردازش به کنترلر منتقل شود، می­ تواند در پردازنده حل شود. این کار باعث کاهش سایز پایگاه داده در کنترلر می ­شود و به طور همزمان، کاهش ارتباطات بین کنترلر و نودهایش را سبب می­ شود.

امنیت

یکی از بحث­ های مهم در SDN، که به عنوان یک چالش بزرگ مطرح است، بحث امنیت است. بر اساس مطالعات انجام شده توسط سازمان­ های IT، ۱۲% از پاسخ دهندگان  در تکنولوژی­ های تجارت­ IT اظهار داشتند که SDN دارای چالش ­های امنیتی است و ۳۱% پاسخ دهندگان در این زمینه تردید خود را اعلام کردند. واضح است که سازمان­ های IT، معتقدند که SDN ممکن است یکسری چالش­ های امنیتی را به همراه داشته باشد. بر اساس مطالعات، خطرات امنیتی SDN عمدتا از فقدان یکپارچگی با تکنولوژی­ های امنیتی موجود و عدم توانایی در بررسی محتوای هر بسته ناشی می­ شود. علاوه بر این، بهبود هوشمندی نرم­ افزار کنترلر ممکن است باعث افزایش آسیب ­پذیری کنترلر شود و حملات هکرها را در پی داشته باشد. اگر هکرها به کنترلر دسترسی داشته باشند، قادر خواهند بود از هر جنبه­ ای به شبکه آسیب بزنند و اصطلاحا کار کنترلر را تمام خواهند کرد.

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

همان طور که اشاره شد از جمله موارد بحث امنیت در SDN، احراز هویت و اعطای مجوز است که در سطح کنترلر-برنامه کاربردی مطرح می­ شود. یکی از راه­ حل­ های ارائه شده برای احراز هویت “مبتنی بر نقش” است.FortNox برای چنین شرایطی طراحی شده است که وقتی یک کنترلر قوانین جریانی متفاوتی را از دو برنامه مختلف دریافت کرد، چه کار کند.

از طرفی کنترلرها عمدتا هدف بسیاری از مهاجمان برای حملات است. علاوه بر این در غیاب استحکام و مقاومت، پلت­فرم امن کنترلر، مهاجم قادر است که به کنترلر حمله کند و آن را از کار بیندازد مثل حملاتی که به سرورهای DNS انجام می ­شود. یک تکنولوژی امنیتی مانند TLS، با احراز هویت انحصاری بین کنترلرها و سوئیچ­ها، می­توان مانع چنین حملاتی شد. با استفاده از یک کنترلر، کنترل نمودن مجموعه­ ای از نودهای شبکه احراز هویت با استفاده از TLS امکان پذیر است اما با داشتن بیش از یک کنترلر این کار سخت می­ شود.

یکی از حملات مخرب حمله DoS  است. ما دو راه برای مدیریت جریان ورودی جدید، هنگامی که هیچ تطابقی با جریان­ های داخل جدول وجود ندارد، داریم و آن این است که یا بخشی از بسته و یا کل آن را به کنترلر ارسال کنیم تا مشکل درخواست حل شده را رفع کند. ارسال کامل بسته به کنترلر باعث ایجاد مشکل در پهنای باند می­ شود. حتی اگر فقط سرآیند بسته را هم ارسال کنیم، خود بسته باید در حافظه نود باقی بماند تا ورودی جدول جریان برگردانده شود. در چنین شرایطی برای یک حمله کننده بسیار ساده است که با حمله DoS و ایجاد جریان­ های جدید و نا شناخته شبکه را فلج نماید.

علاوه بر این، با توجه به مقدمه­ ای که قبلا در مورد SDN داشتیم و نیز با توجه به واسط­ های باز و پروتکل ­های شناخته شده ­ای که جهت ساده سازی برنامه ­نویسی شبکه در SDN استفاده می ­شود، در را به روی مهاجمان باز کرده ­ایم.

قابلیت همکاری

سؤال اصلی مهم در این جا این است که چطور SDN را وارد شبکه­ های فعلی کنیم؟ برای پاسخ به این سؤال، باید بحث استانداردسازی و قابلیت همکاری که برای حرکت از شبکه­ های سنتی به SDN پشتیبانی می ­شود را بررسی کنیم. یک راه ­حل سرراست این است که کل زیرساخت را به تکنولوژی SDN تغییر دهیم. در واقع تمام المان­ ها و تجهیزات شبکه باید SDN را پشتیبانی کنند که این امر در عالم واقع امکان­پذیر نیست مگر برای شبکه­ های موجود در محیط­ های ایزوله مثل مراکز داده و شبکه­­ های پردیس. علاوه بر این، PCE (Path Computation Element )، معرفی شده توسط IETF مهاجرت به سمت SDN را تسهیل می­ کند. با PCE، مؤلفه­ ی محاسبه مسیر شبکه از نود شبکه به یک نقش متمرکز تبدیل می ­شود، در حالی که گره ­های شبکه­ های سنتی از PCE برای استفاده از محاسبه مسیر استفاده نمی­ کنند.یک پروتکل خاص با نام PCEP ارتباطات بین المان­ های شبکه محقق می­ کند.با این حال، PCE به طور کامل SDN را فراهم نمی ­کند. کنترلر متمرکز SDN از محاسبه کامل مسیر برای جریان را در مقابل نودهای متعدد شبکه پشتیبانی می­ کند. علاوه بر این، قابلیت برنامه­ ریزی در SDN اجازه ارتباطات بدون مرز در تمامی سطوح را می­ دهد، از سخت­ افزار گرفته تا نرم ­افزار و در نهایت کاربران نهایی (اپراتورهای شبکه). قابلیت برنامه­ ریزی، برنامه­ های کاربردی را  از وضعیت شبکه آگاه می­ کند و برعکس. این امر باعث بهبود قابل توجهی  در استفاده از منابع می­ شود.

قابلیت اطمینان

کنترلر SDN باید بتواند پیکربندی را به طور هوشمند انجام دهد و اعتبار توپولوژی شبکه را بررسی کند تا مانع از خطاهای دستی شود و دسترس­ پذیری شبکه را افزایش دهد. اگرچه این هوشمندی ممکن است به علت مسئله تقسیم شدن بخش داده و کنترل باعث شود که وجود یک کنترلر به عنوان یک نقطه شکست به حساب بیاید. در شبکه ­های سنتی هنگامی که یک یا چند دستگاه شبکه خراب می­ شوند، ترافیک شبکه از طریق یک سری مسیرهای دیگر مسیریابی می­ شود یا تجهیزات و نودهای جایگزینی وجود دارند تا جریان را مدیریت کنند. با این حال، در معماری کنترلر متمرکز و در غیاب کنترلر به صورت stand-by، تنها یک کنترلر به صورت متمرکز مسئول کل شبکه است. اگر این کنترلر خراب شود،  ممکن است باعث فلج شدن شبکه شود. برای حل این مشکل، سازمان­های IT باید برای افزایش قابلیت اطمینان شبکه باید بر بهره ­برداری از توابع اصلی شبکه تمرکز کنند.در نمونه خرابی لینک/مسیر، کنترلر SDN باید این توانایی را داشته باشد تا از راه­حل­های چند مسیره و یا مسیریابی سریع ترافیک به لینک­های فعال پشتیبانی کند.

مسئله محل قرارگیری کنترلر

مسئله قرارگیری کنترلر تمامی جوانب تفکیک بخش کنترل را تحت تأثیر قرار می­ دهد از تأخیر تنظیم جریان گرفته تا قابلیت اطمینان، تحمل­ پذیری خطا و در نهایت متریک­ های کارایی. به عنوان مثال، تأخیر طولانی انتشار شبکه ­های گسترده (WAN) دسترس ­پذیری و زمان همگرایی را با محدودیت مواجه می­ کند. این امر پیامدهایی را برای طراحی نرم­ افزار به همراه دارد چه از نظر تأثیر بر کنترلرها برای پاسخ به رویدادها به صورت بلادرنگ و چه ارسال عملیات ارسال کردن به المان­های ارسال کننده. این مسئله شامل قرار دادن کنترلر با توجه به توپولوژی شبکه موجود و تعداد کنترلرهای  مورد نیاز نیز می­شود.کاربر متریک­ های مختلفی (تأخیر، افزایش تعداد نودها و غیره) را تعریف می­ کند که محل قرارگیری کنترلر در یک شبکه را کنترل می­ کند. یکی از طرح­های ارائه شده در این زمینه که می ­توان به آن اشاره کرد مسئله قرارگیری کنترلر آگاه از قابلیت اعتماد است.

منابع:

  • S. Sezer, S. Scott-Hayward, P. K. Chouhan, B. Fraser, D. Lake, J. Finnegan, et al, “Are We Ready for SDN? Implementation Challenges for Software-Defined Networks”, IEEE Communications Magazine,2013.

  • M. Jammal, T. Singh, A. Shami, R.lAsal, Y. Li, “Software-Defined Networking: State of the Art and Research Challenges”, Submitted for review and possible publication in Elsevier’s Journal of Computer Networks, 2014.

  • Voellmy, ,Wang,    J.C.,    “Scalable    Software-Defined    Network Controllers,”   Proceedings,   ACM   SIGCOMM   ۲۰۱۲   Conference   on Applications,  Technologies,  Architectures,  and  Protocols  for  Computer Communication, pp. 289–۲۹۰, ۲۰۱۲٫

  • IETF WG, “Path Computation Element,” http://data-tracker.ietf.org/wg/pce/charter/.

  • Hu,  Y.-N.,Wang,W.-D.,et  al.,  “On  the  Placement  of  Controllers  in Software-Defined  Networks,” http://www.sciencedirect.com/science/article/pii/S100588851160438X, October 2012.

  • Hu, Q. Hao, K. Bao, “A Survey on Software-Defined Network (SDN) and OpenFlow: From Concept to Implementation”, IEEE Communications Surveys & Tutorials, 2014.

پاسخ دهید

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