FlowVisor是建立在OpenFlow之上的網(wǎng)絡(luò)虛擬化平臺(tái),它可以將物理網(wǎng)絡(luò)分成多個(gè)邏輯網(wǎng)絡(luò),從而實(shí)現(xiàn)開放軟件定義網(wǎng)絡(luò)(SDN)。它為管理員提供了廣泛定義規(guī)則來(lái)管理網(wǎng)絡(luò),而不是通過(guò)調(diào)整路由器和交換機(jī)來(lái)管理網(wǎng)絡(luò)。
FlowVisor安裝在商品硬件上,它是一個(gè)特殊的OpenFlow控制器,主要是作為OpenFlow交換機(jī)網(wǎng)絡(luò)和其他標(biāo)準(zhǔn)OpenFlow控制器之間的透明代理。雖然FlowVisor仍被認(rèn)為處于試驗(yàn)階段,并且缺乏一些基本功能(例如命令行管理工具),但FlowVisor已經(jīng)被部署在很多生產(chǎn)環(huán)境中,例如從2009年開始應(yīng)用于斯坦福大學(xué)的校園網(wǎng)絡(luò)。
FlowVisor通過(guò)抽象層來(lái)分割物理網(wǎng)絡(luò),它位于一組交換機(jī)和軟件定義網(wǎng)絡(luò)或多個(gè)網(wǎng)絡(luò)之間,管理帶寬、CPU利用率和流量表,這類似于管理程序位于服務(wù)器硬件和軟件之間,以允許多個(gè)虛擬操作系統(tǒng)運(yùn)行。
正如管理程序依賴于標(biāo)準(zhǔn)x86指令來(lái)虛擬化服務(wù)器一樣,F(xiàn)lowVisor使用標(biāo)準(zhǔn)OpenFlow指令集來(lái)管理OpenFlow交換機(jī),這些指令設(shè)置了低級(jí)別規(guī)則,比如如何基于數(shù)據(jù)包表頭中的特點(diǎn)來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包。
由于所有這些規(guī)則都是通過(guò)流量表定義的,因此,無(wú)論是從帶寬還是CPU使用率來(lái)看,網(wǎng)絡(luò)虛擬化都沒(méi)有增加很多開銷或者幾乎沒(méi)有增加開銷,不過(guò)另外需要設(shè)置和修改流量表規(guī)則的單獨(dú)的帶外物理控制器。
切片
FlowVisor網(wǎng)絡(luò)的基本要素是網(wǎng)絡(luò)切片,網(wǎng)絡(luò)切片是由一組文本配置文件來(lái)定義的。文本配置文件包含控制各種網(wǎng)絡(luò)活動(dòng)的規(guī)則,例如允許、只讀和拒絕,其范圍包括流量的來(lái)源IP地址、端口號(hào)或者數(shù)據(jù)包表頭信息。
例如,網(wǎng)絡(luò)管理員可以將安全的Telnet流量(默認(rèn)端口992)分配到其自身的切片,將執(zhí)行團(tuán)隊(duì)IP地址的流量分配到另一個(gè)切片。然后他可以創(chuàng)建第三個(gè)默認(rèn)切片來(lái)管理所有其他流量,把它當(dāng)做“只讀”切片來(lái)監(jiān)控其他三個(gè)切片,以達(dá)到診斷目的。網(wǎng)絡(luò)管理員可以動(dòng)態(tài)地重新分配和管理這些切片,以確保瀏覽YouTube的人不會(huì)對(duì)Telnet應(yīng)用程序和執(zhí)行團(tuán)隊(duì)帶寬造成負(fù)面影響。
切片隔離是FlowVisor虛擬化的重要組成部分,但它仍然在處于發(fā)展中。在近日發(fā)表的一篇描述FlowVisor愿景和部署的學(xué)術(shù)文章中,作者呼吁進(jìn)行嚴(yán)密的交換機(jī)與CPU隔離,但由于目前只能通過(guò)OpenFlow對(duì)交換機(jī)CPU進(jìn)行間接管理,導(dǎo)致該功能被限制。鑒于這些限制和功能,F(xiàn)lowVisor按照以下五個(gè)規(guī)格(出自該OpenFlow技術(shù)報(bào)告)來(lái)進(jìn)行虛擬化和隔離:
帶寬:每個(gè)切片應(yīng)該具有專門的總可用帶寬百分比。
拓?fù)浣Y(jié)構(gòu):每個(gè)切片對(duì)于網(wǎng)絡(luò)節(jié)點(diǎn)(包括物理和虛擬交換機(jī)及路由器)應(yīng)該有自己的“看法”.切片的組成部分應(yīng)該是不知道切片的:對(duì)于控制器而言,F(xiàn)lowVisor看起來(lái)就是普通的交換機(jī);從OpenFlow交換機(jī)的角度來(lái)看,F(xiàn)lowVisor就是一個(gè)控制器。
流量:根據(jù)上述規(guī)則設(shè)置,流量應(yīng)該嚴(yán)密地始終如一地隔離到一個(gè)特定切片或者多個(gè)切片。
設(shè)備CPU:重載物理交換機(jī)可以丟掉緩慢路徑的數(shù)據(jù)包。網(wǎng)絡(luò)管理員會(huì)更新OpenFlow統(tǒng)計(jì)計(jì)數(shù)器和規(guī)則,所以在評(píng)定限速密集命令時(shí),F(xiàn)lowVisor應(yīng)該考慮CPU資源。
轉(zhuǎn)發(fā)表:由于轉(zhuǎn)發(fā)表往往被限定在物理設(shè)備上,網(wǎng)絡(luò)管理員應(yīng)確保一個(gè)切片不會(huì)影響任何特定設(shè)備的轉(zhuǎn)發(fā)表,迫使它放棄另一切片的規(guī)則。
FlowVisor準(zhǔn)備好迎接廣泛應(yīng)用了嗎?
與其構(gòu)建塊OpenFlow一樣,F(xiàn)lowVisor能夠幫助研究人員快速靈活地在大型生產(chǎn)環(huán)境對(duì)新的SDN理念和工具進(jìn)行實(shí)驗(yàn)。目前FlowVisor被部署在美國(guó)各地的生產(chǎn)環(huán)境中,特別是在大型校園(例如斯坦福)。此外,兩個(gè)以研究為重點(diǎn)的大型網(wǎng)絡(luò)--全球網(wǎng)絡(luò)創(chuàng)新環(huán)境(GENI)和Internet2也在使用FlowVisor。