本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種隧道創(chuàng)建方法及裝置。
背景技術(shù):
VXLAN(Virtual eXtensible Local Area Network,可擴(kuò)展虛擬局域網(wǎng)絡(luò))是基于IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)網(wǎng)絡(luò)、采用“MAC(Media Access Control,媒體訪問控制)in UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)”封裝形式的二層VPN(Virtual Private Network,虛擬專用網(wǎng))技術(shù)。VXLAN可以基于已有的服務(wù)提供商或企業(yè)IP網(wǎng)絡(luò),為分散的物理站點(diǎn)提供二層互聯(lián)功能,其主要應(yīng)用于數(shù)據(jù)中心網(wǎng)絡(luò)。
由于VXLAN廣泛用于overlay(一種虛擬網(wǎng)絡(luò))數(shù)據(jù)中心互聯(lián)中,RFC(Request For Comments,一系列以編號(hào)排定的文件)沒有對(duì)VXLAN的控制平面進(jìn)行定義,EVPN(Ethernet Virtual Private Network,以太虛擬專用網(wǎng)絡(luò))網(wǎng)絡(luò)技術(shù)應(yīng)運(yùn)而生,RFC7432對(duì)該網(wǎng)絡(luò)技術(shù)進(jìn)行了規(guī)定。使用EVPN多歸屬組網(wǎng),可以解決VXLAN無法實(shí)現(xiàn)負(fù)載分擔(dān)的問題,使用BGP(Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)作為上層控制協(xié)議,使得VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))的拓?fù)涓泳哂徐`活性。
在現(xiàn)有EVPN網(wǎng)絡(luò)中,當(dāng)VTEP設(shè)備收到2類路由或者5類路由,且該路由的ERT(Export Route Target,出口路由目標(biāo))與本地VPN的IRT(Import Route Target,入口路由目標(biāo))匹配時(shí),BGP模塊會(huì)向L2VPN(Layer 2VPN,二層VPN)模塊通告EVPN路由的下一跳信息,L2VPN再把下一跳信息通告給TUNNEL(隧道)模塊,創(chuàng)建以該EVPN路由的下一跳地址為目的地址的VXLAN隧道。
然而實(shí)踐發(fā)現(xiàn),現(xiàn)有EVPN網(wǎng)絡(luò)中,當(dāng)EVPN網(wǎng)絡(luò)規(guī)模較大,VTEP設(shè)備較多時(shí),各VTEP設(shè)備可能會(huì)需要?jiǎng)?chuàng)建大量的VXLAN隧道,而VTEP設(shè)備的隧道資源及硬件資源有限,當(dāng)超過一定數(shù)量時(shí),則無法再創(chuàng)建,影響了新增的部分業(yè)務(wù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種隧道創(chuàng)建方法及裝置,以提高VXLAN隧道資源利用率。
本發(fā)明實(shí)施例提供一種隧道創(chuàng)建方法,應(yīng)用于以太虛擬局域網(wǎng)EVPN網(wǎng)絡(luò)中的第一虛擬可擴(kuò)展局域網(wǎng)隧道終端VTEP設(shè)備,所述方法包括:
當(dāng)接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷所述EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配;
若匹配,則創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道;
否則,拒絕創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道
本發(fā)明實(shí)施例提供一種隧道創(chuàng)建裝置,應(yīng)用于以太虛擬局域網(wǎng)EVPN網(wǎng)絡(luò)中的第一虛擬可擴(kuò)展局域網(wǎng)隧道終端VTEP設(shè)備,所述裝置包括:
接收單元,用于接收EVPN路由;
判斷單元,用于當(dāng)所述接收單元接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷所述EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配;
創(chuàng)建單元,用于若所述EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,則創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道。
應(yīng)用本發(fā)明實(shí)施例,當(dāng)接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷該EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配;若匹配,則創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,與現(xiàn)有VXLAN隧道創(chuàng)建方案相比,避免了無用VXLAN隧道對(duì)VXLAN隧道資源的占用,提高了VXLAN隧道資源利用率。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種隧道創(chuàng)建方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例提供的一種隧道創(chuàng)建裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的另一種隧道創(chuàng)建裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
請(qǐng)參見圖1,圖1為本發(fā)明實(shí)施例提供的一種隧道創(chuàng)建方法的流程示意圖,該方法可以應(yīng)用于EVPN網(wǎng)絡(luò)中的第一VTEP設(shè)備,如圖1所示,該方法可以包括以下步驟:
步驟101、當(dāng)接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷該EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配。若是,轉(zhuǎn)至步驟102;否則,轉(zhuǎn)至步驟103。
本發(fā)明實(shí)施例中,第一VTEP設(shè)備并不特指某一固定的VTEP設(shè)備,而是可以指代EVPN網(wǎng)絡(luò)中的任意的VTEP設(shè)備,本發(fā)明實(shí)施例后續(xù)不再復(fù)述。
本發(fā)明實(shí)施例中,當(dāng)?shù)谝籚TEP設(shè)備接收到遠(yuǎn)端VTEP設(shè)備發(fā)送的EVPN路由(如2類路由或5類路由)時(shí),第一VTEP設(shè)備可以判斷該EVPN路由的ERT與本地VPN的IRT是否匹配;若匹配,則第一VTEP設(shè)備可以確定該EVPN路由滿足預(yù)設(shè)條件;否則,第一VTEP設(shè)備可以確定該EVPN路由不滿足預(yù)設(shè)條件。
本發(fā)明實(shí)施例中,當(dāng)?shù)谝籚TEP設(shè)備確定接收到的EVPN路由滿足預(yù)設(shè)條件時(shí),第一VTEP設(shè)備并不會(huì)直接創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,而是需要判斷該EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配,并根據(jù)判斷結(jié)果確定是否創(chuàng)建接收到的EVPN路由對(duì)應(yīng)的VXLAN隧道。
其中,該VPN標(biāo)識(shí)用于標(biāo)識(shí)VTEP設(shè)備所屬的VPN,例如,該VPN標(biāo)識(shí)可以為L3VNI(Layer 3VXLAN Network Identifier,三層VXLAN網(wǎng)絡(luò)標(biāo)識(shí)符)。
步驟102、創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道。
步驟103、拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道。
本實(shí)施例中,若第一VTEP設(shè)備確定接收到的EVPN路由滿足預(yù)設(shè)條件,且該EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,則第一VTEP設(shè)備可以創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,第一VTEP設(shè)備可以拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,以避免創(chuàng)建無用的VXLAN隧道,提高隧道資源利用率。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,若上述EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,則上述創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道之前,還可以包括:
判斷該EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求;
若存在,則確定執(zhí)行創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道的步驟;
否則,拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道。
在該實(shí)施方式中,當(dāng)?shù)谝籚TEP設(shè)備確定接收到的EVPN路由滿足預(yù)設(shè)條件,且該EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配時(shí),第一VTEP設(shè)備并不會(huì)直接創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,而是需要進(jìn)一步判斷該EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求,并在確定該EVPN路由對(duì)應(yīng)的VXLAN隧道存在數(shù)據(jù)發(fā)送需求時(shí),才創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,以避免創(chuàng)建的VXLAN隧道閑置并占用VXLAN隧道資源,進(jìn)一步提高隧道資源利用率。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,上述判斷該EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求,可以包括:
判斷是否接收到目標(biāo)數(shù)據(jù)報(bào)文;其中,該目標(biāo)數(shù)據(jù)報(bào)文的目的地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)中的下一跳信息與EVPN路由的下一跳相同;
若接收到,則確定該EVPN路由對(duì)應(yīng)的VXLAN隧道存在數(shù)據(jù)發(fā)送需求;
否則,確定該EVPN路由對(duì)應(yīng)的VXLAN隧道不存在數(shù)據(jù)發(fā)送需求。
在該實(shí)施方式中,當(dāng)?shù)谝籚TEP設(shè)備接收到的EVPN路由滿足預(yù)設(shè)條件時(shí),第一VTEP設(shè)備可以記錄該EVPN路由的下一跳信息。
例如,第一VTEP設(shè)備可以通過BGP模塊把該EVPN路由的下一跳信息通告給L2VPN模塊,L2VPN模塊接收到該EVPN路由的下一跳信息之后,并不會(huì)直接通知TUNNEL模塊去創(chuàng)建對(duì)應(yīng)的VXLAN隧道,而是先記錄該EVPN路由的下一跳信息。
在該實(shí)施方式中,當(dāng)?shù)谝籚TEP設(shè)備確定接收到的EVPN路由滿足預(yù)設(shè)條件,且該EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配時(shí),第一VTEP設(shè)備可以判斷是否接收到目的地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)中的下一跳信息與上述EVPN路由的下一跳相同的數(shù)據(jù)報(bào)文(本文中稱為目標(biāo)數(shù)據(jù)報(bào)文)。
具體的,在該實(shí)施方式中,當(dāng)?shù)谝籚TEP設(shè)備接收到本地VM(Virtual Machine,虛擬機(jī))發(fā)送的數(shù)據(jù)報(bào)文時(shí),第一VTEP設(shè)備需要根據(jù)該數(shù)據(jù)報(bào)文的目的地址查詢本地轉(zhuǎn)發(fā)表項(xiàng),如查找FIB(Forward Information Base,轉(zhuǎn)發(fā)信息庫)表,若查詢到對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng),則第一VTEP設(shè)備可以進(jìn)一步根據(jù)該轉(zhuǎn)發(fā)表項(xiàng)中的下一跳信息查找下一跳鄰接表項(xiàng)。若第一VTEP設(shè)備未查找到對(duì)應(yīng)的下一跳鄰接表項(xiàng),則表明對(duì)應(yīng)的VXLAN隧道還未創(chuàng)建,則第一VTEP設(shè)備可以判斷該下一跳信息與上述自身記錄的下一跳信息是否相同,若相同,則第一VTEP設(shè)備確定接收到目標(biāo)數(shù)據(jù)報(bào)文。
值得說明的是,在本發(fā)明實(shí)施例中,若第一VTEP設(shè)備查找到對(duì)應(yīng)的下一跳鄰接表項(xiàng),則第一VTEP設(shè)備可以根據(jù)該下一跳鄰接表項(xiàng)找到對(duì)應(yīng)的VXLAN隧道,并對(duì)該數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝后,通過該VXLAN隧道轉(zhuǎn)發(fā),其具體實(shí)現(xiàn)在此不做贅述。
此外,若第一VTEP設(shè)備根據(jù)接收到的數(shù)據(jù)報(bào)文的目的地址未查找到對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng),則第一VTEP設(shè)備可以丟棄該數(shù)據(jù)報(bào)文。
在該實(shí)施方式中,若第一VTEP設(shè)備確定接收到目標(biāo)數(shù)據(jù)報(bào)文,則第一VTEP設(shè)備可以確定上述EVPN路由對(duì)應(yīng)的VXLAN隧道存在數(shù)據(jù)發(fā)送需求,進(jìn)而,第一VTEP設(shè)備可以創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,VTEP設(shè)備可以確定上述EVPN路由對(duì)應(yīng)的VXLAN隧道不存在數(shù)據(jù)發(fā)送需求,進(jìn)而,第一VTEP設(shè)備可以拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道。
值得說明的是,在本發(fā)明實(shí)施例中,若第一VTEP設(shè)備記錄了接收到的EVPN路由的下一跳信息,但該EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)不同,則第一VTEP設(shè)備可以刪除自身記錄的該EVPN路由的下一跳信息,其具體實(shí)現(xiàn)本發(fā)明實(shí)施例不做贅述。
進(jìn)一步地,在本發(fā)明實(shí)施例中,考慮到對(duì)于一些比較重要的設(shè)備,如VM或用戶上線時(shí)都需要訪問的公共服務(wù)器或存儲(chǔ)設(shè)備,需要保證其連接的VTEP設(shè)備與其它VTEP設(shè)備之間存在VXLAN隧道,以保證VM或用戶能夠?qū)崟r(shí)訪問該服務(wù)器或存儲(chǔ)設(shè)備,因而,在網(wǎng)絡(luò)部署時(shí)可以在該類設(shè)備上設(shè)置重要性標(biāo)記(該重要性標(biāo)記可以用于表示設(shè)備的重要性),當(dāng)VTEP設(shè)備向外發(fā)送針對(duì)該類設(shè)備的EVPN路由時(shí),需要攜帶隧道優(yōu)先創(chuàng)建標(biāo)識(shí),以使接收到該EVPN路由的VTEP設(shè)備優(yōu)先創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道。
相應(yīng)地,作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,若上述EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,則上述判斷該EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求之前,還包括:
判斷該EVPN路由中是否攜帶有隧道優(yōu)先創(chuàng)建標(biāo)識(shí);
若攜帶,則創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;
否則,確定執(zhí)行上述判斷該EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求的步驟。
在該實(shí)施方式中,第一VTEP設(shè)備確定接收到的EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配時(shí),第一VTEP設(shè)備可以進(jìn)一步判斷該EVPN路由中是否攜帶有攜帶優(yōu)先創(chuàng)建標(biāo)識(shí);若該EVPN路由中未攜帶有優(yōu)先創(chuàng)建標(biāo)識(shí),則第一VTEP設(shè)備需要進(jìn)一步判斷該EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求,并按照上述流程進(jìn)行VXLAN隧道創(chuàng)建;若該EVPN路由中攜帶有優(yōu)先創(chuàng)建標(biāo)識(shí),則第一VTEP設(shè)備確定需要優(yōu)先創(chuàng)建該EVPN路由對(duì)應(yīng)VXLAN隧道,從而第一VTEP設(shè)備可以直接創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,即通過L2VPN模塊將本端的源地址以及接收到的EVPN路由的下一跳信息通知該TUNNEL模塊,由TUNNEL模塊創(chuàng)建對(duì)應(yīng)的VXLAN隧道;其中,VXLAN隧道創(chuàng)建的具體流程在此不做贅述。
進(jìn)一步地,在本發(fā)明實(shí)施例中,為了避免已創(chuàng)建的VXLAN隧道長時(shí)間無數(shù)據(jù)轉(zhuǎn)發(fā),導(dǎo)致閑置的VXLAN隧道占用隧道資源,可以對(duì)已創(chuàng)建的VXLAN隧道引入老化機(jī)制。
相應(yīng)地,作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,創(chuàng)建EVPN路由對(duì)應(yīng)的VXLAN隧道之后,還可以包括:
當(dāng)檢測到EVPN路由對(duì)應(yīng)的VXLAN隧道在預(yù)設(shè)時(shí)長內(nèi)無數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),刪除該EVPN路由對(duì)應(yīng)的VXLAN隧道。
在該實(shí)施方式中,第一VTEP設(shè)備根據(jù)接收到的EVPN路由創(chuàng)建對(duì)應(yīng)的的VXLAN隧道之后,第一VTEP設(shè)備可以對(duì)其數(shù)據(jù)轉(zhuǎn)發(fā)狀態(tài)進(jìn)行檢測,若第一VTEP設(shè)備檢測到該EVPN路由對(duì)應(yīng)的VXLAN隧道在預(yù)設(shè)時(shí)長內(nèi)(該預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際場景設(shè)定)無數(shù)據(jù)轉(zhuǎn)發(fā),則第一VTEP設(shè)備可以認(rèn)為該VXLAN隧道為閑置狀態(tài),為了避免其對(duì)隧道資源的占用,提高隧道資源的占用率,第一VTEP設(shè)備可以刪除該EVPN路由對(duì)應(yīng)的VXLAN隧道。
例如,第一VTEP設(shè)備根據(jù)接收到的EVPN路由創(chuàng)建對(duì)應(yīng)的VXLAN隧道之后,可以針對(duì)該VXLAN隧道啟動(dòng)一個(gè)老化計(jì)時(shí)器(假設(shè)老化時(shí)間為T),并對(duì)該VXLAN隧道的數(shù)據(jù)轉(zhuǎn)發(fā)狀態(tài)進(jìn)行檢測,若該VXLAN隧道存在數(shù)據(jù)轉(zhuǎn)發(fā),則重置老化計(jì)時(shí)器;若該VXLAN隧道在時(shí)間T內(nèi)無數(shù)據(jù)轉(zhuǎn)發(fā),則可以刪除該VXLAN隧道。
值得說明的是,在本發(fā)明實(shí)施例中,對(duì)于攜帶有隧道優(yōu)先創(chuàng)建標(biāo)識(shí)的EVPN路由對(duì)應(yīng)的VXLAN隧道,可以按照上述流程進(jìn)行老化處理,也可以設(shè)置為永久隧道,而不進(jìn)行老化。
可見,在圖1所示的方法流程中,通過在接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配,并當(dāng)匹配時(shí),創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建EVPN路由對(duì)應(yīng)的VXLAN隧道,避免了無用VXLAN隧道對(duì)隧道資源的占用,提高了VXLAN隧道資源的利用率。
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體應(yīng)用場景對(duì)本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行描述。
請(qǐng)參見圖2,為本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖,如圖2所示,在該應(yīng)用場景中,RR(Route Reflector,路由反射器)設(shè)備與VTEP1、VTEP2、VTEP3、VTEP4均建立EVPN IBGP鄰居關(guān)系,VTEP1、VTEP2、VTEP3各下掛一個(gè)VM,VTEP4下掛一個(gè)子網(wǎng)。
基于該應(yīng)用場景,本發(fā)明實(shí)施例提供的隧道創(chuàng)建方案的實(shí)現(xiàn)流程如下:
1、VTEP1上收到VTEP2、VTEP3和VTEP4發(fā)送的2類或5類路由。若VTEP1判斷接收的EVPN路由的ERT和本地VPN的IRT匹配,則VTEP1需要進(jìn)一步判斷接收到的EVPN路由中攜帶的L3VNI與本地的L3VNI是否相同;若相同,轉(zhuǎn)至步驟2;否則,不再通知TUNNEL模塊生成VXLAN隧道。
2、若接收的EVPN路由中攜帶的L3VNI與本地的L3VNI相同,則VTEP1將這些EVPN路由下發(fā)到路由管理,再下刷到FIB表。其中,VTEP1的FIB表項(xiàng)可以如下表所示:
3、VTEP1接收到該EVPN路由時(shí),通過BGP模塊把接收到的EVPN路由的下一跳信息通告給L2VPN模塊;L2VPN模塊記錄該EVPN路由的下一跳信息,但不通知TUNNEL模塊創(chuàng)建VXLAN隧道。
4、當(dāng)VM1發(fā)送數(shù)據(jù)報(bào)文給VM3時(shí),目的地址為12.1.1.2,VTEP1接收到該數(shù)據(jù)報(bào)文后,查找FIB表,發(fā)現(xiàn)存在對(duì)應(yīng)的FIB表項(xiàng)(目的地址/掩碼為12.1.1.2/32,下一跳為3.3.3.3,出接口為vsi(Virtual Switching Instance,虛擬交換實(shí)例)1),進(jìn)而,VTEP1根據(jù)該FIB表項(xiàng)中的下一跳信息查找下一跳鄰接表項(xiàng),以找到對(duì)應(yīng)的VXLAN隧道,進(jìn)行VXLAN封裝。但由于VTEP1接收EVPN路由時(shí),并沒有創(chuàng)建VXLAN隧道,因而沒有相應(yīng)的下一跳鄰接表項(xiàng)。
5、當(dāng)VTEP1根據(jù)接收到的數(shù)據(jù)報(bào)文的目的地址查找到對(duì)應(yīng)的FIB表項(xiàng),但根據(jù)該FIB表項(xiàng)的下一跳信息未查找到對(duì)應(yīng)的下一跳鄰接表項(xiàng)時(shí),VTEP1反向通知L2VPN模塊,告知L2VPN模塊,需要?jiǎng)?chuàng)建目的地址為3.3.3.3的VXLAN隧道。L2VPN模塊收到此消息后,去查找記錄的下一跳信息中是否有該下一跳信息,如果有則把該下一跳信息和本端的源地址通告給TUNNEL模塊,創(chuàng)建VXLAN隧道tun1。
6、TUNNEL模塊根據(jù)接收到的下一跳信息和本端的源地址創(chuàng)建對(duì)應(yīng)的VXLAN隧道后,返回消息告知L2VPN模塊VXLAN隧道創(chuàng)建成功,L2VPN模塊下發(fā)下一跳為3.3.3.3的下一跳鄰接表項(xiàng),出接口為VXLAN隧道tun1.
7、下一跳鄰接表項(xiàng)下發(fā)成功后,VTEP1對(duì)VM1發(fā)送給VM3的數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝,通過VXLAN隧道tun1轉(zhuǎn)發(fā)出去,實(shí)現(xiàn)VM1和VM3之間的通信。
8、當(dāng)VTEP1根據(jù)接收到的數(shù)據(jù)報(bào)文的目的地址未查找到對(duì)應(yīng)的FIB表項(xiàng)時(shí),丟棄接收到的數(shù)據(jù)報(bào)文。
9、對(duì)于任一已創(chuàng)建的VXLAN隧道,VTEP1為該VXLAN隧道啟動(dòng)對(duì)應(yīng)的老化計(jì)時(shí)器,老化時(shí)間為T。若在老化時(shí)間內(nèi)該VXLAN隧道存在數(shù)據(jù)轉(zhuǎn)發(fā),則重置老化時(shí)間;若老化時(shí)間內(nèi)無數(shù)據(jù)轉(zhuǎn)發(fā),則反向通知L2VPN模塊,通知TUNNEL模塊刪除對(duì)應(yīng)的VXLAN隧道。
10、假設(shè)圖2中還包括VTEP5,且該VTEP5下接入一個(gè)公共服務(wù)器,該網(wǎng)絡(luò)內(nèi)的VM或者用戶上線時(shí)都需要訪問該公共服務(wù)器,且該公共服務(wù)器在該網(wǎng)絡(luò)中極其重要,因而要優(yōu)先保證其他VTEP設(shè)備和VTEP5之間建立永久隧道,保證網(wǎng)絡(luò)VM或者用戶能實(shí)時(shí)訪問該公共服務(wù)器。在網(wǎng)絡(luò)部署時(shí),在VTEP5上設(shè)置重要性標(biāo)記,擴(kuò)展BGP能力,使得BGP能攜帶該重要性標(biāo)記,當(dāng)VTEP5向外發(fā)送針對(duì)該公共服務(wù)器的EVPN路由時(shí),攜帶隧道優(yōu)先創(chuàng)建標(biāo)識(shí)。
11、VTEP1收到VTEP5的2類路由時(shí),若該EVPN路由的ERT和本地VPN的IRT匹配,且該EVPN路由中攜帶的L3VNI與本地的L3VNI相同,則VTEP1將該EVPN路由中攜帶的隧道優(yōu)先創(chuàng)建標(biāo)識(shí)通告給L2VPN模塊,L2VPN模塊識(shí)別該隧道優(yōu)先創(chuàng)建標(biāo)識(shí),則建立VXLAN隧道,其中,該VXLAN隧道為永久隧道,鄰接表項(xiàng)不會(huì)老化,從而保證網(wǎng)絡(luò)中VM或用戶能實(shí)時(shí)訪問公共服務(wù)器。
通過以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,當(dāng)接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷該EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配;若匹配,則創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,與現(xiàn)有VXLAN隧道創(chuàng)建方案相比,避免了無用VXLAN隧道對(duì)VXLAN隧道資源的占用,提高了VXLAN隧道資源利用率。
請(qǐng)參見圖3,為本發(fā)明實(shí)施例提供的一種隧道創(chuàng)建裝置的結(jié)構(gòu)示意圖,其中,該隧道創(chuàng)建裝置可以應(yīng)用于上述EVPN網(wǎng)絡(luò)中的第一VTEP設(shè)備,如圖3所示,該隧道創(chuàng)建裝置可以包括:
接收單元310,用于接收EVPN路由;
判斷單元320,用于當(dāng)所述接收單元310接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷所述EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配;
創(chuàng)建單元330,用于若所述EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,則創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道。
在可選實(shí)施例中,所述判斷單元320,還用于若所述EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,判斷所述EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求;
所述創(chuàng)建單元330,具體用于若所述EVPN路由對(duì)應(yīng)的VXLAN隧道存在數(shù)據(jù)發(fā)送需求,創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道。
在可選實(shí)施例中,所述判斷單元320,具體用于判斷所述接收單元310是否接收到目標(biāo)數(shù)據(jù)報(bào)文;其中,所述目標(biāo)數(shù)據(jù)報(bào)文的目的地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)中的下一跳信息與所述EVPN路由的下一跳相同;若接收到,則確定所述EVPN路由對(duì)應(yīng)的VXLAN隧道存在數(shù)據(jù)發(fā)送需求;否則,確定所述EVPN路由對(duì)應(yīng)的VXLAN隧道不存在數(shù)據(jù)發(fā)送需求。
在可選實(shí)施例中,所述判斷單元320,還用于若所述EVPN路由中攜帶的VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)匹配,則判斷所述EVPN路由中是否攜帶有隧道優(yōu)先創(chuàng)建標(biāo)識(shí);
所述創(chuàng)建單元330,還用于若所述EVPN路由中攜帶有優(yōu)先創(chuàng)建標(biāo)識(shí),則創(chuàng)建所述EVPN路由對(duì)應(yīng)的VXLAN隧道;
所述判斷單元320,還用于若所述EVPN路由中未攜帶有優(yōu)先創(chuàng)建標(biāo)識(shí),則判斷所述EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)發(fā)送需求。
請(qǐng)一并參見圖4,為本發(fā)明實(shí)施例提供的另一種隧道創(chuàng)建裝置的結(jié)構(gòu)示意圖,如圖4所示,在圖3所示實(shí)施例的基礎(chǔ)上,圖4所示的隧道創(chuàng)建裝置還包括:
檢測單元340,用于檢測所述EVPN路由對(duì)應(yīng)的VXLAN隧道是否存在數(shù)據(jù)轉(zhuǎn)發(fā);
刪除單元350,用于當(dāng)所述EVPN路由對(duì)應(yīng)的VXLAN隧道在預(yù)設(shè)時(shí)長內(nèi)無數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),刪除所述EVPN路由對(duì)應(yīng)的VXLAN隧道。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,當(dāng)接收到滿足預(yù)設(shè)條件的EVPN路由時(shí),判斷該EVPN路由中攜帶的虛擬專用網(wǎng)VPN標(biāo)識(shí)與本地VPN標(biāo)識(shí)是否匹配;若匹配,則創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道;否則,拒絕創(chuàng)建該EVPN路由對(duì)應(yīng)的VXLAN隧道,與現(xiàn)有VXLAN隧道創(chuàng)建方案相比,避免了無用VXLAN隧道對(duì)VXLAN隧道資源的占用,提高了VXLAN隧道資源利用率。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。