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

基于三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)方法和設(shè)備與流程

文檔序號:12477892閱讀:368來源:國知局
基于三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)方法和設(shè)備與流程

本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及基于三層虛擬可擴展局域網(wǎng)(VXLAN:Virtual eXtensible Local Access Network)網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)方法和設(shè)備。



背景技術(shù):

在數(shù)據(jù)中心應(yīng)用中,如果要為VXLAN網(wǎng)絡(luò)內(nèi)的虛擬機(VM:Virtual Machine)提供三層業(yè)務(wù),則需要在網(wǎng)絡(luò)中部署三層VXLAN網(wǎng)關(guān),三層VXLAN網(wǎng)關(guān)的三層網(wǎng)關(guān)功能,能夠使VXLAN網(wǎng)絡(luò)內(nèi)的VM與外界其他網(wǎng)絡(luò)的設(shè)備進行三層通信,以及使VXLAN網(wǎng)絡(luò)內(nèi)的VM與其他VXLAN網(wǎng)絡(luò)內(nèi)的VM進行三層通信。

為了實現(xiàn)三層VXLAN網(wǎng)關(guān)的三層網(wǎng)關(guān)功能,三層VXLAN網(wǎng)關(guān)的接口板、網(wǎng)板都全局存放地址解析協(xié)議(ARP)表項。一個ARP表項代表了一個VM,在大型的數(shù)據(jù)中心應(yīng)用中,VM的數(shù)量非常龐大,這就導(dǎo)致ARP表項數(shù)量非常龐大,而三層VXLAN網(wǎng)關(guān)中接口板、網(wǎng)板的硬件資源有限,除了存放ARP表項之外,還會存放MAC表項、路由表項、VXLAN封裝表項和VXLAN解封裝表項,這會出現(xiàn)沒有過多硬件資源維護非常龐大的ARP表項的缺陷,影響了基于三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)。



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

本申請?zhí)峁┝嘶谌龑覸XLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)方法和設(shè)備,以實現(xiàn)三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)。

本申請?zhí)峁┑募夹g(shù)方案包括:

一種基于三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)方法,該方法應(yīng)用于三層 VXLAN網(wǎng)關(guān),包括:

三層VXLAN網(wǎng)關(guān)的接口板接收數(shù)據(jù)報文;

三層VXLAN網(wǎng)關(guān)的接口板確定所述數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則依據(jù)數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值選擇與所述數(shù)值匹配的一類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板,與所述數(shù)值匹配的一類網(wǎng)板本地存放了滿足以下條件的ARP表項:表項中有設(shè)定比特位置處的數(shù)值與所述數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值相同的目的IP地址;

三層VXLAN網(wǎng)關(guān)的所述接口板將數(shù)據(jù)報文發(fā)送至目標(biāo)網(wǎng)板;

三層VXLAN網(wǎng)關(guān)的所述目標(biāo)網(wǎng)板接收到三層VXLAN網(wǎng)關(guān)的接口板發(fā)送的數(shù)據(jù)報文,確定所述數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則在本地ARP表項中查找到與數(shù)據(jù)報文的目的IP地址匹配的ARP表項,與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文。

一種基于三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)設(shè)備,該設(shè)備應(yīng)用于三層VXLAN網(wǎng)關(guān),包括:

接口板處理單元,處于三層VXLAN網(wǎng)關(guān)的接口板,用于接收數(shù)據(jù)報文,確定所述數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則依據(jù)數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值選擇與所述數(shù)值匹配的一類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板,將數(shù)據(jù)報文發(fā)送至目標(biāo)網(wǎng)板,與所述數(shù)值匹配的一類網(wǎng)板本地都存放了滿足以下條件的ARP表項:表項中有設(shè)定比特位置處的數(shù)值與所述數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值相同的目的IP地址;以及,

在作為網(wǎng)板查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板時與網(wǎng)板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文;

網(wǎng)板處理單元,處于所述三層VXLAN網(wǎng)關(guān)的網(wǎng)板,用于接收到三層VXLAN網(wǎng)關(guān)的接口板發(fā)送的數(shù)據(jù)報文,確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則在本地ARP表項中查找到與數(shù)據(jù)報文的目的IP地址匹配的ARP表項,與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文。

由以上技術(shù)方案可以看出,本發(fā)明中,ARP表項分開存放在三層VXLAN網(wǎng)關(guān)的網(wǎng)板,并且,三層VXLAN網(wǎng)關(guān)的網(wǎng)板除了存放數(shù)量不多的路由表項之外就只存放ARP表項,這樣,即使ARP表項數(shù)量非常龐大,因為不再有其他過多的表項與ARP表項競爭硬件資源來維護,避免ARP表項沒有過多硬件資源維護的缺陷,進而實現(xiàn)了基于三層VXLAN網(wǎng)關(guān)的數(shù)據(jù)報文轉(zhuǎn)發(fā)方法。

附圖說明

圖1為本發(fā)明提供的方法流程圖;

圖2為本發(fā)明提供的實施例1示意圖;

圖3為本發(fā)明提供的實施例2示意圖;

圖4為本發(fā)明提供的實施例3示意圖;

圖5為本發(fā)明提供的設(shè)備結(jié)構(gòu)圖;

圖6為本發(fā)明提供的圖5所示設(shè)備的硬件結(jié)構(gòu)圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。

在本發(fā)明中,為了避免沒有過多硬件資源維護ARP表項的缺陷,本發(fā)明中,對三層VXLAN網(wǎng)關(guān)的接口板、網(wǎng)板進行以下限定:

1),將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為N類,N大于1,同一類網(wǎng)板本地存放相同ARP表項,不同類網(wǎng)板本地存放不同ARP表項。

這里,各類網(wǎng)板上存放的ARP表項是三層VXLAN網(wǎng)關(guān)的主控板從接口板按照類似現(xiàn)有ARP表項學(xué)習(xí)方式學(xué)習(xí)的ARP表項中區(qū)分并下發(fā)至各類網(wǎng)板的。其中,ARP表項的不同主要體現(xiàn)在ARP表項中目的IP地址的設(shè)定比特位置處的數(shù)值不同。需要說明的是,為保證網(wǎng)板上ARP表項的冗余,每類網(wǎng)板中至少包含兩塊以上網(wǎng)板。

在本發(fā)明中,上述設(shè)定比特位置包含的比特(bit)位的數(shù)量M由上述的N決定,具體可通過以下公式限定:2M≥N。至于M個比特位的具體位置,本發(fā)明并不具體限定,完全可預(yù)先配置。

在本發(fā)明中,各類網(wǎng)板本地存放的ARP表項數(shù)量并不限定必須一致,可以允許各類網(wǎng)板本地存放的ARP表項數(shù)量不一致,比如下述例2中第一類網(wǎng)板存放的ARP表項比第二類網(wǎng)板、第三類網(wǎng)板存放的ARP表項多。

下面通過三個舉例對上述將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為N類,N大于1,同一類網(wǎng)板本地存放相同ARP表項,不同類網(wǎng)板本地存放不同ARP表項進行描述:

例1:

在例1中,將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為兩類,即上述的N取值為2,分成的兩類網(wǎng)板稱為第一類網(wǎng)板和第二類網(wǎng)板。

本例1中,在第一類網(wǎng)板本地存放第一類ARP表項,第二類網(wǎng)板本地存放第二類ARP表項,其中,第一類ARP表項為:表項中目的IP地址的設(shè)定比特位置處的數(shù)值為奇數(shù);第二類ARP表項為:表項中目的IP地址的設(shè)定比特位置處的數(shù)值為偶數(shù)。

本例1中,為區(qū)分出兩類ARP表項,按照上述公式,設(shè)定比特位置具體實現(xiàn)時以包含1個bit位為例,該1個bit位可以比如為任意一個bit位,比如開始的第一個bit位、或者最后一個bit位等。以設(shè)定比特位置為最后一個bit位為例,則將表項中目的IP地址的最后一個bit位的數(shù)值為奇數(shù)(即數(shù)值為1)的ARP表項作為第一類ARP表項,將表項中目的IP地址的最后一個bit位的數(shù)值為偶數(shù)(即數(shù)值為0)的ARP表項作為第二類ARP表項。

例2:

本例2中,將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為三類,即上述的N取值為3,分成的三類網(wǎng)板稱為第一類網(wǎng)板、第二類網(wǎng)板、第三類網(wǎng)板。

本例2中,在第一類網(wǎng)板本地存放第一類ARP表項,第二類網(wǎng)板本地存放第二類ARP表項,在第三類網(wǎng)板本地存放第三類ARP表項。

在例2中,為區(qū)分出三類ARP表項,按照上述公式,設(shè)定比特位置具體實現(xiàn)時以包含2個bit位為例,該2個bit位可以為任意兩個連續(xù)或者不連讀的bit位,比如為開始前兩個bit位、或者最后兩個bit位、開始的第一個bit位和最后一個bit位等,以設(shè)定比特位置為最后兩個bit位為例,則將表項中目的IP地址的最后兩個bit位的數(shù)值為00、01的ARP表項作為第一類ARP表項,將表項中目的IP地址的最后兩個bit位的數(shù)值為10的ARP表項作為第二類ARP表項、將表項中目的IP地址的最后兩個bit位的數(shù)值為11的ARP表項作為第三類ARP表項。

例3:

本例3中,將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為2M類,即上述的N取值為2M,M大于2,分成的2M類網(wǎng)板稱為第一類網(wǎng)板、第二類網(wǎng)板、直至第2M類網(wǎng)板。

本例3中,在第一類網(wǎng)板本地存放第一類ARP表項,第二類網(wǎng)板本地存放第二類ARP表項,依次類推,在第2M類網(wǎng)板本地存放第2M類ARP表項。

在例3中,為區(qū)分出2M類ARP表項,按照上述公式,設(shè)定比特位置具體實現(xiàn)時以包含M個bit位為例,該M個bit位可以為任意M個連續(xù)或者不連讀的bit位,比如為開始前M個bit位、或者最后M個bit位、開始的前M/2個bit位和最后的M/2個bit位等,以設(shè)定比特位置為最后M個bit位為例,則將表項中目的IP地址的最后M個bit位均為00的ARP表項作為第一類ARP表項,將表項中目的IP地址的最后M個bit位中只有最后一個bit位為1,其余為0的ARP表項作為第二類ARP表項,依次類推,將表項中目的IP地址的最后M個bit位的數(shù)值均為1的ARP表項作為第2M類ARP表項。

2),三層VXLAN網(wǎng)關(guān)的各類網(wǎng)板本地存有相同的路由表項。

在實際應(yīng)用中,路由表項數(shù)量不多,不需要分開下發(fā)至各類網(wǎng)板,各類網(wǎng)板上都可存放完整且相同的路由表項。

在目前的應(yīng)用中,對于依賴路由表項轉(zhuǎn)發(fā)的報文,其目前還沒有加封裝 處理的需求,因此,本發(fā)明中,作為一個優(yōu)選實施例,可順應(yīng)當(dāng)前需求,對三層VXLAN網(wǎng)關(guān)中各類網(wǎng)板本地存有的路由表項進行限定,限定三層VXLAN網(wǎng)關(guān)中各類網(wǎng)板本地存有的路由表項只是一些出端口為主機接入端口的路由表項。

3),三層VXLAN網(wǎng)關(guān)的接口板本地存有MAC表項、VXLAN封裝表項和VXLAN解封裝表項,不再存有ARP表項和路由表項。

通過以上限定可以看出,本發(fā)明中,ARP表項分開存放在三層VXLAN網(wǎng)關(guān)的網(wǎng)板,并且,三層VXLAN網(wǎng)關(guān)的網(wǎng)板除了存放數(shù)量不多的路由表項之外就只存放ARP表項,這樣即使ARP表項數(shù)量非常龐大,因為不再有其他過多的表項與ARP表項競爭硬件資源來維護,就不會出現(xiàn)ARP表項沒有過多硬件資源維護的缺陷。

基于上述限定,下面對本發(fā)明提供的方法進行描述:

參見圖1,圖1為本發(fā)明提供的方法流程圖。該流程應(yīng)用于上述的三層VXLAN網(wǎng)關(guān),包括以下步驟:

步驟101,三層VXLAN網(wǎng)關(guān)的接口板接收數(shù)據(jù)報文。

本步驟101中,三層VXLAN網(wǎng)關(guān)的接口板接收數(shù)據(jù)報文具體包含以下兩種情況:

情況1,三層VXLAN網(wǎng)關(guān)的接口板接收未帶VXLAN封裝的數(shù)據(jù)報文。

情況2,三層VXLAN網(wǎng)關(guān)的接口板接收帶VXLAN封裝的數(shù)據(jù)報文,此種情況下,三層VXLAN網(wǎng)關(guān)的接口板對接收的帶VXLAN封裝的數(shù)據(jù)報文進行VXLAN解封裝,VXLAN解封裝后的數(shù)據(jù)報文就是下文所指的數(shù)據(jù)報文。

如上對三層VXLAN網(wǎng)關(guān)的接口板限定的表項,三層VXLAN網(wǎng)關(guān)的接口板是存有VXLAN解封裝表項,基于此,上述情況2下對接收的帶VXLAN封裝的數(shù)據(jù)報文進行VXLAN解封裝就由三層VXLAN網(wǎng)關(guān)的接口 板依賴于本地存有的VXLAN解封裝表項實現(xiàn)。

步驟102,三層VXLAN網(wǎng)關(guān)的接口板確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則依據(jù)數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值選擇與所述數(shù)值匹配的一類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板。

這里,三層VXLAN網(wǎng)關(guān)的接口板確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā)具體為:判斷數(shù)據(jù)報文的目的MAC是否為本網(wǎng)關(guān)的網(wǎng)關(guān)MAC,如果是,確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),否則,確定數(shù)據(jù)報文不進行三層轉(zhuǎn)發(fā)。

如上所述的各類網(wǎng)板存放的ARP表項,這里與數(shù)值匹配的一類網(wǎng)板是指本地都存放了滿足以下條件的ARP表項:表項中有設(shè)定比特位置處的數(shù)值與數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值相同的目的IP地址。以上述的例1為例,則在數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值是奇數(shù)(即數(shù)值為1)時,選擇第一類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板,在數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值是偶數(shù)(即數(shù)值為0)時,選擇第二類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板。例2、例3原理類似,不再贅述。

作為本發(fā)明的一個優(yōu)選實施例,本發(fā)明中,可通過在接口板設(shè)置ACL表項實現(xiàn)步驟102中依據(jù)數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值選擇與所述數(shù)值匹配的一類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板,其中,ACL表項的匹配條件為:目的IP地址中設(shè)定位置處的數(shù)值,ACL表項的動作為:選擇哪一類網(wǎng)板,依據(jù)設(shè)定算法比如負載均衡從該類網(wǎng)板中選擇一個網(wǎng)板。

步驟103,三層VXLAN網(wǎng)關(guān)的接口板將數(shù)據(jù)報文發(fā)送至目標(biāo)網(wǎng)板。

作為本發(fā)明的一個實施例,步驟103中,為了保證三層VXLAN網(wǎng)關(guān)的接口板順利發(fā)送數(shù)據(jù)報文至三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板,一種較佳的實現(xiàn)方式是對數(shù)據(jù)報文進行用于轉(zhuǎn)發(fā)至目標(biāo)網(wǎng)板的內(nèi)部封裝,為便于描述,這里將該內(nèi)部封裝簡稱為網(wǎng)板代理封裝。如此,步驟103中,接口板將數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板可包括:

步驟a1,將數(shù)據(jù)報文進行網(wǎng)板代理封裝。

這里,網(wǎng)板代理封裝包含:目的代理芯片標(biāo)識(mod)和目的代理端口 標(biāo)識(port),目的代理mod為網(wǎng)板代理芯片標(biāo)識,目的代理port為網(wǎng)板代理端口標(biāo)識;

優(yōu)選地,作為本發(fā)明一個實例,網(wǎng)板代理芯片標(biāo)識可為預(yù)先配置的用于指示網(wǎng)板可繼續(xù)執(zhí)行查表進行報文轉(zhuǎn)發(fā)的芯片標(biāo)識,網(wǎng)板代理端口標(biāo)識可為預(yù)先配置的用于指示網(wǎng)板可繼續(xù)執(zhí)行查表進行報文轉(zhuǎn)發(fā)的端口標(biāo)識。當(dāng)三層VXLAN網(wǎng)關(guān)存在多個網(wǎng)板時,所有網(wǎng)板都會配置上述的網(wǎng)板代理芯片標(biāo)識和網(wǎng)板代理端口標(biāo)識。

步驟a2,通過本接口板連接目標(biāo)網(wǎng)板的互連口發(fā)送網(wǎng)板代理封裝的數(shù)據(jù)報文至三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板。

通過上述步驟a1和步驟a2,三層VXLAN網(wǎng)關(guān)的接口板最終會將數(shù)據(jù)報文順利發(fā)送至三層VXLAN網(wǎng)關(guān)的目標(biāo)網(wǎng)板。

步驟104,三層VXLAN網(wǎng)關(guān)的所述目標(biāo)網(wǎng)板接收到三層VXLAN網(wǎng)關(guān)的接口板發(fā)送的數(shù)據(jù)報文,確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則在本地ARP表項中查找到與數(shù)據(jù)報文的目的IP地址匹配的ARP表項,與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文。

基于上面步驟103描述的網(wǎng)板代理封裝,則較佳地,步驟104中,三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板接收到的數(shù)據(jù)報文是經(jīng)由網(wǎng)板代理封裝的數(shù)據(jù)報文,基于此,本步驟104中,三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā)包括:

從接收的數(shù)據(jù)報文的網(wǎng)板代理封裝頭中確定出目的代理mod和目的代理port;如果確定出的目的代理mod為上述的網(wǎng)板代理芯片標(biāo)識,目的代理port為上述的網(wǎng)板代理端口標(biāo)識,則確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),對數(shù)據(jù)報文的網(wǎng)板代理封裝進行解封裝,否則,直接按照網(wǎng)板代理封裝的目的代理port繼續(xù)轉(zhuǎn)發(fā)接收的數(shù)據(jù)報文即可,這類似現(xiàn)有網(wǎng)板轉(zhuǎn)發(fā)報文的方式,不再展開描述。

這里,作為一個實施例,ARP表項具體實現(xiàn)時可包含目的IP地址、VLAN標(biāo)識、目的MAC地址、源MAC地址、出端口等。基于ARP表項包 含的內(nèi)容,本步驟104中與數(shù)據(jù)報文的目的IP地址匹配的ARP表項就為包含數(shù)據(jù)報文的目的IP地址的ARP表項。

作為一個優(yōu)選實施例,步驟104中,三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文包括步驟b1和步驟b2:

步驟b1,三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板將數(shù)據(jù)報文的源MAC地址修改為本三層VXLAN網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址,將數(shù)據(jù)報文的目的MAC地址修改為查找到的ARP表項中的目的MAC地址,根據(jù)查找到的ARP表項中的出端口的類型對修改后的數(shù)據(jù)報文進行內(nèi)部封裝,將帶有內(nèi)部封裝的數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板;

作為本發(fā)明的一個實施例,在步驟b1中,根據(jù)查找到的ARP表項中的出端口的類型對修改后的數(shù)據(jù)報文進行內(nèi)部封裝可包括:

步驟c1,識別該查找到的ARP表項中的出端口是主機接入端口還是網(wǎng)絡(luò)側(cè)端口,如果是主機接入端口,執(zhí)行步驟c2,如果是網(wǎng)絡(luò)側(cè)端口,則執(zhí)行步驟c3。

步驟c2,確定三層VXLAN網(wǎng)關(guān)上該主機接入端口所處的接口板為第一目標(biāo)接口板,對修改后的數(shù)據(jù)報文進行第一內(nèi)部封裝,將第一內(nèi)部封裝的數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上的第一目標(biāo)接口板。

這里,第一內(nèi)部封裝包含:第一目的mod和第一目的port,其中,第一目的mod為第一目標(biāo)接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識,第一目的port為該查找到的ARP表項中的出端口;

步驟c3,在網(wǎng)絡(luò)側(cè)端口為單一的物理端口時,確定該單一的物理端口為目標(biāo)出端口,在網(wǎng)絡(luò)側(cè)端口為至少兩個物理端口聚合形成的聚合端口時,選擇聚合端口中一個物理端口為目標(biāo)出端口,確定三層VXLAN網(wǎng)關(guān)上目標(biāo)出端口所在的接口板為第一目標(biāo)接口板,對修改后的數(shù)據(jù)報文進行第二內(nèi)部封裝,將第二內(nèi)部封裝的報文發(fā)送至三層VXLAN網(wǎng)關(guān)上的所述目標(biāo)接口板。

這里,第二內(nèi)部封裝包含:第二目的mod、第二目的port、以及查找到的ARP表項中的VLAN標(biāo)識(ID);第二目的mod為:接口板代理芯片標(biāo)識,第二目的port為接口板代理端口標(biāo)識。三層VXLAN網(wǎng)關(guān)上所有接口板都會配置上述的接口板代理芯片標(biāo)識和接口板代理端口標(biāo)識。

作為一個優(yōu)選實施例,步驟c3中,從聚合端口中選擇一個物理端口的方式可有多種方式,比如隨機選擇一個,或者按照設(shè)定的選擇方式比如哈希算法等選擇,本發(fā)明并不具體限定。

步驟b2,三層VXLAN網(wǎng)關(guān)上的第一目標(biāo)接口板接收三層VXLAN網(wǎng)關(guān)上的所述目標(biāo)網(wǎng)板發(fā)送的帶有內(nèi)部封裝的數(shù)據(jù)報文,根據(jù)內(nèi)部封裝轉(zhuǎn)發(fā)解內(nèi)部封裝后的數(shù)據(jù)報文。

基于上面步驟b1限定的三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板如何發(fā)送數(shù)據(jù)報文至三層VXLAN網(wǎng)關(guān)上的第一目標(biāo)接口板,則本步驟b2中,三層VXLAN網(wǎng)關(guān)上的第一目標(biāo)接口板根據(jù)內(nèi)部封裝轉(zhuǎn)發(fā)解內(nèi)部封裝后的數(shù)據(jù)報文可包括步驟d1至步驟d3:

步驟d1,在接收的數(shù)據(jù)報文帶有第一內(nèi)部封裝時,執(zhí)行步驟d2,在接收的數(shù)據(jù)報文帶有第二內(nèi)部封裝時,執(zhí)行步驟d3。

步驟d2,從第一內(nèi)部封裝頭中確定出第一目的mod和第一目的port;如果第一目的mod為本接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識且第一目的port為本接口板上主機接入端口的標(biāo)識,則對接收的數(shù)據(jù)報文的第一內(nèi)部封裝進行解封裝并通過第一目的port對應(yīng)的主機接入端口轉(zhuǎn)發(fā)。

步驟d3,從第二內(nèi)部封裝頭中確定出第二目的mod和第二目的port;如果確定出的第二目的mod為接口板代理芯片標(biāo)識、確定出的第二目的port為接口板代理端口標(biāo)識,則從數(shù)據(jù)報文的第二內(nèi)部封裝頭中確定出VLAN ID并對數(shù)據(jù)報文的第二內(nèi)部封裝進行解封裝,從預(yù)先設(shè)置的VLAN ID和VNID之間的映射關(guān)系中找到與該確定出的VLAN ID具有映射關(guān)系的VNID,在本接口板本地的MAC表項中查找到與解封裝后的數(shù)據(jù)報文的目的MAC地址和該找到的VNID匹配的MAC表項,依據(jù)查找到的MAC表項中的出端口從本 接口板本地的VXLAN封裝表項中找到對應(yīng)的VXLAN封裝表項,利用找到的VXLAN封裝表項和找到的VNID對解封裝后的數(shù)據(jù)報文進行VXLAN封裝并通過該找到的VXLAN封裝表項中的出端口發(fā)送。

這里,MAC表項中的出端口實質(zhì)為網(wǎng)絡(luò)側(cè)端口(具體為VXLAN隧道口),當(dāng)MAC表項中的出端口為VXLAN隧道口時,該VXLAN隧道口是一個虛擬的概念,作為本發(fā)明一個實施例,該VXLAN隧道口可通過VXLAN隧道封裝索引表示,比如VXLAN隧道口為Tunnel1(Tunnel1為VXLAN封裝索引)?;诖耍鲜龅囊罁?jù)查找到的MAC表項中的出端口從本接口板本地的VXLAN封裝表項中找到對應(yīng)的VXLAN封裝表項實質(zhì)就是依據(jù)VXLAN封裝索引從本接口板本地的VXLAN封裝表項中找到對應(yīng)的VXLAN封裝表項,這很容易實現(xiàn)。

這里,利用VXLAN封裝表項和VNID對解封裝后的數(shù)據(jù)報文進行VXLAN封裝具體可為:利用找到的VXLAN封裝表項中的VXLAN封裝信息對解封裝后的數(shù)據(jù)報文進行VXLAN外層頭封裝,利用找到的VNID對解封裝后的數(shù)據(jù)報文進行VXLAN字段(實質(zhì)為VNID字段)的封裝。這里VXLAN外層頭至少包含外層以太(ETH)封裝,其中,外層以太(ETH)封裝至少包含外層源MAC地址、外層目的MAC地址、外層源IP地址、外層目的IP地址等。

作為本發(fā)明的一個實施例,這里,通過該找到的VXLAN封裝表項中的出端口發(fā)送可為:識別該找到的VXLAN封裝表項中的出端口,如果該出端口為單一的物理端口,則直接通過該單一的物理端口發(fā)送,而如果該出端口為至少兩個物理端口聚合形成的聚合端口,則就需要從聚合端口中選擇一個物理端口,通過該選擇的物理端口發(fā)送。需要說明的是,這里從聚合端口中選擇一個物理端口的方式不再隨機,其必須最終保證選擇的物理端口與上述目標(biāo)網(wǎng)板在確定第一目標(biāo)接口板時選擇的物理端口一致。至于具體實現(xiàn)時如何保證接口板最終選擇的物理端口與上述目標(biāo)網(wǎng)板在確定第一目標(biāo)接口板時選擇的物理端口一致,本發(fā)明并不具體限定,其可有多種實現(xiàn)方式,比如目 標(biāo)網(wǎng)板按照哈希方式選擇物理端口,第一目標(biāo)接口板也同樣按照哈希方式選擇物理端口等。

至此,完成圖1所示的流程。

通過圖1所示的流程可以看出,本發(fā)明中,ARP表項分開存放在三層VXLAN網(wǎng)關(guān)的網(wǎng)板,并且,三層VXLAN網(wǎng)關(guān)的網(wǎng)板除了存放數(shù)量不多的路由表項之外就只存放ARP表項,這樣,即使ARP表項數(shù)量非常龐大,因為不再有其他過多的表項與ARP表項競爭硬件資源來維護,避免ARP表項沒有過多硬件資源維護的缺陷,并且,本發(fā)明中,三層VXLAN網(wǎng)關(guān)的接口板不管是接收到未帶VXLAN封裝的數(shù)據(jù)報文,還是接收到帶有VXLAN封裝的數(shù)據(jù)報文,其統(tǒng)一依據(jù)數(shù)據(jù)報文的目的IP地址中設(shè)定位置處的數(shù)值從三層VXLAN網(wǎng)關(guān)中確定目標(biāo)網(wǎng)板,將數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板,由目標(biāo)網(wǎng)板通過ARP表項查找執(zhí)行三層代理轉(zhuǎn)發(fā),這優(yōu)化了三層VXLAN網(wǎng)關(guān)的三層訪問功能,且整個過程只是在三層VXLAN網(wǎng)關(guān)內(nèi)部執(zhí)行,沒有浪費任何帶寬資源,做到了報文線速轉(zhuǎn)發(fā)的目的。

需要說明的是,在上述步驟103中,三層VXLAN網(wǎng)關(guān)上的目標(biāo)網(wǎng)板如果未查找到與數(shù)據(jù)報文的目的IP地址匹配的ARP表項,則進一步執(zhí)行以下步驟e1至步驟e3:

步驟e1,在本地路由表項中查找到與數(shù)據(jù)報文的目的IP地址匹配的路由表項;

如上限定的三層VXLAN網(wǎng)關(guān)中網(wǎng)板上的路由表項,這里查找到的路由表項中的出端口為三層VXLAN網(wǎng)關(guān)本地的主機接入端口;

步驟e2,確定該查找到的路由表項中的出端口(三層VXLAN網(wǎng)關(guān)本地的主機接入端口)所處的接口板為第二目標(biāo)接口板,將數(shù)據(jù)報文的源MAC地址修改為本網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址,將數(shù)據(jù)報文的目的MAC地址修改為查找到的路由表項中的目的MAC地址,對修改后的數(shù)據(jù)報文進行第三內(nèi)部封裝并發(fā)送至三層VXLAN網(wǎng)關(guān)上的第二目標(biāo)接口板;

這里,第三內(nèi)部封裝包含:第三目的mod和第三目的port,第三目的 mod為所述第二目標(biāo)接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識,第三目的port為該查找到的路由表項中的出端口(三層VXLAN網(wǎng)關(guān)本地的主機接入端口)。

步驟e3,三層VXLAN網(wǎng)關(guān)上的第二目標(biāo)接口板接收三層VXLAN網(wǎng)關(guān)上的所述目標(biāo)網(wǎng)板發(fā)送的數(shù)據(jù)報文,從數(shù)據(jù)報文的第三內(nèi)部封裝頭中確定出第三目的mod和第三目的port;如果所述第三目的mod為本接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識且所述第三目的port為本接口板上主機接入端口的標(biāo)識,則對接收的數(shù)據(jù)報文的第三內(nèi)部封裝進行解封裝并通過第三目的port對應(yīng)的主機接入端口轉(zhuǎn)發(fā)。

通過步驟e1至步驟e3實現(xiàn)了基于路由表項的數(shù)據(jù)報文轉(zhuǎn)發(fā)。

下面以例1描述的將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為兩類為例并通過三個實施例對圖1所示流程進行描述,將三層VXLAN網(wǎng)關(guān)的網(wǎng)板分為三類以上的實現(xiàn)原理類似,不再一一贅述:

實施例1:

以圖2所示的組網(wǎng)為例,在圖2中,物理機(PM:Physical Machine)1至PM5為VLAN中的設(shè)備,在圖2中,三層VXLAN網(wǎng)關(guān)包含主控板、接口板和網(wǎng)板。主控板在本申請中不重點涉及,圖2未示出。圖2僅示出三層VXLAN網(wǎng)關(guān)的兩個接口板(接口板1、接口板2)、四個網(wǎng)板(網(wǎng)板1至網(wǎng)板4)為例。

其中,接口板1、接口板2本地存有MAC表項、VXLAN封裝表項和VXLAN解封裝表項;

網(wǎng)板1、網(wǎng)板2為第一類網(wǎng)板,其本地存有第一類ARP表項,網(wǎng)板3、網(wǎng)板4為第二類網(wǎng)板,其本地存有第二類ARP表項,網(wǎng)板1至網(wǎng)板4本地還存有路由表項。

以PM1訪問PM2為例,則,

三層VXLAN網(wǎng)關(guān)的接口板1通過端口10收到來自VLAN中PM1發(fā)送的報文。為便于描述,這里將接收的報文稱為報文0。接口板1收到的報文0 未帶有VXLAN封裝。

接口板1發(fā)現(xiàn)報文0為數(shù)據(jù)報文,且目的MAC地址為本三層VXLAN網(wǎng)關(guān)的MAC地址,則識別報文0的目的IP地址中設(shè)定位置處的數(shù)值是奇數(shù)還是偶數(shù),假如是偶數(shù),則選擇網(wǎng)板3或者網(wǎng)板4為目標(biāo)網(wǎng)板,這里假如接口板1選擇網(wǎng)板3為目標(biāo)網(wǎng)板。

接口板1對報文1進行網(wǎng)板代理封裝,網(wǎng)板代理封裝中的目的代理mod為網(wǎng)板代理芯片標(biāo)識(圖2以chip01為例),網(wǎng)板代理封裝中的目的代理port為網(wǎng)板代理端口標(biāo)識(圖2以Port1為例)。為便于描述,這里將網(wǎng)板代理封裝后的報文0稱為報文1。

接口板1通過連接網(wǎng)板3的互連口將報文1發(fā)送至網(wǎng)板3。

網(wǎng)板3接收到報文1,從報文1的網(wǎng)板代理封裝頭中識別出目的代理mod和目的代理port分別為chip01和Port1,正好依次是網(wǎng)板代理芯片標(biāo)識和網(wǎng)板代理端口標(biāo)識,則對報文1的網(wǎng)板代理封裝進行解封裝(即恢復(fù)了上述的報文0)。

網(wǎng)板3在本地的ARP表項中查找到與報文0的目的IP地址匹配的ARP表項,將報文0的源MAC地址修改為三層VXLAN網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址、將報文0的目的MAC地址修改為查找到的ARP表項中的目的MAC地址(圖2以查找到的ARP表項中的目的MAC地址實質(zhì)為PM2的MAC地址);為便于描述,這里將源MAC地址、目的MAC地址修改后的報文0稱為報文2。

網(wǎng)板3發(fā)現(xiàn)查找到的ARP表項中的出端口為主機接入端口,確定三層VXLAN網(wǎng)關(guān)上該主機接入端口所處的接口板為第一目標(biāo)接口板,為便于描述,這里假設(shè)第一目標(biāo)接口板為接口板2。

網(wǎng)板3對報文2進行第一內(nèi)部封裝,為便于描述,這里將第一內(nèi)部封裝的報文2稱為報文3。第一內(nèi)部封裝包含第一目的mod和第一目的port,其中,第一目的mod為接口板2上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識,這里以Chip02為例描述,第一目的port為主機接入端口的標(biāo)識,這里以Port2為例;

網(wǎng)板1通過本網(wǎng)板1連接接口板2的互連口將報文3發(fā)送至接口板2。

接口板2接收網(wǎng)板發(fā)送的報文3,從報文3的第一內(nèi)部封裝頭中確定出第一目的mod和第一目的port;如果確定出的第一目的mod為本接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識Chip02、且確定出的第一目的port為本接口板上的主機接入端口Port2,則對報文3的第一內(nèi)部封裝進行解封裝(即恢復(fù)了上述的報文2)。

接口板2通過Port2發(fā)送報文2。

最終,PM2會收到PM1發(fā)送的報文。即通過三層VXLAN網(wǎng)關(guān)實現(xiàn)了從VLAN至VLAN的數(shù)據(jù)報文轉(zhuǎn)發(fā)。

至此,完成實施例1的描述。

實施例2:

以圖3所示的組網(wǎng)為例,在圖3中,VM01至VM05為VXLAN中的設(shè)備,VXLAN的VNID為100,PM1至PM5為VLAN中的設(shè)備,在圖3中,三層VXLAN網(wǎng)關(guān)包含主控板、接口板和網(wǎng)板。主控板在本申請中不重點涉及,圖3未示出。圖3僅示出三層VXLAN網(wǎng)關(guān)的兩個接口板(接口板1、接口板2)、四個網(wǎng)板(網(wǎng)板1至網(wǎng)板4)為例。

其中,接口板1、接口板2本地存有MAC表項、VXLAN封裝表項和VXLAN解封裝表項;

網(wǎng)板1、網(wǎng)板2為第一類網(wǎng)板,其本地存有第一類ARP表項,網(wǎng)板3、網(wǎng)板4為第二類網(wǎng)板,其本地存有第二類ARP表項,網(wǎng)板1至網(wǎng)板4本地還存有路由表項。

以PM1訪問VM01為例,則,

三層VXLAN網(wǎng)關(guān)的接口板1通過端口10收到來自VLAN中PM1發(fā)送的報文。為便于描述,這里將接收的報文稱為報文0。接口板1收到的報文0未帶有VXLAN封裝。

接口板1發(fā)現(xiàn)報文0為數(shù)據(jù)報文,且目的MAC地址為本三層VXLAN網(wǎng)關(guān)的MAC地址,則識別報文0的目的IP地址中設(shè)定位置處的數(shù)值是奇數(shù) 還是偶數(shù),假如是偶數(shù),則選擇網(wǎng)板3或者網(wǎng)板4為目標(biāo)網(wǎng)板,這里假如接口板1選擇網(wǎng)板3為目標(biāo)網(wǎng)板。

接口板1對報文1進行網(wǎng)板代理封裝,網(wǎng)板代理封裝中的目的代理mod為網(wǎng)板代理芯片標(biāo)識(圖2以chip01為例),網(wǎng)板代理封裝中的目的代理port為網(wǎng)板代理端口標(biāo)識(圖2以Port1為例)。為便于描述,這里將網(wǎng)板代理封裝后的報文0稱為報文1。

接口板1通過連接網(wǎng)板3的互連口將報文1發(fā)送至網(wǎng)板3。

網(wǎng)板3接收到報文1,從報文1的網(wǎng)板代理封裝頭中識別出目的代理mod和目的代理port分別為chip01和Port1,正好依次是網(wǎng)板代理芯片標(biāo)識和網(wǎng)板代理端口標(biāo)識,則對報文1的網(wǎng)板代理封裝進行解封裝(即恢復(fù)了上述的報文0)。

網(wǎng)板3在本地的ARP表項中查找到與報文0的目的IP地址匹配的ARP表項,將報文0的源MAC地址修改為三層VXLAN網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址、將報文0的目的MAC地址修改為查找到的ARP表項中的目的MAC地址(圖2以查找到的ARP表項中的目的MAC地址實質(zhì)為PM2的MAC地址);為便于描述,這里將源MAC地址、目的MAC地址修改后的報文0稱為報文2。

網(wǎng)板3發(fā)現(xiàn)查找到的ARP表項中的出端口為網(wǎng)絡(luò)側(cè)端口,假如該網(wǎng)絡(luò)側(cè)端口為單一物理端口,則網(wǎng)板1選擇該單一物理端口為目標(biāo)出端口,這里假如選擇的物理端口為端口20。

網(wǎng)板3確定三層VXLAN網(wǎng)關(guān)上端口20所處的接口板為第一目標(biāo)接口板。為便于描述,這里假設(shè)第一目標(biāo)接口板為接口板2。

網(wǎng)板3對報文2進行第二內(nèi)部封裝,為便于描述,這里將第二內(nèi)部封裝的報文2稱為報文3。第二內(nèi)部封裝包含第二目的mod、第二目的port、以及查找到的ARP表項中的VLAN標(biāo)識。第二目的mod為:接口板代理芯片標(biāo)識(圖3以接口板代理芯片標(biāo)識為Chip12為例描述)。第二目的port為接口板代理端口標(biāo)識(圖3以接口板代理端口標(biāo)識為Port12為例描述)。

網(wǎng)板3通過本網(wǎng)板3連接接口板2的互連口將報文3發(fā)送至接口板2。

接口板2接收網(wǎng)板3發(fā)送的報文3,從報文3的第二內(nèi)部封裝頭中確定出第二目的mod和第二目的port;如果確定出的第二目的mod為接口板代理芯片標(biāo)識Chip12、且確定出的第二目的port為接口板代理端口標(biāo)識Port12,則從報文34的第二內(nèi)部封裝頭中確定出報文3封裝的VLAN ID,并對報文3的第二內(nèi)部封裝進行解封裝(即恢復(fù)了上述的報文2)。

接口板2從預(yù)先設(shè)置的VLAN ID和VNID之間的映射關(guān)系中找到與該確定出的VLAN ID具有映射關(guān)系的VNID(實質(zhì)為VXLAN的VNID100),在本接口板2本地的MAC表項中找到與報文2的目的MAC地址和該找到的VNID匹配的MAC表項,依據(jù)查找到的MAC表項中的出端口從本接口板2本地的VXLAN封裝表項中找到對應(yīng)的VXLAN封裝表項,利用找到的VXLAN封裝表項和找到的VNID(實質(zhì)為VXLAN的VNID100)對報文2進行VXLAN封裝。為便于描述,這里將VXLAN封裝的報文2稱為報文4。這里,接口板2利用找到的VXLAN封裝表項和找到的VNID對報文2進行VXLAN封裝具體為:利用找到的VXLAN封裝表項中的VXLAN封裝信息對報文2進行VXLAN外層頭的封裝,利用找到的VNID(圖3以VXLAN的VNID100為例)對報文2進行VXLAN字段(實質(zhì)為VNID字段)的封裝。圖3所示的報文2的VXLAN封裝中以VXLAN外層頭的外層ETH封裝包含外層源MAC地址、外層目的MAC地址、外層源IP地址、外層目的IP地址為例。

接口板2依據(jù)找到的VXLAN封裝表項中的出端口發(fā)送報文4。這里,具體實現(xiàn)時,接口板2依據(jù)找到的VXLAN封裝表項中的出端口發(fā)送報文4具體為:識別該找到的VXLAN封裝表項中的出端口,該識別的出端口實質(zhì)是網(wǎng)板3找到的ARP表項中的出端口,如上所述,網(wǎng)板3找到的ARP表項中的出端口為單一的物理端口,基于此,這里識別出的VXLAN封裝表項中的出端口就為單一的物理端口,如此,接口板2直接通過該單一的物理端口發(fā)送報文4。

最終VXLAN的VM01會收到PM1發(fā)送的報文。即通過三層VXLAN網(wǎng) 關(guān)實現(xiàn)了從VLAN至VXLAN的數(shù)據(jù)報文轉(zhuǎn)發(fā)。

至此,完成實施例2的描述。

實施例3:

以圖4所示的組網(wǎng)為例,在圖4中,VM01至VM05為第一VXLAN中的設(shè)備,第一VXLAN的VNID為100,VM11至VM15為第二VXLAN中的設(shè)備,第二VXLAN的VNID為200。在圖4中,三層VXLAN網(wǎng)關(guān)連接在第一VXLAN和第二VXLAN之間,其包含主控板、接口板和網(wǎng)板。主控板在本申請中不重點涉及,圖4未示出。圖4僅示出三層VXLAN網(wǎng)關(guān)的兩個接口板(接口板1、接口板2)、四個網(wǎng)板(網(wǎng)板1至網(wǎng)板4)為例。

其中,接口板1、接口板2本地存有MAC表項、VXLAN封裝表項和VXLAN解封裝表項;

網(wǎng)板1、網(wǎng)板2為第一類網(wǎng)板,其本地存有第一類ARP表項,網(wǎng)板3、網(wǎng)板4為第二類網(wǎng)板,其本地存有第二類ARP表項,網(wǎng)板1至網(wǎng)板4本地還存有路由表項。

以VM01訪問VM11為例,則,

三層VXLAN網(wǎng)關(guān)的接口板1通過端口10收到來自第一VXLAN中VM01發(fā)送的報文。為便于描述,這里將接收的報文稱為報文0。接口板1收到的報文0帶有對應(yīng)第一VXLAN的VXLAN封裝,VXLAN封裝至少包含第一VXLAN的VNID100以及第一VXLAN對應(yīng)的VXLAN外層頭(圖4所示的報文0的VXLAN外層頭包含外層ETH封裝,外層ETH封裝以包含外層源MAC地址、外層目的MAC地址、外層源IP地址、外層目的IP地址封裝為例),圖4簡單示出了帶有VXLAN封裝的報文0結(jié)構(gòu)。

接口板1從VXLAN封裝頭中確定外層目的MAC地址和VLAN標(biāo)識,如果三層VXLAN網(wǎng)關(guān)配置了該VLAN標(biāo)識對應(yīng)的VLAN、外層目的MAC地址為三層VXLAN網(wǎng)關(guān)本地與該VLAN對應(yīng)的三層接口MAC地址,則確定對報文0進行VXLAN解封裝,依據(jù)報文0的VXLAN封裝頭的VNID100 找到對應(yīng)的VXLAN解封裝表項,根據(jù)找到的VXLAN解封裝表項對報文0進行VXLAN解封裝,為便于描述,這里將VXLAN解封裝后的報文0記為報文1。

接口板1發(fā)現(xiàn)報文1為數(shù)據(jù)報文,且目的MAC地址為本三層VXLAN網(wǎng)關(guān)的MAC地址,則識別報文1的目的IP地址中設(shè)定位置處的數(shù)值是奇數(shù)還是偶數(shù),假如是奇數(shù),則選擇網(wǎng)板1或者網(wǎng)板2為目標(biāo)網(wǎng)板,這里假如接口板1選擇網(wǎng)板1為目標(biāo)網(wǎng)板。

接口板1對報文1進行網(wǎng)板代理封裝,網(wǎng)板代理封裝中的目的代理mod為網(wǎng)板代理芯片標(biāo)識(圖4以chip01為例),網(wǎng)板代理封裝中的目的代理port為網(wǎng)板代理端口標(biāo)識(圖4以Port1為例)。為便于描述,這里將網(wǎng)板代理封裝后的報文1稱為報文2。

接口板1通過連接網(wǎng)板1的互連口將報文2發(fā)送至網(wǎng)板1。

網(wǎng)板1接收到報文2,從報文2的網(wǎng)板代理封裝頭中識別出目的代理mod和目的代理port分別為chip01和Port1,正好依次是網(wǎng)板代理芯片標(biāo)識和網(wǎng)板代理端口標(biāo)識,則對報文2的網(wǎng)板代理封裝進行解封裝(即恢復(fù)了上述的報文1)。

網(wǎng)板1在本地的ARP表項中查找到與報文1的目的IP地址匹配的ARP表項,將報文1的源MAC地址修改為三層VXLAN網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址、將報文1的目的MAC地址修改為查找到的ARP表項中的目的MAC地址(圖4以查找到的ARP表項中的目的MAC地址實質(zhì)為VM11的MAC地址);為便于描述,這里將源MAC地址、目的MAC地址修改后的報文1稱為報文3。

網(wǎng)板1發(fā)現(xiàn)查找到的ARP表項中的出端口為網(wǎng)絡(luò)側(cè)端口,假如該網(wǎng)絡(luò)側(cè)端口為至少兩個物理端口聚合形成的聚合端口,則網(wǎng)板1選擇聚合端口中一個物理端口為目標(biāo)出端口,這里假如選擇的物理端口為端口30。

網(wǎng)板1確定三層VXLAN網(wǎng)關(guān)上端口30所處的接口板為第一目標(biāo)接口板。為便于描述,這里假設(shè)第一目標(biāo)接口板為接口板2。

網(wǎng)板1對報文3進行第二內(nèi)部封裝,為便于描述,這里將第二內(nèi)部封裝的報文3稱為報文4。第二內(nèi)部封裝包含第二目的mod、第二目的port、以及查找到的ARP表項中的VLAN標(biāo)識。第二目的mod為:接口板代理芯片標(biāo)識(圖4以芯片標(biāo)識為Chip12為例描述)。第二目的port為接口板代理端口標(biāo)識(圖4以虛擬端口標(biāo)識為Port12為例描述)。

網(wǎng)板1通過本網(wǎng)板1連接接口板2的互連口將報文4發(fā)送至接口板2。

接口板2接收網(wǎng)板1發(fā)送的報文4,從報文4的第二內(nèi)部封裝頭中確定出第二目的mod和第二目的port;如果確定出的第二目的mod為接口板代理芯片標(biāo)識Chip12、且確定出的第二目的port為接口板代理端口標(biāo)識Port12,則從報文4的第二內(nèi)部封裝頭中確定出報文4封裝的VLAN ID,并對報文4的第二內(nèi)部封裝進行解封裝(即恢復(fù)了上述的報文3)。

接口板2從預(yù)先設(shè)置的VLAN ID和VNID之間的映射關(guān)系中找到與該確定出的VLAN ID具有映射關(guān)系的VNID(實質(zhì)為第二VXLAN的VNID200),在本接口板2本地的MAC表項中找到與報文3的目的MAC地址和該找到的VNID匹配的MAC表項,依據(jù)查找到的MAC表項中的出端口從本接口板2本地的VXLAN封裝表項中找到對應(yīng)的VXLAN封裝表項,利用找到的VXLAN封裝表項和找到的VNID(實質(zhì)為第二VXLAN的VNID200)對報文3進行VXLAN封裝。為便于描述,這里將VXLAN封裝的報文3稱為報文5。這里,接口板2利用找到的VXLAN封裝表項和找到的VNID對報文3進行VXLAN封裝具體為:利用找到的VXLAN封裝表項中的VXLAN封裝信息對報文3進行VXLAN外層頭的封裝,利用找到的VNID(圖4以第二VXLAN的VNID200)對報文3進行VXLAN字段(實質(zhì)為VNID字段)的封裝。圖4所示的報文3的VXLAN封裝中以VXLAN外層頭的外層ETH封裝包含外層源MAC地址、外層目的MAC地址、外層源IP地址、外層目的IP地址為例。

接口板2依據(jù)找到的VXLAN封裝表項中的出端口發(fā)送報文5。這里,具體實現(xiàn)時,接口板2依據(jù)找到的VXLAN封裝表項中的出端口發(fā)送報文5 具體為:識別該找到的VXLAN封裝表項中的出端口,該識別的出端口實質(zhì)是網(wǎng)板1找到的ARP表項中的出端口,如上所述,網(wǎng)板1找到的ARP表項中的出端口為至少兩個物理端口聚合形成的聚合端口,基于此,這里識別出的VXLAN封裝表項中的出端口就為聚合端口,如此,接口板2按照網(wǎng)板確定目標(biāo)端口的方式從識別出的出端口中選擇一個物理端口,最終保證接口板2發(fā)送報文5的物理端口與網(wǎng)板選擇的物理端口一致。

最終第二VXLAN的VM11會收到VM01發(fā)送的報文。即通過三層VXLAN網(wǎng)關(guān)實現(xiàn)了從第一VXLAN至第二VXLAN的報文轉(zhuǎn)發(fā)。

至此,完成實施例3的描述。以上對本發(fā)明提供的方法進行了描述。

下面對本發(fā)明提供的設(shè)備進行描述:

參見圖5,圖5為本發(fā)明提供的設(shè)備結(jié)構(gòu)圖。該設(shè)備應(yīng)用于三層VXLAN網(wǎng)關(guān),如圖5所示,可包括:

接口板處理單元,處于三層VXLAN網(wǎng)關(guān)的接口板,用于接收數(shù)據(jù)報文,確定所述數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則依據(jù)數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值選擇與所述數(shù)值匹配的一類網(wǎng)板中的一個網(wǎng)板為目標(biāo)網(wǎng)板,將數(shù)據(jù)報文發(fā)送至目標(biāo)網(wǎng)板,與所述數(shù)值匹配的一類網(wǎng)板本地都存放了滿足以下條件的ARP表項:表項中有設(shè)定比特位置處的數(shù)值與所述數(shù)據(jù)報文的目的IP地址中設(shè)定比特位置處的數(shù)值相同的目的IP地址;以及,

在作為網(wǎng)板查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板時與網(wǎng)板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文;

網(wǎng)板處理單元,處于所述三層VXLAN網(wǎng)關(guān)的網(wǎng)板,用于接收到三層VXLAN網(wǎng)關(guān)的接口板發(fā)送的數(shù)據(jù)報文,確定數(shù)據(jù)報文進行三層轉(zhuǎn)發(fā),則在本地ARP表項中查找到與數(shù)據(jù)報文的目的IP地址匹配的ARP表項,與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文。

優(yōu)選地,所述網(wǎng)板處理單元與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文包括:將數(shù)據(jù)報文的源MAC地址修改為本三層VXLAN網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址,將數(shù)據(jù)報文的目的MAC地址修改為查 找到的ARP表項中的目的MAC地址,根據(jù)查找到的ARP表項中的出端口的類型對修改后的數(shù)據(jù)報文進行內(nèi)部封裝,將帶有內(nèi)部封裝的數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上與查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板;

所述接口板處理單元在作為網(wǎng)板查找到的ARP表項中的出端口相關(guān)聯(lián)的第一目標(biāo)接口板時與網(wǎng)板合作轉(zhuǎn)發(fā)數(shù)據(jù)報文包括:接收三層VXLAN網(wǎng)關(guān)上的所述目標(biāo)網(wǎng)板發(fā)送的數(shù)據(jù)報文,依據(jù)所述網(wǎng)板處理單元查找到的ARP表項中的出端口轉(zhuǎn)發(fā)數(shù)據(jù)報文。

優(yōu)選地,所述網(wǎng)板處理單元根據(jù)查找到的ARP表項中的出端口的類型對修改后的數(shù)據(jù)報文進行內(nèi)部封裝包括:

識別該查找到的ARP表項中的出端口是主機接入端口還是網(wǎng)絡(luò)側(cè)端口,

如果是主機接入端口,則確定三層VXLAN網(wǎng)關(guān)上所述主機接入端口所處的接口板為所述第一目標(biāo)接口板,對修改后的數(shù)據(jù)報文進行第一內(nèi)部封裝,將第一內(nèi)部封裝的數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上的所述第一目標(biāo)接口板;第一內(nèi)部封裝包含:第一目的芯片標(biāo)識mod和第一目的端口標(biāo)識port,第一目的mod為所述第一目標(biāo)接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識,第一目的port為該查找到的ARP表項中的出端口;

如果是網(wǎng)絡(luò)側(cè)端口,在所述網(wǎng)絡(luò)側(cè)端口為單一的物理端口時,確定所述物理端口為目標(biāo)出端口,在所述網(wǎng)絡(luò)側(cè)端口為至少兩個物理端口聚合形成的聚合端口時,選擇所述聚合端口中一個物理端口為目標(biāo)出端口,確定三層VXLAN網(wǎng)關(guān)上目標(biāo)出端口所在的接口板為所述第一目標(biāo)接口板,對修改后的數(shù)據(jù)報文進行第二內(nèi)部封裝,將第二內(nèi)部封裝的數(shù)據(jù)報文發(fā)送至三層VXLAN網(wǎng)關(guān)上的所述目標(biāo)接口板,第二內(nèi)部封裝包含:第二目的mod、第二目的port、以及查找到的ARP表項中的虛擬局域網(wǎng)絡(luò)VLAN標(biāo)識ID;第二目的mod為:接口板代理芯片標(biāo)識,第二目的port為接口板代理端口標(biāo)識。

優(yōu)選地,所述接口板處理單元根據(jù)內(nèi)部封裝轉(zhuǎn)發(fā)解內(nèi)部封裝后的數(shù)據(jù)報文包括:

在接收的數(shù)據(jù)報文帶有第一內(nèi)部封裝時,從第一內(nèi)部封裝頭中確定出第一目的mod和第一目的port;如果第一目的mod為本接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識且第一目的port為本接口板上主機接入端口的標(biāo)識,則對接收的數(shù)據(jù)報文的第一內(nèi)部封裝進行解封裝并通過第一目的port對應(yīng)的主機接入端口轉(zhuǎn)發(fā);

在接收的數(shù)據(jù)報文帶有第二內(nèi)部封裝時,從第二內(nèi)部封裝頭中確定出第二目的mod和第二目的port;如果確定出的第二目的mod為接口板代理芯片標(biāo)識、確定出的第二目的port為接口板代理端口標(biāo)識,則從數(shù)據(jù)報文的第二內(nèi)部封裝頭中確定出VLAN ID并對數(shù)據(jù)報文的第二內(nèi)部封裝進行解封裝,從預(yù)先設(shè)置的VLAN ID和VNID之間的映射關(guān)系中找到與該確定出的VLAN ID具有映射關(guān)系的VNID,在本接口板本地的MAC表項中查找到與解封裝后的數(shù)據(jù)報文的目的MAC地址和該找到的VNID匹配的MAC表項,依據(jù)查找到的MAC表項中的出端口從本接口板本地的VXLAN封裝表項中找到對應(yīng)的VXLAN封裝表項,利用找到的VXLAN封裝表項和找到的VNID對解封裝后的數(shù)據(jù)報文進行VXLAN封裝并通過該找到的VXLAN封裝表項中的出端口發(fā)送。

優(yōu)選地,所述網(wǎng)板處理單元在本地ARP表項中未查找到與數(shù)據(jù)報文的目的IP地址匹配的ARP表項,進一步執(zhí)行以下步驟:

在本地路由表項中查找到與數(shù)據(jù)報文的目的IP地址匹配的路由表項;查找到的路由表項中的出端口為主機接入端口;

確定三層VXLAN網(wǎng)關(guān)上該查找到的路由表項中的出端口所處的接口板為第二目標(biāo)接口板,將數(shù)據(jù)報文的源MAC地址修改為本網(wǎng)關(guān)的網(wǎng)關(guān)MAC地址,將數(shù)據(jù)報文的目的MAC地址修改為查找到的路由表項中的目的MAC地址,對修改后的數(shù)據(jù)報文進行第三內(nèi)部封裝并發(fā)送至三層VXLAN網(wǎng)關(guān)上的所述第二目標(biāo)接口板;第三內(nèi)部封裝包含:第三目的mod和第三目的port,第三目的mod為所述第二目標(biāo)接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識,第三目的port為查找到的路由表項中的出端口;

基于此,所述接口板處理單元在所處接口板為所述第二目標(biāo)接口板時,進一步接收三層VXLAN網(wǎng)關(guān)上的所述目標(biāo)網(wǎng)板發(fā)送的數(shù)據(jù)報文,從數(shù)據(jù)報文的第三內(nèi)部封裝頭中確定出第三目的mod和第三目的port;如果所述第三目的mod為本接口板上用于轉(zhuǎn)發(fā)報文的芯片的標(biāo)識且所述第三目的port為本接口板上主機接入端口的標(biāo)識,則對接收的數(shù)據(jù)報文的第三內(nèi)部封裝進行解封裝并通過所述第三目的port對應(yīng)的主機接入端口轉(zhuǎn)發(fā)。

至此,完成圖5所示的設(shè)備結(jié)構(gòu)圖。

作為本發(fā)明的一個實施例,本發(fā)明還提供了圖5所示設(shè)備的硬件結(jié)構(gòu)圖。如圖6所示,該設(shè)備硬件結(jié)構(gòu)可包括:

接口板和網(wǎng)板。

其中,接口板上可包括:第一CPU和第一存儲器。

第一存儲器,用于存放接口板處理單元;

第一CPU,用于存放接口板處理單元運行的控制程序,以控制所述第一存儲器中的接口板處理單元執(zhí)行如上所述的操作。至于所述第一存儲器中的接口板處理單元執(zhí)行的操作,其如上述接口板處理單元執(zhí)行的操作,這里不再贅述。

網(wǎng)板上可包括:第二CPU和第二存儲器。

第二存儲器,用于存放網(wǎng)板處理單元;

第二CPU,用于存放網(wǎng)板處理單元運行的控制程序,以控制所述第二存儲器中的網(wǎng)板處理單元執(zhí)行操作。至于所述第二存儲器中的網(wǎng)板處理單元執(zhí)行的操作,其如上述網(wǎng)板處理單元執(zhí)行的操作,這里不再贅述。

至此,完成圖6所示的設(shè)備硬件結(jié)構(gòu)圖。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。

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