數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)方法及裝置的制造方法
【技術領域】
[0001] 本申請涉及網(wǎng)絡通信技術領域,特別涉及一種數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)方法及 裝直。
【背景技術】
[0002] VXLAN(VirtualextensibleLocalAreaNetwork,虛擬擴展局域網(wǎng))是一種在 UDP(UserDataProtocol,用戶數(shù)據(jù)報協(xié)議)中封裝MAC(MediaAccessControl,媒體 訪問控制)的簡單機制,可以創(chuàng)建跨多個物理IP(InternetProtocol,因特網(wǎng)協(xié)議)子網(wǎng) 的虛擬二層子網(wǎng)。VXLAN可以通過一個24比特的租戶ID(S卩,VXLANID或VXLAN網(wǎng)絡ID (VXLANNetworkIdentifierorVXLANSegmentID,VNI)),在一個數(shù)據(jù)中心內(nèi)部署百萬個 虛擬網(wǎng)。而且,VXLAN報文的格式很容易在硬件中實現(xiàn),所以將來VXLAN也許可以更緊密地 與物理網(wǎng)絡設備集成。
[0003] 如圖1所示,VXLAN報文是在以太幀的前面又封裝一個VXLAN頭,其中,VXLAN頭 是VXLAN報文的外層報頭,VXLAN頭開銷50字節(jié),以太幀的以太頭是內(nèi)層報頭。VXLAN頭中 包括:外層MACDA(DestinationAddress,目的地址)、外層MACSA(SourceAddress,源 地址)、外層802. 1Q、外層IPDA、外層IPSA和VNI;以太幀中包括:內(nèi)層MACDA、內(nèi)層MAC SA、內(nèi)層 802.IQ和CRC(CyclicRedundancyCheck)。
[0004] 以如圖2所示的數(shù)據(jù)中心網(wǎng)絡為例,簡要說明VXLAN的基礎應用原理。
[0005] 如圖2所示,vSwitch(虛擬交換機)啟用VXLAN功能,作為VTEP(VXLANTunnel EndPoint,VXLAN隧道的起點/終點)。
[0006] (I)MAC地址學習
[0007] 作為VTEP的vSwitch的MAC地址學習與二層交換機相似。VTEP接收到本設備直連 的VM(為了描述方便,稱為源VM(虛擬機))發(fā)出的ARP(AddressResolutionProtocol,地 址解析協(xié)議)請求之后,根據(jù)源VM上的虛擬網(wǎng)卡vNIC對應的VNI,對該ARP請求進行VXLAN 封裝得到VXLAN報文并發(fā)送給直連的物理交換機,由該物理交換機通過IP網(wǎng)絡轉發(fā)給其他 vSwitch,其中,該VXLAN報文的外層MACDA和外層IPDA分別是該VNI對應的組播組的 MAC地址和IP地址。從而,將該ARP請求轉發(fā)給了對應VXLAN內(nèi)的所有VM。
[0008] 其他vSwitch接收到該VXLAN報文之后,解封裝得到其中的VXLAN頭和ARP請求, 將該ARP請求廣播給該VXLAN頭中的VNI內(nèi)的所有VM(為了描述方便,稱為目的VM)。目 的VM接收到該ARP請求之后,返回ARP響應,通過以上方法最終單播給源VM。在此過程中, VTEP解封裝得到ARP響應后,會學習該ARP響應的源MAC地址和源IP地址。
[0009] (2)單播報文轉發(fā)
[0010] 源VTEP接收到VM發(fā)來的單播報文之后,根據(jù)該單播報文的目的MAC地址查找對 應的IP地址,查找到的IP地址即為該單播報文的目的IP地址;然后,根據(jù)該目的IP地址、 源IP地址和對應的VNI,對該單播報文進行VXLAN封裝得到VXLAN報文,之后發(fā)送給直連 的物理交換機,由該物理交換機通過IP網(wǎng)絡發(fā)送給目的VTEP。其中,IP網(wǎng)絡中的網(wǎng)絡設備 (例如,交換機、路由器)會根據(jù)路由轉發(fā)該VXLAN報文給目的VTEP。
[0011] 目的VTEP解封裝該VXLAN報文得到其中的單播報文后,根據(jù)該單播報文的目的 MAC地址,將該單播報文轉發(fā)給目的VM。
[0012] 由上可見,現(xiàn)有技術中vSwitch作為VTEP,執(zhí)行VXLAN報文的封裝/解封裝和轉發(fā) 處理,但是,vSwitch是由軟件實現(xiàn)的,其轉發(fā)性能較低。
【發(fā)明內(nèi)容】
[0013] 本申請?zhí)峁┝艘环N數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)方法及裝置,以解決現(xiàn)有技術中存 在的vSwitch作為VTEP,轉發(fā)性能較低的問題。
[0014] 本申請的技術方案如下:
[0015] 一方面,提供了一種數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)方法,該數(shù)據(jù)中心網(wǎng)絡中包括:至 少一個服務器,服務器上設置有VSwitch和VM,VM通過vSwitch連接至服務器外部的物理 交換機,該方法應用于物理交換機,該方法包括:
[0016] 針對直連服務器中的每一個VM,獲取該VM的VNIC的相關信息,將獲取到的相關 信息與本地虛擬端口關聯(lián),其中,該相關信息包括:該vNIC的MAC地址、該vNIC所在VXLAN 的VNI、以及該vNIC所在VXLAN關聯(lián)的VLAN的VLANID;
[0017] 在接收到直連服務器發(fā)來的以太報文之后,根據(jù)以太報文中的源MC地址和VLAN ID,查找到對應的VNI;
[0018] 根據(jù)查找到的VNI,對以太報文進行VXLAN封裝得到VXLAN報文并轉發(fā)出去。
[0019] 另一方面,還提供了一種數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)裝置,該數(shù)據(jù)中心網(wǎng)絡中包 括:至少一個服務器,服務器上設置有vSwitch和VM,VM通過vSwitch連接至服務器外部的 物理交換機,該裝置應用于物理交換機,該裝置包括:
[0020] 處理模塊,用于針對本物理交換機的直連服務器中的每一個VM,獲取該VM的vNIC 的相關信息,將獲取到的相關信息與本地虛擬端口關聯(lián),其中,該相關信息包括:該vNIC的 MAC地址、該vNIC所在VXLAN的VNI、以及該vNIC所在VXLAN關聯(lián)的VLAN的VLANID;
[0021] 接收模塊,用于接收直連服務器發(fā)來的以太報文;
[0022] 查找模塊,用于在接收模塊接收到直連服務器發(fā)來的以太報文之后,根據(jù)以太報 文中的源MAC地址和VLANID,查找到對應的VNI;
[0023] 封裝解封裝模塊,用于根據(jù)查找模塊查找到的VNI,對接收模塊接收到的以太報文 進行VXLAN封裝得到VXLAN報文;
[0024] 發(fā)送模塊,用于將封裝解封裝模塊封裝得到的VXLAN報文轉發(fā)出去。
[0025] 通過本申請的技術方案,物理交換機獲取直連的服務器中的每一個VM的虛擬網(wǎng) 卡的相關信息,并將獲取到的相關信息與本地虛擬端口關聯(lián),后續(xù),當接收到直連服務器發(fā) 來的以太報文后,就可以根據(jù)該以太報文中的源MAC地址和VLAN,識別出對應的本地虛擬 端口,以及查找到對應的VNI,最后,根據(jù)該VNI對該以太報文進行VXLAN封裝,從而將VLAN 數(shù)據(jù)流映射入VXLAN內(nèi)做轉發(fā)。本方案中,在物理交換機上啟動例如VXLAN的overlay技 術,物理交換機作為VPET,由于物理交換機是硬件轉發(fā),性能要高于軟件的vSwitch。而且, VXLAN數(shù)據(jù)流僅在物理交換機上可見,物理交換機和服務器之間仍然運行VLAN數(shù)據(jù)流;在 業(yè)務層面上,用戶僅看到VXLAN,根據(jù)VXLAN劃分租戶,對VLAN不可見;VLAN作為局部業(yè)務 劃分手段,VLAN標簽是系統(tǒng)自動分配,對最終用戶不可見。
【附圖說明】
[0026] 圖1是VXLAN報文的報文格式示意圖;
[0027] 圖2是數(shù)據(jù)中心網(wǎng)絡的架構示意圖;
[0028] 圖3是本申請實施例一的數(shù)據(jù)中心網(wǎng)絡以及VM管理中心和網(wǎng)絡管理服務器組成 的網(wǎng)絡不意圖;
[0029] 圖4是本申請實施例一的數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)方法的流程圖;
[0030] 圖5是本申請實施例一的VDP報文中的TLV的格式示意圖;
[0031] 圖6是圖5中的FilterFormat域的取值為0x03時,F(xiàn)ilterInfo域的格式示意 圖;
[0032] 圖7是圖5中的FilterFormat域的取值為0x04時,F(xiàn)ilterInfo域的格式示意 圖;
[0033] 圖8是本申請實施例一的獲取vNIC的相關/[目息的方法二的流程圖;
[0034] 圖9是本申請實施例一的獲取vNIC的相關信息的方法四的流程圖;
[0035] 圖10是本申請實施例二的數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)裝置的結構示意圖;
[0036] 圖11是本申請實施例三的數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)裝置的硬件結構示意圖。
【具體實施方式】
[0037] 為了解決現(xiàn)有技術中存在的vSwitch作為VTEP,轉發(fā)性能較低的問題,以下實施 例中提供了一種數(shù)據(jù)中心網(wǎng)絡中的報文轉發(fā)方法,以及一種可以應用該方法的裝置。
[0038] 本申請以下實施例中,如圖3所示,數(shù)據(jù)中心網(wǎng)絡中包括:至少一個物理服務器, 服務器上設置有vSwitch和VM,VM通過vSwitch連接至服務器外部的物理交換機。物理 交換機上啟用Overlay(二層報文承載于三層網(wǎng)絡)功能,Overlay例如可以是:VXLAN和 NVGRE(GenericRoutingEncapsulation,通用路由封裝)等。
[0039] 以下實施例中,以物理交換機上啟用VXLAN功能為例進行說明,此時,物理交換 機作為VTEP。VM上連接vSwitch的虛擬網(wǎng)卡(vNIC)也可以稱為VSI(VirtualStation Interface,虛擬站接口)。
[0040] 實施例一
[0041] 本申請實施例中的報文轉發(fā)方法由如圖3所示的數(shù)據(jù)中心網(wǎng)絡中的物理交換機 來執(zhí)行。如圖4所示,該方法包括以下步驟:
[0042] 步驟S102,針對直連服務器中的每一個VM,獲取該VM的vNIC的相關信息,將獲取 到的相關信息與本地虛擬端口關聯(lián);
[0043] 其中,該相關信息包括:該vNIC的MAC地址、該vNIC所在VXLAN的VNI、以及該 vNIC所在VXLAN關聯(lián)的VLAN(虛擬局域網(wǎng))的VLANID。
[0044] 在實際實施過程中,獲取vNIC的相關信息的方法可以有多種,本實施例中例舉了 以下四種方法進行說明。
[0045]方法一:
[0046] 該方法一中包括以下步驟:
[0047] 步驟S202,物理交換機預先創(chuàng)建VXLAN,指定該VXLAN對應的VNI;
[0048] 步驟S204,網(wǎng)絡管理服務器對VM的業(yè)務類型進行分組,分組得到的每一個業(yè)務類 型組對應一個端口策略;為每一個端口策略分配一個vNIC類別,每一個vNIC類別具有一個 vNIC類別號(VTID)和一個版本號;將上述對應關系保存在網(wǎng)絡管理服務器中的VTDB數(shù)據(jù) 庫中,即,將業(yè)務類型組、端口策略與vNIC類別之間的對應關系保存到VTDB數(shù)據(jù)庫中;
[0049] 其中,VM的業(yè)務類型例如:Webserver(網(wǎng)頁服務器)、db(database,數(shù)據(jù)庫)、 e-mail(電子郵件)等。
[0050] 端口策略中可以包括限速、允許數(shù)據(jù)流通過的VLAN等端口行為。
[0051] 步驟S206,VM管理中心(VMManager,也可稱為VM管理裝置)通過與網(wǎng)絡管理服 務器進行通信,在VTDB數(shù)據(jù)庫中查詢可用的vNIC類別,將VM的vNIC與查詢到的vNIC類 別關聯(lián),同時指定該vNIC所在的租戶,S卩,指定該vNIC所在VXLAN;<