解讀:OpenFlow的宣傳攻勢(shì)和軟件定義網(wǎng)絡(luò)
雖然OpenFlow網(wǎng)絡(luò)在最近幾個(gè)月一直是宣傳的熱點(diǎn),甚至還在Las Vegas的Interop 2011上享受到明星般追捧,但它是一個(gè)協(xié)議概念——軟件定義網(wǎng)絡(luò)——有可能使虛擬化和云網(wǎng)絡(luò)實(shí)現(xiàn)真正的變革。
在一個(gè)由軟件定義的網(wǎng)絡(luò)中,交換機(jī)和路由器采用了一些集中軟件管理元素方式的某種形式。在OpenFlow的環(huán)境中,控制平臺(tái)是從數(shù)據(jù)轉(zhuǎn)發(fā)平臺(tái)分離出來(lái)的。一個(gè)集中的控制器維護(hù)著網(wǎng)絡(luò)的實(shí)時(shí),整體的情況,將網(wǎng)絡(luò)路徑定義為“流”,并將這個(gè)數(shù)據(jù)流分發(fā)到各個(gè)交換機(jī)和路由器上。通過(guò)這些流,控制器可以協(xié)調(diào)所有網(wǎng)絡(luò)設(shè)備間的數(shù)據(jù)傳輸,從而在虛擬環(huán)境和云網(wǎng)絡(luò)中實(shí)現(xiàn)所需要的自動(dòng)化和細(xì)致動(dòng)態(tài)分配管理。
“OpenFlow是軟件定義網(wǎng)絡(luò)的一個(gè)示例,”Gartner Inc.的副總裁和著名分析師Mark Fabbi說(shuō)道。“這個(gè)概念已經(jīng)提出10多年了。如果您了解Juniper的QFabric,它也是軟件定義網(wǎng)絡(luò)的一個(gè)實(shí)例,因?yàn)樗木W(wǎng)絡(luò)核心中也有交換機(jī)和基于結(jié)構(gòu)的功能。然后,這所有的設(shè)備都與一個(gè)控制器通信,而控制器會(huì)確定路徑及其所使用的服務(wù)。”
這種方法與目前的分布式且不對(duì)等控制平臺(tái)的網(wǎng)絡(luò)形成了鮮明的對(duì)比。交換機(jī)和路由器都各自維護(hù)著一些路由表或MAC地址表,其中包括相關(guān)網(wǎng)絡(luò)因素的數(shù)據(jù),并且它們能夠根據(jù)這些數(shù)據(jù)做出傳輸決定。這種方法在一定程度上很有效的。但是,由于虛擬化的出現(xiàn),IT基礎(chǔ)架構(gòu)比過(guò)去變得更加動(dòng)態(tài),而網(wǎng)絡(luò)需要適應(yīng)這種情況。
OpenFlow和軟件定義網(wǎng)絡(luò):整合OSI協(xié)議層
OpenFlow和軟件定義網(wǎng)絡(luò)的一個(gè)主要目標(biāo)是:使網(wǎng)絡(luò)更好地響應(yīng)和適應(yīng)其他IT基礎(chǔ)架構(gòu)。目前的網(wǎng)絡(luò)是靜態(tài)的。雖然它們關(guān)注于OSI模式的2層和3層協(xié)議,但是這種模式并不支持服務(wù)器虛擬化。
“之前,網(wǎng)絡(luò)人們關(guān)心的總是關(guān)于數(shù)據(jù)包。這真的就是與數(shù)據(jù)包有關(guān)的嗎?網(wǎng)絡(luò)只考慮2層和3層協(xié)議,但是事實(shí)上所有的OSI協(xié)議層都必須更好地整合才能了解網(wǎng)絡(luò)狀況,”Forrester Research高級(jí)研究分析師Andre Kindness說(shuō)道。
虛擬化已經(jīng)使IT基礎(chǔ)架構(gòu)變得更加動(dòng)態(tài),因此網(wǎng)絡(luò)必須響應(yīng)這種改變。當(dāng)服務(wù)器管理員將一臺(tái)服務(wù)器上的虛擬機(jī)遷移到另外一臺(tái)服務(wù)器時(shí),網(wǎng)絡(luò)必須能夠自動(dòng)地調(diào)整VLAN、QoS政策和ACL。
“目前,遷移一臺(tái)虛擬機(jī)一般會(huì)花費(fèi)2天的時(shí)間,這是因?yàn)樗皇亲詣?dòng)化的,”Kindness說(shuō)道。“它可以在服務(wù)器中實(shí)現(xiàn)自動(dòng)化,但是一旦涉及網(wǎng)絡(luò),如果需要修改網(wǎng)絡(luò),那么網(wǎng)絡(luò)工程師必須在VM遷移之前先修改好這部分網(wǎng)絡(luò)。”
基本上,網(wǎng)絡(luò)與應(yīng)用程序還是分離的,網(wǎng)絡(luò)還僅限于管理數(shù)據(jù)包,Kindness說(shuō)道。軟件定義網(wǎng)絡(luò)就是要“提高服務(wù)器和網(wǎng)絡(luò)的效率,并嘗試將它們整合在一起。它會(huì)觀察各種類型硬件的工作負(fù)載,然后決定數(shù)據(jù)包的流向。它關(guān)注于整體效率,并盡可能以最佳方式利用資源,”他說(shuō)道。
軟件定義網(wǎng)絡(luò):如何實(shí)現(xiàn)?
OpenFlow并非是軟件定義網(wǎng)絡(luò)的唯一實(shí)現(xiàn)方式。Arista Networks與VMware一起合作創(chuàng)建了具備自己風(fēng)格的軟件定義網(wǎng)絡(luò),這種網(wǎng)絡(luò)更善于響應(yīng)虛擬化服務(wù)器基礎(chǔ)架構(gòu)的變化。通過(guò)向VMware開(kāi)放它的交換固件,Arista的交換機(jī)可以自動(dòng)適應(yīng)新虛擬機(jī)的初始化或在基礎(chǔ)架構(gòu)中遷移虛擬機(jī)。
“我們一直在做致力于Open vSwitch與我們的交換OS整合到一起的內(nèi)部開(kāi)發(fā),”Arista的市場(chǎng)副總裁Doug Gourlay說(shuō)道。“我們所做的工作就是將諸如vSphere的設(shè)備變成網(wǎng)絡(luò)控制器。當(dāng)您使用vSphere時(shí),它可以控制VLAN、QoS政策和ACL,所有這些操作都必定是在虛擬機(jī)中進(jìn)行的。我們說(shuō)服自己,對(duì)于我們的網(wǎng)絡(luò)設(shè)備可以實(shí)現(xiàn)一些部分,我們將采用vSphere。當(dāng)您在vCenter中創(chuàng)建一個(gè)虛擬機(jī)和當(dāng)您需要遷移該虛擬機(jī)時(shí),對(duì)于網(wǎng)絡(luò)所需要做的一切,我們都可以通過(guò)一個(gè)在我們交換機(jī)和vSphere之間定義和規(guī)定的API自動(dòng)實(shí)現(xiàn)。”
正如之前所提到的,Juniper的QFabric架構(gòu)在某種程度上是一個(gè)軟件定義網(wǎng)絡(luò),但是這個(gè)架構(gòu)現(xiàn)在還未實(shí)現(xiàn)。Juniper已經(jīng)發(fā)布了QFabric的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備,即QFX3500,但是類似于軟件定義網(wǎng)絡(luò)控制器的QF/Interconnect核心設(shè)備和管理裝置QF/Director只有到今年年底才會(huì)發(fā)布。
雖然基于OpenFlow的產(chǎn)品市場(chǎng)正處于發(fā)展初期,但是OpenFlow架構(gòu)的開(kāi)放方式與Juniper的架構(gòu)是截然相反的。使用QFabric來(lái)建立一個(gè)軟件定義網(wǎng)絡(luò)需要使用所有的QFabric產(chǎn)品。而使用OpenFlow建立一個(gè)軟件定義網(wǎng)絡(luò),則只需要使用任意供應(yīng)商的一個(gè)支持OpenFlow的OpenFlow控制器和交換機(jī)。
目前仍然沒(méi)有任何主流網(wǎng)絡(luò)供應(yīng)商發(fā)布支持OpenFlow的交換機(jī)產(chǎn)品,雖然今年在Interop上許多供應(yīng)商演示了這個(gè)技術(shù)。NEC Corp.是第一個(gè)發(fā)布這種產(chǎn)品的供應(yīng)商。NEC是一個(gè)主要專注于日本本國(guó)市場(chǎng)的網(wǎng)絡(luò)供應(yīng)商,它已經(jīng)與大學(xué)研究者合作一起進(jìn)行了5年的OpenFlow支持研發(fā)。這項(xiàng)工作隨著在Interop上發(fā)布NEC的可編程流(ProgrammableFlow)生產(chǎn)線而達(dá)到頂峰。該產(chǎn)品在展會(huì)中獲得了Interop最佳產(chǎn)品稱號(hào)。
NEC的可編程流(ProgrammableFlow)目前由2個(gè)主要產(chǎn)品組成。第一個(gè)是支持OpenFlow的交換機(jī)PF5240,它有48個(gè)Gigabit Ethernet (GbE)端口和4個(gè)10 GbE上行鏈路端口。第二個(gè)是可編程流控制器(ProgrammableFlow Controller PFC)—這是一個(gè)OpenFlow控制器軟件,它可以為PF5240交換機(jī)和將來(lái)任何支持OpenFlow的第三方交換機(jī)確定轉(zhuǎn)發(fā)路徑。
有幾個(gè)新興的公司也正在秘密研發(fā)OpenFlow控制器,并與交換機(jī)供應(yīng)商建立合作關(guān)系。其中包括Big Switch Networks和Nicira Networks。
OpenFlow架構(gòu)是生成樹(shù)的一種替代方法嗎?
根據(jù)Big Switch Networks的共同創(chuàng)辦人和市場(chǎng)銷售部副總經(jīng)理Kyle Forster的看法,基于OpenFlow的軟件定義網(wǎng)絡(luò)不僅僅能夠適應(yīng)虛擬化所帶來(lái)的變化。通過(guò)將交換機(jī)和路由器的控制轉(zhuǎn)移到一個(gè)集中控制器上,OpenFlow也支持高級(jí)多路徑轉(zhuǎn)發(fā)技術(shù)。這意味著,企業(yè)可以在OpenFlow控制器上定義多路徑流,而不需要使用TRILL 或最短路徑橋接協(xié)議(Shortest Path Bridging)來(lái)避免生成樹(shù)協(xié)議帶來(lái)的限制。由于控制器掌握完整的網(wǎng)絡(luò)結(jié)構(gòu),因此它可以防止循環(huán)發(fā)生。
Forster 說(shuō)道,OpenFlow控制器還還在網(wǎng)絡(luò)上實(shí)現(xiàn)了可編程性。通過(guò)在控制器上開(kāi)放API,第三方可以開(kāi)發(fā)一些軟件,這些軟件使用OpenFlow控制器在網(wǎng)絡(luò)上運(yùn)行高級(jí)網(wǎng)絡(luò)功能和服務(wù)。例如,有一些研究人員已經(jīng)在OpenFlow控制器之上開(kāi)發(fā)了負(fù)載均衡器。Forster表示,安全供應(yīng)商可以開(kāi)發(fā)虛擬分布式防火墻或入侵防御軟件,它們通過(guò)在OpenFlow控制器上定義的流,而在每臺(tái)交換機(jī)和路由器上施加安全政策。
Big Switch Networks正在開(kāi)發(fā)一種軟件,它允許網(wǎng)絡(luò)工程師在他們的基礎(chǔ)架構(gòu)之上建立一個(gè)多租賃模式的軟件,這特別適用于云計(jì)算環(huán)境。工程師可以使用Big Switch的控制器創(chuàng)建一個(gè)使用多個(gè)物理交換機(jī)端口的虛擬交換機(jī),并將它作為一個(gè)服務(wù)于服務(wù)器和應(yīng)用程序的固定網(wǎng)絡(luò)呈現(xiàn)給系統(tǒng)管理員。
“我們的Interop演示展示了這個(gè)架構(gòu)視圖,您可以使用來(lái)自不同交換機(jī)的端口,比如一臺(tái)交換的2個(gè)端口,另一臺(tái)的5個(gè)端口,第三臺(tái)的7個(gè)端口,并將所有端口整合到一臺(tái)大型虛擬交換機(jī)上,”Forster說(shuō)道。“管理員可以登錄這個(gè)虛擬交換機(jī),然后他們所看到的是一個(gè)具有14端口的交換機(jī)。但他們不知道這些端口是來(lái)自數(shù)據(jù)中心多個(gè)不同設(shè)備。一方面,管理員會(huì)感覺(jué)他們是擁有一個(gè)完整的物理交換機(jī),但是事實(shí)上我們是把交換機(jī)放在不同的物理硬件上,并且隔離它們,這樣如果管理員做了什么毀壞虛擬交換機(jī)的事,該虛擬機(jī)所依賴的硬件仍能夠保持正常工作。”
Gartner's Fabbi說(shuō)道,雖然OpenFlow有大好前景,但是在這些供應(yīng)商開(kāi)始發(fā)布和銷售產(chǎn)品之前,這個(gè)協(xié)議實(shí)際上還只是一個(gè)“研究項(xiàng)目”。市場(chǎng)上已經(jīng)好幾年少有新產(chǎn)品出現(xiàn)了,更不用說(shuō)完整的生態(tài)系統(tǒng)。目前,OpenFlow供應(yīng)商正關(guān)注于云計(jì)算供應(yīng)商,因?yàn)樗麄兪亲钚枰浖x網(wǎng)絡(luò)功能的。但是可擴(kuò)展性仍然是一個(gè)問(wèn)題。
和無(wú)線LAN架構(gòu)中很重要的控制器一樣,OpenFlow控制器可能會(huì)遇到瓶頸,因?yàn)榻粨Q機(jī)和路由器會(huì)將轉(zhuǎn)發(fā)決定授權(quán)給一個(gè)運(yùn)行在服務(wù)器上的控制器。
“老實(shí)說(shuō),我不認(rèn)為這是可行的,”Arista's Gourlay說(shuō)道。“Stanford的最大產(chǎn)品OpenFlow網(wǎng)絡(luò)流量的設(shè)計(jì)速度是每秒500個(gè)流。我們必須在幾秒鐘內(nèi)處理上百萬(wàn)個(gè)流的網(wǎng)絡(luò)。我不確定它是否已經(jīng)能夠擴(kuò)展到這個(gè)水平。”
然而,OpenFlow供應(yīng)商都深知可擴(kuò)展性問(wèn)題的重要。Forster表示,BigSwitch正在為它的控制器開(kāi)發(fā)集群技術(shù)。它不是在開(kāi)發(fā)一個(gè)能夠處理大型網(wǎng)絡(luò)上所有流量的大型控制器。相反,它正在開(kāi)發(fā)能夠以協(xié)作方式管理網(wǎng)絡(luò)的控制器。
OpenFlow控制器也將繼續(xù)由交換機(jī)和路由器自己來(lái)決定轉(zhuǎn)發(fā)路徑。事實(shí)上,它們就應(yīng)該負(fù)責(zé)這部分工作。Forster表示,在OpenFlow架構(gòu)中的交換機(jī)不會(huì)是非智能設(shè)備。相反,它們必須更健壯且能夠更好地運(yùn)行大量OpenFlow規(guī)則,并支持其它OpenFlow應(yīng)用程序。他指出了基于控制器的無(wú)線LAN架構(gòu)的接入端可以如何變得更健壯的,從而支持諸如流氓軟件檢測(cè)和頻段管理等應(yīng)用程序。
此外,很多OpenFlow交換機(jī)本身將負(fù)責(zé)大量轉(zhuǎn)發(fā)決定,只有收到意外的數(shù)據(jù)包流量時(shí),它們才需要在控制器上查找指令。
“交換機(jī)可以根據(jù)OpenFlow控制器上基于流的規(guī)則來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包,”NEC Corp.的業(yè)務(wù)開(kāi)發(fā)總監(jiān)Don Clark說(shuō)道。“在我們面臨很多虛擬機(jī)移動(dòng)性和很多網(wǎng)絡(luò)變化的情況下,我們會(huì)相應(yīng)地進(jìn)行處理。當(dāng)一個(gè)不符合本地交換機(jī)現(xiàn)有規(guī)則的數(shù)據(jù)包到達(dá)時(shí),第一個(gè)數(shù)據(jù)包會(huì)轉(zhuǎn)發(fā)給控制器。它會(huì)按邏輯進(jìn)行處理,然后控制器會(huì)在流表中設(shè)置新的規(guī)則。”