欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種VXLAN報文轉(zhuǎn)發(fā)方法和裝置與流程

文檔序號:12623449閱讀:360來源:國知局
一種VXLAN報文轉(zhuǎn)發(fā)方法和裝置與流程

本申請涉及通信技術(shù)領(lǐng)域,特別涉及一種VXLAN報文轉(zhuǎn)發(fā)方法和裝置。



背景技術(shù):

隨著云計算的快速發(fā)展,數(shù)據(jù)中心的虛擬化程度越來越高,對物理網(wǎng)絡(luò)的要求也越來越苛刻,比如TOR交換機需要支持大規(guī)格MAC地址表;4094個VLAN(Virtual Local Area Network,虛擬局域網(wǎng))無法劃分海量虛擬機;需要支持多租戶的網(wǎng)絡(luò)隔離等。正是這些需求使得疊加網(wǎng)絡(luò)技術(shù)VXLAN(Virtual Extensible Local Area Network,虛擬可擴展局域網(wǎng))應(yīng)運而生。

在實際應(yīng)用中,VM(Virtual Machine,虛擬機)發(fā)送報文至VTEP(VXLAN Tunneling End Point,VXLAN隧道終端)設(shè)備,由VTEP設(shè)備查表,將報文封裝VXLAN報文頭,并根據(jù)表項內(nèi)容轉(zhuǎn)發(fā)該VXLAN報文至對端VTEP設(shè)備,對端VTEP設(shè)備接收到該VXLAN報文后,解封裝該VXLAN報文,然后查表,根據(jù)查找結(jié)果將報文轉(zhuǎn)發(fā)至目標VM,轉(zhuǎn)發(fā)過程比較繁瑣,轉(zhuǎn)發(fā)效率不高。



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

有鑒于此,本申請?zhí)峁┮环NVXLAN報文轉(zhuǎn)發(fā)方法和裝置,用于解決現(xiàn)有技術(shù)中,VTEP設(shè)備轉(zhuǎn)發(fā)VXLAN報文的轉(zhuǎn)發(fā)過程比較繁瑣,轉(zhuǎn)發(fā)效率不高的問題。

具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:

一種VXLAN報文轉(zhuǎn)發(fā)方法,應(yīng)用于本端VTEP設(shè)備,所述本端VTEP設(shè)備與對端VTEP設(shè)備之間建立了VXLAN隧道;其中,所述本端VTEP設(shè)備接入了第一VM,所述對端VTEP設(shè)備接入了與所述第一VM隸屬于同一VXLAN的第二VM,包括:

接收到所述第一VM發(fā)送至所述第二VM的單播報文后,根據(jù)所述第二VM的MAC地址在預設(shè)的MAC表中查找對應(yīng)的MAC表項;其中,所述MAC表項包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引為所述第二VM接入所述對端VTEP設(shè)備的接口索引;

當查找到對應(yīng)的MAC表項時,基于所述MAC表項為所述單播報文封裝VXLAN報文頭;其中,VXLAN報文頭攜帶所述第二接口索引和所述第二VM的VLAN ID;

將封裝后的所述單播報文通過所述VXLAN隧道發(fā)送至所述對端VTEP設(shè)備,以由所述對端VTEP設(shè)備在針對所述單播報文進行解封裝后,根據(jù)VXLAN報文頭中的所述第二接口索引和所述第二VM的VLAN ID,將所述單播報文發(fā)送至所述第二VM。

一種VXLAN報文轉(zhuǎn)發(fā)裝置,應(yīng)用于本端VTEP設(shè)備,所述本端VTEP設(shè)備與對端VTEP設(shè)備之間建立了VXLAN隧道;其中,所述本端VTEP設(shè)備接入了第一VM,所述對端VTEP設(shè)備接入了與所述第一VM隸屬于同一VXLAN的第二VM,包括:

查找單元,用于接收到所述第一VM發(fā)送至所述第二VM的單播報文后,根據(jù)所述第二VM的MAC地址在預設(shè)的MAC表中查找對應(yīng)的MAC表項;其中,所述MAC表項包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引為所述第二VM接入所述對端VTEP設(shè)備的接口索引;

封裝單元,用于當查找到對應(yīng)的MAC表項時,基于所述MAC表項為所述單播報文封裝VXLAN報文頭;其中,VXLAN報文頭攜帶所述第二接口索引和所述第二VM的VLAN ID;

發(fā)送單元,用于將封裝后的所述單播報文通過所述VXLAN隧道發(fā)送至所述對端VTEP設(shè)備,以由所述對端VTEP設(shè)備在針對所述單播報文進行解封裝后,根據(jù)VXLAN報文頭中的所述第二接口索引和所述第二VM的VLAN ID,將所述單播報文發(fā)送至所述第二VM。

本申請實施例中,本端VTEP設(shè)備接收到接入本端VTEP設(shè)備的第一VM發(fā)送至接入對端VTEP設(shè)備的第二VM的單播報文后,根據(jù)所述第二VM的MAC地址,查找預先保存的MAC表,獲得對應(yīng)所述第二VM的MAC地址的MAC表項,然后將所述單播報文封裝成VXLAN報文,并將查找到的MAC表項中的所述第二VM與所述對端VTEP設(shè)備間的第二接口索引和所述第二VM的VLAN ID記錄到VXLAN報文頭中,封裝完成后,將所述單播報文發(fā)送至所述對端VTEP設(shè)備。所述對端VTEP設(shè)備根據(jù)VXLAN報文頭中的所述第二接口索引和所述第二VM的VLAN ID,轉(zhuǎn)發(fā)所述單播報文至所述第二VM。

由于本申請中,所述本端VTEP設(shè)備接收到所述單播報文后,在封裝時會把所述第二接口索引和所述第二VM所在的VLAN ID記錄到VXLAN報文頭中,所述對端VTEP設(shè)備在對所述單播報文解封裝時可以獲得所述第二接口索引和所述第二VM所在的VLAN ID,無需查詢MAC表,直接轉(zhuǎn)發(fā)所述單播報文。優(yōu)化了VXLAN報文的轉(zhuǎn)發(fā)過程,提高了轉(zhuǎn)發(fā)效率。

附圖說明

圖1是本申請示出的一種現(xiàn)有技術(shù)中VXLAN報文轉(zhuǎn)發(fā)方法的流程圖;

圖2是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)的網(wǎng)絡(luò)架構(gòu)圖;

圖3是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)方法的流程圖;

圖4是本申請示出的一種現(xiàn)有技術(shù)中VXLAN報文頭的示意圖;

圖5是本申請示出的一種VXLAN報文頭的示意圖;

圖6是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)裝置的邏輯框圖;

圖7是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)裝置的硬件結(jié)構(gòu)圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對現(xiàn)有技術(shù)方案和本發(fā)明實施例中的技術(shù)方案作進一步詳細的說明。

參見圖1,本申請示出的一種現(xiàn)有技術(shù)中VXLAN報文轉(zhuǎn)發(fā)方法的流程圖,該技術(shù)方案應(yīng)用于VTEP設(shè)備上;所述方法包括以下步驟:

步驟101:接收到接入本端VTEP設(shè)備的第一VM發(fā)送至接入對端VTEP設(shè)備的第二VM的單播報文后,根據(jù)所述第二VM的MAC地址,查找預先保存的MAC表,獲得對應(yīng)所述第二VM的MAC地址的MAC表項。

步驟102:將所述單播報文封裝VXLAN報文頭,并根據(jù)查找結(jié)果,將所述單播報文發(fā)送至所述對端VTEP設(shè)備,以由所述對端VTEP設(shè)備對所述單播報文解封裝,并根據(jù)所述第二VM的MAC地址,查找預先保存的MAC表,獲得對應(yīng)所述第二VM的MAC表項,并根據(jù)查找到的MAC表項將所述單播報文發(fā)送至所述第二VM。

上述VM,指的是利用虛擬化技術(shù),在一臺物理服務(wù)器上虛擬出多個主機。每個虛擬主機互相獨立,有各自的操作系統(tǒng)和邏輯上相互獨立的內(nèi)存、CPU、網(wǎng)卡等設(shè)備,從應(yīng)用程序的角度來看,絕大部分情況下和使用物理服務(wù)器沒有差別。

上述VTEP設(shè)備,指的是VXLAN網(wǎng)絡(luò)中隧道終點的設(shè)備,用于在VXLAN網(wǎng)絡(luò)中發(fā)送、接收VXLAN報文;其中,VXLAN報文即為封裝了VXLAN報文頭的報文。一臺VTEP設(shè)備可以接入多個VXLAN網(wǎng)絡(luò),也可以接入多臺處于不同或相同VXLAN網(wǎng)絡(luò)的VM,其中,每個VM的二層網(wǎng)絡(luò)地址和三層網(wǎng)絡(luò)地址都是不同的。VTEP設(shè)備接收到VM發(fā)送至接入對端VTEP設(shè)備的對端VM的報文后,將該報文封裝VXLAN報文頭,然后通過與對端VTEP設(shè)備間的VXLAN隧道,將該VXLAN報文發(fā)送至對端VTEP設(shè)備,以由對端VTEP設(shè)備將該報文解封裝后發(fā)送至對端VM。

下面結(jié)合圖2對現(xiàn)有技術(shù)方案中的VXLAN報文轉(zhuǎn)發(fā)方法進行說明。

圖2是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)的網(wǎng)絡(luò)架構(gòu)圖,如圖所示,VM1從端口Port 1接入VTEP A,VM2從端口Port 4接入VTEP B,VTEP A與VTEP B之間的VXLAN隧道為Tunnel 1。

現(xiàn)在從VTEP A的角度對現(xiàn)有技術(shù)的VXLAN報文轉(zhuǎn)發(fā)方法進行描述,以下提到的第一VM指VM1,本端VTEP設(shè)備指VTEP A,對端VTEP設(shè)備指VTEP B,第二VM指VM2。第一VM和第二VM隸屬于同一個VXLAN網(wǎng)絡(luò),它們所在的VXLAN網(wǎng)絡(luò)的VNI(VXLAN Network Identifier,虛擬可擴展局域網(wǎng)網(wǎng)絡(luò)身份)是1000。

其中,第一VM的VLAN ID(Virtual Local Area Network Identifier,虛擬局域網(wǎng)標識)是101,第一VM的MAC地址是MAC1,第二VM的VLAN ID是102,第二VM的MAC地址是MAC2。

第一VM在沒有第二VM的MAC地址的情況下,發(fā)送ARP請求報文至本端VTEP設(shè)備,該ARP請求報文的源MAC是上述第一VM的MAC地址MAC1,目的MAC是廣播MAC。本端VTEP設(shè)備接收到該ARP請求報文后,根據(jù)接收該ARP請求報文的端口Port 1,確定該ARP請求報文來自于VNI為1000的上述第一VM。本端VTEP設(shè)備將該ARP請求報文封裝VXLAN報文頭,并將封裝后的該ARP請求報文在VNI為1000的VXLAN網(wǎng)絡(luò)中進行廣播,并同時學習對應(yīng)第一VM的MAC表項,學習到的表項用于后續(xù)單播轉(zhuǎn)發(fā),學習到的MAC表項存儲在MAC表中,如下表1所示:

表1

對端VTEP設(shè)備接收到封裝VXLAN報文頭的上述ARP請求報文后,對上述ARP請求報文解封裝,并將解封裝后的上述ARP請求報文在本地VNI為1000的VXLAN網(wǎng)絡(luò)中進行廣播,同時學習對應(yīng)上述第一VM的MAC表項,學習到的MAC表項存儲在MAC表中,如下表2所示:

表2

第二VM接收到上述ARP請求報文后,將第一VM的IP地址和MAC地址的對應(yīng)關(guān)系記錄到本地的ARP表中,然后向?qū)Χ薞TEP設(shè)備發(fā)送ARP應(yīng)答報文,該ARP應(yīng)答報文的源MAC是MAC2,目的MAC是MAC1。

對端VTEP設(shè)備接收到上述ARP應(yīng)答報文后,根據(jù)上述ARP應(yīng)答報文的目的MAC查找本地的MAC表,獲得對應(yīng)MAC1的MAC表項,然后將上述ARP應(yīng)答報文封裝VXLAN報文頭,通過VXLAN隧道Tunnel 1發(fā)送至本端VTEP設(shè)備,并同時學習對應(yīng)MAC2的MAC表項,用于后續(xù)單播轉(zhuǎn)發(fā),學習到的MAC表項存儲在MAC表中,如下表3所示:

表3

本端VTEP設(shè)備接收到封裝VXLAN報文頭的上述ARP應(yīng)答報文后,對上述ARP應(yīng)答報文進行解封裝。解封裝后,讀取上述ARP應(yīng)答報文的報文頭,目的MAC是MAC1,查找MAC表,獲得對應(yīng)MAC1的MAC表項。將上述ARP應(yīng)答報文通過端口Port 1和虛擬局域網(wǎng)標識101發(fā)送至第一VM,并學習對應(yīng)第二VM的MAC表項,學習到的表項存儲在MAC表中,如下表4所示:

表4

第一VM接收到上述ARP應(yīng)答報文后,在本地的ARP表中記錄第二VM的IP地址和MAC地址的對應(yīng)關(guān)系。

當?shù)谝籚M學習到第二VM的MAC地址后,后續(xù)可以發(fā)送單播報文。

當?shù)谝籚M發(fā)送單播報文至第二VM,過程如下:

第一VM將源MAC為MAC1、目的MAC為MAC2的單播報文發(fā)送至本端VTEP設(shè)備。本端VTEP設(shè)備接收到該單播報文后,根據(jù)接收該單播報文的端口Port 1確定該單播報文來自VNI為1000的VXLAN網(wǎng)絡(luò),然后根據(jù)目的MAC查找對應(yīng)的MAC表項。在獲得查找結(jié)果后,將該單播報文封裝VXLAN報文頭,并將封裝VXLAN報文頭的該單播報文通過Tunnel 1發(fā)送至對端VTEP設(shè)備。

對端VTEP設(shè)備接收到封裝VXLAN報文頭的該單播報文后,對該單播報文進行解封裝,根據(jù)解封裝后的該單播報文的目的MAC查找本地的MAC表,獲得對應(yīng)MAC2的MAC表項。對端VTEP設(shè)備在獲得對應(yīng)MAC2的MAC表項后,將該單播報文通過端口Port 4和虛擬局域網(wǎng)標識102發(fā)送至第二VM。此時,第一VM向第二VM發(fā)送單播報文的過程結(jié)束。

由此可見,在現(xiàn)有技術(shù)中,在VXLAN網(wǎng)絡(luò)中發(fā)送單播報文,從第一VM發(fā)送到第二VM,需要先在本端VTEP設(shè)備上查一次MAC表,查找到VXLAN隧道后,將封裝VXLAN報文頭的單播報文發(fā)送至對端VTEP設(shè)備,對端VTEP設(shè)備接收到該單播報文,在解封裝后,還需再查一次MAC表,然后根據(jù)查找結(jié)果,將該單播報文發(fā)送至第二VM。整個過程需要查找兩次MAC表,費時較長。

針對現(xiàn)有技術(shù)中,VXLAN報文轉(zhuǎn)發(fā)費時較長的問題,本申請實施例通過擴展VXLAN報文頭的方式,將發(fā)送至第二VM的接口索引和第二VM的虛擬局域網(wǎng)標識添加到VXLAN報文頭中,使得對端VTEP設(shè)備在接收到VXLAN報文后,在解封裝時就可以獲知第二VM接入對端VTEP設(shè)備的端口以及第二VM的虛擬局域網(wǎng)標識,免去了一次查找MAC表的步驟,優(yōu)化了VXLAN報文的轉(zhuǎn)發(fā)過程,提高了轉(zhuǎn)發(fā)效率。

下面結(jié)合附圖對本申請實施例的技術(shù)方案進行說明。

參見圖3,為本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)方法的流程圖,該技術(shù)方案應(yīng)用于本端VTEP設(shè)備上,所述本端VTEP設(shè)備與對端VTEP設(shè)備之間建立了VXLAN隧道;其中,所述本端VTEP設(shè)備接入了第一VM,所述對端VTEP設(shè)備接入了與所述第一VM隸屬于同一VXLAN的第二VM;所述方法包括以下步驟:

步驟301:接收到所述第一VM發(fā)送至所述第二VM的單播報文后,根據(jù)所述第二VM的MAC地址在預設(shè)的MAC表中查找對應(yīng)的MAC表項;其中,所述MAC表項包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引為所述第二VM接入所述對端VTEP設(shè)備的接口索引。

步驟302:當查找到對應(yīng)的MAC表項時,基于所述MAC表項為所述單播報文封裝VXLAN報文頭;其中,VXLAN報文頭攜帶所述第二接口索引和所述第二VM的VLAN ID。

步驟303:將封裝后的所述單播報文通過所述VXLAN隧道發(fā)送至所述對端VTEP設(shè)備,以由所述對端VTEP設(shè)備在針對所述單播報文進行解封裝后,根據(jù)VXLAN報文頭中的所述第二接口索引和所述第二VM的VLAN ID,將所述單播報文發(fā)送至所述第二VM。

在本申請實施例中,先對VXLAN報文頭進行擴展,擴展后的VXLAN報文頭可以記錄上述第二接口索引和第二VM的VLAN ID,本端VTEP發(fā)送單播報文時,會在封裝VXLAN報文頭時,將第二接口索引和第二VM的VLAN ID添加到VXLAN報文頭中。對端VTEP設(shè)備接收封裝為VXLAN報文的上述單播報文,解封裝后,根據(jù)VXLAN報文頭中的上述第二接口索引和第二VM的VLAN ID發(fā)送上述單播報文至第二VM。

參見圖4,為本申請示出的一種現(xiàn)有技術(shù)中VXLAN報文頭的示意圖;參見圖5,本申請示出的一種VXLAN報文頭的示意圖。如圖所示,本申請示出的VXLAN報文頭比現(xiàn)有技術(shù)方案中的VXLAN報文頭多出IfIndex和VLAN ID,可以分別用于記錄接口索引和虛擬局域網(wǎng)標識。

下面結(jié)合圖2對本申請實施例的技術(shù)方案中的VXLAN報文轉(zhuǎn)發(fā)方法進行說明,圖2是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)的網(wǎng)絡(luò)架構(gòu)圖,如圖所示,VM1從端口Port 1接入VTEP A,VM2從端口Port 4接入VTEP B,VTEP A與VTEP B之間的VXLAN隧道為Tunnel 1。

現(xiàn)在從VTEP A的角度對現(xiàn)有技術(shù)的VXLAN報文轉(zhuǎn)發(fā)方法進行描述,以下提到的第一VM指VM1,本端VTEP設(shè)備指VTEP A,對端VTEP設(shè)備指VTEP B,第二VM指VM2。第一VM和第二VM隸屬于同一個VXLAN網(wǎng)絡(luò),它們所在的VXLAN網(wǎng)絡(luò)的VNI是1000,第一VM的VLAN ID是101,第一VM的MAC地址是MAC1,第二VM的VLAN ID是102,第二VM的MAC地址是MAC2。

在本申請實施例中,第一VM在沒有第二VM的MAC地址的情況下,可以發(fā)送ARP請求報文至本端VTEP設(shè)備,該ARP請求報文的源MAC是第一VM的MAC地址MAC1,目的MAC是廣播MAC。本端VTEP設(shè)備接收到該ARP請求報文后,根據(jù)第一接口索引Port 1,可以確定該ARP請求報文來自于VNI為1000的上述第一VM,其中,第一接口索引是指第一VM接入本端VTEP設(shè)備的端口。

本端VTEP設(shè)備可以將該ARP請求報文封裝成VXLAN報文,并將上述第一接口索引Port 1和第一VM的VLAN ID記錄到VXLAN報文頭中。封裝完成后,本端VTEP設(shè)備將封裝VXLAN報文頭的該ARP請求報文在VNI為1000的VXLAN網(wǎng)絡(luò)中進行廣播。同時,本端VTEP設(shè)備可以學習對應(yīng)第一VM的MAC表項,學習到的MAC表項存儲在MAC表中,如下表5所示:

表5

在本申請實施例中,對端VTEP設(shè)備接收到封裝VXLAN報文頭的該ARP請求報文后,對該VXLAN報文進行解封裝,然后將該ARP請求報文在本地VNI為1000的VXLAN網(wǎng)絡(luò)中進行廣播,同時學習對應(yīng)上述第一VM的MAC表項,學習到的MAC表項存儲在MAC表中,上述MAC表項包括上述第一接口索引(MAC表中的RmtIfIndex)和第一VM的VLAN ID(MAC表中的RmtVLAN ID),如下表6所示:

表6

在本申請實施例中,第二VM接收到上述ARP請求報文后,將第一VM的IP地址和MAC地址的對應(yīng)關(guān)系記錄到本地的ARP表中,然后向?qū)Χ薞TEP設(shè)備發(fā)送ARP應(yīng)答報文,該ARP應(yīng)答報文的源MAC是MAC2,目的MAC是MAC1。

在本申請實施例中,對端VTEP設(shè)備接收到上述ARP應(yīng)答報文后,根據(jù)上述ARP應(yīng)答報文的目的MAC查找MAC表,獲得對應(yīng)MAC1的MAC表項。對端VTEP設(shè)備可以將上述ARP應(yīng)答報文封裝VXLAN報文頭,并將第二接口索引Port 4和第二VM的VLAN ID記錄到VXLAN報文頭中,然后將封裝VXLAN報文頭的上述ARP應(yīng)答報文,通過對應(yīng)MAC1的MAC表項中的Tunnel 1發(fā)送至本端VTEP設(shè)備。

在本申請實施例中,本端VTEP設(shè)備接收到封裝VXLAN報文頭的上述ARP應(yīng)答報文后,對該VXLAN報文進行解封裝。解封裝后,讀取上述ARP應(yīng)答報文的報文頭,根據(jù)報文頭中的目的MAC,查找本地的MAC表,獲得對應(yīng)MAC1的MAC表項。根據(jù)對應(yīng)MAC1的MAC表項中的上述第一接口索引Port 1和第一VM的虛擬局域網(wǎng)標識101,將上述ARP應(yīng)答報文發(fā)送至第一VM。同時,學習對應(yīng)第二VM的MAC表項,學習到的MAC表項存儲在MAC表中,上述MAC表項包括上述第二接口索引(MAC表中的RmtIfIndex)和第二VM的VLAN ID(MAC表中的RmtVLAN ID),如下表7所示:

表7

在本申請實施例中,第一VM接收到上述ARP應(yīng)答報文后,在本地的ARP表中記錄第二VM的IP地址和MAC地址的對應(yīng)關(guān)系。

當?shù)谝籚M學習到第二VM的MAC地址后,后續(xù)可以發(fā)送單播報文。

在本申請實施例中,第一VM將源MAC為MAC1、目的MAC為MAC2的單播報文發(fā)送至本端VTEP設(shè)備,以由本端VTEP設(shè)備將該單播報文通過VXLAN隧道發(fā)送至對端VTEP設(shè)備。本端VTEP設(shè)備接收到該單播報文后,根據(jù)第一接口索引Port 1確定該單播報文來自VNI為1000的VXLAN網(wǎng)絡(luò),再根據(jù)目的MAC查找MAC表,獲得對應(yīng)MAC2的MAC表項。本端VTEP可以將該單播報文封裝成VXLAN報文,并將對應(yīng)MAC2的MAC表項中的第二接口索引Port 4和第二VM的VLAN ID102記錄到VXLAN報文頭中,然后通過對應(yīng)MAC2的MAC表項中的VXLAN隧道Tunnel 1,將封裝為VXLAN報文的該單播報文發(fā)送至對端VTEP設(shè)備。

在本申請實施例中,對端VTEP設(shè)備接收到封裝為VXLAN報文的該單播報文后,對該VXLAN報文進行解封裝,獲得VXLAN報文頭中的第二接口索引Port 4和第二VM的VLAN ID,然后根據(jù)Port 4和虛擬局域網(wǎng)標識102將該單播報文發(fā)送至第二VM。對端VTEP設(shè)備轉(zhuǎn)發(fā)VXLAN報文無需查詢MAC表,節(jié)省了時間。

綜上所述,在本申請實施例中,本端VTEP設(shè)備在ARP學習階段保存對應(yīng)第二VM的MAC表項,該MAC表項中包括上述第二接口索引和第二VM的虛擬局域網(wǎng)標識;并在發(fā)送單播報文時,通過在VXLAN報文頭中添加上述第二接口索引和第二VM的虛擬局域網(wǎng)標識的措施,使得對端VTEP設(shè)備在接收到封裝為VXLAN報文的單播報文時,可以直接根據(jù)VXLAN報文頭中的信息,將該單播報文發(fā)送至第二VM。本申請實施例的技術(shù)方案,將VXLAN報文轉(zhuǎn)發(fā)過程中VTEP設(shè)備查找MAC表的次數(shù)由兩次減少為一次,優(yōu)化了VXLAN報文的轉(zhuǎn)發(fā)過程,提高了轉(zhuǎn)發(fā)效率。

與前述VXLAN報文轉(zhuǎn)發(fā)方法的實施例相對應(yīng),本申請還提供了VXLAN報文轉(zhuǎn)發(fā)裝置的實施例。

參見圖6,是本申請示出的一種VXLAN報文轉(zhuǎn)發(fā)裝置的邏輯框圖:

如圖6所示,該VXLAN報文轉(zhuǎn)發(fā)裝置60包括:

查找單元610,用于接收到所述第一VM發(fā)送至所述第二VM的單播報文后,根據(jù)所述第二VM的MAC地址在預設(shè)的MAC表中查找對應(yīng)的MAC表項;其中,所述MAC表項包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引為所述第二VM接入所述對端VTEP設(shè)備的接口索引。

封裝單元620,用于當查找到對應(yīng)的MAC表項時,基于所述MAC表項為所述單播報文封裝VXLAN報文頭;其中,VXLAN報文頭攜帶所述第二接口索引和所述第二VM的VLAN ID。

發(fā)送單元630,用于將封裝后的所述單播報文通過所述VXLAN隧道發(fā)送至所述對端VTEP設(shè)備,以由所述對端VTEP設(shè)備在針對所述單播報文進行解封裝后,根據(jù)VXLAN報文頭中的所述第二接口索引和所述第二VM的VLAN ID,將所述單播報文發(fā)送至所述第二VM。

在本例中,所述裝置還包括:

保存單元640,用于接收到所述第一VM發(fā)送的目標VM為所述第二VM的ARP請求報文后,保存對應(yīng)所述第一VM的MAC表項。

所述封裝單元620,進一步用于將所述ARP請求報文封裝VXLAN報文頭;其中,VXLAN報文頭攜帶第一接口索引和所述第一VM的VLAN ID,所述第一接口索引為所述第一VM接入所述本端VTEP設(shè)備的接口索引。

所述發(fā)送單元630,進一步用于將封裝后的所述ARP請求報文在所述第一VM所在的VXLAN網(wǎng)絡(luò)內(nèi)進行廣播,以由所述對端VTEP設(shè)備返回封裝VXLAN報文頭的ARP應(yīng)答報文;接收到封裝VXLAN報文頭的所述ARP應(yīng)答報文后,對所述ARP應(yīng)答報文進行解封裝,查找對應(yīng)所述第一VM的MAC表項,將解封裝后的所述ARP應(yīng)答報文轉(zhuǎn)發(fā)至所述第一VM。

在本例中,所述裝置還包括:

所述保存單元640,進一步用于接收到封裝VXLAN報文頭的所述ARP應(yīng)答報文后,保存對應(yīng)所述第二VM的MAC表項。

在本例中,所述裝置還包括:

接收單元650,用于接收到所述第二VM發(fā)送的目標VM為所述第一VM的封裝VXLAN報文頭的ARP請求報文后,對所述ARP請求報文進行解封裝。

所述發(fā)送單元630,進一步用于在解封裝完成后,將所述ARP請求報文廣播至接入所述本端VTEP設(shè)備的所述第二VM所在的VXLAN網(wǎng)絡(luò)中的所有VM,以由所述第一VM返回ARP應(yīng)答報文,并保存對應(yīng)所述第二VM的MAC表項。

所述封裝單元620,進一步用于接收到所述第一VM返回的ARP應(yīng)答報文后,將所述ARP應(yīng)答報文封裝VXLAN報文頭;其中,VXLAN報文頭攜帶第一接口索引和所述第一VM的VLAN ID,所述第一接口索引為所述第一VM接入所述本端VTEP設(shè)備的接口索引。

所述發(fā)送單元630,進一步用于根據(jù)對應(yīng)所述第二VM的MAC表項,將封裝VXLAN報文頭的所述ARP應(yīng)答報文發(fā)送至所述對端VTEP設(shè)備,以由所述對端VTEP設(shè)備轉(zhuǎn)發(fā)所述ARP應(yīng)答報文至所述第二VM。

在本例中,所述裝置還包括:

所述接收單元650,進一步用于接收所述第二VM發(fā)送至所述第一VM的封裝VXLAN報文頭的單播報文。

讀取單元660,用于對所述單播報文進行解封裝,讀取VXLAN報文頭中的所述第一接口索引和所述第一VM的VLAN ID。

所述發(fā)送單元630,進一步用于基于讀取到的所述第一接口索引和所述第一VM,將所述單播報文發(fā)送至所述第一VM。

本申請VXLAN報文轉(zhuǎn)發(fā)裝置的實施例可以應(yīng)用在VTEP設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在VTEP設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖7所示,為本申請VXLAN報文轉(zhuǎn)發(fā)裝置所在VTEP設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖7所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的VTEP設(shè)備通常根據(jù)該VXLAN報文轉(zhuǎn)發(fā)裝置的實際功能,還可以包括其他硬件,對此不再贅述。

上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。

對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

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

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西安市| 章丘市| 平谷区| 舞钢市| 绍兴县| 鹿邑县| 墨江| 广水市| 雅安市| 宣汉县| 禹城市| 沈阳市| 蓬安县| 正阳县| 攀枝花市| 宜州市| 牙克石市| 武安市| 沧州市| 石台县| 海伦市| 五莲县| 中山市| 河源市| 蒲江县| 当阳市| 微山县| 新余市| 罗定市| 临猗县| 营口市| 大足县| 静乐县| 莱州市| 环江| 延边| 澄城县| 增城市| 陕西省| 夹江县| 新源县|