亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法、設(shè)備與系統(tǒng)與流程

文檔序號:12278379閱讀:440來源:國知局
一種用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法、設(shè)備與系統(tǒng)與流程

本發(fā)明涉及網(wǎng)絡(luò)虛擬化技術(shù),尤其涉及用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法、設(shè)備與系統(tǒng)。



背景技術(shù):

就如同服務(wù)器虛擬化(hypervisor)能為操作系統(tǒng)提供“虛擬機(jī)”一樣,網(wǎng)絡(luò)虛擬化將虛擬網(wǎng)絡(luò)與物理網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)脫耦,從而解決了虛擬機(jī)配置的分等級IP地址分配的限制等問題。

然而,如何進(jìn)行從物理網(wǎng)絡(luò)到虛擬網(wǎng)絡(luò)的通信成為了一個新的課題。

現(xiàn)有技術(shù)中,微軟公司提供了一種Hyper-V網(wǎng)絡(luò)虛擬化網(wǎng)關(guān)(Hyper-V Network Virtualization Gateway)用于橋接物理設(shè)備與網(wǎng)絡(luò)虛擬化環(huán)境。具體而言,物理設(shè)備基于第三層網(wǎng)絡(luò)協(xié)議連接路由器,并通過路由器連接網(wǎng)絡(luò)虛擬化網(wǎng)關(guān)(也稱為虛擬網(wǎng)關(guān))。虛擬網(wǎng)關(guān)對物理設(shè)備發(fā)出的數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝(Network Virtualization using Generic Routing Encapsulation,NVGRE),封裝后的數(shù)據(jù)包即可用于在虛擬網(wǎng)絡(luò)中進(jìn)行傳輸以及通信。

然而,現(xiàn)有技術(shù)由于物理設(shè)備基于三層網(wǎng)絡(luò)協(xié)議連接虛擬網(wǎng)關(guān),因此難以將物理設(shè)備與虛擬網(wǎng)絡(luò)中的虛擬機(jī)設(shè)置于同一子網(wǎng)中,進(jìn)而對于虛擬機(jī)遷移至物理設(shè)備帶來操作難度。對于用戶在虛擬機(jī)和物理設(shè)備的體驗(yàn)也難以保持完全一致,難以實(shí)現(xiàn)虛擬化業(yè)務(wù)無縫地支持物理設(shè)備接入。



技術(shù)實(shí)現(xiàn)要素:

針對以上現(xiàn)有技術(shù)中的問題,本發(fā)明的目的在于在網(wǎng)絡(luò)虛擬化的環(huán)境下,提供一種物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法與系統(tǒng),能夠使得物理設(shè)備與虛擬機(jī)設(shè)置于同一子網(wǎng)中,能夠?qū)τ谟脩粼谔摂M機(jī)和物理設(shè)備的體驗(yàn)保持完全一致。

根據(jù)本發(fā)明的第一個方面,提供一種用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法,其特征在于包括步驟:NVGRE網(wǎng)關(guān)通過二層交換機(jī)接收來自物理設(shè)備的第一請求數(shù)據(jù)包,第一請求數(shù)據(jù)包的目標(biāo)IP地址為虛擬網(wǎng)絡(luò)中的虛擬機(jī)的IP地址;NVGRE網(wǎng)關(guān)將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得包括第一請求數(shù)據(jù)包的第一封裝數(shù)據(jù)包;NVGRE網(wǎng)關(guān)將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬網(wǎng)絡(luò)。

優(yōu)選地,在NVGRE網(wǎng)關(guān)通過二層交換機(jī)接收來自物理設(shè)備的第一請求數(shù)據(jù)包的步驟前,還包括步驟:NVGRE網(wǎng)關(guān)通過二層交換機(jī)接收來自物理設(shè)備的基于ARP廣播協(xié)議發(fā)送的第一廣播數(shù)據(jù)包,第一廣播數(shù)據(jù)包的目標(biāo)IP地址為虛擬網(wǎng)絡(luò)中的虛擬機(jī)的IP地址;NVGRE網(wǎng)關(guān)根據(jù)第一廣播數(shù)據(jù)包,向物理設(shè)備回復(fù)第一應(yīng)答數(shù)據(jù)包,第一應(yīng)答數(shù)據(jù)包的源MAC地址為NVGRE網(wǎng)關(guān)的MAC地址。

優(yōu)選地,多個物理設(shè)備通過VLAN協(xié)議進(jìn)行隔離。

優(yōu)選地,NVGRE網(wǎng)關(guān)將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得包括第一請求數(shù)據(jù)包的第一封裝數(shù)據(jù)包的步驟包括:NVGRE網(wǎng)關(guān)根據(jù)VLAN信息獲取第一請求數(shù)據(jù)包對應(yīng)的二層廣播域,在二層廣播域中查找第一請求數(shù)據(jù)包對應(yīng)的物理設(shè)備的MAC地址或IP地址;NVGRE網(wǎng)關(guān)將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得第一封裝數(shù)據(jù)包,第一封裝數(shù)據(jù)包的源地址為NVGRE網(wǎng)關(guān)的地址,第一封裝數(shù)據(jù)包內(nèi)的第一請求數(shù)據(jù)包的源地址為物理設(shè)備的MAC地址或IP地址。

優(yōu)選地,NVGRE網(wǎng)關(guān)將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬網(wǎng)絡(luò)的步驟包括:NVGRE網(wǎng)關(guān)將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至路由器;路由器將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬機(jī)所對應(yīng)的宿主機(jī);宿主機(jī)接收第一封裝數(shù)據(jù)包,剝除第一封裝數(shù)據(jù)包的網(wǎng)絡(luò)虛擬化通用路由封裝以獲得第一請求數(shù)據(jù)包;宿主機(jī)將第一請求數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬機(jī)。

優(yōu)選地,還包括步驟:NVGRE網(wǎng)關(guān)接收來自虛擬網(wǎng)絡(luò)的包括第二請求數(shù)據(jù)包的第二封裝數(shù)據(jù)包,并查找第二封裝數(shù)據(jù)包需要發(fā)往的二層廣播域;NVGRE網(wǎng)關(guān)在二層廣播域中查找第二請求數(shù)據(jù)包的目標(biāo)MAC地址或IP地址對應(yīng)的物理設(shè)備;NVGRE網(wǎng)關(guān)剝除第二封裝數(shù)據(jù)包的網(wǎng)絡(luò)虛擬化通用路由封裝以獲得第二請求數(shù)據(jù)包;NVGRE網(wǎng)關(guān)將第二請求數(shù)據(jù)包發(fā)送至物理設(shè)備。

優(yōu)選地,第二封裝數(shù)據(jù)包通過宿主機(jī)接收來自與宿主機(jī)對應(yīng)的虛擬機(jī)發(fā)出的第二請求數(shù)據(jù)包后,將第二請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝獲得。

優(yōu)選地,NVGRE網(wǎng)關(guān)接收來自虛擬網(wǎng)絡(luò)的包括第二請求數(shù)據(jù)包的第二封裝數(shù)據(jù)包,并查找第二封裝數(shù)據(jù)包需要發(fā)往的二層廣播域的步驟之前還包括步驟:宿主機(jī)接收來自虛擬機(jī)基于ARP廣播協(xié)議發(fā)送的第二廣播數(shù)據(jù)包;宿主機(jī)根據(jù)OpenFlow流表向虛擬機(jī)回復(fù)第二應(yīng)答數(shù)據(jù)包,第二應(yīng)答數(shù)據(jù)包的源MAC地址為物理設(shè)備的MAC地址。

優(yōu)選地,NVGRE網(wǎng)關(guān)將第二請求數(shù)據(jù)包發(fā)送至物理設(shè)備的步驟包括:NVGRE網(wǎng)關(guān)將第二請求數(shù)據(jù)包發(fā)送至二層交換機(jī);二層交換機(jī)將第二請求數(shù)據(jù)包單播轉(zhuǎn)發(fā)至物理設(shè)備。

根據(jù)本發(fā)明的第二個方面,提供一種用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信設(shè)備,包括:數(shù)據(jù)包獲取模塊,數(shù)據(jù)包獲取模塊通過二層交換機(jī)接收來自物理設(shè)備的第一請求數(shù)據(jù)包,第一請求數(shù)據(jù)包的目標(biāo)IP地址為虛擬網(wǎng)絡(luò)中的虛擬機(jī)的IP地址;代答模塊,代答模塊根據(jù)來自物理設(shè)備的第一廣播數(shù)據(jù)包,向物理設(shè)備回復(fù)第一應(yīng)答數(shù)據(jù)包,第一應(yīng)答數(shù)據(jù)包的源MAC地址為NVGRE網(wǎng)關(guān)的MAC地址;封裝模塊,封裝模塊將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得包括第一請求數(shù)據(jù)包的第一封裝數(shù)據(jù)包;數(shù)據(jù)包發(fā)送模塊,數(shù)據(jù)包發(fā)送模塊將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬網(wǎng)絡(luò)。

優(yōu)選地,多個物理設(shè)備通過VLAN協(xié)議進(jìn)行隔離。

優(yōu)選地,數(shù)據(jù)包獲取模塊根據(jù)VLAN信息獲取第一請求數(shù)據(jù)包對應(yīng)的二層廣播域,在二層廣播域中查找第一請求數(shù)據(jù)包對應(yīng)的物理設(shè)備的MAC地址或IP地址;封裝模塊將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得第一封裝數(shù)據(jù)包,第一封裝數(shù)據(jù)包的源地址為通信設(shè)備的地址,第一封裝數(shù)據(jù)包內(nèi)的第一請求數(shù)據(jù)包的源地址為物理設(shè)備的MAC地址或IP地址。

根據(jù)本發(fā)明的第三個方面,提供一種用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信系統(tǒng),包括:物理設(shè)備,物理設(shè)備發(fā)出第一請求數(shù)據(jù)包,第一請求數(shù)據(jù)包的目標(biāo)IP地址為虛擬網(wǎng)絡(luò)中的虛擬機(jī)的IP地址;NVGRE網(wǎng)關(guān),NVGRE網(wǎng)關(guān)接收第一請求數(shù)據(jù)包,并將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得包括第一請求數(shù)據(jù)包的第一封裝數(shù)據(jù)包,將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬網(wǎng)絡(luò);二層交換機(jī),二層交換機(jī)用于將第一請求數(shù)據(jù)包轉(zhuǎn)發(fā)至NVGRE網(wǎng)關(guān)。

優(yōu)選地,多個物理設(shè)備通過VLAN協(xié)議進(jìn)行隔離。

優(yōu)選地,NVGRE網(wǎng)關(guān)根據(jù)VLAN信息獲取第一請求數(shù)據(jù)包對應(yīng)的二層廣播域,在二層廣播域中查找第一請求數(shù)據(jù)包對應(yīng)的物理設(shè)備的MAC地址或IP地址;NVGRE網(wǎng)關(guān)將第一請求數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝,以獲得第一封裝數(shù)據(jù)包,第一封裝數(shù)據(jù)包的源地址為NVGRE網(wǎng)關(guān)的地址,第一封裝數(shù)據(jù)包內(nèi)的第一請求數(shù)據(jù)包的源地址為物理設(shè)備的MAC地址或IP地址。

本發(fā)明中物理設(shè)備通過二層交換機(jī)連接NVGRE網(wǎng)關(guān),從而來自物理設(shè)備的第一請求數(shù)據(jù)包的目標(biāo)IP地址可以直接設(shè)置為虛擬網(wǎng)絡(luò)中的虛擬機(jī)的IP地址而非虛擬網(wǎng)關(guān)的IP地址。由于物理設(shè)備基于第二層網(wǎng)絡(luò)協(xié)議連接虛擬網(wǎng)關(guān),因此可以將物理設(shè)備與虛擬機(jī)設(shè)置于同一子網(wǎng)中,以方便地實(shí)現(xiàn)虛擬機(jī)遷移到物理設(shè)備,這樣的設(shè)置支持VRRP協(xié)議(Virtual Router Redundancy Protocol,虛擬路由冗余協(xié)議)實(shí)現(xiàn)高可用性。用戶在虛擬機(jī)和物理設(shè)備的體驗(yàn)也可以保持完全一致,其他虛擬化業(yè)務(wù)也可以無縫地支持物理設(shè)備接入。

附圖說明

以下結(jié)合附圖和具體實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)的說明,以使本發(fā)明的特性和優(yōu)點(diǎn)更為明顯。

圖1為本發(fā)明的一個實(shí)施例的用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信系統(tǒng)的結(jié)構(gòu)示意圖;

圖2為本發(fā)明的一個實(shí)施例的用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信設(shè)備的模塊示意圖;

圖3為本發(fā)明的一個實(shí)施例的物理設(shè)備訪問虛擬網(wǎng)絡(luò)的方法流程圖;

圖4為圖3中步驟S105的詳細(xì)流程圖;

圖5為圖3中步驟S106的詳細(xì)流程圖;

圖6為本發(fā)明的一個實(shí)施例的虛擬機(jī)訪問物理設(shè)備的方法流程圖。

具體實(shí)施方式

以下將對本發(fā)明的實(shí)施例給出詳細(xì)的說明。盡管本發(fā)明將結(jié)合一些具體實(shí)施方式進(jìn)行闡述和說明,但需要注意的是本發(fā)明并不僅僅只局限于這些實(shí)施方式。相反,對本發(fā)明進(jìn)行的修改或者等同替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。

一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。

應(yīng)當(dāng)理解的是,雖然在這里可能使用了術(shù)語“第一”、“第二”等等來描述各個單元或是數(shù)據(jù),但是這些單元或數(shù)據(jù)不應(yīng)當(dāng)受這些術(shù)語限制。使用這些術(shù)語僅僅是為了將一個數(shù)據(jù)與另一個數(shù)據(jù)進(jìn)行區(qū)分。舉例來說,在不背離示例性實(shí)施例的范圍的情況下,第一請求數(shù)據(jù)包可以被稱為第二請求數(shù)據(jù)包,并且類似地第二請求數(shù)據(jù)包可以被稱為第一請求數(shù)據(jù)包。

圖1為本發(fā)明的一個實(shí)施例的用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,通信系統(tǒng)包括至少一個物理設(shè)備21,22、至少一個NVGRE網(wǎng)關(guān)1以及至少一個二層交換機(jī)3。圖1中示例性地列出了兩個物理設(shè)備21,22,一個NVGRE網(wǎng)關(guān)以及一個二層交換機(jī)3,在實(shí)際使用時,可以根據(jù)需求確認(rèn)通信系統(tǒng)的規(guī)模,使用負(fù)載均衡技術(shù)設(shè)置多個物理設(shè)備21,22、NVGRE網(wǎng)關(guān)1以及二層交換機(jī)3。

物理設(shè)備21,22通常被用于出租給不同的租戶,在本實(shí)施例中,多個租戶的物理設(shè)備21,22通過VLAN協(xié)議(Virtual Local Area Network,虛擬局域網(wǎng)協(xié)議)進(jìn)行隔離,從而將不同租戶的物理設(shè)備21,22分隔在不同的二層廣播域中。不同的二層廣播域通過二層交換機(jī)端口和/或所述物理設(shè)備的MAC地址(物理地址)進(jìn)行劃分,來自不同的二層廣播域的數(shù)據(jù)包,通過數(shù)據(jù)包中的VLAN信息進(jìn)行標(biāo)記。在本示例中,物理設(shè)備21與物理設(shè)備22被不同租戶租用,處于不同的二層廣播域。

二層交換機(jī)3工作在第二層網(wǎng)絡(luò)協(xié)議,即數(shù)據(jù)鏈路層。二層交換機(jī)3可以識別數(shù)據(jù)包中的MAC地址信息,根據(jù)MAC地址進(jìn)行轉(zhuǎn)發(fā),并將這些MAC地址與對應(yīng)的端口記錄在自己內(nèi)部的一個地址表中。

NVGRE網(wǎng)關(guān)1是一種網(wǎng)絡(luò)地址轉(zhuǎn)換組件,作為虛擬網(wǎng)關(guān)借助GRE協(xié)議(通用路由封裝協(xié)議)對數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)虛擬化通用路由封裝(NVGRE封裝)或剝除封裝,從而使得數(shù)據(jù)包能夠在虛擬網(wǎng)絡(luò)4或是物理網(wǎng)絡(luò)進(jìn)行傳輸。具體的NVGRE封裝方法以及剝除封裝的方法可以使用現(xiàn)有技術(shù)。

圖2為本發(fā)明的一個實(shí)施例的用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信設(shè)備的模塊示意圖。下面參考圖2介紹NVGRE網(wǎng)關(guān)1的模塊結(jié)構(gòu)。用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信設(shè)備即是NVGRE網(wǎng)關(guān)1,NVGRE網(wǎng)關(guān)1包括數(shù)據(jù)包獲取模塊11、代答模塊12、封裝模塊13以及數(shù)據(jù)包發(fā)送模塊14。數(shù)據(jù)包獲取模塊11用于接收數(shù)據(jù)包。代答模塊12用于向物理設(shè)備21,22發(fā)送應(yīng)答數(shù)據(jù)包,從而進(jìn)行ARP(地址解析協(xié)議)廣播代答。封裝模塊13用于對收到的來自物理設(shè)備21,22的廣播數(shù)據(jù)包進(jìn)行NVGRE封裝或是對來自虛擬網(wǎng)絡(luò)4的第二封裝數(shù)據(jù)包剝除NVGRE封裝。數(shù)據(jù)包發(fā)送模塊14用于發(fā)送數(shù)據(jù)包。

NVGRE網(wǎng)關(guān)1采用英特爾數(shù)據(jù)面開發(fā)套件(Intel Data Plane Development Kit,Intel DPDK)數(shù)據(jù)處理框架。Intel DPDK是Intel公司提出的一種高速網(wǎng)絡(luò)數(shù)據(jù)包的軟件開發(fā)套件,Intel DPDK通過旁路Linux系統(tǒng)網(wǎng)絡(luò)協(xié)議棧,直接對網(wǎng)卡進(jìn)行讀寫,結(jié)合對多核CPU中不同內(nèi)核的綁定,能夠?qū)崿F(xiàn)1Gbit網(wǎng)絡(luò)小包流量下的線速收發(fā)。在Intel DPDK數(shù)據(jù)處理框架下具體接收以及發(fā)送數(shù)據(jù)的方法,可以采用現(xiàn)有的Intel DPDK數(shù)據(jù)處理方法。由于NVGRE網(wǎng)關(guān)1采用Intel DPDK,提升數(shù)據(jù)包的轉(zhuǎn)發(fā)能力。

虛擬網(wǎng)絡(luò)4中包括虛擬機(jī)41,虛擬機(jī)41運(yùn)行在宿主機(jī)42中,宿主機(jī)42通過路由器43與外部鏈接。物理設(shè)備21,22與虛擬網(wǎng)絡(luò)4的通信主要是指物理設(shè)備21,22與虛擬機(jī)41之間進(jìn)行通信。

宿主機(jī)42包括虛擬交換機(jī)(Open VSwitch,OVS),OVS是一個虛擬交換軟件,主要在虛擬機(jī)環(huán)境下作為一個虛擬交換機(jī)使用,用于實(shí)現(xiàn)虛擬機(jī)和外界網(wǎng)絡(luò)的通信。宿主機(jī)42使用OpenFlow協(xié)議。OpenFlow協(xié)議是Nick McKeown教授等人在2007年提出的軟件定義網(wǎng)絡(luò)(Software Defined Networking,SDN)中的核心技術(shù),SDN架構(gòu)主要由OVS和OpenFlow控制器組成,OVS主要由OpenFlow流表(FlowTable)、安全通道和OpenFlow協(xié)議三部分構(gòu)成。其中,OpenFlow流表用來進(jìn)行數(shù)據(jù)包的查找和轉(zhuǎn)發(fā)。宿主機(jī)42通過OVS進(jìn)行NVGRE封裝或是剝除封裝,并對虛擬機(jī)41發(fā)出的ARP廣播進(jìn)行代答。其中具體的OVS進(jìn)行NVGRE封裝或是剝除封裝的方法可以采用現(xiàn)有技術(shù)中的方法。

下面具體介紹本發(fā)明的用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法。

圖3為本發(fā)明的一個實(shí)施例的物理設(shè)備訪問虛擬網(wǎng)絡(luò)的方法流程圖。結(jié)合圖1、圖2與圖3,物理設(shè)備21,22訪問虛擬網(wǎng)絡(luò)4的通信方法包括步驟:

S101:物理設(shè)備21發(fā)送第一廣播數(shù)據(jù)包。

S102:NVGRE網(wǎng)關(guān)通過二層交換機(jī)接收第一廣播數(shù)據(jù)包,并回復(fù)第一應(yīng)答數(shù)據(jù)包。

S103:物理設(shè)備21發(fā)送第一請求數(shù)據(jù)包。

S104:NVGRE網(wǎng)關(guān)接收第一請求數(shù)據(jù)包。

S105:NVGRE網(wǎng)關(guān)1將第一請求數(shù)據(jù)包進(jìn)行NVGRE封裝,以獲得第一封裝數(shù)據(jù)包。

S105:NVGRE網(wǎng)關(guān)1將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬網(wǎng)絡(luò)4。

在物理設(shè)備21首次訪問虛擬機(jī)41時,首先需要基于ARP廣播協(xié)議發(fā)送廣播數(shù)據(jù)包,從而獲取應(yīng)答數(shù)據(jù)包,并根據(jù)應(yīng)答數(shù)據(jù)包獲取目標(biāo)MAC地址,進(jìn)而才能夠進(jìn)行后續(xù)請求數(shù)據(jù)包的單播發(fā)送。具體而言,如步驟S101,物理設(shè)備21在其所在的二層廣播域中基于ARP廣播協(xié)議發(fā)送第一廣播數(shù)據(jù)包。二層交換機(jī)3接收第一廣播數(shù)據(jù)包,并將第一廣播數(shù)據(jù)包在該二層廣播域中廣播。第一廣播數(shù)據(jù)包的源IP地址為物理設(shè)備21的IP地址10.10.1.20,源MAC地址為物理設(shè)備21的MAC地址。由于本發(fā)明中物理設(shè)備21基于第二層網(wǎng)絡(luò)協(xié)議與NVGRE網(wǎng)關(guān)1連接,因此第一廣播數(shù)據(jù)包的目標(biāo)IP地址為虛擬機(jī)41的IP地址10.10.1.10,區(qū)別于基于第三層網(wǎng)絡(luò)協(xié)議與虛擬網(wǎng)關(guān)連接的現(xiàn)有技術(shù)中將廣播數(shù)據(jù)包目標(biāo)IP地址設(shè)置為虛擬網(wǎng)關(guān)的IP地址并通過路由器進(jìn)行傳輸。其中,由于物理設(shè)備21基于第二層網(wǎng)絡(luò)協(xié)議與虛擬網(wǎng)關(guān)連接,從而物理設(shè)備21與虛擬機(jī)41的IP地址能夠設(shè)置在同一子網(wǎng)中。

如步驟S102,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包獲取模塊11通過二層交換機(jī)3接收第一廣播數(shù)據(jù)包,基于第一廣播數(shù)據(jù)包NVGRE網(wǎng)關(guān)1的代答模塊12向物理設(shè)備21發(fā)送第一應(yīng)答數(shù)據(jù)包,從而進(jìn)行ARP廣播代答。第一應(yīng)答數(shù)據(jù)包中的源MAC地址為NVGRE網(wǎng)關(guān)1的MAC地址,從而使得物理設(shè)備21后續(xù)發(fā)送的第一請求數(shù)據(jù)包中的目標(biāo)MAC地址為NVGRE網(wǎng)關(guān)1的MAC地址,進(jìn)而將流量牽引至NVGRE網(wǎng)關(guān)1。

如步驟S103,物理設(shè)備21接收第一應(yīng)答數(shù)據(jù)包,并根據(jù)第一應(yīng)答數(shù)據(jù)包中的源MAC地址發(fā)送第一請求數(shù)據(jù)包,第一請求數(shù)據(jù)包的目標(biāo)IP地址為虛擬機(jī)41的IP地址10.10.1.10,目標(biāo)MAC地址為NVGRE網(wǎng)關(guān)1的MAC地址。

如步驟S104,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包獲取模塊11通過二層交換機(jī)3接收第一請求數(shù)據(jù)包。

如步驟S105,NVGRE網(wǎng)關(guān)1將第一請求數(shù)據(jù)包進(jìn)行NVGRE封裝,以獲得第一封裝數(shù)據(jù)包。

圖4為圖3中步驟S105的詳細(xì)流程圖,如圖1、圖2和圖4所示,首先如步驟S1051,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包獲取模塊11根據(jù)VLAN信息獲取第一請求數(shù)據(jù)包對應(yīng)的二層廣播域。

接著,如步驟S1052,數(shù)據(jù)包獲取模塊11在二層廣播域中查找第一請求數(shù)據(jù)包對應(yīng)的物理設(shè)備21的MAC地址或IP地址。

如步驟S1053,NVGRE網(wǎng)關(guān)1的封裝模塊13根據(jù)第一請求數(shù)據(jù)包中的目標(biāo)IP地址,即虛擬機(jī)41的IP地址10.10.1.10,獲取虛擬機(jī)41所對應(yīng)的宿主機(jī)42的IP地址192.168.1.10。

如步驟S1054,封裝模塊13將第一請求數(shù)據(jù)包進(jìn)行NVGRE封裝,以獲得包括第一請求數(shù)據(jù)包的第一封裝數(shù)據(jù)包。第一封裝數(shù)據(jù)包的源IP地址為NVGRE網(wǎng)關(guān)1的IP地址192.168.1.20,目標(biāo)IP地址為宿主機(jī)42的IP地址192.168.1.10。第一封裝數(shù)據(jù)包內(nèi)的第一請求數(shù)據(jù)包的源地址為物理設(shè)備21的MAC地址或IP地址。第一封裝數(shù)據(jù)包能夠在虛擬網(wǎng)絡(luò)4中進(jìn)行傳輸。

如步驟S106,NVGRE網(wǎng)關(guān)的數(shù)據(jù)包發(fā)送模塊14將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬網(wǎng)絡(luò)4。圖5為圖3中步驟S106的詳細(xì)流程圖。如圖5所示,如步驟S1061,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包發(fā)送模塊14將第一封裝數(shù)據(jù)包發(fā)送至路由器43。如步驟S1062,路由器43根據(jù)第一數(shù)據(jù)包中目標(biāo)IP的地址192.168.1.10,將第一封裝數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬機(jī)41所對應(yīng)的宿主機(jī)42。如步驟S1063,宿主機(jī)42接收第一封裝數(shù)據(jù)包,并通過OVS剝除第一封裝數(shù)據(jù)包的NVGRE封裝以獲得第一請求數(shù)據(jù)包。如步驟S1064,宿主機(jī)42將第一請求數(shù)據(jù)包轉(zhuǎn)發(fā)至虛擬機(jī)41。

圖6為本發(fā)明的一個實(shí)施例的虛擬機(jī)訪問物理設(shè)備的方法流程圖。結(jié)合圖1、圖2與圖6,當(dāng)虛擬機(jī)41收到來自物理設(shè)備21的第一請求數(shù)據(jù)包,并處理完成需要回復(fù)時,虛擬機(jī)41訪問物理設(shè)備21的通信方法包括步驟:

S201:虛擬機(jī)41發(fā)送第二廣播數(shù)據(jù)包。

S202:宿主機(jī)42接收第二廣播數(shù)據(jù)包,并向虛擬機(jī)41回復(fù)第二應(yīng)答數(shù)據(jù)包。

S203:虛擬機(jī)41發(fā)送第二請求數(shù)據(jù)包。

S204:宿主機(jī)42接收第二請求數(shù)據(jù)包,將第二請求數(shù)據(jù)包進(jìn)行NVGRE封裝,以獲得第二封裝數(shù)據(jù)包,并向外發(fā)出。

S205:NVGRE網(wǎng)關(guān)1接收第二封裝數(shù)據(jù)包,并查找第二封裝數(shù)據(jù)包需要發(fā)往的二層廣播域。

S206:NVGRE網(wǎng)關(guān)1在二層廣播域中查找第二請求數(shù)據(jù)包的目標(biāo)MAC地址或IP地址所對應(yīng)的物理設(shè)備21。

S207:NVGRE網(wǎng)關(guān)1剝除第二封裝數(shù)據(jù)包的NVGRE封裝,以獲得第二請求數(shù)據(jù)包。

S208:NVGRE網(wǎng)關(guān)1將第二請求數(shù)據(jù)包發(fā)送至物理設(shè)備21。

具體而言,當(dāng)虛擬機(jī)41首次訪問物理設(shè)備21時,首先如步驟S201,虛擬機(jī)41基于ARP廣播協(xié)議發(fā)送第二廣播數(shù)據(jù)包,其中第二廣播數(shù)據(jù)包的目標(biāo)MAC地址為需要通信的物理設(shè)備21的MAC地址。在本實(shí)施例中,通過目標(biāo)MAC地址定位物理設(shè)備21,在其他實(shí)施例中,也可以通過目標(biāo)IP地址定位物理設(shè)備21。

如步驟S202,宿主機(jī)42接收第二廣播數(shù)據(jù)包,并根據(jù)OpenFlow流表向虛擬機(jī)41回復(fù)第二應(yīng)答數(shù)據(jù)包,以進(jìn)行ARP廣播代答。具體而言,宿主機(jī)42中包括OpenFlow流表,宿主機(jī)42根據(jù)OpenFlow流表生成第二應(yīng)答數(shù)據(jù)包,其中第二應(yīng)答數(shù)據(jù)包中的源MAC地址為物理設(shè)備21的MAC地址。使用OpenFlow流表生成第二應(yīng)答數(shù)據(jù)包的方式可采用現(xiàn)有的OpenFlow流表方式。宿主機(jī)42向虛擬機(jī)41回復(fù)第二應(yīng)答數(shù)據(jù)包,以進(jìn)行ARP廣播代答。

如步驟S203,虛擬機(jī)41接收第一應(yīng)答數(shù)據(jù)包,并發(fā)送第二請求數(shù)據(jù)包,第二請求數(shù)據(jù)包中的目標(biāo)MAC地址為物理設(shè)備21的MAC地址。

如步驟S204,宿主機(jī)42的OVS將第二請求數(shù)據(jù)包進(jìn)行NVGRE封裝,以獲得第二封裝數(shù)據(jù)包,第二封裝數(shù)據(jù)包的目標(biāo)IP地址為NVGRE網(wǎng)關(guān)1的IP地址192.168.1.20。宿主機(jī)42的OVS將第二封裝數(shù)據(jù)包向NVGRE網(wǎng)關(guān)1發(fā)出。

如步驟S205,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包獲取模塊11接收第二封裝數(shù)據(jù)包,并查找第二封裝數(shù)據(jù)包需要發(fā)往的二層廣播域。NVGER網(wǎng)關(guān)1根據(jù)第二廣播數(shù)據(jù)中的目標(biāo)MAC地址,在與NVGER網(wǎng)關(guān)1數(shù)據(jù)連接的控制平面下發(fā)的信息中查找目標(biāo)MAC地址的物理設(shè)備21所在的二層廣播域。

如步驟S206,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包獲取模塊11在二層廣播域中查找第二請求數(shù)據(jù)包的目標(biāo)MAC地址所對應(yīng)的物理設(shè)備21。在本實(shí)施例中,通過目標(biāo)MAC地址定位物理設(shè)備21,在其他實(shí)施例中,也可以通過目標(biāo)IP地址定位物理設(shè)備21。

如步驟S207,NVGRE網(wǎng)關(guān)1的封裝模塊13剝除第二封裝數(shù)據(jù)包的NVGRE封裝,以獲得第二請求數(shù)據(jù)包,同時在第二請求數(shù)據(jù)包中加入物理設(shè)備21所在的二層廣播域的VLAN信息。

如步驟S208,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包發(fā)送模塊14將第二請求數(shù)據(jù)包發(fā)送至物理設(shè)備21。具體而言,NVGRE網(wǎng)關(guān)1的數(shù)據(jù)包發(fā)送模塊14將第二請求數(shù)據(jù)包發(fā)送至二層交換機(jī)3,二層交換機(jī)3將第二請求數(shù)據(jù)包單播轉(zhuǎn)發(fā)至物理設(shè)備21。

通過上述對實(shí)施例的介紹可以看出,本發(fā)明所提供的用于物理設(shè)備與虛擬網(wǎng)絡(luò)的通信方法、設(shè)備與系統(tǒng),至少具有以下優(yōu)勢:

物理設(shè)備21,22基于第二層網(wǎng)絡(luò)協(xié)議連接虛擬網(wǎng)關(guān),因此可以將物理設(shè)備21,22與虛擬網(wǎng)絡(luò)4中的虛擬機(jī)41設(shè)置于同一子網(wǎng)中,以方便地實(shí)現(xiàn)虛擬機(jī)41遷移到物理設(shè)備21,22。

NVGRE網(wǎng)關(guān)1和物理設(shè)備21,22之間的通信二層網(wǎng)絡(luò)協(xié)議可達(dá),NVGRE網(wǎng)關(guān)1和虛擬機(jī)41之間的通信也是二層網(wǎng)絡(luò)協(xié)議可達(dá),和虛擬機(jī)41所在的宿主機(jī)42之間的通信三層網(wǎng)絡(luò)協(xié)議可達(dá),從而實(shí)現(xiàn)了物理設(shè)備22,23和虛擬網(wǎng)絡(luò)4之間二層透明直連,提高了連接性能,以目前的通用服務(wù)器硬件水平,采用本發(fā)明所提供的通信方法與通信系統(tǒng)可以最大提供1.28T64字節(jié)小包線速轉(zhuǎn)發(fā)能力。

同時,使得用戶在虛擬機(jī)和物理設(shè)備上的體驗(yàn)保持完全一致,便于其他虛擬化業(yè)務(wù)無縫地支持物理設(shè)備接入。

以上僅是本發(fā)明的具體應(yīng)用范例,對本發(fā)明的保護(hù)范圍不構(gòu)成任何限制。除上述實(shí)施例外,本發(fā)明還可以有其它實(shí)施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明所要求保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1