基于可擴展虛擬局域網的通信方法及裝置制造方法
【專利摘要】本發明涉及一種基于可擴展虛擬局域網的通信方法及裝置,所述方法包括:接收源節點發送的第一報文;提取所述第一報文中的目的IP地址;根據所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網;在所述系統內廣播所述第一報文給所述目的節點;接收所述目的節點發送的所述第一報文的應答報文,所述第一報文的應答報文攜帶目的尋址地址;將所述第一報文的應答報文發送給所述源節點,使得所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址。本發明免去了在網絡中增加額外網絡設備或修改現有網絡設備的問題。
【專利說明】基于可擴展虛擬局域網的通信方法及裝置
【技術領域】
[0001]本發明涉及計算機網絡通信【技術領域】,尤其涉及一種基于可擴展虛擬局域網VXLAN的通信方法及裝置。
【背景技術】
[0002]虛擬局域網(Virtual Local Area Network, VLAN),是一種將局域網設備從邏輯上劃分成一個個網段,從而實現虛擬工作組的數據交換技術。VLAN允許處于不同物理位置的計算機在邏輯上構成一個局域網(Local AreaNetwork, LAN), 一個VLAN即是一個廣播域。管理員根據實際應用需求,把同一物理局域網內的不同用戶邏輯地劃分成不同的廣播域,每一個VLAN都包含一組有著相同需求的計算機工作站,與物理上形成的局域網有著相同的屬性。一個VLAN內部的廣播和單播流量都不會轉發到其他VLAN中,從而有助于控制流量、減少設備投資,簡化網絡管理、提高網絡的安全性。
[0003]可擴展虛擬局域網(Virtualextensible Local Area Network, VXLAN)的基本思路與VLAN類似,但功能更強。VXLAN是一種將二層報文用三層協議進行封裝的技術,可以對二層網絡在三層范圍進行擴展。它應用于數據中心內部,使虛擬機可以在互相連通的三層網絡范圍內遷移,而不需要改變IP (Internet Protocol,互聯網協議)地址和MAC(Medium Access Control,介質訪問控制)地址,保證業務的連續性。VXLAN用VNI (VXLANNetworkIdentif ier,VXLAN網絡序號)來標識每個廣播域(VXLAN子網),VNI共有24位,最多能夠提供近16M個廣播域,相比VLAN只能提供4K個廣播域。
[0004]VXLAN是一種新興的重要的網絡虛擬化技術,還處于起步階段。因此,對VXLAN中的虛擬機(Virtual Machine, VM)而言,不得不面臨的一個問題是如何與既有的沒有部署VXLAN的內部或外部的其他PM (Physical Machine,物理機)/VM進行互通。現有的解決辦法是在交換機等設備上采用軟件或硬件部署VXLAN Gateway (網關),通過VXLAN Gateway在VXLAN和VLAN間進行數據包的轉發。
[0005]圖1為現有的一種VXLAN Gateway部署的系統框圖,如圖1所示,包括VXLAN服務器、網關Gateway和VLAN服務器,VXLAN服務器通過Gateway與VLAN服務器進行通信。具體地,當從VXLAN接口輸入數據幀時,Gateway會剝去VXLAN頭進行解封裝,并將內部的Ethernet幀根據內部目的MAC轉發到對應的物理端口。解封裝后的幀如果存在內部VLANID,除非在對應的輸出接口上做了明確配置,否則應該丟棄該VLAN ID。當從VLAN接口輸入數據幀時,Gateway則基于幀中的VLAN ID來將其映射到特定的VXLAN網絡。
[0006]現有的這種采用VXLAN Gateway的方式,需要增加額外的網絡設備或在現有網絡設備(交換機)上進行修改,增加了網絡的部署和維護成本。而且,VXLAN Gateway需要維護所轄所有VXLAN的VN1、虛擬機VM的IP以及VXLAN與VLAN的對應關系等眾多信息,容易造成VXLAN Gateway的實現和維護較復雜、代價較高,有可能成為互通中的性能瓶頸,適用的網絡環境有限;也使得VXLAN Gateway對網絡拓撲或配置的變化響應不夠靈活,可擴展性受限。
【發明內容】
[0007]有鑒于此,本發明實施例提供了一種基于可擴展虛擬局域網VXLAN的通信方法及裝置,免去了在網絡中增加額外網絡設備或修改現有網絡設備的問題。
[0008]為實現上述目的,本發明第一方面提供了一種基于可擴展虛擬局域網的通信方法,所述方法應用于虛擬機系統,所述系統包括多個物理服務器,每個物理服務器上包括多個虛擬機,所述多個虛擬機組成多個虛擬局域網,所述虛擬局域網包括至少一個可擴展虛擬局域網VXLAN,包括:
[0009]第一 VXLAN對應的第一端口接收源節點發送的第一報文,其中,所述第一報文攜帶發端互聯網協議IP地址、發端尋址地址和目的IP地址,所述第一報文攜帶的發端IP地址為所述源節點的IP地址,發端尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址;
[0010]所述第一端口提取所述第一報文中的目的IP地址;
[0011]所述第一端口根據所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網;
[0012]若所述目的節點屬于的虛擬局域網與所述第一 VXLAN屬于不同的虛擬局域網,所述第一端口在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取到所述第一報文中的發端IP地址和發端尋址地址;
[0013]所述第一端口接收所述目的節點發送的所述第一報文的應答報文,所述第一報文的應答報文攜帶目的尋址地址,所述第一報文的應答報文攜帶的目的尋址地址為所述目的節點的尋址地址或者為所述目的節點屬于的虛擬局域網對應的第二端口的尋址地址;
[0014]所述第一端口將所述第一報文的應答報文發送給所述源節點,使得所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址。
[0015]結合第一方面,在第一方面的第一種可能的實施方式中,所述方法還包括:
[0016]建立數據庫,所述數據庫存儲所述系統中的虛擬機的IP地址與虛擬局域網的對應關系;
[0017]則所述第一端口根據所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網包括:
[0018]查詢所述數據庫中存儲的虛擬機的IP地址與虛擬局域網的對應關系,確定所述目的節點屬于的虛擬局域網。
[0019]結合第一方面,在第一方面的第二種可能的實施方式中,所述第一端口在所述系統內廣播所述第一報文之前,還包括:
[0020]所述第一端口將所述第一報文中的發端尋址地址由所述源節點的尋址地址替換為所述第一端口的尋址地址。
[0021]結合第一方面或第一方面的第二種可能的實施方式,在第一方面的第三種可能的實施方式中,當所述目的節點屬于的虛擬局域網為第二 VXLAN時,所述第一端口在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取所述第一報文中的發端IP地址和發端尋址地址,包括:
[0022]所述第一端口在所述系統內廣播所述第一報文;[0023]所述第二 VXLAN對應的第二端口接收到所述第一報文,根據所述第一報文中攜帶的目的IP地址將所述第一報文發送給所述目的節點,所述目的節點接收到所述第一報文后,記錄所述第一報文攜帶的發端IP地址和發端尋址地址。
[0024]結合第一方面的第三種可能的實施方式,在第一方面的第四種可能的實施方式中,所述第一端口接收所述目的節點發送的所述第一報文的應答報文之前,還包括:
[0025]所述目的節點根據記錄的所述第一報文中的發端IP地址和發端尋址地址,發送第一報文的應答報文,所述第二端口接收到所述第一報文的應答報文后,將所述第一報文的應答報文發送到所述第一端口。
[0026]結合第一方面的第四種可能的實施方式,在第一方面的第五種可能的實施方式中,所述第二端口將所述第一報文的應答報文發送到所述第一端口之前,還包括:
[0027]所述第二端口將所述第一報文的應答報文中的目的尋址地址由所述目的節點的尋址地址替換為所述第二端口的尋址地址;
[0028]則所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址為所述第二端口的尋址地址。
[0029]結合第一方面,在第一方面的第六種可能的實施方式中,當所述目的節點屬于的虛擬局域網為第二 VLAN時,所述第一端口在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取所述源節點的IP地址和尋址地址,包括:
[0030]所述第一端口在所述系統內廣播所述第一報文;
[0031]所述目的節點接收到所述第一報文,所述目的節點接收到所述第一報文后,記錄所述第一報文攜帶的發端IP地址和發端尋址地址。
[0032]結合第一方面,在第一方面的第七種可能的實施方式中,還包括:
[0033]所述第一端口接收所述源節點根據獲取的所述目的尋址地址發送的第二報文,其中,所述第二報文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報文攜帶的源IP地址為所述源節點的IP地址,源尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址,目的尋址地址為獲取到的目的尋址地址;
[0034]所述第一端口根據所述第二報文中的目的尋址地址,發送所述第二報文到所述目的節點或所述目的節點屬于的虛擬局域網對應的第二端口。
[0035]結合第一方面的第七種可能的實施方式,在第一方面的第八種可能的實施方式中,所述第一端口在發送所述第二報文之前,還包括:
[0036]所述第一端口將所述第二報文中的源尋址地址由所述源節點的尋址地址替換為所述第一端口的尋址地址。
[0037]結合第一方面的第七種可能的實施方式或第八種可能的實施方式,在第一方面的第九種可能的實施方式中,所述第一報文為地址解析協議ARP報文,所述第二報文為單播報文。
[0038]第二方面,本發明還提供了一種基于可擴展虛擬局域網的通信裝置,所述裝置應用于虛擬機系統,所述系統包括多個物理服務器,每個物理服務器上包括多個虛擬機,所述多個虛擬機組成多個虛擬局域網,所述虛擬局域網包括至少一個可擴展虛擬局域網VXLAN,包括:接收單元、解析單元、確定單元和發送單元;
[0039]接收單元,用于接收源節點發送的第一報文,其中,所述第一報文攜帶發端互聯網協議IP地址、發端尋址地址和目的IP地址,所述第一報文攜帶的發端IP地址為所述源節點的IP地址,發端尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址;
[0040]解析單元,用于提取所述接收單元接收的所述第一報文中的目的IP地址;
[0041]確定單元,用于根據所述解析單元中提取的所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網;
[0042]發送單元,用于當所述確定單元確定的所述目的節點屬于的虛擬局域網與所述第一 VXLAN屬于不同的虛擬局域網時,在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取到所述第一報文中的發端IP地址和發端尋址地址;
[0043]所述接收單元還用于接收所述目的節點發送的所述第一報文的應答報文,所述第一報文的應答報文攜帶目的尋址地址,所述第一報文的應答報文攜帶的目的尋址地址為所述目的節點的尋址地址或者為所述目的節點屬于的虛擬局域網對應的通信裝置的尋址地址;
[0044]所述發送單元還用于將所述接收單元接收的所述第一報文的應答報文發送給所述源節點,使得所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址。
[0045]結合第二方面,在第二方面的第一種可能的實施方式中,所述裝置還包括:
[0046]存儲單元,用于建立數據庫,所述數據庫存儲所述系統中的虛擬機的IP地址與虛擬局域網的對應關系;
[0047]所述確定單元具體用于查詢所述存儲單元建立的數據庫中存儲的虛擬機的IP地址與虛擬局域網的對應關系,確定所述目的節點屬于的虛擬局域網。
[0048]結合第二方面,在第二方面的第二種可能的實施方式中,所述裝置還包括:
[0049]替換單元,用于將所述接收單元接收到的所述第一報文中的發端尋址地址由所述源節點的尋址地址替換為當前通信裝置的尋址地址。
[0050]結合第二方面,在第二方面的第三種可能的實施方式中,所述接收單元還用于接收所述源節點根據獲取的所述目的尋址地址發送的第二報文,其中,所述第二報文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報文攜帶的源IP地址為所述源節點的IP地址,源尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址,目的尋址地址為獲取到的目的尋址地址;
[0051]所述發送單元還用于根據所述第二報文中的目的尋址地址,發送所述第二報文到所述目的節點或所述目的節點屬于的虛擬局域網對應的第二端口。
[0052]結合第二方面的第三種可能的實施方式,在第二方面的第四種可能的實施方式中,所述裝置還包括:
[0053]替換單元,用于將所述接收單元接收到的所述第二報文中的源尋址地址由所述源節點的尋址地址替換為當前通信裝置的尋址地址。
[0054]結合第二方面的第三種可能的實施方式或第四種可能的實施方式,在第二方面的第五種可能的實施方式中,所述第一報文為地址解析協議ARP報文,所述第二報文為單播報文。
[0055]本發明提供的基于可擴展虛擬局域網VXLAN的通信方法及裝置,通過增強VXLAN部署的在各個服務器上VTEP的功能,利用增加數據庫DB或內存表的維護信息,對傳輸的報文數據加以分析判斷以及簡單的報文修改,即可實現VXLAN與VLAN之間以及不同VXLAN之間的互通,具有分布式實現方式,簡單易行,不受網絡拓撲、規模等限制,使用靈活,而且無需增加額外的網絡設備,免去了在網絡中增加額外網絡設備或修改現有網絡設備的問題,節約了網絡部署和維護的成本。
【專利附圖】
【附圖說明】
[0056]圖1為現有的一種VXLAN Gateway部署的系統框圖;
[0057]圖2為可擴展虛擬局域網VXLAN報文格式的示意圖;
[0058]圖3為一種虛擬數據中心VDC的系統架構圖;
[0059]圖4為本發明實施例所基于的VDC組網和場景不意圖;
[0060]圖5為本發明實施例提供的一種利用ARP數據報文進行ARP地址學習的方法流程圖;
[0061]圖6為本發明實施例提供的一種通信方法的流程圖;
[0062]圖7為本發明實施例提供的又一種利用ARP數據報文進行ARP地址學習的方法流程圖;
[0063]圖8為本發明實施例提供的又一種通信方法的流程圖;
[0064]圖9為本發明實施例提供的VXLAN隧道端點VTEP的功能模塊示意圖;
[0065]圖10為本發明實施例提供的VXLAN與VLAN之間進行ARP地址學習的時序圖;
[0066]圖11為本發明實施例提供的VXLAN與VLAN之間通信的時序圖;
[0067]圖12為本發明實施例提供的不同VXLAN之間進行ARP地址學習的時序圖;
[0068]圖13為本發明實施例提供的不同VXLAN之間通信的時序圖;
[0069]圖14為本發明實施例提供的基于VXLAN的通信裝置示意圖;
[0070]圖15為本發明實施例提供的基于VXLAN的通信裝置的結構組成示意圖。
【具體實施方式】
[0071]下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
[0072]可擴展虛擬局域網VXLAN采用的是MAC-1n_UDP(User DatagramProtocol,用戶數據報協議)封裝機制,在MAC幀基礎上由里到外分別封裝了 VXLAN頭(VXLAN header)、UDP頭(UDP header)、IP頭(IP header)和以太網頭(Ethernet header),就如同構建一個隧道,MAC幀作為隧道內的實際傳輸內容,外部封裝部分作為數據在隧道內傳輸的標識,保證數據正確到達目的地。圖2為一種可擴展虛擬局域網VXLAN報文格式的示意圖,如圖2所示,VXLAN報文是在原始以太網巾貞(Original Ethernet Frame)中,增加VXLAN封裝部分(VXLANEncapsulation)。VXLAN 中將隧道的端點稱為 VTEP (VXLAN Tunnel End Point,VXLAN 隧道端點)。VTEP的主要功能是接收本地VM發來的以太網Ethernet幀時為其加上封裝頭并發送出去;在接收到遠程VTEP發來的帶有封裝頭報文時,去除封裝頭并轉發給相應VM。
[0073]本發明提供的基于可擴展虛擬局域網VXLAN的通信方法及裝置,可以應用于部署虛擬機系統中,例如VXLAN的虛擬數據中心(Virtual Data Center,VDC)中,以構建云計算中關鍵的計算資源共享池,其中資源包括網絡、服務器、存儲、應用軟件及服務等。虛擬化技術主要包括:服務器虛擬化、存儲虛擬化以及網絡虛擬化。VDC的核心技術是服務器虛擬化,主要是將一臺物理機的物理資源虛擬成多個虛擬機(Virtual Machine, VM),使得每個VM都可以實現物理機(Physical Machine, PM)的功能。
[0074]圖3是一個虛擬數據中心VDC的系統架構圖,如圖3所示,VDC—般采用分層架構,最底層是各個物理服務器Server,每個Server中創建多個VM,并通過虛擬交換機vSwitch將這些VM在服務器內部組成小型的虛擬局域網絡。每個Server也是VXLAN隧道的端點,因此涉及本發明實施例應用的VXLAN隧道端點VTEP (VXLAN Tunnel End Point)就是部署在各個Server上,并且VTEP作為Server內部VM與Server外部其他PM/VM通信的出入口。VTEP可以是Server內的獨立組件,也可以與vSwitch聯合部署。Server外部的網絡則根據VDC的規模進行分層組網。Server首先連接到接入交換機,通常為ToR,接入交換機ToR再連入匯聚交換機Switch,再連到核心交換機L3Switch。當然,匯聚層和核心層也可以合并,通常采用三層(L3)交換機。最后,VDC通過路由器與外網Internet網絡相連。
[0075]根據Server內VM所需通信的對端PM/VM所處的網絡位置,完成VXLAN與VLAN或者不同VXLAN間互通的過程,可能會經過ToR、L3Switch或Router。由于VXLAN不對這些外部網絡設備產生影響,即這些設備均按照常規方式工作,因此可以將外部網絡設備都抽象化表示,以突出本發明實施例的關鍵技術。
[0076]圖4是本發明實施例所基于的VDC組網和場景不意圖,如圖4所不,該VDC組網中包括服務器Server-1201、服務器Server-2202、服務器Server-3203和網絡交換機204。在服務器Server-1201中創建虛擬機VM-12011,服務器Server-1201部署了 VXLAN,因此其上的虛擬機VM-12011和其他虛擬機都要通過VTEP-12012與外部網絡通信。虛擬機VM-12011加入了 VXLAN100的子網,也就是虛擬機VM-12011對應的VXLAN的VNI為100。當VM-12011與同一個VXLAN內的VM通信時,VTEP-12012為VM-12011發出的數據包封裝VXLAN頭;當VM-12011與VLAN或者不同VXLAN內的VM進行通信時,VTEP-12012將對VM-12011發出的數據包進行修改,然后將修改后的數據包發送給網絡交換機204,例如發送到ToR或Switch等網絡設備上,通過L2/L3網絡的轉發到達對端服務器的VTEP或者VM。本發明對具體采用的L2/L3網絡設備不作限定。
[0077]本發明主要針對VM-12011與VLAN或者不同VXLAN內的VM進行通信的場景。即,一是 VM-12011 與 VLAN300 中 VM-32031 的通信,二是 VM-12011 與 VXLAN200 中的 VM-22021的通信,分別對應為本發明的VXLAN與VLAN互通以及不同VXLAN間互通的場景。VLAN中的服務器Server-3203沒有部署VTEP,不考慮其他虛擬化步驟時,可以認為轉發給服務器的數據包直接發給對應的VM-32031。VM-22021創建在Server-2201上,屬于VXLAN200,也就是VM-22021的VNI為200。從網絡設備轉發來的數據包需要經過VTEP-22022進行修改等處理,再轉發給VM-22021。同VM-12011,VM-22021發出的數據包也需要經過VTEP-22022的處理,再發往網絡交換機204。
[0078]在VXLAN與VLAN之間或者不同VXLAN之間的VM之間通信開始時,先利用地址解析協議(Address Resolution Protocol, ARP)數據報文進行所述源節點與目的節點之間的ARP地址學習。
[0079]圖5是本發明利用ARP數據報文進行ARP目的節點的尋址地址的學習的方法流程圖,首先需要說明的是,利用ARP數據報文進行ARP目的節點的尋址地址的學習,即獲取目的節點尋址地址的過程,由于源節點并不知曉目的節點的尋址地址,現有技術采用Gateway的方式來實現源節點和目的節點之間的通信,而本發明實施例為了避免在組網中增加Gateway,則需要首先獲取目的節點的尋址地址,本發明實施例則采用了利用ARP數據報文的廣播發送來獲取目的節點的尋址地址,在ARP數據報文的發送過程中可以學習到目的節點的尋址地址,一般來說尋址地址用來定義網絡設備的位置,包括MAC(Media AccessControl)地址,或稱為MAC位址、硬件位址。
[0080]如圖5所示,該ARP目的節點的地址學習過程包括:步驟SlOl、源節點對應的VTEP(源節點對應的第一端口)接收源節點發送的ARP請求報文。
[0081 ] 所述ARP請求報文中攜帶有以太網Ethernet頭的源MAC地址、ARP報文的發端MAC地址、發端IP地址及目的IP地址,其中,所述ARP請求報文中的發端地址即所述源節點的IP或MAC地址,所述ARP請求報文中的目的IP地址即目的節點的IP地址。
[0082]步驟S102、源節點對應的VTEP提取所述ARP請求報文中的目的IP地址,利用數據庫DB查詢得到所述目的IP地址所在的第二虛擬網絡,即第二 VLAN或第二 VXLAN。
[0083]具體地,源節點對應的VTEP對接收到的ARP請求報文進行解析,先得到源節點的MAC地址、源節點的IP地址和目的IP地址。
[0084]在進行ARP目的節點的尋址地址的學習之前,還包括:建立數據庫DB的步驟,數據庫DB存儲所述系統中的虛擬機的IP地址與虛擬局域網的對應關系。數據庫DB中包括預先配置的本地VM對應的IP、所屬VXLAN的VNI和組播地址、端口信息以及全部VXLAN對應的VM的IP地址范圍,還有動態學習的本地VM的MAC地址、通信VM的MAC地址和所在VTEP的IP地址。在源節點對應的VTEP解析到源節點的MAC地址和IP地址時,VTEP會將其記錄在數據庫DB中,對數據庫DB進行動態更新。當然,本發明實施例不限于采用數據庫DB來存儲該些配置信息和地址學習信息,例如還可以采用Hash表等內存表的方式來存儲。
[0085]步驟S103、源節點對應的VTEP將所述ARP請求報文廣播發送到所述目的IP地址所在第二 VLAN的目的節點,或者廣播發送ARP請求報文到所述第二 VXLAN對應的第二端口,以轉發給所述目的節點。
[0086]源節點對應的VTEP直接將ARP請求報文經由網絡廣播發送給目的IP地址所在VLAN或VXLAN。如果目的IP地址屬于VLAN,可以認為直接轉發給目的節點。
[0087]如果目的IP地址屬于不同的VXLAN,則發送ARP請求報文至對端的VTEP,即目的節點對應的VTEP。目的節點對應的VTEP接收到ARP請求報文,分析為ARP請求報文,則廣播到目的節點。
[0088]對于目的IP地址屬于與源節點所在VXLAN相同VXLAN時,與現有的VXLAN協議的處理方式相同,在對原始報文添加VXLAN封裝后發送目的IP所在VTEP,其報文格式如圖2所示。
[0089]步驟S104、源節點對應的VTEP接收所述目的節點或目的節點所在VXLAN的對端VTEP返回的ARP應答報文。
[0090]目的節點接收到ARP請求報文后,判斷目的IP為自身,則學習并記錄ARP報文中的發端IP及發端MAC地址,即記錄所述源節點的IP地址及源節點的MAC地址,目的節點還生成ARP應答報文,該ARP應答報文中ARP報文的目的MAC地址為該目的節點的MAC地址,目的IP地址為該目的節點的IP地址,發端IP地址為源節點的IP地址,發端MAC地址為源節點的MAC地址,目的節點發送所述ARP應答報文給源節點對應的VTEP。
[0091]如果目的節點在不同的VXLAN中,目的節點在生成ARP應答報文后,先發送給目的節點對應的VTEP,由該目的節點對應的VTEP將ARP應答報文返回給所述源節點對應的VTEP0
[0092]步驟S105、源節點對應的VTEP提取所述ARP應答報文中的發端IP地址。
[0093]步驟S106、源節點對應的VTEP根據所述ARP應答報文中的發端IP地址,判斷所述ARP應答報文是否發送給本機的所述源節點,如果是,則進入步驟S107,否則進入步驟S108,丟棄該ARP應答報文。
[0094]步驟S107、源節點對應的VTEP將所述ARP應答報文轉發到所述源節點,以使所述源節點獲得并記錄所述ARP應答報文中攜帶目的尋址地址,即所述目的節點的尋址地址。
[0095]源節點對應的VTEP提取ARP應答報文中發端IP地址,查詢數據庫DB,判斷發端IP地址為本機的源節點對應的IP地址,則將ARP應答報文轉發到源節點,源節點獲得ARP應答報文中目的MAC地址,完成對目的節點的MAC地址的學習過程。
[0096]在學習到目的節點的尋址地址之后,兩個虛擬機之間即可以開始互通正常的單播通信報文,如圖6所示,該兩個虛擬機之間互通單播報文的通信過程具體包括:
[0097]步驟S201、源節點對應的VTEP接收源節點發送的第一單播報文。
[0098]第一單播報文即為單播通信報文,攜帶有源IP地址、源尋址地址、目的IP地址和目的尋址地址。其中,源IP地址為源節點的IP地址,源尋址地址為源節點的尋址地址,目的IP地址為目的節點的IP地址,目的尋址地址為步驟S107獲取到的目的尋址地址。
[0099]步驟S202、源節點對應的VTEP提取所述第一單播報文中的目的IP地址,并利用數據庫DB查詢得到所述目的IP地址所在的第二虛擬網絡,即第二 VLAN或第二 VXLAN。
[0100]步驟S203、源節點對應的VTEP將所述第一單播報文轉發到所述目的IP地址所在第二 VLAN的目的節點,或者轉發單播報文到所述第二 VXLAN對應的第二端口,以轉發給所述目的節點。
[0101]源節點對應的VTEP直接將第一單播報文經由網絡轉發給目的IP地址所在VLAN或VXLAN。如果目的IP地址屬于VLAN,可以認為直接轉發給目的節點。
[0102]如果目的IP地址屬于不同的VXLAN,則發送第一單播報文至目的節點對應的VTEP,目的節點對應的VTEP接收到第一單播報文,分析為單播通信報文,則提取目的IP地址,查詢目的節點對應的VTEP中的數據庫DB,判斷到該目的IP屬于本機的節點,則轉發到目的節點。目的節點則可以獲得源節點發來的數據。
[0103]對于目的IP地址屬于與源節點所在VXLAN相同VXLAN時,與現有的VXLAN協議的處理方式相同,在對原始報文添加VXLAN封裝后發送目的IP所在VTEP,其報文格式如圖2所示。
[0104]目的節點在接收到源節點發送的單播報文后,目的節點也可以向源節點發送單播報文進行通信。具體如下:
[0105]步驟S204、源節點對應的VTEP接收所述目的節點在接收到所述第一單播報文后發送的第二單播報文。
[0106]第二單播報文具體為單播通信報文,攜帶有源IP地址、源尋址地址、目的IP地址和目的尋址地址。此時,第二單播報文由目的節點發送,則第二單播報文中的源IP地址為目的節點的IP地址,源尋址地址為目的節點的尋址地址,目的IP地址為源節點的IP地址,目的尋址地址為源節點的尋址地址。[0107]步驟S205、源節點對應的VTEP提取所述第二單播報文中的目的IP地址。
[0108]步驟S206、源節點對應的VTEP判斷所述第二單播報文是否發送給本機的所述源節點,如果是,則進入步驟S207,否則,進入步驟S208,丟棄該第二單播報文。
[0109]步驟S207、源節點對應的VTEP將所述第二單播報文轉發給所述源節點。
[0110]源節點對應的VTEP對接收到的第二單播報文進行解析,得到源節點的MAC地址、源節點的IP地址和目的IP地址和目的MAC地址。根據目的IP地址,查詢數據庫DB,判斷目的IP地址是否屬于本機的節點,如果是則轉發給所述源節點,以使所述源節點獲得所述目的節點發來的數據。
[0111]這樣,本發明無需采用VXLAN Gateway,即可實現VXLAN與VLAN以及不同VXLAN的互通。上述實施例中VTEP未對收發的報文信息進行修改,使得VM的MAC暴露到L2網絡設備上。如果VM的MAC地址暴露到L2網絡設備上,對于服務器創建大量VM的場景則存在ToR或交換機上需要維護的MAC轉發表過大過復雜的問題,因而該方法適用于VM規模較小的小型網絡。
[0112]而對于大規模的虛擬局域網,優選地,本發明在源節點對應的VTEP收發的報文信息進行修改,由VTEP的MAC地址代替其所轄的VM的MAC地址來與VLAN以及不同VXLAN進行互通,使各個VM的MAC不暴露到L2網絡設備上,降低網絡設備部署的難度。
[0113]具體地,圖7是本發明提供利用ARP數據報文進行ARP目的節點的尋址地址的學習的方法流程圖,同樣地,本實施例采用了利用ARP數據報文的廣播發送來獲取目的節點的尋址地址,在ARP數據報文的發送過程中可以學習到目的節點的尋址地址。
[0114]如圖7所示,該ARP目的節點的地址學習過程包括:
[0115]步驟S301、源節點對應的VTEP (源節點對應的第一端口)接收源節點發送的ARP請求報文。
[0116]所述ARP請求報文中攜帶有以太網Ethernet頭的源MAC地址、ARP報文的發端MAC地址、發端IP地址及目的IP地址,其中,所述ARP請求報文中的發端地址即所述源節點的IP或MAC地址,所述ARP請求報文中的目的IP地址即目的節點的IP地址。
[0117]步驟S302、源節點對應的VTEP提取所述ARP請求報文中的目的IP地址,利用數據庫DB查詢得到所述目的IP地址所在的第二虛擬網絡,即第二 VLAN或第二 VXLAN。
[0118]具體地,源節點對應的VTEP對接收到的ARP請求報文進行解析,先得到源節點的MAC地址、源節點的IP地址和目的IP地址,并記錄源節點的MAC地址和IP地址到所述數據庫DB中。
[0119]步驟S303、源節點對應的VTEP判斷ARP請求報文請求的目的IP地址是否屬于VLAN或VXLAN,如果是VLAN,進入步驟S304,如果是與源節點在不同的VXLAN,進入步驟S306,如果是與源節點在相同的VXLAN’則進入步驟S309,與現有的VXLAN協議的處理方式相同,封裝VXLAN后發送目的IP所在VTEP。
[0120]步驟S304、源節點對應的VTEP將ARP請求報文中以太網Ethernet頭的源尋址地址和ARP報文的發端尋址地址由源節點的尋址地址替換為源節點對應的VTEP的尋址地址。
[0121]也就是說,利用VTEP的MAC地址替代內部虛擬機VM (源節點)的MAC地址與外部網絡進行通信。從外部網絡來看,網絡交換機及其他虛擬局域網僅能獲得該源節點所在的VXLAN的VTEP的MAC地址。這樣可以使得VM的MAC地址不暴露到網絡設備上,有利于網絡信息的維護。
[0122]步驟S305、源節點對應的VTEP將替換后的ARP請求報文經由網絡廣播發送到目的IP地址所在VLAN中的目的節點,VLAN中的目的節點接收到ARP請求報文。
[0123]在目的節點接收到ARP請求報文,判斷目的IP為自身,則學習并記錄ARP報文中的發端IP及發端MAC地址,即記錄所述源節點的IP地址及源節點的MAC地址,目的節點還生成ARP應答報文,該ARP應答報文中ARP報文的目的MAC地址為該目的節點的MAC地址,目的IP地址為該目的節點的IP地址,發端IP地址為源節點的IP地址,發端MAC地址為源節點的MAC地址,目的節點發送所述ARP應答報文給源節點所在VXLAN的VTEP,進入步驟S310。
[0124]步驟S306、源節點對應的VTEP將ARP請求報文中以太網Ethernet頭的源尋址地址和ARP報文的發端尋址地址由源節點的尋址地址替換為源節點對應的VTEP的尋址地址。
[0125]步驟S307、源節點對應的VTEP將替換后的ARP請求報文經由網絡廣播發送到目的節點對應的VTEP (第二端口)。
[0126]步驟S308、目的節點對應的VTEP根據ARP請求報文發送給目的節點。
[0127]目的節點對應的VTEP接收到ARP請求報文,分析為ARP請求報文,則廣播到目的節點。
[0128]目的節點接收到ARP請求報文后,判斷目的IP為自身,則學習并記錄ARP報文中的發端IP及發端MAC地址,即記錄所述源節點的IP地址及源節點的MAC地址,目的節點還生成ARP應答報文,該ARP應答報文中ARP報文的目的MAC地址為該目的節點的MAC地址,目的IP地址為該目的節點的IP地址,發端IP地址為源節點的IP地址,發端MAC地址為源節點的MAC地址,目的節點發送所述ARP應答報文給目的節點對應的VTEP。
[0129]目的節點對應的VTEP在將ARP應答報文發送給源節點對應的VTEP之前,還會將ARP應答報文中Ethernet頭中源MAC地址和ARP報文中目的MAC地址替換為所述對端VTEP的MAC地址,而后再將替換后的ARP應答報文發送給源節點對應的VTEP,進入步驟S310。
[0130]步驟S310、源節點對應的VTEP接收所述目的節點在接收到所述ARP請求報文后發送的ARP應答報文。
[0131]步驟S311、源節點對應的VTEP提取所述ARP應答報文中的發端IP地址。
[0132]步驟S312、源節點對應的VTEP根據所述ARP應答報文中的發端IP地址,判斷ARP應答報文是否發送給本機的源節點,如果是,則進入步驟S313,否則進入步驟S315、丟棄該ARP應答報文。
[0133]步驟S313、源節點對應的VTEP將ARP應答報文中Ethernet頭的目的尋址地址和ARP報文的發端尋址地址由源節點對應的VTEP的尋址地址替換為源節點的尋址地址。
[0134]步驟S314、源節點對應的VTEP將所述ARP應答報文轉發到所述源節點。
[0135]源節點對應的VTEP從接收到的ARP應答報文中提取發端IP地址,查詢數據庫DB,判斷發端IP地址為本機的源節點對應的IP地址,則將ARP應答報文轉發到源節點,源節點獲得ARP應答報文中目的MAC地址,完成對目的節點的MAC地址的學習過程。
[0136]同樣地,在學習到目的節點的尋址地址之后,兩個虛擬機之間即可以開始互通正常的單播通信報文,如圖8所示,該兩個虛擬機之間互通單播報文的通信過程具體包括:
[0137]步驟S401、源節點對應的VTEP接收源節點發送的第一單播報文。[0138]第一單播報文即為單播通信報文,攜帶有源IP地址、源MAC地址、目的IP地址和目的MAC地址。其中,源IP地址為源節點的IP地址,源尋址地址為源節點的尋址地址,目的IP地址為目的節點的IP地址,目的尋址地址為步驟S314獲取到的目的尋址地址。
[0139]步驟S402、源節點對應的VTEP提取所述第一單播報文中的目的I P地址,并利用數據庫DB查詢得到所述目的IP地址所在的第二虛擬網絡,即第二 VLAN或第二 VXLAN。
[0140]源節點對應的VTEP對接收到的第一單播報文進行解析,得到源節點的MAC地址、源節點的IP地址和目的IP地址和目的MAC地址。
[0141]步驟S403、源節點對應的VTEP判斷第一單播報文請求的目的IP地址是否屬于VLAN或VXLAN,如果是VLAN,進入步驟S404,如果是與源節點在不同的VXLAN,進入步驟S406,如果是與源節點在相同的VXLAN’則進入步驟S409,與現有的VXLAN協議的處理方式相同,將第一單播報文封裝VXLAN后發送給目的IP所在VTEP。
[0142]步驟S404、源節點對應的VTEP將第一單播報文中Ethernet頭的源尋址地址由源節點的尋址地址替換為源節點對應的VTEP的尋址地址。
[0143]也就是說,利用VTEP的MAC地址替代內部虛擬機VM (源節點)的MAC地址與外部網絡進行通信。從外部網絡來看,網絡交換機及其他虛擬局域網僅能獲得該源節點所在的VXLAN的VTEP的MAC地址。這樣可以使得VM的MAC地址不暴露到網絡設備上,有利于網絡信息的維護。
[0144]步驟S405、源節點對應的VTEP將替換后的第一單播報文經由網絡轉發到目的IP地址所在VLAN中的目的節點,VLAN中的目的節點接收到第一單播報文,獲得源節點發送來的數據。
[0145]步驟S406、源節點對應的VTEP將第一單播報文中Ethernet頭的源尋址地址由源節點的尋址地址替換為源節點對應的VTEP的尋址地址。
[0146]步驟S407、源節點對應的VTEP將替換后的第一單播報文經由網絡轉發到目的節點對應的VTEP。
[0147]步驟S408、目的節點對應的VTEP根據第一單播報文中的目的IP地址,查詢獲得所述目的節點的尋址地址,將第一單播報文發送給目的節點。
[0148]目的節點對應的VTEP接收到第一單播報文,提取目的IP,查詢目的節點對應的VTEP中的DB,獲得目的節點的MAC地址,將第一單播報文中Ethernet頭的目的MAC地址由目的節點對應的VTEP的MAC地址替換為目的節點的MAC地址,并將再次替換后的第一單播報文發送給目的節點。目的節點獲得從源節點發送來的數據。
[0149]在目的節點獲得源節點發送來的數據之后,目的節點也可以向源節點發送單播報文進行通信,進入步驟S410。
[0150]如果目的節點處于與源節點不同的VXLAN中,目的節點返回的第二單播報文先發送給目的節點對應的VTEP,由該目的節點對應的VTEP將第二單播報文返回給所述源節點對應的VTEP。同樣地,目的節點對應的VTEP在將第二單播報文返回給所述源節點對應的VTEP之前,還會將所述目的節點的第二報文中Ethernet頭的源MAC地址替換為所述目的節點對應的VTEP的MAC地址,而后再將第二單播報文發送給源節點對應的VTEP,進入步驟S410。
[0151]步驟S410、源節點對應的VTEP接收所述目的節點在接收到所述第一單播報文后發送的第二單播報文。
[0152]步驟S411、源節點對應的VTEP提取所述第二單播報文中的目的IP地址。
[0153]步驟S412、源節點對應的VTEP判斷第二單播報文是否發送給本機的源節點,如果是,則進入步驟S413,否則進入步驟S415、丟棄該第二單播報文。
[0154]步驟S413、源節點對應的VTEP將第二單播報文中Ethernet頭的目的MAC地址替換為源節點的MAC地址。
[0155]步驟S414、源節點對應的VTEP將所述第二單播報文轉發到所述源節點。
[0156]源節點對應的VTEP對接收到的第二單播報文進行解析,得到源節點的MAC地址、源節點的IP地址和目的IP地址和目的MAC地址。根據目的IP地址,查詢數據庫DB,判斷目的IP地址是否屬于本機的節點,如果是,則將第二報文中Ethernet頭的目的MAC地址替換為源節點的MAC地址,轉發給所述源節點,以使所述源節點獲得所述目的節點發來的數據。
[0157]本發明通過對VXLAN中部署在各個服務器上的VTEP進行功能增強,達到實現VXLAN與VLAN以及不同VXLAN間互通的目的。圖9是本發明提供的VXLAN隧道端點VTEP的功能模塊示意圖,如圖9所示,該VTEP30包括:包分析(PacketAnalysis, PA)模塊301、數據庫(DataBase, DB)模塊 302 和包處理(PacketProcess, PP)模塊 303。
[0158]包分析模塊PA301用于接收數據包,包括從物理網卡和VM兩個方向收到的數據包。PA301對收到的報文頭信息進行分析,根據不同協議類型,從報文頭或者報文載荷中提取出源/目的IP信息。PA301以此源/目的IP作為鍵值向DB302進行查詢,來判斷當前報文的是否發往本地VM或者是否發往VLAN中的VM或不同VXLAN。PA301將報文和判斷結果發給PP303進行處理。當PP303處理報文完成后,PA301或者PP303會將報文轉發到對應的端口,在本發明中以PA301進行轉發為例進行說明。
[0159]數據庫模塊DB302用于存儲配置信息和地址學習信息,具體包括預先配置的本地VM對應的IP、所屬VXLAN的VNI和組播地址、端口信息以及全部VXLAN對應的VM的IP地址范圍,還有動態學習的本地VM的IP和MAC、通信VM的MAC地址及其所在VTEP的IP地址。本發明對配置信息和地址學習信息的存儲形式不作限定,也可以采用Hash表等方式。
[0160]包處理模塊PP303用于對報文進行處理,根據從PA312傳來的報文以及判斷結果,從DB311中獲取修改所需的信息,對報文頭或載荷進行對應字段的修改。
[0161]當VXLAN100中的VM-12011與VLAN300中的VM-32031進行互通時,由于VM不感知VXLAN的存在,因此其按照正常通信流程發送報文。當VM-3與VM-1屬于同一 IP網段時,VM-1需要通過發送ARP廣播請求學習VM-3的MAC地址,然后才能發送單播報文進行互通。
[0162]當VM-3與VM-1不在同一網段時,VM-1將會將數據報文發往L3的網關,通過路由協議轉發。這個過程可以分解為VM-1對網關MAC的ARP學習、網關對VM-3的MAC的ARP學習、VM-1發單播報文到網關和網關轉發單播報文到VM-3這四個過程。將網關看作是VLAN中的PM,這四個過程相當于是VXLAN與VLAN互通(VM-1與網關)和一組VLAN互通(網關與VM-3)的互通,所使用的方法與同網段的互通一致,因此這里不單獨分析加入網關的不同網段互通的情況。同樣地,不同VXLAN中VM處于不同網段時,例如VM-2與VM-1不在同一網段,其處理過程與此相類似,于此也不單獨分析不同網段互通的情況。
[0163]圖10是VM-1與VM-3之間ARP地址學習的時序圖,如圖10所示,包括以下步驟:[0164]S51、VM-1發送ARP請求報文,具體ARP請求報文格式如表1所示:
[0165]
【權利要求】
1.一種基于可擴展虛擬局域網的通信方法,其特征在于,所述方法應用于虛擬機系統,所述系統包括多個物理服務器,每個物理服務器上包括多個虛擬機,所述多個虛擬機組成多個虛擬局域網,所述虛擬局域網包括至少一個可擴展虛擬局域網VXLAN,包括: 第一 VXLAN對應的第一端口接收源節點發送的第一報文,其中,所述第一報文攜帶發端互聯網協議IP地址、發端尋址地址和目的IP地址,所述第一報文攜帶的發端IP地址為所述源節點的IP地址,發端尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址; 所述第一端口提取所述第一報文中的目的IP地址; 所述第一端口根據所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網; 若所述目的節點屬于的虛擬局域網與所述第一 VXLAN屬于不同的虛擬局域網,所述第一端口在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取到所述第一報文中的發端IP地址和發端尋址地址; 所述第一端口接收所述目的節點發送的所述第一報文的應答報文,所述第一報文的應答報文攜帶目的尋址地址,所述第一報文的應答報文攜帶的目的尋址地址為所述目的節點的尋址地址或者為所述目的節點屬于的虛擬局域網對應的第二端口的尋址地址; 所述第一端口將所述第一報文的應答報文發送給所述源節點,使得所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址。
2.根據權利要求1所述的通信方法,其特征在于,所述方法還包括: 建立數據庫,所述數據庫存儲所述系統中的虛擬機的IP地址與虛擬局域網的對應關系; 則所述第一端口根據所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網包括: 查詢所述數據庫中存儲的虛擬機的IP地址與虛擬局域網的對應關系,確定所述目的節點屬于的虛擬局域網。
3.根據權利要求1所述的通信方法,其特征在于,所述第一端口在所述系統內廣播所述第一報文之前,還包括: 所述第一端口將所述第一報文中的發端尋址地址由所述源節點的尋址地址替換為所述第一端口的尋址地址。
4.根據權利要求1或3所述的通信方法,其特征在于,當所述目的節點屬于的虛擬局域網為第二 VXLAN時,所述第一端口在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取所述第一報文中的發端IP地址和發端尋址地址,包括: 所述第一端口在所述系統內廣播所述第一報文; 所述第二 VXLAN對應的第二端口接收到所述第一報文,根據所述第一報文中攜帶的目的IP地址將所述第一報文發送給所述目的節點,所述目的節點接收到所述第一報文后,記錄所述第一報文攜帶的發端IP地址和發端尋址地址。
5.根據權利要求4所述的通信方法,其特征在于,所述第一端口接收所述目的節點發送的所述第一報文的應答報文之前,還包括: 所述目的節點根據記錄的所述第一報文中的發端IP地址和發端尋址地址,發送第一報文的應答報文,所述第二端口接收到所述第一報文的應答報文后,將所述第一報文的應答報文發送到所述第一端口。
6.根據權利要求5所述的通信方法,其特征在于,所述第二端口將所述第一報文的應答報文發送到所述第一端口之前,還包括: 所述第二端口將所述第一報文的應答報文中的目的尋址地址由所述目的節點的尋址地址替換為所述第二端口的尋址地址; 則所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址為所述第二端口的尋址地址。
7.根據權利要求1所述的通信方法,其特征在于,當所述目的節點屬于的虛擬局域網為第二 VLAN時,所述第一端口在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取所述源節點的IP地址和尋址地址,包括: 所述第一端口在所述系統內廣播所述第一報文; 所述目的節點接收到所述第一報文,所述目的節點接收到所述第一報文后,記錄所述第一報文攜帶的發端IP地址和發端尋址地址。
8.根據權利要求1所述的通信方法,其特征在于,還包括: 所述第一端口接收所述源節點根據獲取的所述目的尋址地址發送的第二報文,其中,所述第二報文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報文攜帶的源IP地址為所述源節點的IP地址,源尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址,目的尋址地址為獲取到的目的尋址地址; 所述第一端口根據所述第二報文中的目的尋址地址,發送所述第二報文到所述目的節點或所述目的節點屬于的虛擬局域網對應的第二端口。
9.根據權利要求8所述的通信方法,其特征在于,所述第一端口在發送所述第二報文之前,還包括: 所述第一端口將所述第二報文中的源尋址地址由所述源節點的尋址地址替換為所述第一端口的尋址地址。
10.根據權利要求8或9所述的通信方法,其特征在于,所述第一報文為地址解析協議ARP報文,所述第二報文為單播報文。
11.一種基于可擴展虛擬局域網的通信裝置,其特征在于,所述裝置應用于虛擬機系統,所述系統包括多個物理服務器,每個物理服務器上包括多個虛擬機,所述多個虛擬機組成多個虛擬局域網,所述虛擬局域網包括至少一個可擴展虛擬局域網VXLAN,包括: 接收單元,用于接收源節點發送的第一報文,其中,所述第一報文攜帶發端互聯網協議IP地址、發端尋址地址和目的IP地址,所述第一報文攜帶的發端IP地址為所述源節點的IP地址,發端尋址地址為所述源節點的尋址地址,目的IP地址為目的節點的IP地址; 解析單元,用于提取所述接收單元接收的所述第一報文中的目的ip地址; 確定單元,用于根據所述解析單元中提取的所述第一報文中的目的IP地址,確定所述目的節點屬于的虛擬局域網; 發送單元,用于當所述確定單元確定的所述目的節點屬于的虛擬局域網與所述第一VXLAN屬于不同的虛擬局域網時,在所述系統內廣播所述第一報文,使得所述目的節點接收到所述第一報文并獲取到所述第一報文中的發端IP地址和發端尋址地址;所述接收單元還用于接收所述目的節點發送的所述第一報文的應答報文,所述第一報文的應答報文攜帶目的尋址地址,所述第一報文的應答報文攜帶的目的尋址地址為所述目的節點的尋址地址或者為所述目的節點屬于的虛擬局域網對應的通信裝置的尋址地址; 所述發送單元還用于將所述接收單元接收的所述第一報文的應答報文發送給所述源節點,使得所述源節點獲取到所述第一報文的應答報文中攜帶的目的尋址地址。
12.根據權利要求11所述的通信裝置,其特征在于,所述裝置還包括: 存儲單元,用于建立數據庫,所述數據庫存儲所述系統中的虛擬機的IP地址與虛擬局域網的對應關系; 所述確定單元具體用于查詢所述存儲單元建立的數據庫中存儲的虛擬機的IP地址與虛擬局域網的對應關系,確定所述目的節點屬于的虛擬局域網。
13.根據權利要求11所述的通信裝置,其特征在于,所述裝置還包括: 替換單元,用于將所述接收單元接收到的所述第一報文中的發端尋址地址由所述源節點的尋址地址替換為當前通信裝置的尋址地址。
14.根據權利要求11所述的通信裝置,其特征在于,所述接收單元還用于接收所述源節點根據獲取的所述目的尋址地址發送的第二報文,其中,所述第二報文攜帶源IP地址、源尋址地址、目的IP地址和目的尋址地址,所述第二報文攜帶的源IP地址為所述源節點的IP地址,源尋址地址為 所述源節點的尋址地址,目的IP地址為目的節點的IP地址,目的尋址地址為獲取到的目的尋址地址; 所述發送單元還用于根據所述第二報文中的目的尋址地址,發送所述第二報文到所述目的節點或所述目的節點屬于的虛擬局域網對應的第二端口。
15.根據權利要求14所述的通信裝置,其特征在于,所述裝置還包括: 替換單元,用于將所述接收單元接收到的所述第二報文中的源尋址地址由所述源節點的尋址地址替換為當前通信裝置的尋址地址。
16.根據權利要求14或15所述的通信裝置,其特征在于,所述第一報文為地址解析協議ARP報文,所述第二報文為單播報文。
【文檔編號】H04L29/12GK103905283SQ201210570461
【公開日】2014年7月2日 申請日期:2012年12月25日 優先權日:2012年12月25日
【發明者】馮江平, 朱旭琪 申請人:華為技術有限公司