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