Onix分佈式Controller
被設計用來控制大型網絡,有很強的擴展性;
通過引入Control Login(控制邏輯,可以認爲是特殊的應用程序)、Controller、和物理設備三層架構;
每個Controller只控制部分物理設備,並且只發送匯聚過後的信息到邏輯控制服務器,邏輯控制服務器瞭解全網的拓撲情況,來達到分佈式控制的目的,從而是整個方案有高度可擴展性;
FloodLight:基於Java編寫的內核,提供北向REST API,北向API支持Java和Jython;
Ryu:基於Python開發的,支持 OpenFlow,OF-Config-Netconf
NOX/POX 世界上第一個OpenFlow Controller,提供的工具包括拓撲發現,網絡可視化,網絡監控,網絡訪問控制等;
Trema打造一個基於OpenFlow可編程框架,提供不少應用和服務:拓撲發現,Flow管理,路由交換,OpenStack插件等;
OpenFlow控制面的挑戰:
主從選舉不成熟,沒有標準定義
Controller的集中式控制:分佈式控制和SDN原則有衝突
流表配置的速度比較慢,特別是網絡大的時候,配置那麼多設備的流,速度跟不上,有嚴重的性能問題
僅憑現有的OpenFlow接口,還有好多配置無法完成,需要很多私有擴展;會導致不兼容性;安全性還沒有充分保證;