کاربرد پروتکل OPENFLOW در شبکه

کاربرد پروتکل OPENFLOW در شبکه

کاربرد پروتکل OPENFLOW در شبکه

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

پروتکل OPENFLOW چیست؟

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

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

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

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

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

در Match Field یا همان فیلد انطباق قادر خواهید بود ویژگی‌های سرآیند جریانی که می‌خواهید سیاستها را برای آن اعمال کنید ،مشخص کنید.

 

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

 

جزییات پروتکل OPENFLOW

هر پیام OpenFlow با یک ساختار هدر مشابه شروع خواهد شدکه این ساختار داارای 3 قسمت می باشد : قسمت اول، فیلد version است که  ورژن OpenFlow مورداستفاده در پیام را نشان خواهد داد. قسمت دوم، فیلد  length  بوده که  محل اتمام پیام در byte stream است (از اولین بایت هدر) را نشان می دهد. قسمت سوم و آخرین قسمت ،xid یا شناسه تراکنش می باشد، که مقدار آن منحصربه‌فرد بوده و ارتباط بین درخواست‌ها و پاسخ‌ها را مشخص می کند. فیلد type هم که  نوع پیام و چگونگی تفسیر پیلود را نشان می دهد به ورژن وابسته می باشد.

 

نقاط قوت و نقاط ضعف OpenFlow

سیسکو توانسته  یک کنترلر کامل به نام Cisco Extensible Network Controller که OpenFlow می باشد را ابداع کند. بعضی از سوئیچ‌های سیسکو 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 قادر نیست سرویس را روی یک المان شبکه به صورت مستقیم معرفی کند. نمونه‌ای از این سرویسهایی که OpenFlow  قادر به معرفی مستقیم آنها روی یک المان نیست عبارتند از

  • Firewall
  • خدمات برنامه‌ای حوزه‌های وسیع (WAAS)،
  • نرم‌افزار سیستم حفاظت در برابر ورود غیرمجاز یا Broadband Network Gate ،IPS یا به‌اختصار BNG با قابلیت SDN،
  • مانیتورینگ نمودن ویدئو
  • و …….

صفحه کنترل توزیعی و APIها:

اتکای OpenFlow به یک صفحه کنترل مرکزی، باعث محدود شدن گزینه های مربوط به زمان اجرای برنامه می شود.

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

رویایی بزرگ‌تر برای برنامه‌نویسی شبکه

رویای سیسکو ایجاد برنامه‌نویسی حقیقی شبکه برای فناوری (Software Defined Networking (SDNبوده تا با این کار امکان نوشتن برنامه ها یی که در لحظه اطلاعات را از شبکه دریافت کنند  و با استفاده از این اطلاعات سیاستهای مناسب را تعیین کنند و در آخر این سیاستها از طریق ابزارهایی مانند OpenFlow ،onePK یا سایر ابزارها به المان‌های شبکه تحمیل خواهند شد

این مدل Closed-loop به اتصال مستحکم برنامه‌های “شبکه به کسب‌وکار” منجر می شود و به برنامه‌ها این امکان را می دهد تا  به هماهنگ کردن منابع شبکه بپردازند که این امر سناریویی را امکان پذیر می کند که در این سناریو دستگاه‌های شبکه به برای تشخیص تغییرات ترافیک ، خود به ارائه‌ی تجزیه‌ و تحلیل پرداخته، که این تغییرات نشان‌دهنده‌ی موجی در ترافیک یک برنامه‌ی خاص خواهد بود. اصلاح Policy  توسط برنامه‌ی Orchestration امکان پذیر خواهد بود تا پیکربندی مجدد شبکه انجام شود که این کار باعث می شود که سرانجام تجربه‌ی کاربر و عملکرد برنامه به صورت هم زمان بهینه سازی ش.ند.

بررسی دیدگاه سیسکو به فناوری SDN

از انجایی که اکثر سازمان‌های بخش عمومی خود را برای Big Data، موج ترافیک ویدئویی، محیط‌های BYOD و محاسبات Cloud آماده می کنند، برنامه‌نویسی رفتار شبکه قابلیتی ارزشمند برای آن‌ها محسوب خواهد شد.

محققان دانشگاهی و علمی موفق به اعمال قابلیت برنامه‌نویسی شبکه  در تسهیل نمودن اشتراک داده در مؤسسات و همچنین در به‌کارگیری انواع جدید برنامه‌های محاسبات توزیعی شدند.  انها همچنین توانستند  پروتکل OpenFlow را جایگزین روش‌های سنتیِ پشتیبانی شده است.

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

شرکت سیسکو معماری “محیط شبکه‌ی باز یا (Open Network Environment (ONE” را با عنوان یک رویکرد چندوجهی به برنامه‌نویسی شبکه ارائه کرد که استوار بر سه ستون است:

۱- بسته‌ای از محصولات، جهت ارائه‌ی پوشش مجازی، سرویس‌های مجازی و قابلیت‌های Orchestration منبع در DataCenter

۲- کنترلر و Agentهای OpenFlow که آماده‌ی استفاده می‌باشند.

۳- مجموعه‌ای از واسط‌های کاربری برنامه‌نویسی (APIها) که مستقیماً روی سوئیچ‌ها و روترها قرار می‌گیرند تا خصوصیات موجود OpenFlow را ارتقا دهند.

کارشناس ارشد مهندسی نرم افزار - بعد از اتمام دوره ماکروسافت و سیسکو و اخذ مدارک بین المللی در این حوزه شروع به فعالیت کردم
ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.