為什么Nicira要拋棄OpenFlow硬件控制?
5年前,當Nicira創始人Martin Casado在斯坦福大學攻讀博士學位時,他準備轉變網絡運營模型,使之能夠跟上數據中心內服務器自動虛擬化的發展。Casado原以為他的發明OpenFlow能夠解決這個問題,但是現在他承認自已當初想法是錯誤的?,F在網絡行業中廣為流行的OpenFlow硬件控制并不是解決問題的方法。他決定在網絡虛擬化的堆疊軟件中采取不同的方法,VMware非常認同這種策略,并因此斥資12億美元收購了Nicira。
本周,Casado在VMware的劍橋辦公室主持召開了一個面向新聞記者的白板會議,他在會上說:“問題是,我們確實走錯了方面,而且我認為行業中有很多人還沒有意識到這是錯的。”
Casado發明了OpenFlow,將它作為實現網絡硬件中控制與數據分離、實現中央“大腦”控制(OpenFlow控制器)的方式。這個創新將實現可擴展性,并且會徹底改變網絡運營方式。他說:“這是我在斯坦福撰寫的論文——這是實現自動化網絡連接的方法。然后,Nicira的前三位工程師編寫了這個協議,在理解SDN(軟件定義網絡)上,我們前期確實做了很多的工作。”
Casado指出,OpenFlow仍然適用于許多場景,特別是流量工程。谷歌的數據中心互聯部署就是一個***的例子。但是,他又指出,在數據中心的網絡虛擬化中,使用OpenFlow控制硬件轉發是錯誤的方法。
使用虛擬交換機替代OpenFlow硬件
Casado說:“在***年里,我們就認識到有一些確實很重要的事情在發生。”服務器虛擬化已經改變了數據中心的網絡訪問層。虛擬機管理程序中內置的虛擬交換機(特別是VMware的vSwitch)已經成為新的網絡邊界。如果新邊界出現在服務器的軟件中,那么為什么還要使用OpenFlow控制物理交換機呢?虛擬交換機非常適合用于數據中心網絡虛擬化,其原因有兩個:“首先,它運行x86平臺上,而x86非常靈活。我們知道如何編程實現。它不像在一些私有ASIC的算法那么復雜。如果我想要改變轉發方式,那么我只需要編寫一個新程序。”
“其次,它非常接近網絡邊界。長期以來,網絡都試圖猜測主機所發生的事情。如果您在服務器上,那么您就能夠訪問邊界的豐富語義,這是以前無法做到的。現在監聽了哪些地址?有哪些用戶連接主機?您所獲得的監控級別達到了網絡人員的夢想要求。”
這些現實問題促使Casado及其團隊重新進行了評估,然后采取了不同的方法。他說:“我們遇到了一個尷尬的時刻。”Nicira可能使用 OpenFlow實現網絡虛擬化,但是它可能會將關注點從硬件轉到軟件控制。它可能會控制虛擬交換機。對于Casado而言,這是非常有意義的。畢竟,數據包轉發并不是現代網絡的問題所在。在數據包傳輸方面,傳統網絡仍然做得很好。在傳統網絡之上,造成問題和減慢速度的原因是策略層和操作層。特別對于訪問控制列表(ACL)、VLAN、網絡隔離、計費與核算等功能,專業網絡人員以前都能夠在靜態環境中一勞永逸地完成設置。當使用服務器虛擬化提高新計算負載分配速度和實現虛擬機移動性時,手工過程馬上就變得極不實用。
Casado指出,這些運營問題并不會在物理網絡硬件上發生,但是可能會在可以通過軟件輕松控制的虛擬交換機上發生。這正是Nicira的網絡虛擬化平臺(Network Virtualization Platform)出現的原因,而且這也是網絡覆蓋層成為與SDN同等熱門話題的原因。
#p#
OpenFlow硬件的直接控制問題
許多供應商和網絡從業者仍然希望通過開發OpenFlow硬件而在數據中心實現網絡虛擬化。但是,Casado指出,有很多因素決定這是不可行的。***個問題是網絡供應商的生態系統。他說:“您要求交換機供應商在交換機上實現OpenFlow,而這樣做又不會給他們帶來好處,因為在一定程度上,這樣做實際上在剝奪他們的價值。我在2007年編寫了***個OpenFlow協議,從那時開始人們開始發布相關產品,但是只有少量有用的OpenFlow交換機。任何有有用OpenFlow交換機的人都還會再購買一個控制器,而我可以肯定,他們會采用綁定使用他們的控制器和交換機,因為這樣他們才能維持對客戶環境的控制。至于創建活躍的社區,業務關系決定了這是非常困難的事情。”
許多網絡供應商已經在交換機上實現了OpenFlow,那么 Casado的“有用的OpenFlow交換機”是什么意思?他解釋說,大多數供應商在開發交換機時并沒有配備對數據中心真正有用的足夠的通用轉發表容量。在典型的交換機ASIC(專用集成電路)中,有一個ACL表、一個2層表和一個3層表,他說:“他們都是特殊用途的表。”這些表中沒有一個能夠支持數據中心級的OpenFlow。
Casado說:“在OpenFlow中:表中有11個元組查表,這是非常通用的東西,而且您擁有很多這樣的表。為了OpenFlow,許多供應商會直接覆蓋其中一個表(它可能包含5,000條實體),然后,他們會在這個表中硬塞入OpenFlow實現。但是,這個芯片實際上并不是為這個而造。OpenFlow仍然試圖糾正這個問題,但是這非常困難。”
Casado指出,現在的大多數OpenFlow交換機流的轉發表都非常適合用于研究和實驗。他說:“但是,數據中心內的流與流量的數量決定了必須執行一些與3層網絡類似的操作。OpenFlow并不適合用于創建數據中心交換機的轉發結構。”
Nicira-VMware解決方案中是否存在適合OpenFlow硬件的空間?
這是否意味著Nicira及其父公司VMware愿意僅僅關注于軟件層面?Casado說,他的技術需要在三個方面與硬件進行交互,而這要求在標準 OpenFlow上增加其他功能。他說:“首先是QoS(服務質量),隊列越多越好。您在硬件中部署得越多,您向客戶提供的QoS層次就越多。如果我有8 個隊列,那么我只能提供8個SLA(服務水平協議)。如果我有一百萬個隊列,那么我可以為每一個租戶簽訂一個SLA。”
QoS和類似的硬件特性需要更簡單的以太網操作和控制與管理(或OAM)模型,好讓Nicira及其他技術都可以在物理與虛擬負載上修復和調試這些功能。網絡虛擬化技術還需要與未虛擬化的傳統工作負載的***交換機進行交互。Casado說:“您需要控制***機架交換機,才能夠讓物理負載進入虛擬網絡,這需要類 OpenFlow接口。”
***,網絡虛擬化控制器需要與網絡設備(防火墻、應用交付控制器等)進行交互,而這也需要“類 OpenFlow”接口。Casado說:“我認為,OpenFlow太過于底層。所以,我們已經提出了一個新技術:OVSdb-config。我們將用它管理Open vSwitch和OpenFlow。它允許我們管理更上層的狀態。這是我們期望人們使用的東西,但是它實際并不太重要。為什么呢?只要是開放、鼓勵創新而且能夠完成工作,任何協議都可以。”