两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于可擴(kuò)展虛擬局域網(wǎng)的通信方法及裝置制造方法

文檔序號(hào):7988050閱讀:248來源:國知局
基于可擴(kuò)展虛擬局域網(wǎng)的通信方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種基于可擴(kuò)展虛擬局域網(wǎng)的通信方法及裝置,所述方法包括:接收源節(jié)點(diǎn)發(fā)送的第一報(bào)文;提取所述第一報(bào)文中的目的IP地址;根據(jù)所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng);在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文給所述目的節(jié)點(diǎn);接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文,所述第一報(bào)文的應(yīng)答報(bào)文攜帶目的尋址地址;將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送給所述源節(jié)點(diǎn),使得所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址。本發(fā)明免去了在網(wǎng)絡(luò)中增加額外網(wǎng)絡(luò)設(shè)備或修改現(xiàn)有網(wǎng)絡(luò)設(shè)備的問題。
【專利說明】基于可擴(kuò)展虛擬局域網(wǎng)的通信方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,尤其涉及一種基于可擴(kuò)展虛擬局域網(wǎng)VXLAN的通信方法及裝置。
【背景技術(shù)】
[0002]虛擬局域網(wǎng)(Virtual Local Area Network, VLAN),是一種將局域網(wǎng)設(shè)備從邏輯上劃分成一個(gè)個(gè)網(wǎng)段,從而實(shí)現(xiàn)虛擬工作組的數(shù)據(jù)交換技術(shù)。VLAN允許處于不同物理位置的計(jì)算機(jī)在邏輯上構(gòu)成一個(gè)局域網(wǎng)(Local AreaNetwork, LAN), 一個(gè)VLAN即是一個(gè)廣播域。管理員根據(jù)實(shí)際應(yīng)用需求,把同一物理局域網(wǎng)內(nèi)的不同用戶邏輯地劃分成不同的廣播域,每一個(gè)VLAN都包含一組有著相同需求的計(jì)算機(jī)工作站,與物理上形成的局域網(wǎng)有著相同的屬性。一個(gè)VLAN內(nèi)部的廣播和單播流量都不會(huì)轉(zhuǎn)發(fā)到其他VLAN中,從而有助于控制流量、減少設(shè)備投資,簡(jiǎn)化網(wǎng)絡(luò)管理、提高網(wǎng)絡(luò)的安全性。
[0003]可擴(kuò)展虛擬局域網(wǎng)(Virtualextensible Local Area Network, VXLAN)的基本思路與VLAN類似,但功能更強(qiáng)。VXLAN是一種將二層報(bào)文用三層協(xié)議進(jìn)行封裝的技術(shù),可以對(duì)二層網(wǎng)絡(luò)在三層范圍進(jìn)行擴(kuò)展。它應(yīng)用于數(shù)據(jù)中心內(nèi)部,使虛擬機(jī)可以在互相連通的三層網(wǎng)絡(luò)范圍內(nèi)遷移,而不需要改變IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址和MAC(Medium Access Control,介質(zhì)訪問控制)地址,保證業(yè)務(wù)的連續(xù)性。VXLAN用VNI (VXLANNetworkIdentif ier,VXLAN網(wǎng)絡(luò)序號(hào))來標(biāo)識(shí)每個(gè)廣播域(VXLAN子網(wǎng)),VNI共有24位,最多能夠提供近16M個(gè)廣播域,相比VLAN只能提供4K個(gè)廣播域。
[0004]VXLAN是一種新興的重要的網(wǎng)絡(luò)虛擬化技術(shù),還處于起步階段。因此,對(duì)VXLAN中的虛擬機(jī)(Virtual Machine, VM)而言,不得不面臨的一個(gè)問題是如何與既有的沒有部署VXLAN的內(nèi)部或外部的其他PM (Physical Machine,物理機(jī))/VM進(jìn)行互通。現(xiàn)有的解決辦法是在交換機(jī)等設(shè)備上采用軟件或硬件部署VXLAN Gateway (網(wǎng)關(guān)),通過VXLAN Gateway在VXLAN和VLAN間進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)。
[0005]圖1為現(xiàn)有的一種VXLAN Gateway部署的系統(tǒng)框圖,如圖1所示,包括VXLAN服務(wù)器、網(wǎng)關(guān)Gateway和VLAN服務(wù)器,VXLAN服務(wù)器通過Gateway與VLAN服務(wù)器進(jìn)行通信。具體地,當(dāng)從VXLAN接口輸入數(shù)據(jù)幀時(shí),Gateway會(huì)剝?nèi)XLAN頭進(jìn)行解封裝,并將內(nèi)部的Ethernet幀根據(jù)內(nèi)部目的MAC轉(zhuǎn)發(fā)到對(duì)應(yīng)的物理端口。解封裝后的幀如果存在內(nèi)部VLANID,除非在對(duì)應(yīng)的輸出接口上做了明確配置,否則應(yīng)該丟棄該VLAN ID。當(dāng)從VLAN接口輸入數(shù)據(jù)幀時(shí),Gateway則基于幀中的VLAN ID來將其映射到特定的VXLAN網(wǎng)絡(luò)。
[0006]現(xiàn)有的這種采用VXLAN Gateway的方式,需要增加額外的網(wǎng)絡(luò)設(shè)備或在現(xiàn)有網(wǎng)絡(luò)設(shè)備(交換機(jī))上進(jìn)行修改,增加了網(wǎng)絡(luò)的部署和維護(hù)成本。而且,VXLAN Gateway需要維護(hù)所轄所有VXLAN的VN1、虛擬機(jī)VM的IP以及VXLAN與VLAN的對(duì)應(yīng)關(guān)系等眾多信息,容易造成VXLAN Gateway的實(shí)現(xiàn)和維護(hù)較復(fù)雜、代價(jià)較高,有可能成為互通中的性能瓶頸,適用的網(wǎng)絡(luò)環(huán)境有限;也使得VXLAN Gateway對(duì)網(wǎng)絡(luò)拓?fù)浠蚺渲玫淖兓憫?yīng)不夠靈活,可擴(kuò)展性受限。
【發(fā)明內(nèi)容】

[0007]有鑒于此,本發(fā)明實(shí)施例提供了一種基于可擴(kuò)展虛擬局域網(wǎng)VXLAN的通信方法及裝置,免去了在網(wǎng)絡(luò)中增加額外網(wǎng)絡(luò)設(shè)備或修改現(xiàn)有網(wǎng)絡(luò)設(shè)備的問題。
[0008]為實(shí)現(xiàn)上述目的,本發(fā)明第一方面提供了一種基于可擴(kuò)展虛擬局域網(wǎng)的通信方法,所述方法應(yīng)用于虛擬機(jī)系統(tǒng),所述系統(tǒng)包括多個(gè)物理服務(wù)器,每個(gè)物理服務(wù)器上包括多個(gè)虛擬機(jī),所述多個(gè)虛擬機(jī)組成多個(gè)虛擬局域網(wǎng),所述虛擬局域網(wǎng)包括至少一個(gè)可擴(kuò)展虛擬局域網(wǎng)VXLAN,包括:
[0009]第一 VXLAN對(duì)應(yīng)的第一端口接收源節(jié)點(diǎn)發(fā)送的第一報(bào)文,其中,所述第一報(bào)文攜帶發(fā)端互聯(lián)網(wǎng)協(xié)議IP地址、發(fā)端尋址地址和目的IP地址,所述第一報(bào)文攜帶的發(fā)端IP地址為所述源節(jié)點(diǎn)的IP地址,發(fā)端尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址;
[0010]所述第一端口提取所述第一報(bào)文中的目的IP地址;
[0011]所述第一端口根據(jù)所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng);
[0012]若所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)與所述第一 VXLAN屬于不同的虛擬局域網(wǎng),所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取到所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址;
[0013]所述第一端口接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文,所述第一報(bào)文的應(yīng)答報(bào)文攜帶目的尋址地址,所述第一報(bào)文的應(yīng)答報(bào)文攜帶的目的尋址地址為所述目的節(jié)點(diǎn)的尋址地址或者為所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的第二端口的尋址地址;
[0014]所述第一端口將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送給所述源節(jié)點(diǎn),使得所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址。
[0015]結(jié)合第一方面,在第一方面的第一種可能的實(shí)施方式中,所述方法還包括:
[0016]建立數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲(chǔ)所述系統(tǒng)中的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系;
[0017]則所述第一端口根據(jù)所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)包括:
[0018]查詢所述數(shù)據(jù)庫中存儲(chǔ)的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)。
[0019]結(jié)合第一方面,在第一方面的第二種可能的實(shí)施方式中,所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文之前,還包括:
[0020]所述第一端口將所述第一報(bào)文中的發(fā)端尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為所述第一端口的尋址地址。
[0021]結(jié)合第一方面或第一方面的第二種可能的實(shí)施方式,在第一方面的第三種可能的實(shí)施方式中,當(dāng)所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)為第二 VXLAN時(shí),所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址,包括:
[0022]所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文;[0023]所述第二 VXLAN對(duì)應(yīng)的第二端口接收到所述第一報(bào)文,根據(jù)所述第一報(bào)文中攜帶的目的IP地址將所述第一報(bào)文發(fā)送給所述目的節(jié)點(diǎn),所述目的節(jié)點(diǎn)接收到所述第一報(bào)文后,記錄所述第一報(bào)文攜帶的發(fā)端IP地址和發(fā)端尋址地址。
[0024]結(jié)合第一方面的第三種可能的實(shí)施方式,在第一方面的第四種可能的實(shí)施方式中,所述第一端口接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文之前,還包括:
[0025]所述目的節(jié)點(diǎn)根據(jù)記錄的所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址,發(fā)送第一報(bào)文的應(yīng)答報(bào)文,所述第二端口接收到所述第一報(bào)文的應(yīng)答報(bào)文后,將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送到所述第一端口。
[0026]結(jié)合第一方面的第四種可能的實(shí)施方式,在第一方面的第五種可能的實(shí)施方式中,所述第二端口將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送到所述第一端口之前,還包括:
[0027]所述第二端口將所述第一報(bào)文的應(yīng)答報(bào)文中的目的尋址地址由所述目的節(jié)點(diǎn)的尋址地址替換為所述第二端口的尋址地址;
[0028]則所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址為所述第二端口的尋址地址。
[0029]結(jié)合第一方面,在第一方面的第六種可能的實(shí)施方式中,當(dāng)所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)為第二 VLAN時(shí),所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取所述源節(jié)點(diǎn)的IP地址和尋址地址,包括:
[0030]所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文;
[0031]所述目的節(jié)點(diǎn)接收到所述第一報(bào)文,所述目的節(jié)點(diǎn)接收到所述第一報(bào)文后,記錄所述第一報(bào)文攜帶的發(fā)端IP地址和發(fā)端尋址地址。
[0032]結(jié)合第一方面,在第一方面的第七種可能的實(shí)施方式中,還包括:
[0033]所述第一端口接收所述源節(jié)點(diǎn)根據(jù)獲取的所述目的尋址地址發(fā)送的第二報(bào)文,其中,所述第二報(bào)文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報(bào)文攜帶的源IP地址為所述源節(jié)點(diǎn)的IP地址,源尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址,目的尋址地址為獲取到的目的尋址地址;
[0034]所述第一端口根據(jù)所述第二報(bào)文中的目的尋址地址,發(fā)送所述第二報(bào)文到所述目的節(jié)點(diǎn)或所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的第二端口。
[0035]結(jié)合第一方面的第七種可能的實(shí)施方式,在第一方面的第八種可能的實(shí)施方式中,所述第一端口在發(fā)送所述第二報(bào)文之前,還包括:
[0036]所述第一端口將所述第二報(bào)文中的源尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為所述第一端口的尋址地址。
[0037]結(jié)合第一方面的第七種可能的實(shí)施方式或第八種可能的實(shí)施方式,在第一方面的第九種可能的實(shí)施方式中,所述第一報(bào)文為地址解析協(xié)議ARP報(bào)文,所述第二報(bào)文為單播報(bào)文。
[0038]第二方面,本發(fā)明還提供了一種基于可擴(kuò)展虛擬局域網(wǎng)的通信裝置,所述裝置應(yīng)用于虛擬機(jī)系統(tǒng),所述系統(tǒng)包括多個(gè)物理服務(wù)器,每個(gè)物理服務(wù)器上包括多個(gè)虛擬機(jī),所述多個(gè)虛擬機(jī)組成多個(gè)虛擬局域網(wǎng),所述虛擬局域網(wǎng)包括至少一個(gè)可擴(kuò)展虛擬局域網(wǎng)VXLAN,包括:接收單元、解析單元、確定單元和發(fā)送單元;
[0039]接收單元,用于接收源節(jié)點(diǎn)發(fā)送的第一報(bào)文,其中,所述第一報(bào)文攜帶發(fā)端互聯(lián)網(wǎng)協(xié)議IP地址、發(fā)端尋址地址和目的IP地址,所述第一報(bào)文攜帶的發(fā)端IP地址為所述源節(jié)點(diǎn)的IP地址,發(fā)端尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址;
[0040]解析單元,用于提取所述接收單元接收的所述第一報(bào)文中的目的IP地址;
[0041]確定單元,用于根據(jù)所述解析單元中提取的所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng);
[0042]發(fā)送單元,用于當(dāng)所述確定單元確定的所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)與所述第一 VXLAN屬于不同的虛擬局域網(wǎng)時(shí),在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取到所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址;
[0043]所述接收單元還用于接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文,所述第一報(bào)文的應(yīng)答報(bào)文攜帶目的尋址地址,所述第一報(bào)文的應(yīng)答報(bào)文攜帶的目的尋址地址為所述目的節(jié)點(diǎn)的尋址地址或者為所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的通信裝置的尋址地址;
[0044]所述發(fā)送單元還用于將所述接收單元接收的所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送給所述源節(jié)點(diǎn),使得所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址。
[0045]結(jié)合第二方面,在第二方面的第一種可能的實(shí)施方式中,所述裝置還包括:
[0046]存儲(chǔ)單元,用于建立數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲(chǔ)所述系統(tǒng)中的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系;
[0047]所述確定單元具體用于查詢所述存儲(chǔ)單元建立的數(shù)據(jù)庫中存儲(chǔ)的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)。
[0048]結(jié)合第二方面,在第二方面的第二種可能的實(shí)施方式中,所述裝置還包括:
[0049]替換單元,用于將所述接收單元接收到的所述第一報(bào)文中的發(fā)端尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為當(dāng)前通信裝置的尋址地址。
[0050]結(jié)合第二方面,在第二方面的第三種可能的實(shí)施方式中,所述接收單元還用于接收所述源節(jié)點(diǎn)根據(jù)獲取的所述目的尋址地址發(fā)送的第二報(bào)文,其中,所述第二報(bào)文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報(bào)文攜帶的源IP地址為所述源節(jié)點(diǎn)的IP地址,源尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址,目的尋址地址為獲取到的目的尋址地址;
[0051]所述發(fā)送單元還用于根據(jù)所述第二報(bào)文中的目的尋址地址,發(fā)送所述第二報(bào)文到所述目的節(jié)點(diǎn)或所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的第二端口。
[0052]結(jié)合第二方面的第三種可能的實(shí)施方式,在第二方面的第四種可能的實(shí)施方式中,所述裝置還包括:
[0053]替換單元,用于將所述接收單元接收到的所述第二報(bào)文中的源尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為當(dāng)前通信裝置的尋址地址。
[0054]結(jié)合第二方面的第三種可能的實(shí)施方式或第四種可能的實(shí)施方式,在第二方面的第五種可能的實(shí)施方式中,所述第一報(bào)文為地址解析協(xié)議ARP報(bào)文,所述第二報(bào)文為單播報(bào)文。
[0055]本發(fā)明提供的基于可擴(kuò)展虛擬局域網(wǎng)VXLAN的通信方法及裝置,通過增強(qiáng)VXLAN部署的在各個(gè)服務(wù)器上VTEP的功能,利用增加數(shù)據(jù)庫DB或內(nèi)存表的維護(hù)信息,對(duì)傳輸?shù)膱?bào)文數(shù)據(jù)加以分析判斷以及簡(jiǎn)單的報(bào)文修改,即可實(shí)現(xiàn)VXLAN與VLAN之間以及不同VXLAN之間的互通,具有分布式實(shí)現(xiàn)方式,簡(jiǎn)單易行,不受網(wǎng)絡(luò)拓?fù)?、?guī)模等限制,使用靈活,而且無需增加額外的網(wǎng)絡(luò)設(shè)備,免去了在網(wǎng)絡(luò)中增加額外網(wǎng)絡(luò)設(shè)備或修改現(xiàn)有網(wǎng)絡(luò)設(shè)備的問題,節(jié)約了網(wǎng)絡(luò)部署和維護(hù)的成本。
【專利附圖】

【附圖說明】
[0056]圖1為現(xiàn)有的一種VXLAN Gateway部署的系統(tǒng)框圖;
[0057]圖2為可擴(kuò)展虛擬局域網(wǎng)VXLAN報(bào)文格式的示意圖;
[0058]圖3為一種虛擬數(shù)據(jù)中心VDC的系統(tǒng)架構(gòu)圖;
[0059]圖4為本發(fā)明實(shí)施例所基于的VDC組網(wǎng)和場(chǎng)景不意圖;
[0060]圖5為本發(fā)明實(shí)施例提供的一種利用ARP數(shù)據(jù)報(bào)文進(jìn)行ARP地址學(xué)習(xí)的方法流程圖;
[0061]圖6為本發(fā)明實(shí)施例提供的一種通信方法的流程圖;
[0062]圖7為本發(fā)明實(shí)施例提供的又一種利用ARP數(shù)據(jù)報(bào)文進(jìn)行ARP地址學(xué)習(xí)的方法流程圖;
[0063]圖8為本發(fā)明實(shí)施例提供的又一種通信方法的流程圖;
[0064]圖9為本發(fā)明實(shí)施例提供的VXLAN隧道端點(diǎn)VTEP的功能模塊示意圖;
[0065]圖10為本發(fā)明實(shí)施例提供的VXLAN與VLAN之間進(jìn)行ARP地址學(xué)習(xí)的時(shí)序圖;
[0066]圖11為本發(fā)明實(shí)施例提供的VXLAN與VLAN之間通信的時(shí)序圖;
[0067]圖12為本發(fā)明實(shí)施例提供的不同VXLAN之間進(jìn)行ARP地址學(xué)習(xí)的時(shí)序圖;
[0068]圖13為本發(fā)明實(shí)施例提供的不同VXLAN之間通信的時(shí)序圖;
[0069]圖14為本發(fā)明實(shí)施例提供的基于VXLAN的通信裝置示意圖;
[0070]圖15為本發(fā)明實(shí)施例提供的基于VXLAN的通信裝置的結(jié)構(gòu)組成示意圖。
【具體實(shí)施方式】
[0071]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
[0072]可擴(kuò)展虛擬局域網(wǎng)VXLAN采用的是MAC-1n_UDP(User DatagramProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)封裝機(jī)制,在MAC幀基礎(chǔ)上由里到外分別封裝了 VXLAN頭(VXLAN header)、UDP頭(UDP header)、IP頭(IP header)和以太網(wǎng)頭(Ethernet header),就如同構(gòu)建一個(gè)隧道,MAC幀作為隧道內(nèi)的實(shí)際傳輸內(nèi)容,外部封裝部分作為數(shù)據(jù)在隧道內(nèi)傳輸?shù)臉?biāo)識(shí),保證數(shù)據(jù)正確到達(dá)目的地。圖2為一種可擴(kuò)展虛擬局域網(wǎng)VXLAN報(bào)文格式的示意圖,如圖2所示,VXLAN報(bào)文是在原始以太網(wǎng)巾貞(Original Ethernet Frame)中,增加VXLAN封裝部分(VXLANEncapsulation)。VXLAN 中將隧道的端點(diǎn)稱為 VTEP (VXLAN Tunnel End Point,VXLAN 隧道端點(diǎn))。VTEP的主要功能是接收本地VM發(fā)來的以太網(wǎng)Ethernet幀時(shí)為其加上封裝頭并發(fā)送出去;在接收到遠(yuǎn)程VTEP發(fā)來的帶有封裝頭報(bào)文時(shí),去除封裝頭并轉(zhuǎn)發(fā)給相應(yīng)VM。
[0073]本發(fā)明提供的基于可擴(kuò)展虛擬局域網(wǎng)VXLAN的通信方法及裝置,可以應(yīng)用于部署虛擬機(jī)系統(tǒng)中,例如VXLAN的虛擬數(shù)據(jù)中心(Virtual Data Center,VDC)中,以構(gòu)建云計(jì)算中關(guān)鍵的計(jì)算資源共享池,其中資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件及服務(wù)等。虛擬化技術(shù)主要包括:服務(wù)器虛擬化、存儲(chǔ)虛擬化以及網(wǎng)絡(luò)虛擬化。VDC的核心技術(shù)是服務(wù)器虛擬化,主要是將一臺(tái)物理機(jī)的物理資源虛擬成多個(gè)虛擬機(jī)(Virtual Machine, VM),使得每個(gè)VM都可以實(shí)現(xiàn)物理機(jī)(Physical Machine, PM)的功能。
[0074]圖3是一個(gè)虛擬數(shù)據(jù)中心VDC的系統(tǒng)架構(gòu)圖,如圖3所示,VDC—般采用分層架構(gòu),最底層是各個(gè)物理服務(wù)器Server,每個(gè)Server中創(chuàng)建多個(gè)VM,并通過虛擬交換機(jī)vSwitch將這些VM在服務(wù)器內(nèi)部組成小型的虛擬局域網(wǎng)絡(luò)。每個(gè)Server也是VXLAN隧道的端點(diǎn),因此涉及本發(fā)明實(shí)施例應(yīng)用的VXLAN隧道端點(diǎn)VTEP (VXLAN Tunnel End Point)就是部署在各個(gè)Server上,并且VTEP作為Server內(nèi)部VM與Server外部其他PM/VM通信的出入口。VTEP可以是Server內(nèi)的獨(dú)立組件,也可以與vSwitch聯(lián)合部署。Server外部的網(wǎng)絡(luò)則根據(jù)VDC的規(guī)模進(jìn)行分層組網(wǎng)。Server首先連接到接入交換機(jī),通常為ToR,接入交換機(jī)ToR再連入?yún)R聚交換機(jī)Switch,再連到核心交換機(jī)L3Switch。當(dāng)然,匯聚層和核心層也可以合并,通常采用三層(L3)交換機(jī)。最后,VDC通過路由器與外網(wǎng)Internet網(wǎng)絡(luò)相連。
[0075]根據(jù)Server內(nèi)VM所需通信的對(duì)端PM/VM所處的網(wǎng)絡(luò)位置,完成VXLAN與VLAN或者不同VXLAN間互通的過程,可能會(huì)經(jīng)過ToR、L3Switch或Router。由于VXLAN不對(duì)這些外部網(wǎng)絡(luò)設(shè)備產(chǎn)生影響,即這些設(shè)備均按照常規(guī)方式工作,因此可以將外部網(wǎng)絡(luò)設(shè)備都抽象化表示,以突出本發(fā)明實(shí)施例的關(guān)鍵技術(shù)。
[0076]圖4是本發(fā)明實(shí)施例所基于的VDC組網(wǎng)和場(chǎng)景不意圖,如圖4所不,該VDC組網(wǎng)中包括服務(wù)器Server-1201、服務(wù)器Server-2202、服務(wù)器Server-3203和網(wǎng)絡(luò)交換機(jī)204。在服務(wù)器Server-1201中創(chuàng)建虛擬機(jī)VM-12011,服務(wù)器Server-1201部署了 VXLAN,因此其上的虛擬機(jī)VM-12011和其他虛擬機(jī)都要通過VTEP-12012與外部網(wǎng)絡(luò)通信。虛擬機(jī)VM-12011加入了 VXLAN100的子網(wǎng),也就是虛擬機(jī)VM-12011對(duì)應(yīng)的VXLAN的VNI為100。當(dāng)VM-12011與同一個(gè)VXLAN內(nèi)的VM通信時(shí),VTEP-12012為VM-12011發(fā)出的數(shù)據(jù)包封裝VXLAN頭;當(dāng)VM-12011與VLAN或者不同VXLAN內(nèi)的VM進(jìn)行通信時(shí),VTEP-12012將對(duì)VM-12011發(fā)出的數(shù)據(jù)包進(jìn)行修改,然后將修改后的數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)交換機(jī)204,例如發(fā)送到ToR或Switch等網(wǎng)絡(luò)設(shè)備上,通過L2/L3網(wǎng)絡(luò)的轉(zhuǎn)發(fā)到達(dá)對(duì)端服務(wù)器的VTEP或者VM。本發(fā)明對(duì)具體采用的L2/L3網(wǎng)絡(luò)設(shè)備不作限定。
[0077]本發(fā)明主要針對(duì)VM-12011與VLAN或者不同VXLAN內(nèi)的VM進(jìn)行通信的場(chǎng)景。即,一是 VM-12011 與 VLAN300 中 VM-32031 的通信,二是 VM-12011 與 VXLAN200 中的 VM-22021的通信,分別對(duì)應(yīng)為本發(fā)明的VXLAN與VLAN互通以及不同VXLAN間互通的場(chǎng)景。VLAN中的服務(wù)器Server-3203沒有部署VTEP,不考慮其他虛擬化步驟時(shí),可以認(rèn)為轉(zhuǎn)發(fā)給服務(wù)器的數(shù)據(jù)包直接發(fā)給對(duì)應(yīng)的VM-32031。VM-22021創(chuàng)建在Server-2201上,屬于VXLAN200,也就是VM-22021的VNI為200。從網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)來的數(shù)據(jù)包需要經(jīng)過VTEP-22022進(jìn)行修改等處理,再轉(zhuǎn)發(fā)給VM-22021。同VM-12011,VM-22021發(fā)出的數(shù)據(jù)包也需要經(jīng)過VTEP-22022的處理,再發(fā)往網(wǎng)絡(luò)交換機(jī)204。
[0078]在VXLAN與VLAN之間或者不同VXLAN之間的VM之間通信開始時(shí),先利用地址解析協(xié)議(Address Resolution Protocol, ARP)數(shù)據(jù)報(bào)文進(jìn)行所述源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的ARP地址學(xué)習(xí)。
[0079]圖5是本發(fā)明利用ARP數(shù)據(jù)報(bào)文進(jìn)行ARP目的節(jié)點(diǎn)的尋址地址的學(xué)習(xí)的方法流程圖,首先需要說明的是,利用ARP數(shù)據(jù)報(bào)文進(jìn)行ARP目的節(jié)點(diǎn)的尋址地址的學(xué)習(xí),即獲取目的節(jié)點(diǎn)尋址地址的過程,由于源節(jié)點(diǎn)并不知曉目的節(jié)點(diǎn)的尋址地址,現(xiàn)有技術(shù)采用Gateway的方式來實(shí)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的通信,而本發(fā)明實(shí)施例為了避免在組網(wǎng)中增加Gateway,則需要首先獲取目的節(jié)點(diǎn)的尋址地址,本發(fā)明實(shí)施例則采用了利用ARP數(shù)據(jù)報(bào)文的廣播發(fā)送來獲取目的節(jié)點(diǎn)的尋址地址,在ARP數(shù)據(jù)報(bào)文的發(fā)送過程中可以學(xué)習(xí)到目的節(jié)點(diǎn)的尋址地址,一般來說尋址地址用來定義網(wǎng)絡(luò)設(shè)備的位置,包括MAC(Media AccessControl)地址,或稱為MAC位址、硬件位址。
[0080]如圖5所示,該ARP目的節(jié)點(diǎn)的地址學(xué)習(xí)過程包括:步驟SlOl、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP(源節(jié)點(diǎn)對(duì)應(yīng)的第一端口)接收源節(jié)點(diǎn)發(fā)送的ARP請(qǐng)求報(bào)文。
[0081 ] 所述ARP請(qǐng)求報(bào)文中攜帶有以太網(wǎng)Ethernet頭的源MAC地址、ARP報(bào)文的發(fā)端MAC地址、發(fā)端IP地址及目的IP地址,其中,所述ARP請(qǐng)求報(bào)文中的發(fā)端地址即所述源節(jié)點(diǎn)的IP或MAC地址,所述ARP請(qǐng)求報(bào)文中的目的IP地址即目的節(jié)點(diǎn)的IP地址。
[0082]步驟S102、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述ARP請(qǐng)求報(bào)文中的目的IP地址,利用數(shù)據(jù)庫DB查詢得到所述目的IP地址所在的第二虛擬網(wǎng)絡(luò),即第二 VLAN或第二 VXLAN。
[0083]具體地,源節(jié)點(diǎn)對(duì)應(yīng)的VTEP對(duì)接收到的ARP請(qǐng)求報(bào)文進(jìn)行解析,先得到源節(jié)點(diǎn)的MAC地址、源節(jié)點(diǎn)的IP地址和目的IP地址。
[0084]在進(jìn)行ARP目的節(jié)點(diǎn)的尋址地址的學(xué)習(xí)之前,還包括:建立數(shù)據(jù)庫DB的步驟,數(shù)據(jù)庫DB存儲(chǔ)所述系統(tǒng)中的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系。數(shù)據(jù)庫DB中包括預(yù)先配置的本地VM對(duì)應(yīng)的IP、所屬VXLAN的VNI和組播地址、端口信息以及全部VXLAN對(duì)應(yīng)的VM的IP地址范圍,還有動(dòng)態(tài)學(xué)習(xí)的本地VM的MAC地址、通信VM的MAC地址和所在VTEP的IP地址。在源節(jié)點(diǎn)對(duì)應(yīng)的VTEP解析到源節(jié)點(diǎn)的MAC地址和IP地址時(shí),VTEP會(huì)將其記錄在數(shù)據(jù)庫DB中,對(duì)數(shù)據(jù)庫DB進(jìn)行動(dòng)態(tài)更新。當(dāng)然,本發(fā)明實(shí)施例不限于采用數(shù)據(jù)庫DB來存儲(chǔ)該些配置信息和地址學(xué)習(xí)信息,例如還可以采用Hash表等內(nèi)存表的方式來存儲(chǔ)。
[0085]步驟S103、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將所述ARP請(qǐng)求報(bào)文廣播發(fā)送到所述目的IP地址所在第二 VLAN的目的節(jié)點(diǎn),或者廣播發(fā)送ARP請(qǐng)求報(bào)文到所述第二 VXLAN對(duì)應(yīng)的第二端口,以轉(zhuǎn)發(fā)給所述目的節(jié)點(diǎn)。
[0086]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP直接將ARP請(qǐng)求報(bào)文經(jīng)由網(wǎng)絡(luò)廣播發(fā)送給目的IP地址所在VLAN或VXLAN。如果目的IP地址屬于VLAN,可以認(rèn)為直接轉(zhuǎn)發(fā)給目的節(jié)點(diǎn)。
[0087]如果目的IP地址屬于不同的VXLAN,則發(fā)送ARP請(qǐng)求報(bào)文至對(duì)端的VTEP,即目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP。目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收到ARP請(qǐng)求報(bào)文,分析為ARP請(qǐng)求報(bào)文,則廣播到目的節(jié)點(diǎn)。
[0088]對(duì)于目的IP地址屬于與源節(jié)點(diǎn)所在VXLAN相同VXLAN時(shí),與現(xiàn)有的VXLAN協(xié)議的處理方式相同,在對(duì)原始報(bào)文添加VXLAN封裝后發(fā)送目的IP所在VTEP,其報(bào)文格式如圖2所示。
[0089]步驟S104、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收所述目的節(jié)點(diǎn)或目的節(jié)點(diǎn)所在VXLAN的對(duì)端VTEP返回的ARP應(yīng)答報(bào)文。
[0090]目的節(jié)點(diǎn)接收到ARP請(qǐng)求報(bào)文后,判斷目的IP為自身,則學(xué)習(xí)并記錄ARP報(bào)文中的發(fā)端IP及發(fā)端MAC地址,即記錄所述源節(jié)點(diǎn)的IP地址及源節(jié)點(diǎn)的MAC地址,目的節(jié)點(diǎn)還生成ARP應(yīng)答報(bào)文,該ARP應(yīng)答報(bào)文中ARP報(bào)文的目的MAC地址為該目的節(jié)點(diǎn)的MAC地址,目的IP地址為該目的節(jié)點(diǎn)的IP地址,發(fā)端IP地址為源節(jié)點(diǎn)的IP地址,發(fā)端MAC地址為源節(jié)點(diǎn)的MAC地址,目的節(jié)點(diǎn)發(fā)送所述ARP應(yīng)答報(bào)文給源節(jié)點(diǎn)對(duì)應(yīng)的VTEP。
[0091]如果目的節(jié)點(diǎn)在不同的VXLAN中,目的節(jié)點(diǎn)在生成ARP應(yīng)答報(bào)文后,先發(fā)送給目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP,由該目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP將ARP應(yīng)答報(bào)文返回給所述源節(jié)點(diǎn)對(duì)應(yīng)的VTEP0
[0092]步驟S105、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述ARP應(yīng)答報(bào)文中的發(fā)端IP地址。
[0093]步驟S106、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP根據(jù)所述ARP應(yīng)答報(bào)文中的發(fā)端IP地址,判斷所述ARP應(yīng)答報(bào)文是否發(fā)送給本機(jī)的所述源節(jié)點(diǎn),如果是,則進(jìn)入步驟S107,否則進(jìn)入步驟S108,丟棄該ARP應(yīng)答報(bào)文。
[0094]步驟S107、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)到所述源節(jié)點(diǎn),以使所述源節(jié)點(diǎn)獲得并記錄所述ARP應(yīng)答報(bào)文中攜帶目的尋址地址,即所述目的節(jié)點(diǎn)的尋址地址。
[0095]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取ARP應(yīng)答報(bào)文中發(fā)端IP地址,查詢數(shù)據(jù)庫DB,判斷發(fā)端IP地址為本機(jī)的源節(jié)點(diǎn)對(duì)應(yīng)的IP地址,則將ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)到源節(jié)點(diǎn),源節(jié)點(diǎn)獲得ARP應(yīng)答報(bào)文中目的MAC地址,完成對(duì)目的節(jié)點(diǎn)的MAC地址的學(xué)習(xí)過程。
[0096]在學(xué)習(xí)到目的節(jié)點(diǎn)的尋址地址之后,兩個(gè)虛擬機(jī)之間即可以開始互通正常的單播通信報(bào)文,如圖6所示,該兩個(gè)虛擬機(jī)之間互通單播報(bào)文的通信過程具體包括:
[0097]步驟S201、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收源節(jié)點(diǎn)發(fā)送的第一單播報(bào)文。
[0098]第一單播報(bào)文即為單播通信報(bào)文,攜帶有源IP地址、源尋址地址、目的IP地址和目的尋址地址。其中,源IP地址為源節(jié)點(diǎn)的IP地址,源尋址地址為源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址,目的尋址地址為步驟S107獲取到的目的尋址地址。
[0099]步驟S202、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述第一單播報(bào)文中的目的IP地址,并利用數(shù)據(jù)庫DB查詢得到所述目的IP地址所在的第二虛擬網(wǎng)絡(luò),即第二 VLAN或第二 VXLAN。
[0100]步驟S203、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將所述第一單播報(bào)文轉(zhuǎn)發(fā)到所述目的IP地址所在第二 VLAN的目的節(jié)點(diǎn),或者轉(zhuǎn)發(fā)單播報(bào)文到所述第二 VXLAN對(duì)應(yīng)的第二端口,以轉(zhuǎn)發(fā)給所述目的節(jié)點(diǎn)。
[0101]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP直接將第一單播報(bào)文經(jīng)由網(wǎng)絡(luò)轉(zhuǎn)發(fā)給目的IP地址所在VLAN或VXLAN。如果目的IP地址屬于VLAN,可以認(rèn)為直接轉(zhuǎn)發(fā)給目的節(jié)點(diǎn)。
[0102]如果目的IP地址屬于不同的VXLAN,則發(fā)送第一單播報(bào)文至目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP,目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收到第一單播報(bào)文,分析為單播通信報(bào)文,則提取目的IP地址,查詢目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP中的數(shù)據(jù)庫DB,判斷到該目的IP屬于本機(jī)的節(jié)點(diǎn),則轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)。目的節(jié)點(diǎn)則可以獲得源節(jié)點(diǎn)發(fā)來的數(shù)據(jù)。
[0103]對(duì)于目的IP地址屬于與源節(jié)點(diǎn)所在VXLAN相同VXLAN時(shí),與現(xiàn)有的VXLAN協(xié)議的處理方式相同,在對(duì)原始報(bào)文添加VXLAN封裝后發(fā)送目的IP所在VTEP,其報(bào)文格式如圖2所示。
[0104]目的節(jié)點(diǎn)在接收到源節(jié)點(diǎn)發(fā)送的單播報(bào)文后,目的節(jié)點(diǎn)也可以向源節(jié)點(diǎn)發(fā)送單播報(bào)文進(jìn)行通信。具體如下:
[0105]步驟S204、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收所述目的節(jié)點(diǎn)在接收到所述第一單播報(bào)文后發(fā)送的第二單播報(bào)文。
[0106]第二單播報(bào)文具體為單播通信報(bào)文,攜帶有源IP地址、源尋址地址、目的IP地址和目的尋址地址。此時(shí),第二單播報(bào)文由目的節(jié)點(diǎn)發(fā)送,則第二單播報(bào)文中的源IP地址為目的節(jié)點(diǎn)的IP地址,源尋址地址為目的節(jié)點(diǎn)的尋址地址,目的IP地址為源節(jié)點(diǎn)的IP地址,目的尋址地址為源節(jié)點(diǎn)的尋址地址。[0107]步驟S205、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述第二單播報(bào)文中的目的IP地址。
[0108]步驟S206、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP判斷所述第二單播報(bào)文是否發(fā)送給本機(jī)的所述源節(jié)點(diǎn),如果是,則進(jìn)入步驟S207,否則,進(jìn)入步驟S208,丟棄該第二單播報(bào)文。
[0109]步驟S207、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將所述第二單播報(bào)文轉(zhuǎn)發(fā)給所述源節(jié)點(diǎn)。
[0110]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP對(duì)接收到的第二單播報(bào)文進(jìn)行解析,得到源節(jié)點(diǎn)的MAC地址、源節(jié)點(diǎn)的IP地址和目的IP地址和目的MAC地址。根據(jù)目的IP地址,查詢數(shù)據(jù)庫DB,判斷目的IP地址是否屬于本機(jī)的節(jié)點(diǎn),如果是則轉(zhuǎn)發(fā)給所述源節(jié)點(diǎn),以使所述源節(jié)點(diǎn)獲得所述目的節(jié)點(diǎn)發(fā)來的數(shù)據(jù)。
[0111]這樣,本發(fā)明無需采用VXLAN Gateway,即可實(shí)現(xiàn)VXLAN與VLAN以及不同VXLAN的互通。上述實(shí)施例中VTEP未對(duì)收發(fā)的報(bào)文信息進(jìn)行修改,使得VM的MAC暴露到L2網(wǎng)絡(luò)設(shè)備上。如果VM的MAC地址暴露到L2網(wǎng)絡(luò)設(shè)備上,對(duì)于服務(wù)器創(chuàng)建大量VM的場(chǎng)景則存在ToR或交換機(jī)上需要維護(hù)的MAC轉(zhuǎn)發(fā)表過大過復(fù)雜的問題,因而該方法適用于VM規(guī)模較小的小型網(wǎng)絡(luò)。
[0112]而對(duì)于大規(guī)模的虛擬局域網(wǎng),優(yōu)選地,本發(fā)明在源節(jié)點(diǎn)對(duì)應(yīng)的VTEP收發(fā)的報(bào)文信息進(jìn)行修改,由VTEP的MAC地址代替其所轄的VM的MAC地址來與VLAN以及不同VXLAN進(jìn)行互通,使各個(gè)VM的MAC不暴露到L2網(wǎng)絡(luò)設(shè)備上,降低網(wǎng)絡(luò)設(shè)備部署的難度。
[0113]具體地,圖7是本發(fā)明提供利用ARP數(shù)據(jù)報(bào)文進(jìn)行ARP目的節(jié)點(diǎn)的尋址地址的學(xué)習(xí)的方法流程圖,同樣地,本實(shí)施例采用了利用ARP數(shù)據(jù)報(bào)文的廣播發(fā)送來獲取目的節(jié)點(diǎn)的尋址地址,在ARP數(shù)據(jù)報(bào)文的發(fā)送過程中可以學(xué)習(xí)到目的節(jié)點(diǎn)的尋址地址。
[0114]如圖7所示,該ARP目的節(jié)點(diǎn)的地址學(xué)習(xí)過程包括:
[0115]步驟S301、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP (源節(jié)點(diǎn)對(duì)應(yīng)的第一端口)接收源節(jié)點(diǎn)發(fā)送的ARP請(qǐng)求報(bào)文。
[0116]所述ARP請(qǐng)求報(bào)文中攜帶有以太網(wǎng)Ethernet頭的源MAC地址、ARP報(bào)文的發(fā)端MAC地址、發(fā)端IP地址及目的IP地址,其中,所述ARP請(qǐng)求報(bào)文中的發(fā)端地址即所述源節(jié)點(diǎn)的IP或MAC地址,所述ARP請(qǐng)求報(bào)文中的目的IP地址即目的節(jié)點(diǎn)的IP地址。
[0117]步驟S302、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述ARP請(qǐng)求報(bào)文中的目的IP地址,利用數(shù)據(jù)庫DB查詢得到所述目的IP地址所在的第二虛擬網(wǎng)絡(luò),即第二 VLAN或第二 VXLAN。
[0118]具體地,源節(jié)點(diǎn)對(duì)應(yīng)的VTEP對(duì)接收到的ARP請(qǐng)求報(bào)文進(jìn)行解析,先得到源節(jié)點(diǎn)的MAC地址、源節(jié)點(diǎn)的IP地址和目的IP地址,并記錄源節(jié)點(diǎn)的MAC地址和IP地址到所述數(shù)據(jù)庫DB中。
[0119]步驟S303、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP判斷ARP請(qǐng)求報(bào)文請(qǐng)求的目的IP地址是否屬于VLAN或VXLAN,如果是VLAN,進(jìn)入步驟S304,如果是與源節(jié)點(diǎn)在不同的VXLAN,進(jìn)入步驟S306,如果是與源節(jié)點(diǎn)在相同的VXLAN’則進(jìn)入步驟S309,與現(xiàn)有的VXLAN協(xié)議的處理方式相同,封裝VXLAN后發(fā)送目的IP所在VTEP。
[0120]步驟S304、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將ARP請(qǐng)求報(bào)文中以太網(wǎng)Ethernet頭的源尋址地址和ARP報(bào)文的發(fā)端尋址地址由源節(jié)點(diǎn)的尋址地址替換為源節(jié)點(diǎn)對(duì)應(yīng)的VTEP的尋址地址。
[0121]也就是說,利用VTEP的MAC地址替代內(nèi)部虛擬機(jī)VM (源節(jié)點(diǎn))的MAC地址與外部網(wǎng)絡(luò)進(jìn)行通信。從外部網(wǎng)絡(luò)來看,網(wǎng)絡(luò)交換機(jī)及其他虛擬局域網(wǎng)僅能獲得該源節(jié)點(diǎn)所在的VXLAN的VTEP的MAC地址。這樣可以使得VM的MAC地址不暴露到網(wǎng)絡(luò)設(shè)備上,有利于網(wǎng)絡(luò)信息的維護(hù)。
[0122]步驟S305、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將替換后的ARP請(qǐng)求報(bào)文經(jīng)由網(wǎng)絡(luò)廣播發(fā)送到目的IP地址所在VLAN中的目的節(jié)點(diǎn),VLAN中的目的節(jié)點(diǎn)接收到ARP請(qǐng)求報(bào)文。
[0123]在目的節(jié)點(diǎn)接收到ARP請(qǐng)求報(bào)文,判斷目的IP為自身,則學(xué)習(xí)并記錄ARP報(bào)文中的發(fā)端IP及發(fā)端MAC地址,即記錄所述源節(jié)點(diǎn)的IP地址及源節(jié)點(diǎn)的MAC地址,目的節(jié)點(diǎn)還生成ARP應(yīng)答報(bào)文,該ARP應(yīng)答報(bào)文中ARP報(bào)文的目的MAC地址為該目的節(jié)點(diǎn)的MAC地址,目的IP地址為該目的節(jié)點(diǎn)的IP地址,發(fā)端IP地址為源節(jié)點(diǎn)的IP地址,發(fā)端MAC地址為源節(jié)點(diǎn)的MAC地址,目的節(jié)點(diǎn)發(fā)送所述ARP應(yīng)答報(bào)文給源節(jié)點(diǎn)所在VXLAN的VTEP,進(jìn)入步驟S310。
[0124]步驟S306、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將ARP請(qǐng)求報(bào)文中以太網(wǎng)Ethernet頭的源尋址地址和ARP報(bào)文的發(fā)端尋址地址由源節(jié)點(diǎn)的尋址地址替換為源節(jié)點(diǎn)對(duì)應(yīng)的VTEP的尋址地址。
[0125]步驟S307、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將替換后的ARP請(qǐng)求報(bào)文經(jīng)由網(wǎng)絡(luò)廣播發(fā)送到目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP (第二端口)。
[0126]步驟S308、目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP根據(jù)ARP請(qǐng)求報(bào)文發(fā)送給目的節(jié)點(diǎn)。
[0127]目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收到ARP請(qǐng)求報(bào)文,分析為ARP請(qǐng)求報(bào)文,則廣播到目的節(jié)點(diǎn)。
[0128]目的節(jié)點(diǎn)接收到ARP請(qǐng)求報(bào)文后,判斷目的IP為自身,則學(xué)習(xí)并記錄ARP報(bào)文中的發(fā)端IP及發(fā)端MAC地址,即記錄所述源節(jié)點(diǎn)的IP地址及源節(jié)點(diǎn)的MAC地址,目的節(jié)點(diǎn)還生成ARP應(yīng)答報(bào)文,該ARP應(yīng)答報(bào)文中ARP報(bào)文的目的MAC地址為該目的節(jié)點(diǎn)的MAC地址,目的IP地址為該目的節(jié)點(diǎn)的IP地址,發(fā)端IP地址為源節(jié)點(diǎn)的IP地址,發(fā)端MAC地址為源節(jié)點(diǎn)的MAC地址,目的節(jié)點(diǎn)發(fā)送所述ARP應(yīng)答報(bào)文給目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP。
[0129]目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP在將ARP應(yīng)答報(bào)文發(fā)送給源節(jié)點(diǎn)對(duì)應(yīng)的VTEP之前,還會(huì)將ARP應(yīng)答報(bào)文中Ethernet頭中源MAC地址和ARP報(bào)文中目的MAC地址替換為所述對(duì)端VTEP的MAC地址,而后再將替換后的ARP應(yīng)答報(bào)文發(fā)送給源節(jié)點(diǎn)對(duì)應(yīng)的VTEP,進(jìn)入步驟S310。
[0130]步驟S310、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收所述目的節(jié)點(diǎn)在接收到所述ARP請(qǐng)求報(bào)文后發(fā)送的ARP應(yīng)答報(bào)文。
[0131]步驟S311、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述ARP應(yīng)答報(bào)文中的發(fā)端IP地址。
[0132]步驟S312、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP根據(jù)所述ARP應(yīng)答報(bào)文中的發(fā)端IP地址,判斷ARP應(yīng)答報(bào)文是否發(fā)送給本機(jī)的源節(jié)點(diǎn),如果是,則進(jìn)入步驟S313,否則進(jìn)入步驟S315、丟棄該ARP應(yīng)答報(bào)文。
[0133]步驟S313、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將ARP應(yīng)答報(bào)文中Ethernet頭的目的尋址地址和ARP報(bào)文的發(fā)端尋址地址由源節(jié)點(diǎn)對(duì)應(yīng)的VTEP的尋址地址替換為源節(jié)點(diǎn)的尋址地址。
[0134]步驟S314、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)到所述源節(jié)點(diǎn)。
[0135]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP從接收到的ARP應(yīng)答報(bào)文中提取發(fā)端IP地址,查詢數(shù)據(jù)庫DB,判斷發(fā)端IP地址為本機(jī)的源節(jié)點(diǎn)對(duì)應(yīng)的IP地址,則將ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)到源節(jié)點(diǎn),源節(jié)點(diǎn)獲得ARP應(yīng)答報(bào)文中目的MAC地址,完成對(duì)目的節(jié)點(diǎn)的MAC地址的學(xué)習(xí)過程。
[0136]同樣地,在學(xué)習(xí)到目的節(jié)點(diǎn)的尋址地址之后,兩個(gè)虛擬機(jī)之間即可以開始互通正常的單播通信報(bào)文,如圖8所示,該兩個(gè)虛擬機(jī)之間互通單播報(bào)文的通信過程具體包括:
[0137]步驟S401、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收源節(jié)點(diǎn)發(fā)送的第一單播報(bào)文。[0138]第一單播報(bào)文即為單播通信報(bào)文,攜帶有源IP地址、源MAC地址、目的IP地址和目的MAC地址。其中,源IP地址為源節(jié)點(diǎn)的IP地址,源尋址地址為源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址,目的尋址地址為步驟S314獲取到的目的尋址地址。
[0139]步驟S402、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述第一單播報(bào)文中的目的I P地址,并利用數(shù)據(jù)庫DB查詢得到所述目的IP地址所在的第二虛擬網(wǎng)絡(luò),即第二 VLAN或第二 VXLAN。
[0140]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP對(duì)接收到的第一單播報(bào)文進(jìn)行解析,得到源節(jié)點(diǎn)的MAC地址、源節(jié)點(diǎn)的IP地址和目的IP地址和目的MAC地址。
[0141]步驟S403、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP判斷第一單播報(bào)文請(qǐng)求的目的IP地址是否屬于VLAN或VXLAN,如果是VLAN,進(jìn)入步驟S404,如果是與源節(jié)點(diǎn)在不同的VXLAN,進(jìn)入步驟S406,如果是與源節(jié)點(diǎn)在相同的VXLAN’則進(jìn)入步驟S409,與現(xiàn)有的VXLAN協(xié)議的處理方式相同,將第一單播報(bào)文封裝VXLAN后發(fā)送給目的IP所在VTEP。
[0142]步驟S404、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將第一單播報(bào)文中Ethernet頭的源尋址地址由源節(jié)點(diǎn)的尋址地址替換為源節(jié)點(diǎn)對(duì)應(yīng)的VTEP的尋址地址。
[0143]也就是說,利用VTEP的MAC地址替代內(nèi)部虛擬機(jī)VM (源節(jié)點(diǎn))的MAC地址與外部網(wǎng)絡(luò)進(jìn)行通信。從外部網(wǎng)絡(luò)來看,網(wǎng)絡(luò)交換機(jī)及其他虛擬局域網(wǎng)僅能獲得該源節(jié)點(diǎn)所在的VXLAN的VTEP的MAC地址。這樣可以使得VM的MAC地址不暴露到網(wǎng)絡(luò)設(shè)備上,有利于網(wǎng)絡(luò)信息的維護(hù)。
[0144]步驟S405、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將替換后的第一單播報(bào)文經(jīng)由網(wǎng)絡(luò)轉(zhuǎn)發(fā)到目的IP地址所在VLAN中的目的節(jié)點(diǎn),VLAN中的目的節(jié)點(diǎn)接收到第一單播報(bào)文,獲得源節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)。
[0145]步驟S406、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將第一單播報(bào)文中Ethernet頭的源尋址地址由源節(jié)點(diǎn)的尋址地址替換為源節(jié)點(diǎn)對(duì)應(yīng)的VTEP的尋址地址。
[0146]步驟S407、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將替換后的第一單播報(bào)文經(jīng)由網(wǎng)絡(luò)轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP。
[0147]步驟S408、目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP根據(jù)第一單播報(bào)文中的目的IP地址,查詢獲得所述目的節(jié)點(diǎn)的尋址地址,將第一單播報(bào)文發(fā)送給目的節(jié)點(diǎn)。
[0148]目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收到第一單播報(bào)文,提取目的IP,查詢目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP中的DB,獲得目的節(jié)點(diǎn)的MAC地址,將第一單播報(bào)文中Ethernet頭的目的MAC地址由目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP的MAC地址替換為目的節(jié)點(diǎn)的MAC地址,并將再次替換后的第一單播報(bào)文發(fā)送給目的節(jié)點(diǎn)。目的節(jié)點(diǎn)獲得從源節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)。
[0149]在目的節(jié)點(diǎn)獲得源節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)之后,目的節(jié)點(diǎn)也可以向源節(jié)點(diǎn)發(fā)送單播報(bào)文進(jìn)行通信,進(jìn)入步驟S410。
[0150]如果目的節(jié)點(diǎn)處于與源節(jié)點(diǎn)不同的VXLAN中,目的節(jié)點(diǎn)返回的第二單播報(bào)文先發(fā)送給目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP,由該目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP將第二單播報(bào)文返回給所述源節(jié)點(diǎn)對(duì)應(yīng)的VTEP。同樣地,目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP在將第二單播報(bào)文返回給所述源節(jié)點(diǎn)對(duì)應(yīng)的VTEP之前,還會(huì)將所述目的節(jié)點(diǎn)的第二報(bào)文中Ethernet頭的源MAC地址替換為所述目的節(jié)點(diǎn)對(duì)應(yīng)的VTEP的MAC地址,而后再將第二單播報(bào)文發(fā)送給源節(jié)點(diǎn)對(duì)應(yīng)的VTEP,進(jìn)入步驟S410。
[0151]步驟S410、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP接收所述目的節(jié)點(diǎn)在接收到所述第一單播報(bào)文后發(fā)送的第二單播報(bào)文。
[0152]步驟S411、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP提取所述第二單播報(bào)文中的目的IP地址。
[0153]步驟S412、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP判斷第二單播報(bào)文是否發(fā)送給本機(jī)的源節(jié)點(diǎn),如果是,則進(jìn)入步驟S413,否則進(jìn)入步驟S415、丟棄該第二單播報(bào)文。
[0154]步驟S413、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將第二單播報(bào)文中Ethernet頭的目的MAC地址替換為源節(jié)點(diǎn)的MAC地址。
[0155]步驟S414、源節(jié)點(diǎn)對(duì)應(yīng)的VTEP將所述第二單播報(bào)文轉(zhuǎn)發(fā)到所述源節(jié)點(diǎn)。
[0156]源節(jié)點(diǎn)對(duì)應(yīng)的VTEP對(duì)接收到的第二單播報(bào)文進(jìn)行解析,得到源節(jié)點(diǎn)的MAC地址、源節(jié)點(diǎn)的IP地址和目的IP地址和目的MAC地址。根據(jù)目的IP地址,查詢數(shù)據(jù)庫DB,判斷目的IP地址是否屬于本機(jī)的節(jié)點(diǎn),如果是,則將第二報(bào)文中Ethernet頭的目的MAC地址替換為源節(jié)點(diǎn)的MAC地址,轉(zhuǎn)發(fā)給所述源節(jié)點(diǎn),以使所述源節(jié)點(diǎn)獲得所述目的節(jié)點(diǎn)發(fā)來的數(shù)據(jù)。
[0157]本發(fā)明通過對(duì)VXLAN中部署在各個(gè)服務(wù)器上的VTEP進(jìn)行功能增強(qiáng),達(dá)到實(shí)現(xiàn)VXLAN與VLAN以及不同VXLAN間互通的目的。圖9是本發(fā)明提供的VXLAN隧道端點(diǎn)VTEP的功能模塊示意圖,如圖9所示,該VTEP30包括:包分析(PacketAnalysis, PA)模塊301、數(shù)據(jù)庫(DataBase, DB)模塊 302 和包處理(PacketProcess, PP)模塊 303。
[0158]包分析模塊PA301用于接收數(shù)據(jù)包,包括從物理網(wǎng)卡和VM兩個(gè)方向收到的數(shù)據(jù)包。PA301對(duì)收到的報(bào)文頭信息進(jìn)行分析,根據(jù)不同協(xié)議類型,從報(bào)文頭或者報(bào)文載荷中提取出源/目的IP信息。PA301以此源/目的IP作為鍵值向DB302進(jìn)行查詢,來判斷當(dāng)前報(bào)文的是否發(fā)往本地VM或者是否發(fā)往VLAN中的VM或不同VXLAN。PA301將報(bào)文和判斷結(jié)果發(fā)給PP303進(jìn)行處理。當(dāng)PP303處理報(bào)文完成后,PA301或者PP303會(huì)將報(bào)文轉(zhuǎn)發(fā)到對(duì)應(yīng)的端口,在本發(fā)明中以PA301進(jìn)行轉(zhuǎn)發(fā)為例進(jìn)行說明。
[0159]數(shù)據(jù)庫模塊DB302用于存儲(chǔ)配置信息和地址學(xué)習(xí)信息,具體包括預(yù)先配置的本地VM對(duì)應(yīng)的IP、所屬VXLAN的VNI和組播地址、端口信息以及全部VXLAN對(duì)應(yīng)的VM的IP地址范圍,還有動(dòng)態(tài)學(xué)習(xí)的本地VM的IP和MAC、通信VM的MAC地址及其所在VTEP的IP地址。本發(fā)明對(duì)配置信息和地址學(xué)習(xí)信息的存儲(chǔ)形式不作限定,也可以采用Hash表等方式。
[0160]包處理模塊PP303用于對(duì)報(bào)文進(jìn)行處理,根據(jù)從PA312傳來的報(bào)文以及判斷結(jié)果,從DB311中獲取修改所需的信息,對(duì)報(bào)文頭或載荷進(jìn)行對(duì)應(yīng)字段的修改。
[0161]當(dāng)VXLAN100中的VM-12011與VLAN300中的VM-32031進(jìn)行互通時(shí),由于VM不感知VXLAN的存在,因此其按照正常通信流程發(fā)送報(bào)文。當(dāng)VM-3與VM-1屬于同一 IP網(wǎng)段時(shí),VM-1需要通過發(fā)送ARP廣播請(qǐng)求學(xué)習(xí)VM-3的MAC地址,然后才能發(fā)送單播報(bào)文進(jìn)行互通。
[0162]當(dāng)VM-3與VM-1不在同一網(wǎng)段時(shí),VM-1將會(huì)將數(shù)據(jù)報(bào)文發(fā)往L3的網(wǎng)關(guān),通過路由協(xié)議轉(zhuǎn)發(fā)。這個(gè)過程可以分解為VM-1對(duì)網(wǎng)關(guān)MAC的ARP學(xué)習(xí)、網(wǎng)關(guān)對(duì)VM-3的MAC的ARP學(xué)習(xí)、VM-1發(fā)單播報(bào)文到網(wǎng)關(guān)和網(wǎng)關(guān)轉(zhuǎn)發(fā)單播報(bào)文到VM-3這四個(gè)過程。將網(wǎng)關(guān)看作是VLAN中的PM,這四個(gè)過程相當(dāng)于是VXLAN與VLAN互通(VM-1與網(wǎng)關(guān))和一組VLAN互通(網(wǎng)關(guān)與VM-3)的互通,所使用的方法與同網(wǎng)段的互通一致,因此這里不單獨(dú)分析加入網(wǎng)關(guān)的不同網(wǎng)段互通的情況。同樣地,不同VXLAN中VM處于不同網(wǎng)段時(shí),例如VM-2與VM-1不在同一網(wǎng)段,其處理過程與此相類似,于此也不單獨(dú)分析不同網(wǎng)段互通的情況。
[0163]圖10是VM-1與VM-3之間ARP地址學(xué)習(xí)的時(shí)序圖,如圖10所示,包括以下步驟:[0164]S51、VM-1發(fā)送ARP請(qǐng)求報(bào)文,具體ARP請(qǐng)求報(bào)文格式如表1所示:
[0165]
【權(quán)利要求】
1.一種基于可擴(kuò)展虛擬局域網(wǎng)的通信方法,其特征在于,所述方法應(yīng)用于虛擬機(jī)系統(tǒng),所述系統(tǒng)包括多個(gè)物理服務(wù)器,每個(gè)物理服務(wù)器上包括多個(gè)虛擬機(jī),所述多個(gè)虛擬機(jī)組成多個(gè)虛擬局域網(wǎng),所述虛擬局域網(wǎng)包括至少一個(gè)可擴(kuò)展虛擬局域網(wǎng)VXLAN,包括: 第一 VXLAN對(duì)應(yīng)的第一端口接收源節(jié)點(diǎn)發(fā)送的第一報(bào)文,其中,所述第一報(bào)文攜帶發(fā)端互聯(lián)網(wǎng)協(xié)議IP地址、發(fā)端尋址地址和目的IP地址,所述第一報(bào)文攜帶的發(fā)端IP地址為所述源節(jié)點(diǎn)的IP地址,發(fā)端尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址; 所述第一端口提取所述第一報(bào)文中的目的IP地址; 所述第一端口根據(jù)所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng); 若所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)與所述第一 VXLAN屬于不同的虛擬局域網(wǎng),所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取到所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址; 所述第一端口接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文,所述第一報(bào)文的應(yīng)答報(bào)文攜帶目的尋址地址,所述第一報(bào)文的應(yīng)答報(bào)文攜帶的目的尋址地址為所述目的節(jié)點(diǎn)的尋址地址或者為所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的第二端口的尋址地址; 所述第一端口將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送給所述源節(jié)點(diǎn),使得所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址。
2.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述方法還包括: 建立數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲(chǔ)所述系統(tǒng)中的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系; 則所述第一端口根據(jù)所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)包括: 查詢所述數(shù)據(jù)庫中存儲(chǔ)的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)。
3.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文之前,還包括: 所述第一端口將所述第一報(bào)文中的發(fā)端尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為所述第一端口的尋址地址。
4.根據(jù)權(quán)利要求1或3所述的通信方法,其特征在于,當(dāng)所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)為第二 VXLAN時(shí),所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址,包括: 所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文; 所述第二 VXLAN對(duì)應(yīng)的第二端口接收到所述第一報(bào)文,根據(jù)所述第一報(bào)文中攜帶的目的IP地址將所述第一報(bào)文發(fā)送給所述目的節(jié)點(diǎn),所述目的節(jié)點(diǎn)接收到所述第一報(bào)文后,記錄所述第一報(bào)文攜帶的發(fā)端IP地址和發(fā)端尋址地址。
5.根據(jù)權(quán)利要求4所述的通信方法,其特征在于,所述第一端口接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文之前,還包括: 所述目的節(jié)點(diǎn)根據(jù)記錄的所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址,發(fā)送第一報(bào)文的應(yīng)答報(bào)文,所述第二端口接收到所述第一報(bào)文的應(yīng)答報(bào)文后,將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送到所述第一端口。
6.根據(jù)權(quán)利要求5所述的通信方法,其特征在于,所述第二端口將所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送到所述第一端口之前,還包括: 所述第二端口將所述第一報(bào)文的應(yīng)答報(bào)文中的目的尋址地址由所述目的節(jié)點(diǎn)的尋址地址替換為所述第二端口的尋址地址; 則所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址為所述第二端口的尋址地址。
7.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,當(dāng)所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)為第二 VLAN時(shí),所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取所述源節(jié)點(diǎn)的IP地址和尋址地址,包括: 所述第一端口在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文; 所述目的節(jié)點(diǎn)接收到所述第一報(bào)文,所述目的節(jié)點(diǎn)接收到所述第一報(bào)文后,記錄所述第一報(bào)文攜帶的發(fā)端IP地址和發(fā)端尋址地址。
8.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,還包括: 所述第一端口接收所述源節(jié)點(diǎn)根據(jù)獲取的所述目的尋址地址發(fā)送的第二報(bào)文,其中,所述第二報(bào)文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報(bào)文攜帶的源IP地址為所述源節(jié)點(diǎn)的IP地址,源尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址,目的尋址地址為獲取到的目的尋址地址; 所述第一端口根據(jù)所述第二報(bào)文中的目的尋址地址,發(fā)送所述第二報(bào)文到所述目的節(jié)點(diǎn)或所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的第二端口。
9.根據(jù)權(quán)利要求8所述的通信方法,其特征在于,所述第一端口在發(fā)送所述第二報(bào)文之前,還包括: 所述第一端口將所述第二報(bào)文中的源尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為所述第一端口的尋址地址。
10.根據(jù)權(quán)利要求8或9所述的通信方法,其特征在于,所述第一報(bào)文為地址解析協(xié)議ARP報(bào)文,所述第二報(bào)文為單播報(bào)文。
11.一種基于可擴(kuò)展虛擬局域網(wǎng)的通信裝置,其特征在于,所述裝置應(yīng)用于虛擬機(jī)系統(tǒng),所述系統(tǒng)包括多個(gè)物理服務(wù)器,每個(gè)物理服務(wù)器上包括多個(gè)虛擬機(jī),所述多個(gè)虛擬機(jī)組成多個(gè)虛擬局域網(wǎng),所述虛擬局域網(wǎng)包括至少一個(gè)可擴(kuò)展虛擬局域網(wǎng)VXLAN,包括: 接收單元,用于接收源節(jié)點(diǎn)發(fā)送的第一報(bào)文,其中,所述第一報(bào)文攜帶發(fā)端互聯(lián)網(wǎng)協(xié)議IP地址、發(fā)端尋址地址和目的IP地址,所述第一報(bào)文攜帶的發(fā)端IP地址為所述源節(jié)點(diǎn)的IP地址,發(fā)端尋址地址為所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址; 解析單元,用于提取所述接收單元接收的所述第一報(bào)文中的目的ip地址; 確定單元,用于根據(jù)所述解析單元中提取的所述第一報(bào)文中的目的IP地址,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng); 發(fā)送單元,用于當(dāng)所述確定單元確定的所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)與所述第一VXLAN屬于不同的虛擬局域網(wǎng)時(shí),在所述系統(tǒng)內(nèi)廣播所述第一報(bào)文,使得所述目的節(jié)點(diǎn)接收到所述第一報(bào)文并獲取到所述第一報(bào)文中的發(fā)端IP地址和發(fā)端尋址地址;所述接收單元還用于接收所述目的節(jié)點(diǎn)發(fā)送的所述第一報(bào)文的應(yīng)答報(bào)文,所述第一報(bào)文的應(yīng)答報(bào)文攜帶目的尋址地址,所述第一報(bào)文的應(yīng)答報(bào)文攜帶的目的尋址地址為所述目的節(jié)點(diǎn)的尋址地址或者為所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的通信裝置的尋址地址; 所述發(fā)送單元還用于將所述接收單元接收的所述第一報(bào)文的應(yīng)答報(bào)文發(fā)送給所述源節(jié)點(diǎn),使得所述源節(jié)點(diǎn)獲取到所述第一報(bào)文的應(yīng)答報(bào)文中攜帶的目的尋址地址。
12.根據(jù)權(quán)利要求11所述的通信裝置,其特征在于,所述裝置還包括: 存儲(chǔ)單元,用于建立數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲(chǔ)所述系統(tǒng)中的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系; 所述確定單元具體用于查詢所述存儲(chǔ)單元建立的數(shù)據(jù)庫中存儲(chǔ)的虛擬機(jī)的IP地址與虛擬局域網(wǎng)的對(duì)應(yīng)關(guān)系,確定所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)。
13.根據(jù)權(quán)利要求11所述的通信裝置,其特征在于,所述裝置還包括: 替換單元,用于將所述接收單元接收到的所述第一報(bào)文中的發(fā)端尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為當(dāng)前通信裝置的尋址地址。
14.根據(jù)權(quán)利要求11所述的通信裝置,其特征在于,所述接收單元還用于接收所述源節(jié)點(diǎn)根據(jù)獲取的所述目的尋址地址發(fā)送的第二報(bào)文,其中,所述第二報(bào)文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報(bào)文攜帶的源IP地址為所述源節(jié)點(diǎn)的IP地址,源尋址地址為 所述源節(jié)點(diǎn)的尋址地址,目的IP地址為目的節(jié)點(diǎn)的IP地址,目的尋址地址為獲取到的目的尋址地址; 所述發(fā)送單元還用于根據(jù)所述第二報(bào)文中的目的尋址地址,發(fā)送所述第二報(bào)文到所述目的節(jié)點(diǎn)或所述目的節(jié)點(diǎn)屬于的虛擬局域網(wǎng)對(duì)應(yīng)的第二端口。
15.根據(jù)權(quán)利要求14所述的通信裝置,其特征在于,所述裝置還包括: 替換單元,用于將所述接收單元接收到的所述第二報(bào)文中的源尋址地址由所述源節(jié)點(diǎn)的尋址地址替換為當(dāng)前通信裝置的尋址地址。
16.根據(jù)權(quán)利要求14或15所述的通信裝置,其特征在于,所述第一報(bào)文為地址解析協(xié)議ARP報(bào)文,所述第二報(bào)文為單播報(bào)文。
【文檔編號(hào)】H04L29/12GK103905283SQ201210570461
【公開日】2014年7月2日 申請(qǐng)日期:2012年12月25日 優(yōu)先權(quán)日:2012年12月25日
【發(fā)明者】馮江平, 朱旭琪 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
镇巴县| 贵阳市| 宝鸡市| 永新县| 桃江县| 靖边县| 博野县| 南平市| 武安市| 墨竹工卡县| 丰县| 威海市| 镇雄县| 车致| 天台县| 阿坝县| 屏东市| 克拉玛依市| 克东县| 金沙县| 江阴市| 开封县| 安徽省| 全椒县| 安塞县| 高密市| 封开县| 宿州市| 湛江市| 印江| 桂平市| 喀喇| 长葛市| 长乐市| 石首市| 滨州市| 台中县| 嘉鱼县| 阜城县| 灯塔市| 中西区|