本技術(shù)涉及通信,特別涉及一種報文轉(zhuǎn)發(fā)的方法及通信裝置。
背景技術(shù):
1、以太網(wǎng)虛擬專用網(wǎng)絡(luò)(ethernet?virtual?private?network,evpn)是一種用于二層網(wǎng)絡(luò)互聯(lián)的vpn技術(shù),evpn利用邊界網(wǎng)關(guān)協(xié)議(border?gateway?protocol,bgp)來傳遞二層或三層的可達(dá)性信息,實現(xiàn)了轉(zhuǎn)發(fā)面和控制面的分離。evpn顛覆了傳統(tǒng)二層vpn通過轉(zhuǎn)發(fā)面來學(xué)習(xí)媒體訪問控制(media?access?control,mac)地址的機制,引入了控制面,在控制平面上采用bgp來通告mac路由,使evpn系統(tǒng)中的不同站點通過控制面學(xué)習(xí)mac地址。
2、在當(dāng)前的evpn通信系統(tǒng)中,使能了獨立vlan學(xué)習(xí)(independent?vlan?learning,ivl)模式的第一通信裝置能夠?qū)ν瑯邮鼓芰薸vl模式的第二通信裝置發(fā)布的mac路由(其中包含vlan標(biāo)識)進(jìn)行學(xué)習(xí),以及生成相應(yīng)的mac地址表項,并能夠基于該mac地址表項轉(zhuǎn)發(fā)報文。
3、然而,對于使能了共享vlan學(xué)習(xí)(shared?vlan?learning,svl)模式的第三通信裝置,其發(fā)布vlan無關(guān)的mac路由,第一通信裝置不對第三通信裝置發(fā)布的mac路由進(jìn)行學(xué)習(xí),從而導(dǎo)致ivl模式與svl模式的兩個通信裝置無法路由互通,降低了通信裝置報文轉(zhuǎn)發(fā)業(yè)務(wù)的連續(xù)性和可靠性。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種報文轉(zhuǎn)發(fā)的方法及通信裝置,能夠使ivl模式與svl模式的兩個通信裝置實現(xiàn)路由互通,由此能夠提高通信裝置報文轉(zhuǎn)發(fā)業(yè)務(wù)的連續(xù)性和可靠性。
2、第一方面,提供了一種報文轉(zhuǎn)發(fā)的方法,包括:第一通信裝置接收第一報文,所述第一通信裝置被配置成通過獨立虛擬局域網(wǎng)學(xué)習(xí)ivl模式來進(jìn)行媒體訪問控制mac地址學(xué)習(xí),所述第一報文包括第一mac地址和第一虛擬局域網(wǎng)vlan標(biāo)識,所述第一mac地址為所述第一報文的目的mac地址;所述第一通信裝置根據(jù)所述第一mac地址從mac地址表中確定第一mac地址表項,所述第一mac地址表項包括所述第一mac地址,且不包括所述第一vlan標(biāo)識;所述第一通信裝置根據(jù)所述第一mac地址表項轉(zhuǎn)發(fā)所述第一報文。
3、根據(jù)本技術(shù)實施例提供的報文轉(zhuǎn)發(fā)的方法,第一通信裝置被配置成通過ivl模式來對報文進(jìn)行mac地址學(xué)習(xí),從而能夠有效解決mac地址沖突的問題。當(dāng)使能了ivl模式的第一通信裝置接收到第一報文以后,無需同時使用報文中的第一mac地址和第一vlan標(biāo)識來對mac地址表進(jìn)行表項匹配。即第一通信裝置僅使用其中的第一mac地址而不使用第一vlan標(biāo)識來進(jìn)行表項匹配,并能夠根據(jù)匹配到的第一mac地址表項對報文進(jìn)行轉(zhuǎn)發(fā)操作。
4、由于第一通信裝置具備了上述報文轉(zhuǎn)發(fā)的能力,在該基礎(chǔ)之上,當(dāng)?shù)谝煌ㄐ叛b置接收到使能了svl模式的第二通信裝置發(fā)布的vlan無關(guān)的mac路由時,能夠?qū)ζ溥M(jìn)行學(xué)習(xí)以及生成相應(yīng)的表項(而不是直接丟棄掉),并能夠?qū)υ摫眄椷M(jìn)行檢索匹配以指導(dǎo)報文的轉(zhuǎn)發(fā),由此使得ivl模式與svl模式的兩個通信裝置能夠?qū)崿F(xiàn)路由互通,能夠提高第一通信裝置報文轉(zhuǎn)發(fā)業(yè)務(wù)的連續(xù)性和可靠性。
5、可選地,該第一mac地址表項可以是通過對第一通信裝置進(jìn)行本地的靜態(tài)路由配置而生成的。也就是說,用戶可以通過對第一通信裝置進(jìn)行本地配置(例如導(dǎo)入),以生成該第一mac地址表項。此時第一mac地址表項的出接口信息可以包括第一通信裝置的端口號等信息。
6、可選地,該第一mac地址表項可以是通過對evpn通信系統(tǒng)內(nèi)的第二通信裝置發(fā)布的vlan無關(guān)的mac路由進(jìn)行學(xué)習(xí)而生成的。此時第一mac地址表項的出接口信息可以包括第二通信裝置的ip地址等信息。
7、在一種可能的實現(xiàn)方式中,所述mac地址表包括第一mac地址表和第二mac地址表,所述第一mac地址表包括所述第一mac地址表項,所述第二mac地址表用于保存基于所述ivl模式學(xué)習(xí)到的mac地址表項,所述第一通信裝置根據(jù)所述第一目的mac地址從mac地址表中確定第一mac地址表項,包括:所述第一通信裝置以第一鍵key,在所述第一mac地址表中匹配所述第一mac地址表項,其中,所述第一key包括所述第一mac地址但不包括所述第一vlan標(biāo)識。
8、也就是說,第一通信裝置本地可以存儲兩個表格,其中一個為第一mac地址表,第一地址表中可以不包括vlan標(biāo)識,例如用于保存基于svl模式學(xué)習(xí)到的mac地址表項。而另一個可以為第二mac地址表,該第二mac地址表中可以包括vlan標(biāo)識,用于保存基于ivl模式學(xué)習(xí)到的mac地址表項。第一通信裝置可以使用包括第一mac地址而不包括第一vlan標(biāo)識的第一key來對第一mac地址表進(jìn)行查詢,以獲得該第一mac地址表項。此時無需查詢第二mac地址表,能夠提高查詢匹配的效率。
9、在一種可能的實現(xiàn)方式中,所述第一通信裝置在查找所述第一mac地址表之前,所述方法還包括:所述第一通信裝置以第二key,查找所述第二mac地址表,未查詢到匹配的mac地址表項,其中,所述第二key包括所述第一mac地址和所述第一vlan標(biāo)識。
10、通過以上設(shè)置,第一通信裝置的轉(zhuǎn)發(fā)面在轉(zhuǎn)發(fā)接收到的報文時,先使用報文中的目的mac地址與vlan標(biāo)識來查詢第二mac地址表,即先使用第二key來查詢第二mac地址表,從而能夠盡量避免mac地址沖突,在未命中后繼續(xù)使用包括目的mac地址而不包括vlan標(biāo)識的第一key來對第一mac地址表進(jìn)行查詢,命中第一mac地址表項后根據(jù)第一mac地址表項中的出接口信息轉(zhuǎn)發(fā)第一報文。
11、在一種可能的實現(xiàn)方式中,所述第二mac地址表包括第二mac地址表項,所述第二mac地址表項包括第二mac地址和第二vlan標(biāo)識,所述方法還包括:所述第一通信裝置接收第二報文,所述第二報文包括所述第二mac地址和所述第二vlan標(biāo)識,所述第二mac地址為所述第二報文的目的mac地址;所述第一通信裝置根據(jù)所述第二mac地址和所述第二vlan標(biāo)識,從所述第二mac地址表中匹配所述第二mac地址表項;所述第一通信裝置根據(jù)所述第二mac地址表項轉(zhuǎn)發(fā)所述第二報文。
12、在一種可能的實現(xiàn)方式中,所述第一mac地址表項包括所述第一mac地址和特殊vlan標(biāo)識,所述特殊vlan標(biāo)識和所述第一vlan標(biāo)識不同,所述第一通信裝置根據(jù)所述第一mac地址從mac地址表中確定第一mac地址表項,包括:所述第一通信裝置以第三key,從所述mac地址表中匹配到所述第一mac地址表項,其中,所述第三key包括所述第一mac地址和所述特殊vlan標(biāo)識。
13、通過以上設(shè)置,能夠使用同一個檢索邏輯(即mac+vlan)對不同方式獲得的表項同時進(jìn)行查詢匹配,有利于簡化檢索過程,并且不同方式獲得的表項能夠被放入同一張表格中,從而還能夠簡化表項的存儲過程。
14、在一種可能的實現(xiàn)方式中,所述特殊vlan標(biāo)識的值為0。
15、在一種可能的實現(xiàn)方式中,所述第一通信裝置確定所述第一mac地址表項之前,所述方法還包括:所述第一通信裝置接收第二通信裝置發(fā)布的vlan無關(guān)的mac路由,所述mac路由包括所述第一mac地址;根據(jù)所述mac路由生成所述第一mac地址表項。
16、通過以上設(shè)置,不僅使得ivl模式與svl模式的兩個通信裝置能夠?qū)崿F(xiàn)路由互通,以提高第一通信裝置報文轉(zhuǎn)發(fā)業(yè)務(wù)的連續(xù)性和可靠性。此外,相對于發(fā)布vlan相關(guān)的mac路由,還能夠有效降低第二通信裝置發(fā)布的mac路由的數(shù)量,減少網(wǎng)絡(luò)帶寬和設(shè)備內(nèi)存的占用,降低rr反射器上mac路由壓力,以及第一通信裝置上學(xué)習(xí)mac的壓力,減少對rr以及第一通信裝置的mac路由沖擊。并能夠提高路由收斂性能,避免路由超規(guī)格等問題。
17、可選地,第一通信裝置與第二通信裝置可以互為evpn鄰居。
18、可選地,vlan無關(guān)的mac路由中僅包括mac地址,而不包括vlan標(biāo)識。
19、可選地,vlan無關(guān)的mac路由中包括mac地址以及特殊vlan標(biāo)識。該特殊vlan標(biāo)識也可以被稱為共享vlan標(biāo)識,為第二通信裝置發(fā)布的多個vlan無關(guān)的mac路由所共用。該特殊vlan標(biāo)識可以是系統(tǒng)或者用戶預(yù)先配置好的,是一個特定的vlan標(biāo)識,通常不會出現(xiàn)在常規(guī)的數(shù)據(jù)報文中,該特殊vlan標(biāo)識與前述的第一vlan標(biāo)識不同,例如其值可以為0,多個mac路由共享使用該特殊vlan標(biāo)識。
20、設(shè)置vlan無關(guān)的mac路由包括該特殊vlan標(biāo)識,是為了使根據(jù)該通告路由生成的表項與第一通信裝置從報文中學(xué)習(xí)得到的表項與能夠?qū)R一致(均包含mac地址、vlan標(biāo)識以及出接口信息這三項內(nèi)容),此時由自己從報文中學(xué)習(xí)到的,以及根據(jù)mac路由生成的等多種不同方式獲得的表項可以被放置于同一個mac地址表中,并且還能夠確保檢索邏輯(通過mac+vlan)相一致,有利于簡化檢索邏輯和存儲邏輯。
21、可選地,若vlan無關(guān)的mac路由中不包括該特殊vlan標(biāo)識,第一通信裝置可以自己配置該特殊vlan標(biāo)識,從而使得不同方式獲得的表項可以對齊一致(均包含三項內(nèi)容)。
22、在一種可能的實現(xiàn)方式中,所述第一通信裝置是接入側(cè)葉子節(jié)點a-leaf設(shè)備,所述第二通信裝置服務(wù)側(cè)葉子節(jié)點s-leaf設(shè)備;或者,所述第一通信裝置是接入側(cè)運營商邊緣pe設(shè)備,所述第二通信裝置是網(wǎng)絡(luò)側(cè)運營商邊緣pe設(shè)備。
23、在一種可能的實現(xiàn)方式中,所述第二通信裝置被配置成通過共享虛擬局域網(wǎng)svl模式來進(jìn)行mac地址學(xué)習(xí);或者,所述第二通信裝置被配置成通過所述ivl模式來進(jìn)行mac地址學(xué)習(xí)。
24、第二方面,提供了一種學(xué)習(xí)媒體訪問控制mac地址的方法,包括:第一通信裝置接收第二通信裝置發(fā)布的虛擬局域網(wǎng)vlan無關(guān)的以太網(wǎng)虛擬專用網(wǎng)絡(luò)evpn?mac路由,所述第一通信裝置被配置成通過獨立虛擬局域網(wǎng)學(xué)習(xí)ivl模式來進(jìn)行mac地址學(xué)習(xí),所述mac路由包括第一mac地址;所述第一通信裝置根據(jù)所述mac路由生成第一mac地址表項,所述第一mac地址表項包括所述第一mac地址。
25、根據(jù)本技術(shù)實施例提供的學(xué)習(xí)mac地址的方法,當(dāng)?shù)谝煌ㄐ叛b置接收到vlan無關(guān)的mac路由時,并不是直接丟棄掉,而是根據(jù)該mac路由生成并存儲對應(yīng)的mac地址表項,該表項可以被存儲于第一通信裝置本地的mac地址表中,例如mac路由中包括第一mac地址,則可以在mac地址表中生成包括該第一mac地址的第一mac地址表項。在該基礎(chǔ)上,當(dāng)接收到一個報文以后,第一通信裝置可以使用報文中的目的mac地址(不使用其中的vlan標(biāo)識)來對該mac地址表項進(jìn)行查詢,并根據(jù)查詢結(jié)果指導(dǎo)報文的轉(zhuǎn)發(fā)。
26、在一種可能的實現(xiàn)方式中,所述第一通信裝置是接入側(cè)葉子節(jié)點a-leaf設(shè)備,所述第二通信裝置是服務(wù)側(cè)葉子節(jié)點s-leaf設(shè)備;或者,所述第一通信裝置是接入側(cè)運營商邊緣pe設(shè)備,所述第二通信裝置是網(wǎng)絡(luò)側(cè)運營商邊緣pe設(shè)備。
27、在一種可能的實現(xiàn)方式中,所述第二通信裝置被配置成通過共享虛擬局域網(wǎng)svl模式來進(jìn)行mac地址學(xué)習(xí);或者,所述第二通信裝置被配置成通過所述ivl模式來進(jìn)行mac地址學(xué)習(xí)。
28、在一種可能的實現(xiàn)方式中,所述第一mac表項還包括特殊vlan標(biāo)識。
29、在一種可能的實現(xiàn)方式中,所述特殊vlan標(biāo)識的值為0。
30、第三方面,提供了一種通信裝置,包括:收發(fā)單元,用于接收第一報文,所述通信裝置被配置成通過獨立虛擬局域網(wǎng)學(xué)習(xí)ivl模式來進(jìn)行媒體訪問控制mac地址學(xué)習(xí),所述第一報文包括第一mac地址和第一虛擬局域網(wǎng)vlan標(biāo)識,所述第一mac地址為所述第一報文的目的mac地址;處理單元,用于根據(jù)所述第一mac地址從mac地址表中確定第一mac地址表項,所述第一mac地址表項包括所述第一mac地址,且不包括所述第一vlan標(biāo)識;所述收發(fā)單元還用于,根據(jù)所述第一mac地址表項轉(zhuǎn)發(fā)所述第一報文。
31、在一種可能的實現(xiàn)方式中,所述mac地址表包括第一mac地址表和第二mac地址表,所述第一mac地址表包括所述第一mac地址表項,所述第二mac地址表用于保存基于所述ivl模式學(xué)習(xí)到的mac地址表項,所述處理單元具體用于:以第一鍵key,在所述第一mac地址表中匹配到所述第一mac地址表項,其中,所述第一key包括所述第一mac地址但不包括所述第一vlan標(biāo)識。
32、在一種可能的實現(xiàn)方式中,所述處理單元在查找所述第一mac地址表之前,還用于:以第二key,查找所述第二mac地址表,未查詢到匹配的mac地址表項,其中,所述第二key包括所述第一mac地址和所述第一vlan標(biāo)識。
33、在一種可能的實現(xiàn)方式中,所述第二mac地址表包括第二mac地址表項,所述第二mac地址表項包括第二mac地址和第二vlan標(biāo)識,所述收發(fā)單元還用于,接收第二報文,所述第二報文包括第二mac地址和第二vlan標(biāo)識,所述第二mac地址為所述第二報文的目的mac地址;所述處理單元還用于,根據(jù)所述第二mac地址和所述第二vlan標(biāo)識,從所述第二mac地址表中匹配到所述第二mac地址表項;所述收發(fā)單元還用于,根據(jù)所述第二mac地址表項轉(zhuǎn)發(fā)所述第二報文。
34、在一種可能的實現(xiàn)方式中,所述第一mac地址表項包括所述第一mac地址和特殊vlan標(biāo)識,所述特殊vlan標(biāo)識和所述第一vlan標(biāo)識不同,所述處理單元具體用于:以第三key,從所述mac地址表中匹配到所述第一mac地址表項,其中,所述第一key包括所述第一mac地址和所述特殊vlan標(biāo)識。
35、在一種可能的實現(xiàn)方式中,所述特殊vlan標(biāo)識的值為0。
36、在一種可能的實現(xiàn)方式中,在所述處理單元確定所述第一mac地址表項之前,所述收發(fā)單元還用于,接收第二通信裝置發(fā)布的vlan無關(guān)的mac路由,所述mac路由包括所述第一mac地址;所述處理單元還用于,根據(jù)所述mac路由生成所述第一mac地址表項。
37、在一種可能的實現(xiàn)方式中,所述通信裝置是接入側(cè)葉子節(jié)點a-leaf設(shè)備,所述第二通信裝置服務(wù)側(cè)葉子節(jié)點s-leaf設(shè)備;或者,所述通信裝置是接入側(cè)運營商邊緣pe設(shè)備,所述第二通信裝置是網(wǎng)絡(luò)側(cè)運營商邊緣pe設(shè)備。
38、在一種可能的實現(xiàn)方式中,所述第二通信裝置被配置成通過共享虛擬局域網(wǎng)svl模式來進(jìn)行mac地址學(xué)習(xí);或者,所述第二通信裝置被配置成通過所述ivl模式來進(jìn)行mac地址學(xué)習(xí)。
39、第四方面,提供了一種通信裝置,包括:收發(fā)單元,用于接收第二通信裝置發(fā)布的虛擬局域網(wǎng)vlan無關(guān)的以太網(wǎng)虛擬專用網(wǎng)絡(luò)evpn媒體訪問控制mac路由,所述通信裝置被配置成通過獨立虛擬局域網(wǎng)學(xué)習(xí)ivl模式來進(jìn)行mac地址學(xué)習(xí),所述mac路由包括第一mac地址;處理單元,用于根據(jù)所述mac路由生成第一mac地址表項,所述第一mac地址表項包括所述第一mac地址。
40、在一種可能的實現(xiàn)方式中,所述通信裝置是接入側(cè)葉子節(jié)點a-leaf設(shè)備,所述第二通信裝置是服務(wù)側(cè)葉子節(jié)點s-leaf設(shè)備;或者,所述通信裝置是接入側(cè)運營商邊緣pe設(shè)備,所述第二通信裝置是網(wǎng)絡(luò)側(cè)運營商邊緣pe設(shè)備。
41、在一種可能的實現(xiàn)方式中,所述第二通信裝置被配置成通過共享虛擬局域網(wǎng)svl模式來進(jìn)行mac地址學(xué)習(xí);或者,所述第二通信裝置被配置成通過所述ivl模式來進(jìn)行mac地址學(xué)習(xí)。
42、在一種可能的實現(xiàn)方式中,所述第一mac表項還包括特殊vlan標(biāo)識。
43、在一種可能的實現(xiàn)方式中,所述特殊vlan標(biāo)識的值為0。
44、第五方面,提供了一種通信裝置,包括:存儲器,存儲有指令;處理器,當(dāng)所述指令被所述處理器運行時,使得所述通信裝置執(zhí)行前述第一方面或第二方面中任一種可能實現(xiàn)方式所提供的方法。
45、第六方面,提供了一種計算機程序產(chǎn)品,包括:計算機程序代碼,當(dāng)所述計算機程序代碼在處理器上運行時,實現(xiàn)前述第一方面或第二方面中任一種可能實現(xiàn)方式所提供的方法。
46、第七方面,提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,當(dāng)所述計算機程序在處理器上運行時,實現(xiàn)前述第一方面或第二方面中任一種可能實現(xiàn)方式所提供的方法。
47、可以理解地,上述第三方面、第四方面、第五方面提供的通信裝置、第六方面提供的計算機程序產(chǎn)品以及第七方面提供的計算機可讀存儲介質(zhì)均用于執(zhí)行前述第一方面或者第二方面所提供的方法,因此,其所能達(dá)到的有益效果可參考上文所提供的對應(yīng)的方法中的有益效果,此處不再贅述。