دلایل محبوبت (Software Defined Networking (SDN و نحوه گسترش آن در سیسکو
بنا بر نظر بنیاد شبکههای آزاد یا (Open Networking Foundation (ONF، شبکه مبتنی بر نرمافزار یا (Software Defined Networking (SDN یک معماری شبکه محسوب می گردد، که سطوح کنترل و داده (Control Plane, Data Plane) را از یکدیگر جدا کرده و صفحهی کنترل (اطلاعات شبکه و سیاستگذاری) را به یک برنامه به نام کنترلر منتقل مینماید. سیسکو نگاه گستردهتری به مبحث SDN داشته و در آن علاوه بر مدل کنترلر/عامل یا به عبارتی Controller/Agent که ONF برای OpenFlow تعریف نموده، به معرفی مدلهای دیگر برنامهنویسی شبکه ی نیز می پردازد.
بررسی دیدگاه سیسکو به مقوله ی SDN
- با توجه به اینکه اکثر سازمانهای بخش عمومی در حال آمادهسازی برای Big Data، موج ترافیک ویدئویی، محیطهای BYOD و محاسبات Cloud میباشند، برنامهنویسیِ رفتار شبکه قابلیتی ارزشمند برای آنها محسوب میگردد.
- محققان دانشگاهی و علمی با موفقیت توانستهاند قابلیت برنامهنویسی شبکه را در تسهیل نمودن اشتراک داده در موسسات و همچنین در بکارگیری انواع جدید برنامههای محاسبات توزیعی اعمال نمایند. علاوه بر آن، در چندین مورد نیز پروتکل OpenFlow جایگزین روشهای سنتیِ پشتیبانی شده است.
- برخی محصولات سیسکو علاوه بر آنکه Imageهایی با قابلیت OpenFlow دارند؛ از یک نقشهی راه تعریفشده جهت بسط و گسترش پشتیبانی از OpenFlow نیز برخوردار میباشند.
- جهت افزایش احتمال برنامهنویسی شبکه و رسیدگی به طیف وسیعی از موارد کاربرد آن، نگاه وسیعتر به برنامهنویسی شبکه، امری ضروری محسوب می گردد. شرکت سیسکو معماری “محیط شبکهی باز یا (Open Network Environment (ONE” خود را بهعنوان یک رویکرد چندوجهی به برنامهنویسی شبکه ارائه نموده که بر سه ستون زیر استوار است:
۱- مجموعهای از واسطهای کاربری برنامهنویسی (APIها) که مستقیماً روی سوئیچها و روترها قرار میگیرند تا خصوصیات موجود OpenFlow را ارتقا دهند.
۲- کنترلر و Agentهای OpenFlow که آمادهی استفاده می باشند.
۳-بسته ای از محصولات، جهت ارائهی پوشش مجازی، سرویسهای مجازی و قابلیتهای Orchestration منبع در DataCenter
نقاط قوت و نقاط ضعف OpenFlow
شرکت سیسکو به OpenFlow خوشبین است. سیسکو یک کنترلر کامل و آمادهی OpenFlow به نام “کنترلر شبکهی بسطپذیر سیسکو” یا Cisco Extensible Network Controller ابداع نموده است. برخی از سوئیچهای سیسکو دارای Agentهای OpenFlow می باشند و نقشهی راه مستلزم وجود Agentهای تحت پشتیبانی، روی اکثر محصولات روتینگ و سوئیچینگ سیسکو می باشد.
OpenFlow بهگونهای طراحی شده است که می تواند از روند مدیریت مبتنی بر Policy، در داخل شبکه پشتیبانی نماید. به ویژه OpenFlow مناسب موارد کاربردی است که به پیش بردن سیاستهای ازپیشتعریفشده، برای تفکیک سازی شبکه، اکتفا مینمایند. علاوه بر قابلیتهای سادهی تطبیق گردش و Forwarding، محصولات بعدی با خصوصیات OpenFlow، روشهای جدیدی برای پیادهسازی سادهی کیفیت خدمات (QoS) و اندازهگیری گردش معرفی کردهاند.
با وجود این قابلیتها، چند حوزهی برنامهنویسی شبکه همچنان خارج از مقیاس فعلی OpenFlow می باشند:
- تسهیلات برای مدیریت و مانیتورینگ عناصر پایه تجهیزات
مدیریت Image سیستم عامل، مدیریت سختافزار، بکارگیری Zero-Touch، راهاندازی رویداد، اطلاعات مکان المان و غیره
- قابلیت تاثیر مستقیم بر رفتار Forwarding یک المان شبکه
بهرهگیری از پایگاه “مسیریابیِ اطلاعات/پایگاه ارسال اطلاعات” یا به اختصار “RIB/FIB”، وضعیت مسیر، اعلانهای پروتکل مسیریابی، مسیرهای Add/Delete و پشتیبانی از درخت پوشای وسیع
- بهرهگیری از ظرفیت Packet داده
رمزنگاری On-Box و VPN، الگوریتمهای رمزنگاری سفارشیسازیشده، بازرسی دقیق Packet، آگاهی برنامه در صورت نیاز به بررسی ظرفیت، قابلیت تزریق Packetها به جریان شبکه
- بکارگیری خدمات:
OpenFlow توانایی معرفی مستقیم سرویس روی یک المان شبکه را ندارد. نمونه ای از این سرویس ها عبارتند از Firewall، خدمات برنامهای حوزههای وسیع (WAAS)، نرمافزار سیستم حفاظت در برابر ورود غیرمجاز یا Broadband Network Gate ،IPS یا به اختصار BNG با قابلیت SDN، مانیتورینگ نمودن ویدئو و غیره.
- صفحه کنترل توزیعی و APIها:
اتکای OpenFlow به یک صفحه کنترل مرکزی، گزینههای زمان اجرای برنامه را محدود مینماید.
مدلهای استقرار انعطافپذیر
OpenFlow به کنترلری نیاز دارد که روی یک سرور قرار گرفته باشد. این کنترلر از پروتکل OpenFlow برای ارتباط در شبکه با Agentهای روی سوئیچها و روترها استفاده مینماید. برنامهها با استفاده از APIهای کنترلر OpenFlow به پیادهسازی سیاست شبکه میپردازند. سیسکو معتقد است این امر علاوه بر مزایایی که دارد در رویکرد Controller/Application یا به عبارتی کنترلر/برنامه OpenFlow، جهت پشتیبانی از چند مدل گسترش برنامه نیز مفید می باشد.
صفحات متمرکز کنترل، مزایایی همچون عملیات و مدیریت ساده را ایجاد مینماید. علاوه بر این، یک مدل متمرکز، دغدغههای مقیاسپذیری را ایجاد و گزینههای گسترش برنامه را محدود میسازد. دسترسی مستقیم غیرمتمرکز به APIهای تجهیزات، طیف وسیعی از احتمالات برنامه را پیش میآورد که در مدل متمرکز OpenFlow وجود ندارند. یک رویکرد تلفیقی که دسترسی مستقیم API روی یک ابزار جهت افزایش دسترسی API از طریق یک کنترلر را شامل شود، میتواند تعادل بهینهای بین صفحات کنترل متمرکز و غیرمتمرکز ایجاد نماید.
قابلیت راهاندازی یک سرویس در هر نقطه از شبکه، براساس نیازهای داینامیک، اهمیت فراوانی دارد. مدلهای انعطافپذیر گسترش برنامه در ارائهی این قابلیت نقش حیاتی دارند. این رویکرد سیسکو از گزینههای مختلف از گسترش برنامه پشتیبانی میکند:
- برنامههایی که در Containerهای نرمافزاری روی روترها و سوئیچها اجرا میشوند.
- برنامههایی که مستقیماً روی سختافزار x86 روی روترها و سوئیچها اجرا میشوند.
- برنامههایی که روی سرورهای مستقل یا مجازیسازیشده اجرا میشوند.
مدلهای استقرار انعطافپذیر چند مزیت دارند:
- میتوان برنامهها را روی هر یک از Nodeهای شبکه، در هر نقطهای که به سرویس نیاز دارد، بهکار گرفت؛ بدون اینکه نیاز به دسترسپذیری بین Node و یک کنترلر مرکزی باشد.
- استقرار توزیعی برنامه، مقیاسپذیری را تسهیل نموده و رکود صفحهکنترل را به حداقل میرساند. مقیاسپذیری کنترلرهای متمرکز هنوز در محیطهای مقیاسبزرگ امتحان خود را پس ندادهاند. بدون مقیاسپذیری مناسب کنترلر، ممکن است بهواسطهی بارکاری(Workload) ایجاد شده هنگام پردازش حجمهای سنگین پیغامها، همزمان با ارسال Policyهای بهروزشده به صدها دستگاه، رخدادهایی با مقیاس بزرگ بر کنترلرهای متمرکز چیره شوند. لازم به ذکر است، کنترلرهای کلاسترشده در زمان نگارش این مقاله در حال ورود به بازار می باشند که ممکن است به کاهش این تاثیرات بیانجامد.
- دستگاههای شبکه میتوانند با سرعت بیشتری، در واکنش به نیازهای نوسانی گردش در زمانیکه صفحهکنترل توزیعی دستگاهها با برنامهها جفت میشوند، با سیاستهای خدماتی وفق یابند.
بهترین مقیاس OpenFlow در یک مدل کنترلی فعال می باشد، که گردشها بهصورت آماری تعریفشده و سیاستها به المانهای شبکه تحمیل میشود. مقیاسپذیری کنترلر، زمانی که نیاز به اصلاح پویای Policy در واکنش به شرایط پویای شبکه باشد (مانند خطاهای سختافزاری دستگاه یا سایر رخدادهایی که روی دسترسپذیری لینک یا خدمات اثر میگذارند) تبدیل به یک دغدغه میشود.
رویایی بزرگتر برای برنامهنویسی شبکه
رویای سیسکو برای (Software Defined Networking (SDN ، ایجاد برنامهنویسی حقیقی شبکه می باشد؛ تا برای توسعهدهندگان، امکان نوشتن برنامه هایی را فراهم سازد که اطلاعات را در لحظه از شبکه استخراج نموده و اطلاعات و تحلیلها را در تعیین سیاست مناسب اعمال نمایند. سپس این سیاست از طریق OpenFlow، onePK یا سایر ابزارها به المانهای شبکه تحمیل میشود.
این مدل Closed-loop منجر به اتصال مستحکم برنامههای “شبکه-به-کسبوکار” شده و برای برنامهها این امکان را فراهم می سازد تا منابع شبکه را هماهنگ کنند. این امر سناریویی را ممکن میسازد که در آن دستگاههای شبکه خود به ارائهی تجزیه و تحلیل برای تشخیص تغییرات ترافیک میپردازند؛ تغییراتی که نشاندهندهی موجی در ترافیک یک برنامهی خاص باشد. برنامهی Orchestration سپس میتواند بهصورت خودکار Policy را اصلاح نماید تا شبکه به گونه ای مجددا پیکربندی شود که به بهینهسازی همزمان تجربهی کاربر و عملکرد برنامه بیانجامد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــ
شبکه های مبتنی بر نرم افزار در سیسکو یا Cisco SDN – قسمت اول
شبکه های مبتنی بر نرم افزار در سیسکو یا Cisco SDN – قسمت دوم(پایانی)