亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種可編程虛擬網絡服務系統(tǒng)的制作方法

文檔序號:7801794閱讀:291來源:國知局
一種可編程虛擬網絡服務系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施方式提出一種可編程虛擬網絡服務系統(tǒng)。PVN服務器,布置于中心管理節(jié)點上,用于接收用戶的PVN請求,并基于所述用戶的PVN請求以及由各個資源節(jié)點的本地資源視圖所匯總的全局資源視圖生成PVN配置信息,并將所述PVN配置信息發(fā)送給多個PVN代理;多個PVN代理,分別布置于相應的資源節(jié)點上,用于接收所述PVN配置信息,根據(jù)所述PVN配置信息創(chuàng)建PVN網絡,并將相應資源節(jié)點的本地資源視圖上報給PVN服務器。
【專利說明】一種可編程虛擬網絡服務系統(tǒng)【技術領域】
[0001]本發(fā)明屬于網絡虛擬化【技術領域】,特別是一種可編程虛擬網絡服務系統(tǒng)。
【背景技術】
[0002]網絡虛擬化既是云計算發(fā)展的基礎,也是解決當前網絡“僵化”問題的可能途徑。在信息通信領域中,網絡是指由一組節(jié)點和鏈路組成的處理和傳遞信息的基礎設施。虛擬化則是一種綜合技術,它在系統(tǒng)中加入了一個虛擬化層,將下層的資源抽象成另一種形式的資源,隱藏物理資源的屬性和操作差異,從而以一種通用的、不受設備原始屬性限制的方式來處理或使用資源。在以IT為中心或廣義的觀點來看,網絡中節(jié)點是一種資源,因此廣義的網絡虛擬化包含計算、存儲、網絡、鏈路等資源的虛擬化;而以網絡為中心或狹義的觀點來看,節(jié)點主要完成分組的路由和交換,因此狹義的網絡虛擬化僅指負責路由和交換的網絡設備及網絡鏈路的虛擬化。
[0003]虛擬網絡(VN, Virtual Network)與物理網絡的概念相對應,是指一組虛擬節(jié)點和鏈路集合,它是底層物理網絡資源的一個子集。而支持多個虛擬網絡在相同物理網絡上共存的網絡環(huán)境,則稱之為網絡虛擬化環(huán)境(NVE, Network Virtualization Environment)。在NVE中,多個邏輯網絡或虛擬網絡可共享同一個底層物理網絡,不同的虛擬網絡可以采用不同的架構、協(xié)議,部署不同的應用和服務,從而在提高網絡資源利用率的同時,為網絡創(chuàng)新提供靈活的、可編程的網絡環(huán)境。
[0004]實現(xiàn)網絡實體的一對多虛擬化并不是新技術,常見的有VLAN(Virtual Local AreaNetwork)和 VPN (Virtual Private Network)。
[0005]VLAN把一個物理上的LAN劃分成多個邏輯上的LAN,每個VLAN是一個廣播域。VLAN內的主機間通信就和在一個LAN內一樣,而不同VLAN內的主機不能直接通信。VLAN的限制主要有三個方面,一是VLAN名字空間本身。802.1q的VLAN ID字段為12bit,使得單個二層交換域的VLAN數(shù)量限制在4096個以內(某些VLAN ID作為“well-known”被保留,進一步減少了可用數(shù)量)。云服務提供商需要在相同的底層物理基礎設施上支持不同的租戶,每一個租戶都需要在其虛擬的資源分片中創(chuàng)建多個L2/L3網絡,因而需要大量的L2層網絡。對于大規(guī)模的云服務提供商而言,VLAN數(shù)量是一個巨大的限制。第二個限制來自于部署VLAN的操作模式。盡管現(xiàn)有的VTP(VLAN Trunking Protocol)可以創(chuàng)建、分發(fā)和刪除VLAN,或通過修剪VLAN來達到優(yōu)化,但大多數(shù)網絡都禁用該功能。這意味著為了在交換機傳輸VLAN信息,需要手動協(xié)調網絡管理、云管理和租戶管理之間的配置,也就是說,為了增加新的VLAN網絡,需要改變傳輸基礎設施的配置,因而增加了系統(tǒng)的管理難度。第三,對于化數(shù)據(jù)中心來說,現(xiàn)有的VLAN在物理限制(如距離和部署)上過于嚴格,難以在多個數(shù)據(jù)中心實現(xiàn)跨越三層的靈活部署。
[0006] VRF (Virtual Routing Forwarding)是3層網絡虛擬化的一種,其中的物理路由器支持多個虛擬路由器實例,每個實例都運行自己的路由協(xié)議實例,維護自己的轉發(fā)表。和VLAN不同,VRF不會在報頭中使用標簽為每個分組指定具體的VRF。在每一跳都會根據(jù)輸入接口和幀的信息獲得適當?shù)腣RF。另外一個要求是,在數(shù)據(jù)包經過的端到端路徑中的每一個中轉路由器都需要配置一個VRF實例,以便能夠轉發(fā)該數(shù)據(jù)包。
[0007]由于VLAN或VRF模式存在缺陷,于是開始涌現(xiàn)出眾多創(chuàng)建虛擬網絡的新技術。其中大多數(shù)都是采用封裝和隧道技術,在同一個物理網絡上通過覆蓋來構建多個虛擬網絡拓撲。如虛擬可擴展LAN(VXLAN)是在一個3層網絡上借助MAC-1n-UDP封裝,疊加一個2層網絡來實現(xiàn)網絡虛擬。VXLAN網段是一個3層構建,可替代VLAN為數(shù)據(jù)中心的VM生成LAN網段。
[0008]與傳統(tǒng)的虛擬網絡相比,可編程虛擬網絡(Programmable Virtual Netowrk, PVN)更加強調網絡的可編程性。根據(jù)可編程的粒度劃分,可編程性由粗到細可分為模塊級、數(shù)據(jù)流級、數(shù)據(jù)包級和比特級可編程。其中模塊級可編程是指用戶可根據(jù)自己的需求將系統(tǒng)提供的功能模塊組合以實現(xiàn)不同的功能,如軟件可編程路由模塊click,其每個元素都實現(xiàn)了簡單的路由器功能,如分類、排隊、調度、轉發(fā)等,用戶可以對這些元素重新組織以定制功能。數(shù)據(jù)流級可編程指用戶可以元組的形式自定義數(shù)據(jù)流,并決定數(shù)據(jù)流的處理方式,如OpenFlow協(xié)議1.0就支持基于十元組流表的控制。數(shù)據(jù)包級可編程是在數(shù)據(jù)流編程的基礎上增加了對數(shù)據(jù)包格式的定制,如OpenFlow協(xié)議1.3中就允許用戶以OXM格式定義新的分組頭部。比特級可編程則可以針對鏈路中的每一比特實施控制,由于這種控制需要在物理層和鏈路層上實現(xiàn),需要特殊的硬件支持,目前還未見公開的實現(xiàn)。

【發(fā)明內容】

[0009]本發(fā)明實施方式提出一種可編程虛擬網絡服務系統(tǒng),以實現(xiàn)對虛擬網絡的管理和控制。
[0010]本發(fā)明實施方式的技術方案如下:
[0011]一種可編程虛擬網絡服務系統(tǒng),包括:可編程虛擬網絡PVN服務器和多個PVN代理:其中:
[0012]所述PVN服務器,布置于中心管理節(jié)點上,用于接收用戶的PVN請求,并基于所述用戶的PVN請求以及由各個資源節(jié)點的本地資源視圖所匯總的全局資源視圖生成PVN配置信息,并將所述PVN配置信息發(fā)送給所述多個PVN代理;
[0013]所述多個PVN代理,分別布置于相應的資源節(jié)點上,用于接收所述PVN配置信息,根據(jù)所述PVN配置信息創(chuàng)建PVN網絡,并將相應資源節(jié)點的本地資源視圖上報給PVN服務器;
[0014]所述PVN服務器包括用戶接口、PVN解析器、PVN映射器、網絡數(shù)據(jù)庫和PVN控制器;網絡數(shù)據(jù)庫,用于保存所述全局資源視圖;用戶接口,用于接收所述用戶的PVN請求;PVN解析器,用于解析所述PVN請求以獲取待占用的虛擬網絡資源;PVN映射器用于根據(jù)所述全局資源視圖將所述待占用的虛擬網絡資源映射到實際占用物理資源,并將映射結果發(fā)送給PVN控制器;PVN控制器基于所述映射結果生成所述配置信息。
[0015]所述PVN控制器包括全局資源監(jiān)控模塊;所述PVN代理包括本地資源監(jiān)控模塊;
[0016]所述本地資源監(jiān)控模塊,用于實時監(jiān)控相應的資源節(jié)點的本地資源視圖,并上報到所述全局資源監(jiān)控模塊;
[0017]所述全局資源監(jiān)控模塊,用于基于所述本地資源視圖匯總出全局資源視圖,并將所述全局資源視圖存儲到相應的網絡數(shù)據(jù)庫。
[0018]所述PVN控制器還包括中心OpenFlow控制器;所述PVN代理還包括本地OpenFlow交換機;
[0019]所述中心OpenFlow控制器,用于基于控制命令向本地OpenFlow交換機下發(fā)OpenFlow 流表;
[0020]本地OpenFlow交換機,用于根據(jù)所述流表執(zhí)行對應于該本地OpenFlow交換機的資源節(jié)點的流量轉發(fā)。
[0021 ] 所述控制命令包括下列中的至少一個:
[0022]多個PVN網絡之間的流量隔離控制命令;
[0023]PVN網絡在PVN代理之間的遷徙命令;
[0024]PVN網絡的拓撲發(fā)現(xiàn)命令。
[0025]從上述技術方案可以看出,在本發(fā)明實施方式中,PVN服務器,布置于中心管理節(jié)點上,用于接收用戶的PVN請求,并基于所述用戶的PVN請求以及由各個資源節(jié)點的本地資源視圖所匯總的全局資源視圖生成PVN配置信息,并將所述PVN配置信息發(fā)送給所述多個PVN代理;所述多個PVN代理,分別布置于相應的資源節(jié)點上,用于接收所述PVN配置信息,根據(jù)所述PVN配置信息創(chuàng)建PVN網絡,并將相應資源節(jié)點的本地資源視圖上報給PVN服務器;PVN服務器包括用戶接口、PVN解析器、PVN映射器、網絡數(shù)據(jù)庫和PVN控制器;網絡數(shù)據(jù)庫,用于保存所述全局資源視圖;用戶接口,用于接收所述用戶的PVN請求;PVN解析器,用于解析所述PVN請求以獲取待占用的虛擬網絡資源;PVN映射器用于根據(jù)所述全局資源視圖將所述待占用的虛擬網絡資源映射到實際占用物理資源,并將映射結果發(fā)送給PVN控制器;PVN控制器基于所述映射結果生成所述配置信息?,F(xiàn)有的云服務系統(tǒng)主要為用戶提供穩(wěn)定的網絡的服務,如路由服務、防火墻服務、負載均衡服務,并沒有為用戶提供自定義網絡的方法和接口。本專利中可以將虛擬OpenFlow交換機和控制器完全交由用戶控制,用戶可通過對OpenFlow控制器的編程實現(xiàn)對虛擬網絡的管理和控制,從而擴展了現(xiàn)有的云服務。由此可見,本發(fā)明為用戶提供了完全可編程的虛擬網絡抽象。
[0026]另外,本發(fā)明的中心OpenFlow控制器基于控制命令向本地OpenFlow交換機下發(fā)OpenFlow流表;本地OpenFlow交換機根據(jù)流表執(zhí)行對應于該本地OpenFlow交換機的資源節(jié)點的流量轉發(fā),因此本發(fā)明采用了基于軟件定義網絡(SDN)的虛擬網絡管理機制。SDN具有在邏輯上的集中式控制和對上層應用的感知能力,因此可以將網絡控制器與SDN結合起來,充分利用SDN在控制面與數(shù)據(jù)面分離的架構優(yōu)勢,實現(xiàn)高層服務與底層資源的解耦,從而本發(fā)明改進了云服務系統(tǒng)中對虛擬網絡的管理機制。
[0027]與現(xiàn)有的云網絡架構相比,采用本發(fā)明的基于SDN的IaaS云網絡可以動態(tài)感知底層網絡設備的狀態(tài)變化,并將變化實時反饋給上層的應用,由于上層應用擁有全局的網絡視圖,因此可以根據(jù)預定的策略或用戶需求動態(tài)地配置和調度底層的網絡資源,從而滿足云網絡服務動態(tài)性的要求。
【專利附圖】

【附圖說明】
[0028]圖1為根據(jù)本發(fā)明可編程虛擬網絡服務系統(tǒng)的結構圖。
[0029]圖2為本發(fā)明的可編程虛擬網絡抽象模型示意圖。[0030]圖3為本發(fā)明的PVN實例邏輯部署架構示意圖;
[0031]圖4為本發(fā)明的PVN服務器內部組件示意圖;
[0032]圖5為本發(fā)明的PVN主要API示意圖;
[0033]圖6為本發(fā)明的PVN代理內部組件示意圖;
[0034]圖7為本發(fā)明的PVN系統(tǒng)運彳丁不意圖;
[0035]圖8為本發(fā)明的創(chuàng)建虛擬接口的流程示意圖;
[0036]圖9為本發(fā)明的PVN控制器的結構圖。
[0037]圖10為本發(fā)明的網絡數(shù)據(jù)庫存儲示意圖。
【具體實施方式】
[0038]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明作進一步的詳細描述。
[0039]圖1為根據(jù)本發(fā)明可編程虛擬網絡服務系統(tǒng)的結構圖。
[0040]如圖1所示,可編程虛擬網絡服務系統(tǒng)包括可編程虛擬網絡(PVN)服務器和多個PVN代理;其中:
[0041]PVN服務器,布置于中心管理節(jié)點上,用于接收用戶的PVN請求,并基于所述用戶的PVN請求以及由各個資源節(jié)點的本地資源視圖所匯總的全局資源視圖生成PVN配置信息,并將所述PVN配置信息發(fā)送給所述多個PVN代理;
[0042]多個PVN代理,分別布置于相應的資源節(jié)點上,用于接收所述PVN配置信息,根據(jù)所述PVN配置信息創(chuàng)建PVN網絡,并將相應資源節(jié)點的本地資源視圖上報給PVN服務器;
[0043]PVN服務器包括用戶接口、PVN解析器、PVN映射器、網絡數(shù)據(jù)庫和PVN控制器;網絡數(shù)據(jù)庫,用于保存所述全局資源視圖;用戶接口,用于接收所述用戶的PVN請求;PVN解析器,用于解析所述PVN請求以獲取待占用的虛擬網絡資源;PVN映射器用于根據(jù)所述全局資源視圖將所述待占用的虛擬網絡資源映射到實際占用物理資源,并將映射結果發(fā)送給PVN控制器;PVN控制器基于所述映射結果生成所述配置信息。
[0044]在一個實施方式中,PVN控制器包括全局資源監(jiān)控模塊;所述PVN代理包括本地資源監(jiān)控模塊;
[0045]所述本地資源監(jiān)控模塊,用于實時監(jiān)控相應的資源節(jié)點的本地資源視圖,并上報到所述全局資源監(jiān)控模塊;
[0046]所述全局資源監(jiān)控模塊,用于基于所述本地資源視圖匯總出全局資源視圖,并將所述全局資源視圖存儲到網絡數(shù)據(jù)庫。
[0047]在一個實施方式中,所述PVN控制器還包括中心OpenFlow控制器;所述PVN代理還包括本地OpenFlow交換機;
[0048]所述中心OpenFlow控制器,用于基于控制命令向本地OpenFlow交換機下發(fā)OpenFlow 流表;
[0049]本地OpenFlow交換機,用于根據(jù)所述流表執(zhí)行對應于該本地OpenFlow交換機的資源節(jié)點的流量轉發(fā)。
[0050]在一個實施方式中,所述控制命令包括下列中的至少一個:
[0051]多個PVN網絡之間的流量隔離控制命令;[0052]PVN網絡在PVN代理之間的遷徙命令;
[0053]PVN網絡的拓撲發(fā)現(xiàn)命令,等等。
[0054]本發(fā)明提供了一種可編程虛擬網絡服務系統(tǒng)以及構建可編程虛擬網絡服務系統(tǒng)的方法。利用本發(fā)明可以在一個基礎設施云平臺中為用戶創(chuàng)建一個可編程的虛擬網絡分片,即一個包含了虛擬OpenFlow交換機、虛擬鏈路、虛擬控制器、虛擬路由器、虛擬二層交換機和虛擬機的資源容器。
[0055]本發(fā)明中,首先定義了可編程虛擬網絡的邏輯抽象,然后提出了可編程虛擬網絡服務系統(tǒng)的系統(tǒng)結構和功能,而且詳細披露了可編程虛擬網絡服務系統(tǒng)的運行流程。其中:
[0056]一、可編程虛擬網絡的邏輯抽象:
[0057]本發(fā)明中可編程虛擬網絡是包含了一組可編程節(jié)點以及連接它們的鏈路的邏輯資源切片或容器。具體而言,包含三種資源類型,即節(jié)點資源、鏈路資源和邏輯資源。具體地,節(jié)點資源包括虛擬服務器、虛擬二層網絡交換機、虛擬路由器、虛擬OpenFlow交換機、虛擬OpenFlow控制器,等等。鏈路資源包括節(jié)點內鏈路和跨節(jié)點鏈路。邏輯資源包括虛擬接口、虛擬端口、虛擬子網、浮動IP,等等。
[0058]資源之間的關系通過資源的屬性來體現(xiàn),如虛擬服務器資源有虛擬接口屬性,而虛擬接口資源又有IP地址屬性,一條虛擬鏈路擁有一對虛擬接口或虛擬端口,一臺虛擬OpenFlow交換機會指定一臺虛擬OpenFlow控制器等。
[0059]如圖2所示,本發(fā)明的可編程虛擬網絡PVN抽象包括以下元素:
[0060]虛擬服務器:即一個虛擬機(VM, Virtual Machine)實例,用戶可在其上安裝和配置自定義的操作系統(tǒng)和軟件。
[0061]虛擬二層網絡交換機:即一個擁有二層交換能力的虛擬交換機(vL2S,VirtualL2Switch),用戶可以配置其端口。
[0062]虛擬路由器:即一個擁有三層交換能力的虛擬路由器(vRouter, VirtualRouter),用戶可以配置其路由表。
[0063]虛擬OpenFlow交換機:即一個支持OpenFlow協(xié)議的虛擬交換機(vOFS, VirtualOpenFlow Switch),用戶可以設置其OpenFlow控制器、配置其流表。
[0064]虛擬OpenFlow控制器:即一個安裝了 OpenFlow控制器的虛擬服務器(vOFC, Virtual OpenFlow Controller),用戶可以安裝自定義的控制軟件。
[0065]虛擬接口:即虛擬服務器上的一個虛擬網絡接口卡(vNIC, Virtual NetworkInterface Card)。
[0066]虛擬端口:即虛擬交換設備上的一個虛擬網絡端口(vPort, Virtual Port)。
[0067]虛擬子網:即一段邏輯地址空間(vSubnet, Virtual Subnet),它既可以是IPv4地址,也可以是IPv6地址,甚至是一段非IP地址段。
[0068]浮動IP:即一組用于公網訪問的全局IPv4地址(FIP,F(xiàn)loating IP),浮動IP用于用戶從外部訪問虛擬網絡中的虛擬服務器。
[0069]虛擬鏈路:即連接虛擬接口與虛擬端口或虛擬端口之間的一條邏輯鏈路(vLink, Virtual Link),用戶可配置虛擬鏈路的帶寬、延遲、抖動等屬性。虛擬鏈路可分為兩種,一種是節(jié)點內鏈路,即鏈路所連接的虛擬節(jié)點位于同一個物理機中;另一種是跨節(jié)點鏈路,即鏈路所連接的虛擬資源位于不同的物理機中。
[0070]資源之間的關系通過資源的屬性來體現(xiàn),如虛擬服務器資源有虛擬接口屬性,而虛擬接口資源又有IP地址屬性,一條虛擬鏈路擁有一對虛擬接口或虛擬端口,一臺虛擬OpenFlow交換機會指定一臺虛擬OpenFlow控制器等。
[0071]圖3為本發(fā)明的PVN實例邏輯部署架構示意圖。
[0072]如圖3所示,一個PVN實例可由抽象模型中的元素以及元素的屬性來描述。該PVN中包含兩臺虛擬OpenFlow交換機(vOFS Al, A2)、一臺虛擬OpenFlow控制器(vOFC A)、兩臺虛擬二層交換機(vL2S Al, A2)、一臺虛擬路由器(vRouter Al)和五臺虛擬機(VM Al?A5)。
[0073]如圖3所示,每個虛擬機有一個虛擬接口,兩個vOFS各有三個虛擬端口,且同時連接到控制器vOFC A上,兩個vL2S各有兩個虛擬端口,vRouter Al有三個虛擬端口。該PVN中共有9條虛擬鏈路,分別連接9對虛擬接口和端口。此外,用戶還可以為此可編程虛擬網絡配置子網地址,給VM加載預定制的操作系統(tǒng),在vOFS上添加流表,在vL2S和vRouter上設定路由,以及設置鏈路的帶寬、延遲、丟包率等參數(shù)。
[0074]二、可編程虛擬網絡服務系統(tǒng)的結構和功能:
[0075]本發(fā)明的PVN服務系統(tǒng)包括兩種節(jié)點,一種是管理節(jié)點,用于管理整個系統(tǒng)中的資源,另一種是資源節(jié)點,用于提供可編程的虛擬網絡資源。
[0076]本發(fā)明的PVN服務系統(tǒng)由一個PVN服務器和一組PVN代理組成。其中,PVN服務器主要是根據(jù)用戶的PVN請求來分配資源和配置網絡,以創(chuàng)建隔離的PVN。PVN代理則接收PVN服務器的命令或請求,以創(chuàng)建虛擬資源、配置本地網絡、返回狀態(tài)信息。
[0077]如圖1所示,PVN服務系統(tǒng)由一個中心管理節(jié)點和一組資源節(jié)點組成。中心管理節(jié)點是通過PVN服務器來管理整個系統(tǒng)中的資源和服務。PVN服務器擁有底層基礎設施的完整視圖,響應用戶的請求并負責建立和管理PVN。資源節(jié)點是PVN元素的物理承載者,它通過PVN代理來執(zhí)行和響應PVN服務器發(fā)送的命令和請求,以創(chuàng)建PVN元素或返回物理資源的狀態(tài)。
[0078]需要說明的是,圖2所示的PVN服務系統(tǒng)是一種邏輯結構,在實際部署時,應綜合考慮使用的場景、擁有的資源等因素,采用靈活的方式來部署。如最簡單的All-1n-one方式就是將PVN器和PVN代理部署到同一個物理節(jié)點上。而在考慮到系統(tǒng)的性能、可擴展性和高可用性等因素時,中心管理節(jié)點可能會部署在多個物理節(jié)點上且需要實現(xiàn)邏輯統(tǒng)一、負載均衡、備份恢復等高級特性。
[0079]PVN服務器包括用戶接口、PVN解析器、PVN映射器、網絡數(shù)據(jù)庫和PVN控制器;網絡數(shù)據(jù)庫,用于保存所述全局資源視圖;用戶接口,用于接收所述用戶的PVN請求;PVN解析器,用于解析所述PVN請求以獲取待占用的虛擬網絡資源;PVN映射器用于根據(jù)所述全局資源視圖將所述待占用的虛擬網絡資源映射到實際占用物理資源,并將映射結果發(fā)送給PVN控制器;PVN控制器基于所述映射結果生成配置信息。
[0080]示范性地,PVN服務器的內部組件及其作用關系如圖4所示。
[0081 ] 如圖4所示,PVN服務器包括Open API接口、網絡數(shù)據(jù)庫、PVN解析器、PVN映射器、PVN控制器和中心OpenFlow控制器組成。其中:
[0082]Open API接口,用于接收用戶的PVN請求。網絡數(shù)據(jù)庫用于保存全局資源視圖,具體包括存放物理網絡的拓撲和狀態(tài)信息、可用資源信息、解析后的PVN元素信息、以及虛擬網絡和物理網絡的映射信息,等等。
[0083]PVN解析器負責從用戶的PVN請求中解析出PVN元素(如vOFS、vOFC、VM等)并存入網絡數(shù)據(jù)庫。
[0084]PVN服務器還可以包括拓撲監(jiān)控器。拓撲監(jiān)控器用于監(jiān)控物理網絡和收集動態(tài)的可用資源信息(如CPU、內存、硬盤空間和鏈路帶寬等)。
[0085]PVN服務器還可以包括資源管理器。資源管理器負責收集靜態(tài)的網絡信息(如整個數(shù)據(jù)中心的網絡拓撲和節(jié)點配置信息),并在節(jié)點資源缺乏或節(jié)點資源利用率低時調度物理節(jié)點,例如啟動新節(jié)點或將虛擬資源從節(jié)點A遷移到節(jié)點B并將關閉節(jié)點A或將其置于低功耗模式。
[0086]PVN映射器負責將用戶請求的PVN元素映射到物理網絡中,并調用PVN控制器通過PVN插件完成PVN的實例化。PVN插件在創(chuàng)建或管理PVN元素時會與中心OpenFlow控制器交互,以實現(xiàn)拓撲發(fā)現(xiàn)、流量隔離、拓撲遷移等功能。
[0087]圖5展示了 PVN元素管理的主要Open API接口,包括創(chuàng)建、列出、更新、刪除、顯示細節(jié)、綁定、關聯(lián)等操作。
[0088]以創(chuàng)建操作為例,Open API接口包含創(chuàng)建虛擬機、創(chuàng)建虛擬OpenFlow交換機、創(chuàng)建虛擬二層交換機、創(chuàng)建虛擬路由器、創(chuàng)建虛擬端口、創(chuàng)建子網、綁定端口、關聯(lián)子網等操作。
[0089]圖6為本發(fā)明的PVN代理內部組件示意圖。
[0090]如圖6所示,PVN代理包括虛擬機管理器、虛擬網絡管理器、虛擬鏈路管理器、本地OpenFlow交換機和本地資源監(jiān)控器。其中:
[0091]虛擬機管理器負責虛擬機的創(chuàng)建、啟動、關閉、掛起、重啟等操作。
[0092]虛擬網絡管理器負責虛擬網絡設備(如vOFS、vL2S、vRouter)的創(chuàng)建、配置、刪除等操作。
[0093]鏈路管理器負責在節(jié)點之間創(chuàng)建、配置和刪除鏈路。本地資源監(jiān)控器則監(jiān)控本地物理機和虛擬資源的狀態(tài)情況,并根據(jù)PVN服務器的請求或系統(tǒng)配置向PVN服務器發(fā)送所收集的監(jiān)控信息。
[0094]為了實現(xiàn)跨物理機的虛擬鏈路,所有的虛擬網絡設備都通過一個本地OpenFlow交換機連接到物理網卡,所有的本地OpenFlow交換機都由PVN服務器的中心OpenFlow控制器所控制。
[0095]三、PVN服務系統(tǒng)運行流程:
[0096]PVN服務系統(tǒng)運行流程如圖7所示,在系統(tǒng)啟動時,系統(tǒng)管理員通過資源管理器配置物理網絡,將靜態(tài)的物理網絡拓撲信息存入網絡數(shù)據(jù)庫中。拓撲監(jiān)控器會監(jiān)控和收集動態(tài)的可用資源信息并將其存入網絡數(shù)據(jù)庫的可用資源信息表中。對于每個PVN請求,請求解析器將從請求塊中提取出PVN的虛擬網絡元素,并將這些信息存入到數(shù)據(jù)庫的PVN元素表中。PVN映射器將從虛擬網絡元素表和可用資源信息表中獲取輸入,執(zhí)行預設的虛擬網絡映射算法,計算出虛擬-物理元素的映射信息,然后調用PVN控制器通過PVN插件完成PVN的實例化。
[0097]下面以創(chuàng)建虛擬機為例對本發(fā)明實施方式進行描述。
[0098]圖8為本發(fā)明的創(chuàng)建虛擬接口的流程示意圖。
[0099]如圖8所示,計算控制器首先選擇某個計算代理并請求創(chuàng)建VM,計算代理在收到請求后,除了完成資源的初始化、加載鏡像等操作,還需向網絡控制器請求連接網絡的端口。網絡控制器查詢VM所在的虛擬網絡并選擇對應的SDN代理來創(chuàng)建端口,SDN負責配置本地網絡設備并通知SDN控制節(jié)點,SDN控制節(jié)點在收到通知后更新全局的端口信息并在網絡設備上根據(jù)預定的規(guī)則添加流表,最后返回配置成功的通知。計算代理在收到返回的端口后,將其與VM的虛擬接口綁定,向計算控制器返回創(chuàng)建的VM。由于與VM關聯(lián)的網絡設備由SDN控制節(jié)點來控制,因此系統(tǒng)可通過控制網絡設備來對虛擬機的流量進行管理。
[0100]需要說明的是,系統(tǒng)對PVN的管理并不是靜態(tài)的,而是動態(tài)的,一方面用戶請求是動態(tài)到達的,PVN的生存時間是隨機的,PVN本身是彈性可擴展的,另一方面底層物理資源可以動態(tài)地加入或離開系統(tǒng),也可能由于斷電或物理故障導致資源不可訪問,且物理資源的位置、服務提供能力、負載等也會隨著時間的推移而動態(tài)變化。例如,當一個PVN釋放時,有可能導致某個物理服務器上的負載過低,這時就會觸發(fā)資源管理器進行資源的遷移,以保證系統(tǒng)的資源利用率。
[0101]由此可見,本發(fā)明首先擴展了現(xiàn)有的云服務,為用戶提供了完全可編程的虛擬網絡抽象?,F(xiàn)有的云服務系統(tǒng)主要為用戶提供穩(wěn)定的網絡的服務,如路由服務、防火墻服務、負載均衡服務,并沒有為用戶提供自定義網絡的方法和接口。本專利中將虛擬OpenFlow交換機和控制器完全交由用戶控制,用戶可通過對OpenFlow控制器的編程實現(xiàn)對虛擬網絡的管理和控制。
[0102]另外,本發(fā)明改進了云服務系統(tǒng)中對虛擬網絡的管理機制。本發(fā)明的中心OpenFlow控制器基于控制命令向本地OpenFlow交換機下發(fā)OpenFlow流表;本地OpenFlow交換機根據(jù)流表執(zhí)行對應于該本地OpenFlow交換機的資源節(jié)點的流量轉發(fā),因此本發(fā)明采用了基于軟件定義網絡(SDN)的虛擬網絡管理機制,SDN具有在邏輯上的集中式控制和對上層應用的感知能力,因此可以將網絡控制器與SDN結合起來,充分利用SDN在控制面與數(shù)據(jù)面分離的架構優(yōu)勢,實現(xiàn)高層服務與底層資源的解耦。
[0103]與現(xiàn)有的云網絡架構相比,采用本發(fā)明的基于SDN的IaaS云網絡可以動態(tài)感知底層網絡設備的狀態(tài)變化,并將變化實時反饋給上層的應用,由于上層應用擁有全局的網絡視圖,因此可以根據(jù)預定的策略或用戶需求動態(tài)地配置和調度底層的網絡資源,從而滿足云網絡服務動態(tài)性的要求。
[0104]基于本專利所提供的方法,可以實現(xiàn)一種基于云管理系統(tǒng)的可編程虛擬網絡服務系統(tǒng),并進而實現(xiàn)可編程的網絡試驗平臺,以為研究人員提供實驗服務。
[0105]可以通過指令或指令集存儲的儲存方式將本發(fā)明實施方式所提出的創(chuàng)建可編程虛擬網絡服務系統(tǒng)的方法存儲在各種存儲介質上。這些存儲介質包括但是不局限于:軟盤、光盤、DVD、硬盤、閃存、U盤、CF卡、SD卡、MMC卡、SM卡、記憶棒(Memory Stick)、xD卡等。
[0106]另外,還可以將本發(fā)明實施方式所提出的創(chuàng)建可編程虛擬網絡服務系統(tǒng)的方法應用到基于閃存(Nand flash)的存儲介質中,比如U盤、CF卡、SD卡、SDHC卡、MMC卡、SM卡、記憶棒、xD卡等。
[0107]綜上所述,在本發(fā)明實施方式中,PVN服務器,布置于中心管理節(jié)點上,用于接收用戶的PVN請求,并基于所述用戶的PVN請求以及由各個資源節(jié)點的本地資源視圖所匯總的全局資源視圖生成PVN配置信息,并將所述PVN配置信息發(fā)送給所述多個PVN代理;所述多個PVN代理,分別布置于相應的資源節(jié)點上,用于接收所述PVN配置信息,根據(jù)所述PVN配置信息創(chuàng)建PVN網絡,并將相應資源節(jié)點的本地資源視圖上報給PVN服務器;PVN服務器包括用戶接口、PVN解析器、PVN映射器、網絡數(shù)據(jù)庫和PVN控制器;網絡數(shù)據(jù)庫,用于保存所述全局資源視圖;用戶接口,用于接收所述用戶的PVN請求;PVN解析器,用于解析所述PVN請求以獲取待占用的虛擬網絡資源;PVN映射器用于根據(jù)所述全局資源視圖將所述待占用的虛擬網絡資源映射到實際占用物理資源,并將映射結果發(fā)送給PVN控制器;PVN控制器基于所述映射結果生成所述配置信息。
[0108]由此可見,本發(fā)明為用戶提供了完全可編程的虛擬網絡抽象。現(xiàn)有的云服務系統(tǒng)主要為用戶提供穩(wěn)定的網絡的服務,如路由服務、防火墻服務、負載均衡服務,并沒有為用戶提供自定義網絡的方法和接口。本專利中可以將虛擬OpenFlow交換機和控制器完全交由用戶控制,用戶可通過對OpenFlow控制器的編程實現(xiàn)對虛擬網絡的管理和控制,從而擴展了現(xiàn)有的云服務。
[0109]另外,本發(fā)明的中心OpenFlow控制器基于控制命令向本地OpenFlow交換機下發(fā)OpenFlow流表;本地OpenFlow交換機根據(jù)流表執(zhí)行對應于該本地OpenFlow交換機的資源節(jié)點的流量轉發(fā),因此本發(fā)明采用了基于軟件定義網絡(SDN)的虛擬網絡管理機制,SDN具有在邏輯上的集中式控制和對上層應用的感知能力,因此可以將網絡控制器與SDN結合起來,充分利用SDN在控制面與數(shù)據(jù)面分離的架構優(yōu)勢,實現(xiàn)高層服務與底層資源的解耦,從而本發(fā)明改進了云服務系統(tǒng)中對虛擬網絡的管理機制。
[0110]與現(xiàn)有的云網絡架構相比,采用本發(fā)明的基于SDN的IaaS云網絡可以動態(tài)感知底層網絡設備的狀態(tài)變化,并將變化實時反饋給上層的應用,由于上層應用擁有全局的網絡視圖,因此可以根據(jù)預定的策略或用戶需求動態(tài)地配置和調度底層的網絡資源,從而滿足云網絡服務動態(tài)性的要求。
[0111]以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種可編程虛擬網絡服務系統(tǒng),其特征在于,包括:可編程虛擬網絡PVN服務器和多個PVN代理;其中: 所述PVN服務器,布置于中心管理節(jié)點上,用于接收用戶的PVN請求,并基于所述用戶的PVN請求以及由各個資源節(jié)點的本地資源視圖所匯總的全局資源視圖生成PVN配置信息,并將所述PVN配置信息發(fā)送給所述多個PVN代理; 所述多個PVN代理,分別布置于相應的資源節(jié)點上,用于接收所述PVN配置信息,根據(jù)所述PVN配置信息創(chuàng)建PVN網絡,并將相應資源節(jié)點的本地資源視圖上報給PVN服務器; 所述PVN服務器包括用戶接口、PVN解析器、PVN映射器、網絡數(shù)據(jù)庫和PVN控制器;其中網絡數(shù)據(jù)庫,用于保存所述全局資源視圖;用戶接口,用于接收所述用戶的PVN請求;PVN解析器,用于解析所述PVN請求以獲取待占用的虛擬網絡資源;PVN映射器用于根據(jù)所述全局資源視圖將所述待占用的虛擬網絡資源映射到實際占用物理資源,并將映射結果發(fā)送給PVN控制器;PVN控制器基于所述映射結果生成所述配置信息。
2.根據(jù)權利要求1所述的可編程虛擬網絡服務系統(tǒng),其特征在于,所述PVN控制器包括全局資源監(jiān)控模塊;所述PVN代理包括本地資源監(jiān)控模塊; 所述本地資源監(jiān)控模塊,用于實時監(jiān)控相應的資源節(jié)點的本地資源視圖,并上報到所述全局資源監(jiān)控模塊; 所述全局資源監(jiān)控模塊,用于基于所述本地資源視圖匯總出全局資源視圖,并將所述全局資源視圖存儲到所述網絡數(shù)據(jù)庫。
3.根據(jù)權利要求2所述的可編程虛擬網絡服務系統(tǒng),其特征在于,所述PVN控制器還包括中心OpenFlow控制器;所述PVN代理還包括本地OpenFlow交換機; 所述中心OpenFlow控制器,用于基于控制命令向本地OpenFlow交換機下發(fā)OpenFlow流表; 本地OpenFlow交換機,用于根據(jù)所述流表執(zhí)行對應于該本地OpenFlow交換機的資源節(jié)點的流量轉發(fā)。
4.根據(jù)權利要求3所述的可編程虛擬網絡服務系統(tǒng),其特征在于,所述控制命令包括下列中的至少一個: 多個PVN網絡之間的流量隔離控制命令; PVN網絡在PVN代理之間的遷徙命令; PVN網絡的拓撲發(fā)現(xiàn)命令。
【文檔編號】H04L29/08GK103997513SQ201410160210
【公開日】2014年8月20日 申請日期:2014年4月21日 優(yōu)先權日:2014年4月21日
【發(fā)明者】林昭文, 梁軍學, 李健, 牛紅霞, 鄭超炯, 馬嚴, 黃小紅, 趙欽, 吳軍 申請人:北京郵電大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1