一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)及優(yōu)化方法【專利摘要】本發(fā)明公開了一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),云計算虛擬化網(wǎng)絡(luò)架構(gòu)代號為NNetServer,NNetServer主要由網(wǎng)絡(luò)服務(wù)接口與網(wǎng)絡(luò)服務(wù)代理組成,NNetServer守護(hù)進(jìn)程公共虛擬化網(wǎng)絡(luò)服務(wù)API,并且根據(jù)用戶的需求動態(tài)配置虛擬化網(wǎng)絡(luò)代理,本發(fā)明還公開了一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法,在計算節(jié)點上收集虛擬機(jī)的信息,當(dāng)一個虛擬機(jī)已經(jīng)綁定好浮動ip后,在虛擬路由執(zhí)行過的規(guī)則中找到與浮動IP對應(yīng)的DNAT規(guī)則,在此虛擬機(jī)的包裝鏈中,修改相應(yīng)的SNAT規(guī)則,并添加已綁定的浮動IP的SNAT規(guī)則,并查看此鏈中的TCP與ICMP的規(guī)則是否允許數(shù)據(jù)的流出和流入,本發(fā)明解決了現(xiàn)有技術(shù)中存在的租戶無法在管理控制臺中去控制云計算中的虛擬網(wǎng)絡(luò)的問題?!緦@f明】一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)及優(yōu)化方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明屬于網(wǎng)絡(luò)【
技術(shù)領(lǐng)域:
】,涉及一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),還涉及一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法?!?br>背景技術(shù):
】[0002]隨著云計算技術(shù)的發(fā)展,云計算中的網(wǎng)絡(luò)虛擬化以及租戶對于網(wǎng)絡(luò)拓?fù)涞目刂茩?quán)已經(jīng)不能滿足需求,在過去的網(wǎng)絡(luò)虛擬架構(gòu)中,網(wǎng)絡(luò)管理組件存在于每一個計算節(jié)點上,還不是一個獨立的服務(wù),租戶無法在管理控制臺中去控制云計算中的虛擬網(wǎng)絡(luò),當(dāng)租戶想為自己的虛擬機(jī)進(jìn)行網(wǎng)絡(luò)的各種操作時,在傳統(tǒng)的網(wǎng)絡(luò)虛擬架構(gòu)的控制臺中是無法實現(xiàn)的?!?br/>發(fā)明內(nèi)容】[0003]本發(fā)明的目的是提供一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),解決了現(xiàn)有技術(shù)中存在的租戶無法在管理控制臺中去控制云計算中的虛擬網(wǎng)絡(luò)的問題。[0004]本發(fā)明的另一目的是提供一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法。[0005]本發(fā)明所采用的技術(shù)方案是,一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),云計算虛擬化網(wǎng)絡(luò)架構(gòu)代號為NNetServer,NNetServer主要由網(wǎng)絡(luò)服務(wù)接口與網(wǎng)絡(luò)服務(wù)代理組成。[0006]本發(fā)明的特點還在于,[0007]網(wǎng)絡(luò)服務(wù)接口是指:網(wǎng)絡(luò)服務(wù)接口提供組件調(diào)用的標(biāo)準(zhǔn)方法,主要方法包括創(chuàng)建一個虛擬網(wǎng)絡(luò)、刪除一個虛擬網(wǎng)絡(luò)、創(chuàng)建一個虛擬端口、刪除一個虛擬端口。[0008]網(wǎng)絡(luò)服務(wù)代理是指vSwitch代理、DHCP代理、L3代理、元數(shù)據(jù)代理。[0009]vSwitch代理是指運行在每一個虛擬機(jī)管理程序來執(zhí)行本地的vswitch配置。[0010]DHCP代理是指,為虛擬網(wǎng)絡(luò)提供DHCP服務(wù)器。[0011]L3代理是指在虛擬網(wǎng)絡(luò)上的虛擬機(jī)提供L3/NAT轉(zhuǎn)發(fā)到外部網(wǎng)路訪問。[0012]元數(shù)據(jù)代理是指:實現(xiàn)服務(wù)元數(shù)據(jù)標(biāo)準(zhǔn)化。[0013]本發(fā)明所采用的另一技術(shù)方案是,一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法,具體按照以下步驟實施:[0014]步驟1、管理員在虛擬機(jī)所在的物理節(jié)點上收集虛擬機(jī)的信息,包括虛擬網(wǎng)絡(luò)的id號,虛擬路由的id號,虛擬機(jī)的id號,虛擬機(jī)所對應(yīng)的虛擬網(wǎng)卡的id號,在虛擬路由上執(zhí)行過的iptables規(guī)則,在計算節(jié)點中iptables的所有包裝鏈的信息;[0015]步驟2、外部網(wǎng)絡(luò)通過浮動IP訪問步驟I中虛擬機(jī),將虛擬機(jī)與浮動ip綁定;[0016]步驟3、在虛擬路由執(zhí)行過的規(guī)則中找到與步驟2的浮動IP對應(yīng)的目的地址轉(zhuǎn)換規(guī)則:DNAT規(guī)則,在這個虛擬機(jī)的包裝鏈中,修改相應(yīng)的源地址轉(zhuǎn)換規(guī)則:SNAT規(guī)則;[0017]步驟4、將步驟3的SNAT規(guī)則添加到所述步驟2中已綁定的浮動IP,并查看步驟3中包裝鏈中的TCP與ICMP的規(guī)則是否允許數(shù)據(jù)的流出和流入。[0018]步驟5、權(quán)利要求1中網(wǎng)絡(luò)服務(wù)代理對步驟4中的規(guī)則進(jìn)行控制,使用戶能夠在管理控制臺中控制云計算中的虛擬網(wǎng)絡(luò),并且根據(jù)用戶的需求動態(tài)配置虛擬化網(wǎng)絡(luò)代理。[0019]本發(fā)明的有益效果是,一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法,可以使用戶可以定義虛擬網(wǎng)絡(luò)、創(chuàng)建網(wǎng)絡(luò)端口、綁定到虛擬機(jī),真正實現(xiàn)網(wǎng)絡(luò)與虛擬機(jī)分離?!緦@綀D】【附圖說明】[0020]圖1是本發(fā)明一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的結(jié)構(gòu)圖;[0021]圖2是本發(fā)明一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法流程圖。【具體實施方式】[0022]下面結(jié)合附圖和【具體實施方式】對本發(fā)明進(jìn)行詳細(xì)說明。[0023]本發(fā)明一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),如圖1所示,云計算虛擬化網(wǎng)絡(luò)架構(gòu)代號為NNetServer,它是Liunx—進(jìn)程服務(wù),NNetServer主要由網(wǎng)絡(luò)服務(wù)接口與網(wǎng)絡(luò)服務(wù)代理組成,網(wǎng)絡(luò)服務(wù)接口是指:網(wǎng)絡(luò)服務(wù)接口提供組件調(diào)用的標(biāo)準(zhǔn)方法,主要方法包括創(chuàng)建一個虛擬網(wǎng)絡(luò)、刪除一個虛擬網(wǎng)絡(luò)、創(chuàng)建一個虛擬端口、刪除一個虛擬端口,網(wǎng)絡(luò)服務(wù)代理是指vSwitch代理、DHCP代理、L3代理、元數(shù)據(jù)代理,vSwitch代理運行在每一個虛擬機(jī)管理程序來執(zhí)行本地的vswitch配置,DHCP代理為虛擬網(wǎng)絡(luò)提供DHCP服務(wù)器,L3代理是指在虛擬網(wǎng)絡(luò)上的虛擬機(jī)提供L3/NAT轉(zhuǎn)發(fā)到外部網(wǎng)路訪問,元數(shù)據(jù)代理是指:實現(xiàn)服務(wù)元數(shù)據(jù)標(biāo)準(zhǔn)化。云計算虛擬化網(wǎng)絡(luò)架構(gòu),獨立為一個服務(wù)進(jìn)程,代號iNNetServer,本專利虛擬化網(wǎng)絡(luò)架構(gòu)是由各類代理服務(wù)(AgentServer)組成,AgentServer不與計算節(jié)點綁定,而是與虛擬路由和虛擬網(wǎng)絡(luò)綁定。該虛擬化網(wǎng)絡(luò)架構(gòu)可以過濾進(jìn)入到計算節(jié)點上虛擬機(jī)的流量和虛擬機(jī)之間的流量,同時,還可以對從虛擬機(jī)中出來的網(wǎng)絡(luò)流量進(jìn)行過濾,同時,本專利虛擬化網(wǎng)絡(luò)架構(gòu)擁有多層網(wǎng)絡(luò),為數(shù)據(jù)庫、互聯(lián)網(wǎng)和應(yīng)用程序分別提供隔離的網(wǎng)絡(luò)區(qū)段。[0024]本發(fā)明一種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法,通過NNetServer守護(hù)進(jìn)程公共虛擬化網(wǎng)絡(luò)服務(wù)API,并且根據(jù)用戶的需求動態(tài)配置虛擬化網(wǎng)絡(luò)代理。為了保證狀態(tài)持久化,通常情況下,這個代理需要去訪問數(shù)據(jù)庫做持久性存儲。該虛擬化網(wǎng)絡(luò)架構(gòu)與虛擬化云平臺的網(wǎng)絡(luò)是完全獨立的,可以部署在一個獨立的服務(wù)器上單獨運行。如圖2所示,具體按照以下步驟實施:[0025]步驟1、管理員在虛擬機(jī)所在的物理節(jié)點上收集虛擬機(jī)的信息,包括虛擬網(wǎng)絡(luò)的id號,虛擬路由的id號,虛擬機(jī)的id號,虛擬機(jī)所對應(yīng)的虛擬網(wǎng)卡的id號,在虛擬路由上執(zhí)行過的iptables規(guī)則,在計算節(jié)點中iptables的所有包裝鏈的信息;[0026]步驟2、外部網(wǎng)絡(luò)通過浮動IP訪問步驟I中虛擬機(jī),將虛擬機(jī)與浮動ip綁定;[0027]步驟3、在虛擬路由執(zhí)行過的規(guī)則中找到與步驟2的浮動IP對應(yīng)的目的地址轉(zhuǎn)換規(guī)則:DNAT規(guī)則,在這個虛擬機(jī)的包裝鏈中,修改相應(yīng)的源地址轉(zhuǎn)換規(guī)則:SNAT規(guī)則;[0028]步驟4、將步驟3的SNAT規(guī)則添加到所述步驟2中已綁定的浮動IP,并查看步驟3中包裝鏈中的TCP與ICMP的規(guī)則是否允許數(shù)據(jù)的流出和流入。[0029]步驟5、權(quán)利要求1中網(wǎng)絡(luò)服務(wù)代理對步驟4中的規(guī)則進(jìn)行控制,使用戶能夠在管理控制臺中控制云計算中的虛擬網(wǎng)絡(luò),并且根據(jù)用戶的需求動態(tài)配置虛擬化網(wǎng)絡(luò)代理。[0030]具體來說,Linux內(nèi)核中的IPv4包過濾器規(guī)則表擁有一些內(nèi)置的鏈:PRER0UTING、INPUT、FORWARD、OUTPUT和POSTROUTING??傮w上,抵達(dá)Linux主機(jī)的包會轉(zhuǎn)向PREROUTING鏈。在傳遞之后,內(nèi)核就會做出一個路由決定。如果包的目標(biāo)是本Linux主機(jī),它就會轉(zhuǎn)向INPUT鏈,如果被接受,則會轉(zhuǎn)向目標(biāo)進(jìn)程。如果包不是用于本Linux主機(jī)的,則會轉(zhuǎn)向FORWARD鏈,接著再轉(zhuǎn)向P0STR0UTING鏈,然后離開主機(jī)。由本地進(jìn)程生成的包首先會轉(zhuǎn)向OUTPUT鏈,如果被接受,就會轉(zhuǎn)向P0STR0UTING鏈。[0031]除了這些內(nèi)置鏈外,虛擬化云平臺會創(chuàng)建其他一些可鉤掛到鏈系統(tǒng)的鏈。虛擬化云平臺的鏈包含兩種類型:未包裝鏈和包裝鏈。[0032]neutron-filter-top和neutron-postrouting-bottom是兩種未包裝鏈。neutron-filter-top被添加到FORWARD和OUTPUT鏈頂部。由于是未包裝鏈,所以它可在各種Neutron工作進(jìn)程間進(jìn)行共享。它針對的是FORWARD和OUTPUT鏈頂部存在的規(guī)則,在表中的IPv4和IPv6集合均存在neutron-filter-top。[0033]包裝鏈的例子則包括圖中的雙方框的鏈。這些鏈的名稱會有進(jìn)程名作為后綴。比如,neutron會創(chuàng)建neutron-PREROUTING鏈。[0034]對于IPv4和IPv6,內(nèi)置的INPUT、OUTPUT和FORWARD過濾器鏈都是已包裝的,這意味著這個“真正”的INPUT鏈具有一個規(guī)則,可跳至已包裝的INPUT鏈等。此外,還有一種包裝鏈,名為local,它從neutron-filter-top開始跳轉(zhuǎn)。對于IPv4,內(nèi)置的PRER0UTING、OUTPUT和P0STR0UTINGNAT鏈的包裝方式與內(nèi)置的過濾器鏈一樣。此外,在P0STR0UTING鏈之后,還會應(yīng)用一個Snat鏈和一個Float-Snat鏈。[0035]需要說明的是,上述各技術(shù)特征繼續(xù)相互組合,形成未在上面列舉的各種實施例,均視為本發(fā)明說明書記載的范圍;并且,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。[0036]云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法,可以使用戶可以定義虛擬網(wǎng)絡(luò)、創(chuàng)建網(wǎng)絡(luò)端口、綁定到虛擬機(jī),真正實現(xiàn)網(wǎng)絡(luò)與虛擬機(jī)分離?!緳?quán)利要求】1.一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,云計算虛擬化網(wǎng)絡(luò)架構(gòu)代號為NNetServer,所述NNetServer主要由網(wǎng)絡(luò)服務(wù)接口與網(wǎng)絡(luò)服務(wù)代理組成。2.根據(jù)權(quán)利要求1所述的一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,所述網(wǎng)絡(luò)服務(wù)接口是指:網(wǎng)絡(luò)服務(wù)接口提供組件調(diào)用的標(biāo)準(zhǔn)方法,主要方法包括創(chuàng)建一個虛擬網(wǎng)絡(luò)、刪除一個虛擬網(wǎng)絡(luò)、創(chuàng)建一個虛擬端口、刪除一個虛擬端口。3.根據(jù)權(quán)利要求1所述的一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,所述網(wǎng)絡(luò)服務(wù)代理是指vSwitch代理、DHCP代理、L3代理、元數(shù)據(jù)代理。4.根據(jù)權(quán)利要求3所述的一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,所述vSwitch代理是指,vSwitch代理運行在每一個虛擬機(jī)管理程序來執(zhí)行本地的vswitch配置。5.根據(jù)權(quán)利要求3所述的一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,所述DHCP代理是指,為虛擬網(wǎng)絡(luò)提供DHCP服務(wù)器。6.根據(jù)權(quán)利要求3所述的一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,所述L3代理是指,L3代理在虛擬網(wǎng)絡(luò)上的虛擬機(jī)提供L3/NAT轉(zhuǎn)發(fā)到外部網(wǎng)路訪問。7.根據(jù)權(quán)利要求3所述的一種云計算虛擬化網(wǎng)絡(luò)架構(gòu),其特征在于,所述元數(shù)據(jù)代理是指:實現(xiàn)服務(wù)元數(shù)據(jù)標(biāo)準(zhǔn)化。8.—種云計算虛擬化網(wǎng)絡(luò)架構(gòu)的優(yōu)化方法,其特征在于,具體按照以下步驟實施:步驟1、管理員在虛擬機(jī)所在的物理節(jié)點上收集虛擬機(jī)的信息,包括虛擬網(wǎng)絡(luò)的id號,虛擬路由的id號,虛擬機(jī)的id號,虛擬機(jī)所對應(yīng)的虛擬網(wǎng)卡的id號,在虛擬路由上執(zhí)行過的iptables規(guī)則,在計算節(jié)點中iptables的所有包裝鏈的信息;步驟2、外部網(wǎng)絡(luò)通過浮動IP訪問所述步驟1中虛擬機(jī),將虛擬機(jī)與浮動ip綁定;步驟3、在虛擬路由執(zhí)行過的規(guī)則中找到與所述步驟2的浮動IP對應(yīng)的目的地址轉(zhuǎn)換規(guī)則:DNAT規(guī)則,在這個虛擬機(jī)的包裝鏈中,修改相應(yīng)的源地址轉(zhuǎn)換規(guī)則:SNAT規(guī)則;步驟4、將所述步驟3的SNAT規(guī)則添加到所述步驟2中已綁定的浮動IP,并查看所述步驟3中包裝鏈中的TCP與ICMP的規(guī)則是否允許數(shù)據(jù)的流出和流入。步驟5、所述權(quán)利要求1中網(wǎng)絡(luò)服務(wù)代理對步驟4中的規(guī)則進(jìn)行控制,使用戶能夠在管理控制臺中控制云計算中的虛擬網(wǎng)絡(luò),并且根據(jù)用戶的需求動態(tài)配置虛擬化網(wǎng)絡(luò)代理?!疚臋n編號】H04L29/08GK104270464SQ201410567564【公開日】2015年1月7日申請日期:2014年10月22日優(yōu)先權(quán)日:2014年10月22日【發(fā)明者】王茜,朱志祥,李安穎,梁小江,劉盛輝,王佩申請人:西安未來國際信息股份有限公司,西安郵電大學(xué)