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