可操作性與可擴展性問題
OpenFlow的終端用戶以及市場人員明確指出其技術問題:操作復雜,很難測試以及擴展。這不是OpenFlow的核心技術問題,但確是其生態系統中很重要的一部分,像與芯片廠商以及傳統的硬件廠商之間的合作還需要更加詳細。大家都在吐槽目前的硬件供應商,有人說“你無法在傳統硬件上實現OpenFlow”不過,很多人說很多創業公司做了很好的工作,包括很好的實現了OpenFlow,以及具備合理的可擴展性:單交換機提供100Gbps帶寬。但是很多方面表明可擴展的OpenFlow還是缺失的。
這是一些OpenFlow開發人員報告的在研發過程中遇到的可操作行與可擴展性問題:標準不夠完善
有些硬件廠商無法修改數據包頭,影響了他們在路由以及交換應用上的可用性
其他的能修改L2的頭,無法修改L3的包頭
很多硬件實現在數據包匹配上有限制 - 匹配vlan 封裝的vlan報文(QinQ),MPLS標簽,甚至IPv6報文
不一致的表訪問與受限的接口管理
一些用戶報告OpenFlow1.0的實現用了TCAM解決流表匹配會導致支持流的數量受限,而且無法廣泛使用。一般情況下,TCAM支持最多2K條流,但是L3或者Vlan表能夠達到128K條(在受限的數據包頭匹配情況下)。
一些廠商不提供硬件上全部表的訪問,并且強制控制器去對接他們私有的接口。這導致一些控制器(像ONOS)不得不添加一個抽象層來提供必要的映射,導致情況更加復雜,還會降低硬件設備的性能。
交換機的功能與性能不一樣
基于不同的硬件如NPU-based,FPGA-based,或者ASIC 實現的交換機在實現方式與性能特點上都不一樣。需要權衡各個方面,靈活性,OpenFlow1.0/1.3/1.4版本的一致性,不同數量的流,不同的延遲以及包轉發率下的性能。
甚至不一樣的交換機軟件會導致同樣的ASIC芯片表現出不同的OpenFlow能力。通常情況下,目前的主流硬件廠商會提供更少的功能,而白盒產品(使用同樣的ASIC)能夠提供更多的OpenFlow功能。
采用NPU架構能夠提供最大的靈活性以及最好的OpenFlow支持,但是最大總帶寬只能達到300-600Gbps;采用ASIC架構能夠達到1-3Tbps總帶寬,但是提供有限的OpenFlow支持(盡管最新的ASIC芯片能夠在達到1M路由表的情況下處理3Tbps以上流量)
每個交換機提供的接口數量不同,提供的特性能力不同(特殊流量的處理方式不同)限制了其實現的可移植性,缺乏一致的性能表現使其推廣困難重重
當前性能限制是OpenFlow可能的實現方式的最大限制,盡管通過選擇更好的硬件平臺可能能夠實現L3路由以及更大的網絡。
市場和品牌
OpenFlow的另外一個挑戰是在當前混亂的市場中建立一個強大的品牌。目前最成功的開源項目Linux,是一個全球性的品牌,目前正在考慮之中。這么做的一個最大的原因是如果終端用戶想要做出自己的技術貢獻,他們需要看到大量支持以及項目背后的強大動力。從對品牌認知到對這個充滿信心,有很長的路要走。另一部分原因是目前的網絡廠商的產品相互競爭。他們大量投資花在了銷售與市場上,OpenFlow需要有人推動。