專利名稱:云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)和網(wǎng)絡(luò)通信協(xié)議技術(shù)領(lǐng)域,尤其涉及一種云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng)及方法。
背景技術(shù):
數(shù)據(jù)中心是互聯(lián)網(wǎng)上各種服務(wù)的提供中心,主要有計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)三個(gè)主要組成部分。計(jì)算部分主要負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行處理,存儲(chǔ)部分主要負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和備份,網(wǎng)絡(luò)部分主要負(fù)責(zé)連接計(jì)算、存儲(chǔ)和其它資源并進(jìn)行數(shù)據(jù)交換。隨著云計(jì)算的發(fā)展,數(shù)據(jù)中心 的規(guī)模日益擴(kuò)大,越來越多的企業(yè)將他們的服務(wù)和業(yè)務(wù)遷到數(shù)據(jù)中心中。在提供多租用服務(wù)的數(shù)據(jù)中心中,為了提高資源的利用率,計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)部分往往經(jīng)過不同方式的虛擬化之后,提供給眾多的租戶使用。不同租戶所獲得的各種資源之間是相互隔離的。對(duì)于網(wǎng)絡(luò)虛擬化,它的最基本要求是為租戶提供基于網(wǎng)絡(luò)數(shù)據(jù)鏈路層互聯(lián)互通的功能,能夠方便地連接租戶所申請(qǐng)的計(jì)算、存儲(chǔ)和其它資源,保證資源的即插即用。同時(shí),多租用數(shù)據(jù)中心中的網(wǎng)絡(luò)虛擬化又有其特殊的需求由于租戶的虛擬計(jì)算資源可能會(huì)根據(jù)所在物理服務(wù)器的狀態(tài)進(jìn)行遷移,為了保證虛擬計(jì)算資源上所運(yùn)行的服務(wù)不被中斷,虛擬網(wǎng)絡(luò)需能夠靈活可變,網(wǎng)絡(luò)虛擬化技術(shù)能夠與虛擬計(jì)算資源的遷移進(jìn)行聯(lián)動(dòng)。在虛擬計(jì)算資源遷移完畢時(shí),虛擬網(wǎng)絡(luò)能夠?qū)⒃屑耙院蟮牧髁垦杆賹?dǎo)入到虛擬計(jì)算資源最新的位置上。網(wǎng)絡(luò)設(shè)備一般由數(shù)據(jù)平面和控制平面組成,控制平面的信息和消息傳遞機(jī)制往往依賴于數(shù)據(jù)平面進(jìn)行。近些年來,數(shù)據(jù)中心網(wǎng)絡(luò)的發(fā)展,對(duì)網(wǎng)絡(luò)設(shè)備的控制平面提出了更高的需求,例如,支持大規(guī)模、增強(qiáng)的安全性以及對(duì)虛擬機(jī)遷移的支持等。而傳統(tǒng)網(wǎng)絡(luò)控制平面的發(fā)展遠(yuǎn)遠(yuǎn)不能滿足上述新的需求。エ業(yè)界和學(xué)術(shù)界都希望網(wǎng)絡(luò)的控制平面能夠從數(shù)據(jù)平面中解耦出來,使得兩者能夠獨(dú)立進(jìn)行發(fā)展。同吋,開放網(wǎng)絡(luò)設(shè)備的控制接ロ,通過使用這些開放的接ロ編寫?yīng)毩⒂诰W(wǎng)絡(luò)設(shè)備的控制軟件來決定設(shè)備數(shù)據(jù)平面的處理行為。基于這種思想而進(jìn)行的網(wǎng)絡(luò)構(gòu)建稱為軟件定義網(wǎng)絡(luò)(Software-Defined Networking)。軟件定義網(wǎng)絡(luò)要求網(wǎng)絡(luò)設(shè)備的控制平面從數(shù)據(jù)平面中解耦出來,并且開放網(wǎng)絡(luò)設(shè)備的控制接ロ,由軟件開發(fā)人員利用這些接ロ編寫網(wǎng)絡(luò)設(shè)備的控制程序來定義設(shè)備對(duì)網(wǎng)包的處理。OpenFlow交換機(jī)則是這種開放控制接ロ的ー種網(wǎng)絡(luò)設(shè)備,OpenFlow協(xié)議則具體明確了這些開放的控制接口和調(diào)用方式,而OpenFlow配置管理協(xié)議則定義了 OpenFlow交換機(jī)所具備功能的通用配置選項(xiàng)與接ロ。ー個(gè)OpenFlow交換機(jī)由流表(Flow Table)和安全通道(Secure Channel)組成。交換機(jī)依據(jù)流表對(duì)網(wǎng)包進(jìn)行處理,安全通道提供了交換機(jī)與外部的OpenFlow控制器(Controller)通信的方式,交換機(jī)上的流表由外部控制器上的控制程序通過安全通道進(jìn)行部署。如圖I所示,示出了 OpenFlow交換機(jī)、OpenFlow配置器以及OpenFlow控制器之間的邏輯關(guān)系。廣播域是網(wǎng)絡(luò)數(shù)據(jù)鏈路層的ー個(gè)概念,是對(duì)網(wǎng)絡(luò)的ー個(gè)邏輯劃分。處于同一個(gè)廣播域中的所有節(jié)點(diǎn)都能在數(shù)據(jù)鏈路層上互聯(lián)互通。實(shí)現(xiàn)廣播域的方式有多種,最常見的方式有一個(gè)ニ層的交換機(jī)上的所有端ロ屬于同一個(gè)廣播域,或者ー個(gè)支持虛擬局域網(wǎng)(VLAN)的交換機(jī)上屬于同一個(gè)VLAN的端口組成一個(gè)廣播域。隧道技術(shù)是指當(dāng)用戶使用某一特定的轉(zhuǎn)發(fā)網(wǎng)絡(luò)實(shí)現(xiàn)自己內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)的傳遞時(shí),根據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)的網(wǎng)包格式,利用隧道協(xié)議對(duì)自己內(nèi)部網(wǎng)絡(luò)中的網(wǎng)包進(jìn)行封裝后,再送往轉(zhuǎn)發(fā)網(wǎng)絡(luò)進(jìn)行傳輸?shù)募夹g(shù)。常用的隧道協(xié)議及封包格式,根據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)所采用的技術(shù)不同,主要有但不限于以下幾種通用路由封裝(Generic Routing Encapsulation,GRE)、無線接入點(diǎn)控制與配置協(xié)議(Control And Provisioning of Wireless Access Point Protocol,CAPWAP)、以及 IP 安全協(xié)議(Internet Protocol Security, IPSec)。一個(gè)隧道是單向的,由隧道的源端標(biāo)識(shí)、隧道的目的端標(biāo)識(shí)、隧道ID及隧道類型決定。
發(fā)明內(nèi)容
(一 )要解決的技術(shù)問題本發(fā)明要解決的技術(shù)問題是提供一種利于實(shí)現(xiàn)大規(guī)模,且安全性高,能夠靈活、快速地隨資源的動(dòng)態(tài)變化而改變虛擬網(wǎng)絡(luò)配置的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng) 及方法。( 二 )技術(shù)方案為解決上述問題,本發(fā)明提供了一種云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng),包括物理服務(wù)器,通過第一網(wǎng)口與數(shù)據(jù)中心核心交換網(wǎng)相連,所述物理服務(wù)器上具備至少一個(gè)支持OpenFlow相關(guān)協(xié)議的交換機(jī),且所述物理服務(wù)器通過第二網(wǎng)口與控制器相連;控制器,用于根據(jù)用戶請(qǐng)求,構(gòu)建虛擬網(wǎng)絡(luò),維護(hù)虛擬網(wǎng)絡(luò)的配置,及所述虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系,還用于通過OpenFlow相關(guān)協(xié)議對(duì)一臺(tái)或多臺(tái)物理服務(wù)器上支持OpenFlow相關(guān)協(xié)議的交換機(jī)進(jìn)行配置和控制;同一臺(tái)物理服務(wù)器中具有一個(gè)或多個(gè)本地廣播域;每個(gè)所述虛擬廣播域?qū)?yīng)一個(gè)虛擬網(wǎng)絡(luò),由一個(gè)或多個(gè)分布在不同物理服務(wù)器上的本地廣播域構(gòu)成。本發(fā)明還提供了一種云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法,該方法包括初始化的步驟為每臺(tái)物理服務(wù)器上的所述交換機(jī)創(chuàng)建隧道廣播域,以及為每個(gè)隧道廣播域建立跳線端口 ;一臺(tái)交換機(jī)上用于通過隧道技術(shù)與其他物理服務(wù)器上的交換機(jī)互通的所有端口屬于一個(gè)隧道廣播域;及虛擬網(wǎng)絡(luò)的創(chuàng)建步驟根據(jù)用戶的請(qǐng)求構(gòu)建虛擬網(wǎng)絡(luò),維護(hù)虛擬網(wǎng)絡(luò)的配置,及所述虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系,并通過OpenFlow相關(guān)協(xié)議對(duì)每臺(tái)物理服務(wù)器上支持OpenFlow相關(guān)協(xié)議的交換機(jī)進(jìn)行配置和控制,優(yōu)選地,所述OpenFlow相關(guān)協(xié)議包括OpenFlow協(xié)議以及OpenFlow配置管理協(xié)議。優(yōu)選地,在所述初始化的步驟中還包括步驟配置每臺(tái)物理服務(wù)器的標(biāo)識(shí)以及為每臺(tái)物理服務(wù)器上的支持OpenFlow相關(guān)協(xié)議的交換機(jī)配置控制器。優(yōu)選地,所述虛擬網(wǎng)絡(luò)的創(chuàng)建步驟進(jìn)一步包括BI.從全局可用的虛擬廣播域ID資源池中為屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)分配一個(gè)虛擬廣播域ID ;B2.根據(jù)每個(gè)所述虛擬機(jī)所在的物理服務(wù)器,從每臺(tái)物理服務(wù)器上可用的本地廣播域ID資源池中為每個(gè)所述虛擬機(jī)分配一個(gè)在其所在的物理服務(wù)器上使用的本地廣播域ID ;B3.記錄構(gòu)成所述虛擬網(wǎng)絡(luò)的本地廣播域的個(gè)數(shù)、本地廣播域所在物理服務(wù)器的標(biāo)識(shí)、以及本地廣播域ID信息;B4.配置每個(gè)所述虛擬機(jī)所在的物理服務(wù)器上的交換機(jī),為每臺(tái)所述交換機(jī)創(chuàng)建接入廣播域,創(chuàng)建所述接入廣播域的跳線端口,并將所述跳線端口與對(duì)應(yīng)的隧道廣播域的跳線端口對(duì)接;一臺(tái)交換機(jī)上用于與虛擬機(jī)上的網(wǎng)口互通的所有端口屬于一個(gè)接入廣播域;B5.分別為每個(gè)所述隧道廣播域以及接入廣播域添加流表。優(yōu)選地,在步驟B4中還包括步驟為每個(gè)接入廣播域中的虛擬機(jī)上的網(wǎng)口建立一個(gè)接入端口,并將接入端口與所述虛擬機(jī)上的網(wǎng)口連接。 優(yōu)選地,若屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)分布在多個(gè)物理服務(wù)器上,且多個(gè)物理服務(wù)器之間未建立隧道,則在步驟B4中,還包括配置未建立隧道的物理服務(wù)器上交換機(jī)的隧道廣播域,并進(jìn)行兩兩互通隧道端口的創(chuàng)建的步驟,每個(gè)隧道的目的端為另一個(gè)服務(wù)器的標(biāo)識(shí)。優(yōu)選地,在步驟B5中,為每個(gè)所述隧道廣播域添加的流表包括隧道ID為虛擬廣播域ID的網(wǎng)包,解封裝后設(shè)置所述虛擬廣播域ID在本臺(tái)物理服務(wù)器上對(duì)應(yīng)的本地廣播域ID,并從對(duì)應(yīng)的跳線端口發(fā)送;及從跳線端口進(jìn)入的網(wǎng)包,使用其對(duì)應(yīng)的虛擬廣播域ID進(jìn)行封裝后按照二層網(wǎng)絡(luò)交換機(jī)對(duì)網(wǎng)包的處理方式進(jìn)行處理。優(yōu)選地,在步驟B5中,為每個(gè)所述接入廣播域添加的流表包括所有網(wǎng)包按照二層網(wǎng)絡(luò)交換機(jī)對(duì)網(wǎng)包的處理方式進(jìn)行處理。優(yōu)選地,該方法還包括刪除虛擬網(wǎng)絡(luò)的步驟,該步驟進(jìn)一步包括Cl.根據(jù)待刪除的虛擬廣播域ID找到所涉及的物理服務(wù)器及本地廣播域ID信息;C2.在每臺(tái)物理服務(wù)器上刪除所述本地廣播域ID對(duì)應(yīng)的接入廣播域,刪除隧道廣播域中與所述本地廣播域ID相關(guān)的流表;C3.將每臺(tái)物理服務(wù)器上的所述本地廣播域ID回收到對(duì)應(yīng)的本地廣播域ID資源池中;C4.將待刪除的虛擬廣播域ID回收到全局虛擬廣播域ID資源池中。優(yōu)選地,在步驟Cl之前還包括解綁和刪除個(gè)端口的步驟。(三)有益效果本發(fā)明的系統(tǒng)及方法可應(yīng)用于提供多租用服務(wù)的云計(jì)算數(shù)據(jù)中心網(wǎng)絡(luò)系統(tǒng)中,能夠有效地減少數(shù)據(jù)中心核心交換網(wǎng)廣播和二層地址表和轉(zhuǎn)發(fā)表的壓力,利于實(shí)現(xiàn)大規(guī)模;同時(shí),能夠?qū)⒉煌脩舻牧髁窟M(jìn)行有效的隔離,增強(qiáng)安全性;并且使數(shù)據(jù)中心的虛擬網(wǎng)絡(luò)配置能夠快速地隨虛擬資源的動(dòng)態(tài)分布而進(jìn)行靈活變化。
圖I為OpenFlow交換機(jī)、OpenFlow配置器以及OpenFlow控制器之間的邏輯關(guān)系示意圖;圖2為依照本發(fā)明一種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng)的結(jié)構(gòu)示意圖;圖3為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)的邏輯結(jié)構(gòu)示意圖;圖4為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中初始化步驟的詳細(xì)流程圖;圖5為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中創(chuàng)建虛擬網(wǎng)絡(luò)步驟的詳細(xì)流程圖;圖6為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中創(chuàng) 建虛擬端ロ步驟的詳細(xì)流程圖;圖7為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中綁定虛擬端ロ步驟的詳細(xì)流程圖;圖8為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中解綁定虛擬端ロ步驟的詳細(xì)流程圖;圖9為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中刪除虛擬端ロ步驟的詳細(xì)流程圖;圖10為依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法中刪除虛擬網(wǎng)絡(luò)步驟的詳細(xì)流程圖。
具體實(shí)施例方式本發(fā)明提出的數(shù)據(jù)中心中的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng)及方法,結(jié)合附圖及實(shí)施例詳細(xì)說明如下。如圖2所示,依照本發(fā)明ー種實(shí)施方式的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng)包括物理服務(wù)器(本實(shí)施方式中為三個(gè),但不限于此)、以及控制器。本實(shí)施方式的系統(tǒng)中包括一個(gè)控制器,該控制器分別與每臺(tái)服務(wù)器相連,也可包括不只ー個(gè)控制器,對(duì)物理服務(wù)器進(jìn)行分別控制。物理服務(wù)器通過第一網(wǎng)ロ與數(shù)據(jù)中心核心交換網(wǎng)相連,該第一網(wǎng)口上具備該物理服務(wù)器的標(biāo)識(shí)(例如,端ロ的MAC地址和IP地址),使得每臺(tái)物理服務(wù)器上發(fā)出的網(wǎng)包均能夠在核心交換網(wǎng)中進(jìn)行交換。每臺(tái)物理服務(wù)器上具備至少ー個(gè)支持OpenFlow相關(guān)協(xié)議(包括OpenFlow協(xié)議以及OpenFlow配置管理協(xié)議)的交換機(jī)(以下簡(jiǎn)稱為OF交換機(jī)),且物理服務(wù)器通過第二網(wǎng)ロ與控制器相連??刂破饔糜诟鶕?jù)用戶請(qǐng)求,構(gòu)建虛擬網(wǎng)絡(luò),一方面維護(hù)虛擬網(wǎng)絡(luò)的配置,及所建立的虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系;另一方面通過OpenFlow相關(guān)協(xié)議對(duì)一臺(tái)或多臺(tái)物理服務(wù)器上支持OpenFlow相關(guān)協(xié)議的交換機(jī)進(jìn)行配置和控制。前者通過ー張全局的 P00L_VBDID、多張 P00L_LBDID、ー張 MAP_VBDID 和ー張 MAP_LBDID 進(jìn)行管理。P00L_VBDID是全局可用的虛擬廣播域ID(VBDID)資源池,P00L_LBDID是每臺(tái)服務(wù)器上可用的本地廣播域ID(LBDID)資源池,MAP_VBDID指明ー個(gè)VBDID是由多少臺(tái)物理服務(wù)器上的LBDID組成,MAP_LBDID指明一個(gè)服務(wù)器上的LBDID中虛擬機(jī)網(wǎng)ロ與本地廣播域端ロ的綁定關(guān)系。后者通過兩個(gè)Daemon實(shí)現(xiàn)of_config_daemon實(shí)現(xiàn)對(duì)本地廣播域以及廣播域中端ロ的創(chuàng)建、修改和刪除的功能,of_control_daemon實(shí)現(xiàn)本地廣播域?qū)W(wǎng)包的處理行為的控制。為了對(duì)虛擬網(wǎng)絡(luò)進(jìn)行管理,本實(shí)施方式的系統(tǒng)對(duì)虛擬網(wǎng)絡(luò)進(jìn)行了兩個(gè)級(jí)別上的編號(hào)虛擬廣播域 ID (Virtual Broadcast Domain ID, VBD ID)和本地廣播域 ID (LocalBroadcast Domain ID, LBDID)。一個(gè)虛擬廣播域?qū)?yīng)一個(gè)虛擬網(wǎng)絡(luò),由一個(gè)或多個(gè)分布在不同物理服務(wù)器上的本地廣播域構(gòu)成。同一臺(tái)物理服務(wù)器中具有一個(gè)或多個(gè)本地廣播域。若屬于同一個(gè)虛擬廣播域中的多個(gè)虛擬機(jī)處于同一個(gè)物理服務(wù)器上,則直接使用本地廣播域即可互通;若處于不同的物理服務(wù)器上,則除了使用不同物理服務(wù)器上的本地廣播域之夕卜,還需要利用多臺(tái)物理服務(wù)器之間的隧道技術(shù)兩兩互通。本地廣播域可利用OF交換機(jī)上的廣播域管理功能實(shí)現(xiàn)。虛擬廣播域則根據(jù)其下轄的多個(gè)本地廣播域所在的物理服務(wù)器標(biāo)識(shí)及數(shù)據(jù)中心核心交換網(wǎng)所采用的協(xié)議,通過隧道技術(shù)建立多臺(tái)服務(wù)器之間的兩兩互通的隧道,并結(jié)合上述本地廣播域?qū)崿F(xiàn)。本地廣播域ID和虛擬廣播域ID不一定相同,且屬于同一個(gè)虛擬廣播域的多個(gè)本地廣播域ID之間也不一定相同。如圖3所示,以三臺(tái)物理服務(wù)器為例,分別為物理服務(wù)器I、物理服務(wù)器2、以及物理服務(wù)器3,該三臺(tái)物理服務(wù)器共承載了10臺(tái)虛擬機(jī),10臺(tái)虛擬機(jī)分屬于三個(gè)虛擬網(wǎng)絡(luò),該三個(gè)虛擬網(wǎng)絡(luò)的VBDID分別為1、2、和3,細(xì)實(shí)線所示的部分屬于VBDID為I的虛擬網(wǎng)絡(luò)1,粗實(shí)線所示的部分屬于VBDID為2的虛擬 網(wǎng)絡(luò)2,虛線所示的部分屬于VBDID為3的虛擬網(wǎng)絡(luò)3。進(jìn)一步以細(xì)實(shí)線所示的虛擬網(wǎng)絡(luò)I為例,其VBDID = 1,該網(wǎng)絡(luò)中共有四臺(tái)虛擬機(jī),分布為物理服務(wù)器I上兩臺(tái),物理服務(wù)器2和3上各一臺(tái)。每臺(tái)物理服務(wù)器上的本地廣播域可使用虛擬局域網(wǎng)(VLAN)技術(shù)實(shí)現(xiàn),但不限于此。對(duì)于虛擬網(wǎng)絡(luò)I所包括的本地廣播域在物理服務(wù)器1、2和3上的LBDID分別為
1、2、和2。當(dāng)虛擬網(wǎng)絡(luò)I中的虛擬機(jī)I發(fā)送一個(gè)廣播包時(shí),本地廣播域負(fù)責(zé)將廣播包廣播到同一臺(tái)物理服務(wù)器上的其它虛擬機(jī),這里僅廣播到虛擬機(jī)2。同時(shí),本地廣播域中與核心交換網(wǎng)相連接的端口,根據(jù)其所在物理服務(wù)器I的標(biāo)識(shí)和本地廣播域所屬的VBDID,優(yōu)選地使用GRE封裝協(xié)議(但不限于此)進(jìn)行封裝后,廣播到物理服務(wù)器2和3上。物理服務(wù)器2的本地廣播域收到GRE的封包之后解封包,并將解封之后的網(wǎng)包送到虛擬機(jī)3。物理服務(wù)器3上的過程類似于物理服務(wù)器2上的過程。依照本發(fā)明一種實(shí)施方式的基于上述系統(tǒng)的云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法包括初始化的步驟為每臺(tái)物理服務(wù)器上的交換機(jī)創(chuàng)建隧道廣播域,以及為每個(gè)隧道廣播域建立默認(rèn)的跳線端口,一個(gè)物理服務(wù)器上用于通過隧道技術(shù)與其他物理服務(wù)器上的端口互通的所有端口屬于一個(gè)隧道廣播域;及虛擬網(wǎng)絡(luò)的創(chuàng)建步驟根據(jù)用戶的請(qǐng)求構(gòu)建虛擬網(wǎng)絡(luò),維護(hù)虛擬網(wǎng)絡(luò)的配置,及虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系,還用于通過OpenFlow相關(guān)協(xié)議對(duì)每臺(tái)物理服務(wù)器上支持OpenFlow相關(guān)協(xié)議的交換機(jī)進(jìn)行配置和控制。其中,如圖4所示,初始化的詳細(xì)流程包括Al.配置每臺(tái)物理服務(wù)器的標(biāo)識(shí)以及為每臺(tái)物理服務(wù)器上的OF交換機(jī)配置控制器,在上述系統(tǒng)中,由一個(gè)控制器控制所有OF交換機(jī)。A2.啟動(dòng)控制器上對(duì)本地廣播域以及廣播域中端口的創(chuàng)建、修改和刪除的功能of_conf ig_daemon 以及 of_control_daemon0A3. of_config_daemon連接物理服務(wù)器上的OF交換機(jī),創(chuàng)建隧道廣播域以及隧道廣播域中的跳線端ロ。該跳線端ロ用于連接之后新建的用于虛擬機(jī)接入的接入廣播域中的跳線端ロ。隧道廣播域的配置受的of_control_daemon控制。A4. of_control_daemon設(shè)置隧道廣播域?qū)W(wǎng)包的默認(rèn)行為為丟棄。A5.默認(rèn)添加所有的VBDID到P00L_VBDID中,所有的LBDID添加到多個(gè)P00L_LBDID 中。A6.初始化空的 MAP_VBDID 及 MAP_LBDID。當(dāng)虛擬網(wǎng)絡(luò)管理系統(tǒng)接收到用戶的請(qǐng)求,該請(qǐng)求中包括一組屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)參數(shù)后,進(jìn)行虛擬網(wǎng)絡(luò)的創(chuàng)建。如圖5所示,虛擬網(wǎng)絡(luò)的創(chuàng)建步驟進(jìn)ー步包 括BI.從P00L_VBDID中為該組屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)分配ー個(gè)VBDID,若分配成功則繼續(xù)執(zhí)行步驟B2,否則返回失敗信息并結(jié)束。B2.根據(jù)每個(gè)虛擬機(jī)所在的物理服務(wù)器,從每臺(tái)物理服務(wù)器上可用的P00L_LBDID資源池中為每個(gè)虛擬機(jī)分配一個(gè)在其所在的物理服務(wù)器上使用的LBDID,若分配成功則繼續(xù)執(zhí)行步驟B2,否則返回失敗信息并結(jié)束。B3.將上述LBDID的信息構(gòu)成虛擬網(wǎng)絡(luò)的本地廣播域的個(gè)數(shù)、本地廣播域所在物理服務(wù)器的標(biāo)識(shí)、LBDID信息等寫入到MAP_VBDID中。B4. of_config_daemon配置上述涉及的姆個(gè)虛擬機(jī)所在的物理服務(wù)器上的OF交換機(jī),為每臺(tái)OF交換機(jī)創(chuàng)建接入廣播域(ID為L(zhǎng)BDID),創(chuàng)建接入廣播域的跳線端ロ,并與對(duì)應(yīng)的隧道廣播域的跳線端ロ對(duì)接。一臺(tái)交換機(jī)上用于使多個(gè)虛擬機(jī)上的網(wǎng)ロ互通的所有端ロ屬于ー個(gè)接入廣播域。在接入廣播域中會(huì)為虛擬機(jī)上的網(wǎng)ロ建立一個(gè)接入端ロ(創(chuàng)建端ロ的流程如圖6所示),并將虛擬機(jī)的網(wǎng)ロ連接至該接入廣播域的接入端ロ(將虛擬機(jī)的網(wǎng)ロ與接入端ロ綁定的流程如圖7所示,解綁和刪除虛擬端ロ的流程分別如圖8和圖9所示),這樣虛擬機(jī)的網(wǎng)包便可以進(jìn)入接入廣播域中。根據(jù)OF交換機(jī)的處理模式,進(jìn)出接入廣播域中接入端ロ的網(wǎng)包不攜帶對(duì)應(yīng)的LBDID,而進(jìn)出接入廣播域中跳線端ロ的網(wǎng)包攜帶對(duì)應(yīng)的LBDID。如果屬于同一個(gè)虛擬網(wǎng)絡(luò)的另ー個(gè)虛擬機(jī)在另外的物理服務(wù)器上啟動(dòng),則另一個(gè)物理服務(wù)器上進(jìn)行相似的操作。需要說明的是,如果屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)分布在多個(gè)物理服務(wù)器上,且多個(gè)物理服務(wù)器之間未建立隧道,則0f_C0nfig_daem0n配置所涉及到的物理服務(wù)器上交換機(jī)的隧道廣播域,并進(jìn)行兩兩互通隧道端ロ的創(chuàng)建,配置每個(gè)隧道端ロ的目的端為另ー個(gè)物理服務(wù)器的標(biāo)識(shí)。進(jìn)出隧道廣播域中跳線端ロ的網(wǎng)包與進(jìn)出接入廣播域中跳線端ロ的網(wǎng)包格式相同,進(jìn)出隧道廣播域中隧道端ロ的網(wǎng)包均是對(duì)用戶的網(wǎng)包按照所使用的隧道協(xié)議的格式封裝之后的網(wǎng)包。B5. of_control_daemon分別為姆個(gè)隧道廣播域以及接入廣播域添加流表。B6.將VBDID返回給用戶。其中,在步驟B5中,為每個(gè)隧道廣播域添加的流表包括隧道ID為VBDID的網(wǎng)包,解封裝后設(shè)置該VBDID對(duì)應(yīng)的LBDID,并從對(duì)應(yīng)的跳線端ロ發(fā)送;及從跳線端ロ進(jìn)入的網(wǎng)包,使用其對(duì)應(yīng)的VBDID進(jìn)行封裝后進(jìn)行正常處理,即將其按照普通的ニ層網(wǎng)絡(luò)交換機(jī)對(duì)網(wǎng)包的處理方式進(jìn)行處理。為每個(gè)接入廣播域添加的流表包括所有網(wǎng)包進(jìn)行正常處理,即將其按照普通的二層網(wǎng)絡(luò)交換機(jī)對(duì)網(wǎng)包的處理方式進(jìn)行處理。例如如圖2所示,以物理服務(wù)器I為例,隧道廣播域I中的跳線端口 I與接入廣播域I中的跳線端口 4相連,隧道廣播域I中的跳線端口 I還與接入廣播域2的跳線端口9相連,隧道廣播域I中的另外兩個(gè)端口分別為隧道端口 2以及隧道端口 3,該兩個(gè)隧道端口分別用于與物理服務(wù)器2以及物理服務(wù)器3的相應(yīng)的隧道端口連接。接入廣播域I中的接入端口 5與一個(gè)虛擬機(jī)的網(wǎng)口 7相連,接入端口 6與另一個(gè)虛擬機(jī)的網(wǎng)口 8相連。物理服務(wù)器2和物理服務(wù)器3的配置同理。如圖3所示,當(dāng)物理服務(wù)器I上虛擬網(wǎng)絡(luò)I中的虛擬機(jī)I產(chǎn)生廣播包時(shí),網(wǎng)包路徑如下虛擬機(jī)I的網(wǎng)口 ->接入廣播域中的接入端口(根據(jù)正常處理模式進(jìn)行處理)_ >接入廣播域中的跳線端口->隧道廣播域中的跳線端口(根據(jù)跳線端口流表項(xiàng),進(jìn)行隧道 封裝)_ >隧道廣播域中的目的端為物理服務(wù)器2的隧道端口(進(jìn)入物理服務(wù)器操作系統(tǒng)內(nèi)核,并根據(jù)系統(tǒng)路由表轉(zhuǎn)發(fā))_ >物理服務(wù)器網(wǎng)口 I- >數(shù)據(jù)中心核心交換網(wǎng)- >物理服務(wù)器2的網(wǎng)口 1_>隧道廣播域中的目的端為物理服務(wù)器I的隧道端口(根據(jù)隧道ID流表項(xiàng),進(jìn)行隧道解封裝)_>隧道廣播域中的跳線端口->接入廣播域中的跳線端口->接入廣播域中的接入端口->物理服務(wù)器2上的虛擬機(jī)2的網(wǎng)口。此外,依照本發(fā)明一種實(shí)施方式的基于上述系統(tǒng)的數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法還包括刪除虛擬網(wǎng)絡(luò)的步驟,如圖10所示,該步驟進(jìn)一步包括Cl.根據(jù)待刪除的VBDID在MAP_VBDID中找到所涉及的物理服務(wù)器及LBDID信息。C2.在每臺(tái)物理服務(wù)器上刪除LBDID對(duì)應(yīng)的接入廣播域,刪除隧道廣播域中與LBDID相關(guān)的流表。C3.將每臺(tái)物理服務(wù)器上的LBDID回收到對(duì)應(yīng)的P00L_LBDID中。C4.將待刪除的VBDID回收到全局P00L_VBDID中。在執(zhí)行步驟Cl之前還包括按照如圖8和圖9所示的流程,解綁和刪除虛擬端口的步驟。以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng),其特征在于,包括 物理服務(wù)器,通過第一網(wǎng)口與數(shù)據(jù)中心核心交換網(wǎng)相連,所述物理服務(wù)器上具備至少一個(gè)支持OpenFlow相關(guān)協(xié)議的交換機(jī),且所述物理服務(wù)器通過第二網(wǎng)口與控制器相連; 控制器,用于根據(jù)用戶請(qǐng)求,構(gòu)建虛擬網(wǎng)絡(luò),維護(hù)虛擬網(wǎng)絡(luò)的配置,及所述虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系,還用于通過OpenFlow相關(guān)協(xié)議對(duì)一臺(tái)或多臺(tái)物理服務(wù)器上支持OpenFlow相關(guān)協(xié)議的交換機(jī)進(jìn)行配置和控制; 同一臺(tái)物理服務(wù)器中具有一個(gè)或多個(gè)本地廣播域; 每個(gè)所述虛擬廣播域?qū)?yīng)一個(gè)虛擬網(wǎng)絡(luò),由一個(gè)或多個(gè)分布在不同物理服務(wù)器上的本 地廣播域構(gòu)成。
2.—種云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理方法,其特征在于,該方法包括 初始化的步驟為每臺(tái)物理服務(wù)器上的所述交換機(jī)創(chuàng)建隧道廣播域,以及為每個(gè)隧道廣播域建立跳線端口 ;一臺(tái)交換機(jī)上用于通過隧道技術(shù)與其他物理服務(wù)器上的交換機(jī)互通的所有端口屬于一個(gè)隧道廣播域;及 虛擬網(wǎng)絡(luò)的創(chuàng)建步驟根據(jù)用戶的請(qǐng)求構(gòu)建虛擬網(wǎng)絡(luò),維護(hù)虛擬網(wǎng)絡(luò)的配置,及所述虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系,并通過OpenFlow相關(guān)協(xié)議對(duì)每臺(tái)物理服務(wù)器上支持OpenFlow相關(guān)協(xié)議的交換機(jī)進(jìn)行配置和控制。
3.如權(quán)利要求2所述的方法,其特征在于,所述OpenFlow相關(guān)協(xié)議包括OpenFlow協(xié)議以及OpenFlow配置管理協(xié)議。
4.如權(quán)利要求2所述的方法,其特征在于,在所述初始化的步驟中還包括步驟 配置每臺(tái)物理服務(wù)器的標(biāo)識(shí)以及為每臺(tái)物理服務(wù)器上的支持OpenFlow相關(guān)協(xié)議的交換機(jī)配置控制器。
5.如權(quán)利要求2所述的方法,其特征在于,所述虛擬網(wǎng)絡(luò)的創(chuàng)建步驟進(jìn)一步包括 BI.從全局可用的虛擬廣播域ID資源池中為屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)分配一個(gè)虛擬廣播域ID ; B2.根據(jù)每個(gè)所述虛擬機(jī)所在的物理服務(wù)器,從每臺(tái)物理服務(wù)器上可用的本地廣播域ID資源池中為每個(gè)所述虛擬機(jī)分配一個(gè)在其所在的物理服務(wù)器上使用的本地廣播域ID ; B3.記錄構(gòu)成所述虛擬網(wǎng)絡(luò)的本地廣播域的個(gè)數(shù)、本地廣播域所在物理服務(wù)器的標(biāo)識(shí)、以及本地廣播域ID信息; B4.配置每個(gè)所述虛擬機(jī)所在的物理服務(wù)器上的交換機(jī),為每臺(tái)所述交換機(jī)創(chuàng)建接入廣播域,創(chuàng)建所述接入廣播域的跳線端口,并將所述跳線端口與對(duì)應(yīng)的隧道廣播域的跳線端口對(duì)接;一臺(tái)交換機(jī)上用于使多個(gè)虛擬機(jī)上的網(wǎng)口互通的所有端口屬于一個(gè)接入廣播域; B5.分別為每個(gè)所述隧道廣播域以及接入廣播域添加流表。
6.如權(quán)利要求4所述的方法,其特征在于,在步驟B4中還包括步驟為每個(gè)接入廣播域中的虛擬機(jī)上的網(wǎng)口建立一個(gè)接入端口,并將接入端口與所述虛擬機(jī)上的網(wǎng)口連接。
7.如權(quán)利要求4所述的方法,其特征在于,若屬于同一個(gè)虛擬網(wǎng)絡(luò)的多個(gè)虛擬機(jī)分布在多個(gè)物理服務(wù)器上,且多個(gè)物理服務(wù)器之間未建立隧道,則在步驟B4中,還包括配置未建立隧道的物理服務(wù)器上交換機(jī)的隧道廣播域,并進(jìn)行兩兩互通隧道端口的創(chuàng)建的步驟, 每個(gè)隧道的目的端為另一個(gè)服務(wù)器的標(biāo)識(shí)。
8.如權(quán)利要求4所述的方法,其特征在于,在步驟B5中,為每個(gè)所述隧道廣播域添加的流表包括 隧道ID為虛擬廣播域ID的網(wǎng)包,解封裝后設(shè)置所述虛擬廣播域ID在本臺(tái)物理服務(wù)器上對(duì)應(yīng)的本地廣播域ID,并從對(duì)應(yīng)的跳線端口發(fā)送;及 從跳線端口進(jìn)入的網(wǎng)包,使用其對(duì)應(yīng)的虛擬廣播域ID進(jìn)行封裝后按照二層網(wǎng)絡(luò)交換機(jī)對(duì)網(wǎng)包的處理方式進(jìn)行處理。
9.如權(quán)利要求4所述的方法,其特征在于,在步驟B5中,為每個(gè)所述接入廣播域添加的流表包括所有網(wǎng)包按照二層網(wǎng)絡(luò)交換機(jī)對(duì)網(wǎng)包的處理方式進(jìn)行處理。
10.如權(quán)利要求4所述的方法,其特征在于,該方法還包括刪除虛擬網(wǎng)絡(luò)的步驟,該步驟進(jìn)一步包括 Cl.根據(jù)待刪除的虛擬廣播域ID找到所涉及的物理服務(wù)器及本地廣播域ID信息; C2.在每臺(tái)物理服務(wù)器上刪除所述本地廣播域ID對(duì)應(yīng)的接入廣播域,刪除隧道廣播域中與所述本地廣播域ID相關(guān)的流表; C3.將每臺(tái)物理服務(wù)器上的所述本地廣播域ID回收到對(duì)應(yīng)的本地廣播域ID資源池中; C4.將待刪除的虛擬廣播域ID回收到全局虛擬廣播域ID資源池中。
11.如權(quán)利要求10所述的方法,其特征在于,在步驟Cl之前還包括解綁和刪除各端口的步驟。
全文摘要
本發(fā)明公開了一種云計(jì)算數(shù)據(jù)中心中的虛擬網(wǎng)絡(luò)管理系統(tǒng)及方法,涉及網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)和網(wǎng)絡(luò)通信協(xié)議技術(shù)領(lǐng)域。該系統(tǒng)包括物理服務(wù)器,與數(shù)據(jù)中心核心交換網(wǎng)相連,其上具備至少一個(gè)支持OpenFlow相關(guān)協(xié)議的交換機(jī),且物理服務(wù)器與控制器相連;控制器,構(gòu)建虛擬網(wǎng)絡(luò),維護(hù)虛擬網(wǎng)絡(luò)的配置,及虛擬網(wǎng)絡(luò)與虛擬廣播域和本地廣播域之間的映射關(guān)系,對(duì)一臺(tái)或多臺(tái)物理服務(wù)器上的交換機(jī)進(jìn)行配置和控制。本發(fā)明的系統(tǒng)及方法能夠有效地減少數(shù)據(jù)中心核心交換網(wǎng)廣播和二層地址表及轉(zhuǎn)發(fā)表的壓力,利于實(shí)現(xiàn)大規(guī)模;同時(shí),能夠?qū)⒉煌脩舻牧髁窟M(jìn)行有效的隔離,增強(qiáng)安全性;并且使數(shù)據(jù)中心的虛擬網(wǎng)絡(luò)配置能夠快速地隨虛擬資源的動(dòng)態(tài)分布而進(jìn)行靈活變化。
文檔編號(hào)H04L12/24GK102710432SQ201210130269
公開日2012年10月3日 申請(qǐng)日期2012年4月27日 優(yōu)先權(quán)日2012年4月27日
發(fā)明者亓亞烜, 王翔 申請(qǐng)人:北京云杉世紀(jì)網(wǎng)絡(luò)科技有限公司