本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)并且,更具體地,涉及計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的轉(zhuǎn)發(fā)數(shù)據(jù)包。
背景技術(shù):
以太網(wǎng)虛擬專(zhuān)用網(wǎng)絡(luò)(evpn)是以透明方式(即,好像中間的l3網(wǎng)絡(luò)不存在)通過(guò)中間的第三層(l3)網(wǎng)絡(luò)(通常稱(chēng)作提供商網(wǎng)絡(luò))提供兩個(gè)或多個(gè)遠(yuǎn)程的第二層(l2)局域網(wǎng)(lan)的以太網(wǎng)連接的網(wǎng)絡(luò)服務(wù)。特別地,evpn經(jīng)由中間多協(xié)議標(biāo)簽交換(mpls)網(wǎng)絡(luò)在遠(yuǎn)程網(wǎng)絡(luò)之間傳輸l2通信,例如以太網(wǎng)數(shù)據(jù)包或“幀”。在典型配置中,耦合至客戶(hù)網(wǎng)絡(luò)的客戶(hù)邊緣(ce)網(wǎng)絡(luò)設(shè)備的中間網(wǎng)絡(luò)的提供商邊緣(pe)網(wǎng)絡(luò)設(shè)備(例如,路由器和/或交換機(jī))限定中間網(wǎng)絡(luò)內(nèi)的標(biāo)簽交換路徑(lsp)(還稱(chēng)作偽線(xiàn))以攜帶封裝的l2通信,好像這些客戶(hù)網(wǎng)絡(luò)直接附接至相同局域網(wǎng)(lan)。
提供商骨干橋接(pbb)evpn在傳輸l2通信時(shí)組合evpn服務(wù)以及mac-in-mac封裝。即,通過(guò)pbb-evpn傳輸?shù)拿總€(gè)客戶(hù)幀利用mac-in-mac封裝,其中報(bào)頭內(nèi)的客戶(hù)mac(c-mac)地址封裝在骨干mac(b-mac)地址內(nèi),由此保持提供商l2域和客戶(hù)l2域之間的分離。
技術(shù)實(shí)現(xiàn)要素:
通常,描述了用于在多宿主提供商骨干橋接以太網(wǎng)虛擬專(zhuān)用網(wǎng)絡(luò)(pbb-evpn)網(wǎng)絡(luò)中執(zhí)行水平分割(split-horizon)數(shù)據(jù)包轉(zhuǎn)發(fā)的技術(shù),其中,pbb-evpn的兩個(gè)或多個(gè)提供商邊緣(pe)設(shè)備通過(guò)公共以太網(wǎng)段連接到多宿主客戶(hù)網(wǎng)絡(luò)。例如,在以冗余模式操作的pbb-evpn中,每個(gè)客戶(hù)邊緣(ce)設(shè)備通過(guò)稱(chēng)作以太網(wǎng)段的一組鏈路多宿主于多個(gè)pe設(shè)備。本文描述的技術(shù)可以由多宿主以太網(wǎng)段的pe設(shè)備應(yīng)用以確保源自ce設(shè)備并且通過(guò)以太網(wǎng)段發(fā)送到pbb-evpn的數(shù)據(jù)包不被復(fù)制回到ce設(shè)備。即,耦合到多宿主以太網(wǎng)段的pe設(shè)備可以應(yīng)用這些技術(shù)來(lái)提供水平分割數(shù)據(jù)包轉(zhuǎn)發(fā),以便確保來(lái)自由多宿主以太網(wǎng)段的其中一個(gè)pe設(shè)備注入到pbb-evpn中的客戶(hù)網(wǎng)絡(luò)的數(shù)據(jù)包不被pe設(shè)備中連接到同一多宿主以太網(wǎng)段的不同一個(gè)轉(zhuǎn)發(fā)回客戶(hù)網(wǎng)絡(luò)。
在一個(gè)實(shí)例中,方法可包括由第一pe設(shè)備和從實(shí)現(xiàn)pbb-evpn的第二pe設(shè)備經(jīng)由第一pe設(shè)備的面向核心的接口接收數(shù)據(jù)包,其中,第一pe設(shè)備和第二pe設(shè)備通過(guò)以太網(wǎng)段耦合到多宿主ce設(shè)備,并且其中,第一pe設(shè)備已被選為指定轉(zhuǎn)發(fā)器,用于通過(guò)以太網(wǎng)段將數(shù)據(jù)包從pbb-evpn轉(zhuǎn)發(fā)到ce設(shè)備。該方法還包括由第一pe設(shè)備確定所接收的數(shù)據(jù)包先前在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上被接收,并且由第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中。該方法還包括:響應(yīng)于確定所接收的數(shù)據(jù)包先前在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上被接收并且由第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中,分配第一pe路由器的與以太網(wǎng)段相關(guān)聯(lián)的本地接口作為所接收的數(shù)據(jù)包的進(jìn)入接口,而不是從pbb-evpn接收到該數(shù)據(jù)包的第一pe設(shè)備的面向核心的接口。該方法還包括基于所分配的進(jìn)入接口,在沒(méi)有向著將第一pe設(shè)備耦合到ce設(shè)備的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去的情況下,應(yīng)用水平分割轉(zhuǎn)發(fā)以處理所接收的數(shù)據(jù)包。
在另一實(shí)例中,pe設(shè)備可包括具有耦合到存儲(chǔ)器的至少一個(gè)處理器的路由組件,其中,該路由組件執(zhí)行被配置為與一個(gè)或多個(gè)其他pe設(shè)備建立pbb-evpn的軟件。pe設(shè)備還可以包括用于從pbb-evpn接收數(shù)據(jù)包的面向核心的接口。pe設(shè)備還可以包括通過(guò)以太網(wǎng)段將pe設(shè)備連接到ce設(shè)備的本地接口,其中,ce設(shè)備通過(guò)以太網(wǎng)段多宿主于第二個(gè)pe設(shè)備,并且其中,pe設(shè)備已被選為指定轉(zhuǎn)發(fā)器,用于通過(guò)以太網(wǎng)段將數(shù)據(jù)包從pbb-evpn轉(zhuǎn)發(fā)到ce設(shè)備。pe設(shè)備還可以包括轉(zhuǎn)發(fā)組件,其被配置為:響應(yīng)于確定由第二pe設(shè)備在以太網(wǎng)段上先前從ce設(shè)備接收到從面向核心的接口接收的數(shù)據(jù)包,并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn,將與以太網(wǎng)段相關(guān)聯(lián)的pe設(shè)備的本地接口分配為接收到的數(shù)據(jù)包的進(jìn)入接口,而不是pe設(shè)備的從pbb-evpn接收數(shù)據(jù)包的面向核心的接口;并且基于所分配的進(jìn)入接口,在沒(méi)有向著將pe設(shè)備耦合到ce設(shè)備的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去的情況下,來(lái)應(yīng)用水平分割轉(zhuǎn)發(fā)以處理所接收的數(shù)據(jù)包。
以這種方式,本公開(kāi)內(nèi)容中描述的技術(shù)使得pbb-evpn中指定為指定轉(zhuǎn)發(fā)器(df)的pe設(shè)備能夠通過(guò)經(jīng)由轉(zhuǎn)發(fā)引擎的邏輯接口代替數(shù)據(jù)包的來(lái)源的出現(xiàn)來(lái)執(zhí)行業(yè)務(wù)的水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)。因此,這些技術(shù)可以用于確保來(lái)自通過(guò)多宿主以太網(wǎng)段中的一個(gè)pe設(shè)備注入到pbb-evpn中的客戶(hù)網(wǎng)絡(luò)的數(shù)據(jù)包不會(huì)被pe設(shè)備的連接到同一多宿主以太網(wǎng)段的不同的一個(gè)轉(zhuǎn)發(fā)回客戶(hù)網(wǎng)絡(luò)。
在附圖和下面的描述中闡述本發(fā)明的一個(gè)或多個(gè)實(shí)施方式的細(xì)節(jié)。通過(guò)該描述、附圖和權(quán)利要求,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將變得顯而易見(jiàn)。
附圖說(shuō)明
圖1是示出了示例性網(wǎng)絡(luò)系統(tǒng)的框圖,其中,耦合到公共以太網(wǎng)段的提供商邊緣設(shè)備應(yīng)用本文所描述的技術(shù)以確保提供商骨干橋接以太網(wǎng)虛擬專(zhuān)用網(wǎng)(pbb-evpn)內(nèi)的水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)。
圖2是示出了能夠執(zhí)行所公開(kāi)的技術(shù)的示例性提供商邊緣設(shè)備的框圖。
圖3是示出了實(shí)現(xiàn)本文中描述的技術(shù)以在pbb-evpn內(nèi)提供水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)的提供商邊緣設(shè)備的示例性操作的流程圖。
圖4a-4c是根據(jù)本公開(kāi)內(nèi)容的技術(shù)分別示出示例性pbb-evpn封裝的數(shù)據(jù)包報(bào)頭、i-sid表和b-mac表的示例性框圖。
具體實(shí)施方式
圖1是示出了示例性網(wǎng)絡(luò)系統(tǒng)2的框圖,其中,耦合到公共以太網(wǎng)段(es)的提供商邊緣(pe)路由器應(yīng)用本文所描述的技術(shù)以確保提供商骨干橋接以太網(wǎng)虛擬專(zhuān)用網(wǎng)(pbb-evpn)內(nèi)的水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)。如圖1的實(shí)例所示,pe設(shè)備6a、6a’、6a”、6c和6c’(統(tǒng)稱(chēng)為“pe設(shè)備6”)(例如,路由器和/或開(kāi)關(guān))可以在網(wǎng)絡(luò)3的邊界處操作,并且為提供商橋接網(wǎng)絡(luò)(pbn)14a和14b(統(tǒng)稱(chēng)為“pbn14”)提供連接。網(wǎng)絡(luò)3可以是廣域網(wǎng)(wan)、局域網(wǎng)(lan)、個(gè)人區(qū)域網(wǎng)(pan)、城域網(wǎng)(man)、互聯(lián)網(wǎng)區(qū)域網(wǎng)(ian)、校園區(qū)域網(wǎng)(can),以及能夠傳輸pe設(shè)備6之間交換的業(yè)務(wù)的任何網(wǎng)絡(luò)。網(wǎng)絡(luò)3可以用于將各個(gè)訂戶(hù)、交易或甚至大規(guī)模數(shù)據(jù)中心連接到更大的服務(wù)網(wǎng)或互聯(lián)網(wǎng)。在一個(gè)實(shí)例中,網(wǎng)絡(luò)3符合在“與以太網(wǎng)vpn結(jié)合的提供商骨干橋接(pbb-evpn)(providerbackbonebridgingcombinedwithethernetvpn(pbb-evpn))”draft-ieft-12vpn-pbb-evpn-10,internetengineeringtaskforce(ietf),2015年5月14日中闡述的標(biāo)準(zhǔn),其全部?jī)?nèi)容通過(guò)引用并入本文。
一般來(lái)說(shuō),pbn14的每個(gè)包括將pbn14連接到為訂戶(hù)或客戶(hù)提供計(jì)算環(huán)境的訂戶(hù)設(shè)備4a-4d(統(tǒng)稱(chēng)為“訂戶(hù)設(shè)備4”)的一個(gè)或多個(gè)客戶(hù)邊緣(ce)設(shè)備8a、8b和8c(統(tǒng)稱(chēng)為“ce設(shè)備8”)(例如,路由器和/或開(kāi)關(guān)(switch,交換機(jī)))。pbn14的每個(gè)還包括經(jīng)由pbb-evpn23連接pbn14的一個(gè)或多個(gè)pe設(shè)備6。
pbb-evpn23提供pbn14之間的第二層(l2)連接。pbn14的每個(gè)表示向l2客戶(hù)網(wǎng)絡(luò)提供橋接局域網(wǎng)服務(wù)的服務(wù)提供商的基礎(chǔ)設(shè)施。pbn14的每個(gè)向服務(wù)提供一個(gè)或多個(gè)服務(wù)vlan(“s-vlans”)并且隔離來(lái)自l2客戶(hù)網(wǎng)絡(luò)7a-7d(統(tǒng)稱(chēng)為“客戶(hù)網(wǎng)絡(luò)7”)的l2業(yè)務(wù)。pbn14可包括由相同的網(wǎng)絡(luò)服務(wù)提供商或者由一個(gè)或多個(gè)不同的服務(wù)提供商提供的l2橋接網(wǎng)絡(luò)。盡管通過(guò)實(shí)例關(guān)于兩個(gè)pbn14a、14b示出,網(wǎng)絡(luò)3可包括兩個(gè)以上pbn。
在圖1的實(shí)例中,pbb-evpn23由一組由pe設(shè)備6的面向骨干(即,面向核心)的組件提供的骨干邊緣橋(beb)組成。即,pe設(shè)備6的每個(gè)提供用于橋接到pbb-evpn23的骨干域的beb。pe設(shè)備6的每個(gè)beb提供封裝(或驗(yàn)證其封裝)并且聚合客戶(hù)幀的接口,因此允許客戶(hù)mac(c-mac)地址和vlan獨(dú)立于由pbb-evpn運(yùn)營(yíng)商管理的骨干mac(b-mac)地址和vlan。以這種方法,pbn14的每個(gè)提供用于一個(gè)或多個(gè)l2客戶(hù)網(wǎng)絡(luò)7的l2橋接連接。在這個(gè)實(shí)例中,l2客戶(hù)網(wǎng)絡(luò)7a、7b的訂戶(hù)設(shè)備4a和4b通過(guò)ce設(shè)備8a和8b耦合至pbn14a。l2客戶(hù)網(wǎng)絡(luò)7c的訂戶(hù)設(shè)備4c和4d通過(guò)ce設(shè)備8c耦合至pbn14b。
形成由pbb-evpn23提供的骨干域內(nèi)的隧道端部的pe設(shè)備6通常學(xué)習(xí)和維護(hù)用于pbb-evpn23內(nèi)的設(shè)備的l2狀態(tài)信息(例如,媒體訪(fǎng)問(wèn)控制(mac)地址和通過(guò)其可到達(dá)mac地址的相應(yīng)物理端口)。pe設(shè)備6還可以學(xué)習(xí)和維護(hù)包括用于客戶(hù)域和骨干域中的設(shè)備的mac地址和對(duì)應(yīng)端口的l2狀態(tài)信息,以提供作為beb的橋接服務(wù)。相反,ce設(shè)備8可以學(xué)習(xí)和維護(hù)包括用于客戶(hù)域7內(nèi)的訂戶(hù)設(shè)備4的mac地址的l2狀態(tài)信息。以這種方法,pe設(shè)備6可以在訂戶(hù)設(shè)備4之間提供pbb-evpn互連。因而,每個(gè)pe設(shè)備6作為pbb-evpn23與pbn14之間的網(wǎng)關(guān)而操作(運(yùn)作),并且可以相對(duì)于pbn14起隧道端點(diǎn)的作用。即,每個(gè)pe設(shè)備6可包括用于pbn14和pbb-evpn23的邏輯上分離的路由情況(instances,實(shí)例),并且每個(gè)pe設(shè)備6操作以橋接兩個(gè)不同的內(nèi)部路由情況之間的業(yè)務(wù)。
在操作中,l2網(wǎng)絡(luò)通信(例如,以太網(wǎng)數(shù)據(jù)包幀)經(jīng)由pbb-evpn23在pbn14之間流動(dòng)。源自l2客戶(hù)網(wǎng)絡(luò)7的客戶(hù)業(yè)務(wù)通常與客戶(hù)vlan(c-vlan)相關(guān)聯(lián)地到達(dá)ce設(shè)備8。即,除了用于l2客戶(hù)網(wǎng)絡(luò)7內(nèi)的設(shè)備的源和目的地媒體訪(fǎng)問(wèn)控制(mac)地址之外,來(lái)自l2客戶(hù)網(wǎng)絡(luò)7的數(shù)據(jù)包通常還攜帶c-vlan標(biāo)簽和客戶(hù)vlan標(biāo)識(shí)符(c-vid)。pe設(shè)備6從l2客戶(hù)網(wǎng)絡(luò)7接收l(shuí)2通信并且將該通信與在pbn(例如pbn14)內(nèi)定義的服務(wù)vlan(s-vlan)相關(guān)聯(lián)。每個(gè)s-vlan具有對(duì)應(yīng)的標(biāo)識(shí)符(s-vid),其在每個(gè)l2幀中用接收l(shuí)2幀的對(duì)應(yīng)的pbn14來(lái)標(biāo)記。
除了用于pbb-evpn23內(nèi)的pe設(shè)備6的源和目的地骨干mac(b-mac)地址之外,從一個(gè)pbn14通過(guò)pbb-evpn23流到不同的pbn14的業(yè)務(wù)由s-vlan攜帶并且進(jìn)一步在骨干vlan(b-vlan)和服務(wù)id(i-sid)中多路復(fù)用,該服務(wù)id唯一地識(shí)別訂戶(hù)設(shè)備4(例如,通過(guò)客戶(hù)mac(c-mac)地址)。作為操作beb,pe設(shè)備6提供pbn14和pbb-evpn23的vlan和mac地址空間之間的映射。每個(gè)pe設(shè)備6可以具有與c-mac地址相關(guān)聯(lián)并且與骨干邊緣橋(beb)功能相關(guān)聯(lián)的一個(gè)或多個(gè)單播b-mac地址的集合,并且b-mac地址通過(guò)網(wǎng)絡(luò)3(諸如mpls核心),諸如通過(guò)利用邊界網(wǎng)關(guān)協(xié)議(bgp)的mac通告路由在pe設(shè)備6之間交換。這樣,pe設(shè)備6可以分配pe設(shè)備的b-mac地址,而不是訂戶(hù)設(shè)備4的c-mac地址。
在一個(gè)實(shí)例中,數(shù)據(jù)包幀可以通過(guò)橋接以流過(guò)b-vlan的s-vlan從ce設(shè)備8a流到其他ce設(shè)備8,該b-vlan反過(guò)來(lái)通過(guò)pbb-evpn23的輸送mpls標(biāo)簽交換路徑(lsp)被隧穿。s-vlan的業(yè)務(wù)可以通過(guò)pbb-evpn23從pe設(shè)備6a經(jīng)由b-vlan流到其他pe設(shè)備6,其中,業(yè)務(wù)被進(jìn)一步封裝并且經(jīng)由作為beb操作的pe設(shè)備6解封裝。pe設(shè)備6中的每一個(gè)具有與其相關(guān)聯(lián)的一組一個(gè)或多個(gè)b-mac地址,該組地址在mac通告路由中通過(guò)網(wǎng)絡(luò)3(例如,mpls核心網(wǎng)絡(luò))在pe設(shè)備之間交換。pe設(shè)備6可以從客戶(hù)接收以太網(wǎng)數(shù)據(jù)包,并且可以使用以太網(wǎng)提供商骨干橋接(pbb)報(bào)頭和多協(xié)議標(biāo)簽交換(mpls)報(bào)頭(例如,如本文中圖4a所示)來(lái)封裝數(shù)據(jù)包,并且通過(guò)核心網(wǎng)絡(luò)3轉(zhuǎn)發(fā)封裝數(shù)據(jù)包。同樣地,pe設(shè)備6可以從pbb-evpn接收封裝數(shù)據(jù)包,并且從數(shù)據(jù)包解封裝pbb報(bào)頭和mpls報(bào)頭。以這種方式,pe設(shè)備6在用于業(yè)務(wù)的beb在pbn14和pbb-evpn23之間流動(dòng)時(shí)提供橋接服務(wù)。
在圖1的實(shí)例中,ce設(shè)備8的每個(gè)是“多宿主”的,因?yàn)閏e設(shè)備的每個(gè)通過(guò)相應(yīng)的以太網(wǎng)段13連接到多個(gè)pe設(shè)備6。如這個(gè)實(shí)例中所示,當(dāng)ce設(shè)備8多宿主于兩個(gè)或多個(gè)pe設(shè)備6時(shí),一組以太網(wǎng)鏈路15a、15a’、15b、15b’、15c和15c’(統(tǒng)稱(chēng)為“鏈路15”)分別構(gòu)成以太網(wǎng)段13a-13c。以太網(wǎng)段13的每個(gè)表現(xiàn)為與到相應(yīng)ce設(shè)備8的鏈路聚合組(lag)相關(guān)聯(lián)的單個(gè)邏輯接口(ifl)。例如,來(lái)自pe設(shè)備6a、6a’的鏈路15a、15a’形成以太網(wǎng)段13a,ce設(shè)備8a多宿主于pe設(shè)備6a、6a’。同樣,來(lái)自pe設(shè)備6a’、6a”的鏈路15b、15b’形成以太網(wǎng)段13b,ce設(shè)備8b多宿主于pe設(shè)備6a’、6a”。
此外,當(dāng)ce設(shè)備8多宿主于兩個(gè)或多個(gè)pe設(shè)備6時(shí),pe設(shè)備中稱(chēng)作指定轉(zhuǎn)發(fā)器(df)的一個(gè)承擔(dān)從pbb-evpn23到ce設(shè)備8的用于轉(zhuǎn)發(fā)廣播、未知單播、及多播(bum)業(yè)務(wù)(例如bum業(yè)務(wù)(traffic,業(yè)務(wù))11)的任務(wù)。即,對(duì)于每個(gè)以太網(wǎng)段13,選為該以太網(wǎng)段的df的相應(yīng)pe設(shè)備6承擔(dān)將經(jīng)由面向核心的接口24從pbb-evpn23接收的bum業(yè)務(wù)向耦合到該以太網(wǎng)段的ce設(shè)備8轉(zhuǎn)發(fā)的責(zé)任。例如,可以選為df路由器的pe設(shè)備6a’可以將從pbb-evpn23接收的bum業(yè)務(wù)11分別向耦合到以太網(wǎng)段13a、13b的ce設(shè)備8a、8b轉(zhuǎn)發(fā)。耦合到同一以太網(wǎng)段(例如,pe設(shè)備6a)的其余pe設(shè)備6稱(chēng)作非指定轉(zhuǎn)發(fā)器(非df)或備用指定轉(zhuǎn)發(fā)器(bdf),并且不將從pbb-evpn23接收的bum業(yè)務(wù)轉(zhuǎn)發(fā)到相應(yīng)的以太網(wǎng)段中。以這種方式,pbn14a內(nèi)的鏈路15提供客戶(hù)網(wǎng)絡(luò)7a、7b的連接。
如以下更詳細(xì)地描述的,pe設(shè)備6應(yīng)用本文中描述的技術(shù)以執(zhí)行水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)以確保來(lái)源于ce設(shè)備8并經(jīng)由以太網(wǎng)段13向pbb-evpn23發(fā)送的數(shù)據(jù)包不會(huì)被復(fù)制回相同的ce設(shè)備。例如,通過(guò)以太網(wǎng)段13a為ce設(shè)備8a提供多宿主連接性的pe設(shè)備6a、6a’可以應(yīng)用本文中所描述的技術(shù)以提供水平分割轉(zhuǎn)發(fā)以便確保通過(guò)pe設(shè)備6a、6a’中的一個(gè)注入pbb-evpn23中的來(lái)自ce設(shè)備8a的bum業(yè)務(wù)11不會(huì)向ce設(shè)備8a轉(zhuǎn)發(fā)回來(lái)。作為一個(gè)實(shí)例,在操作中,pe設(shè)備6a’可以被選擇用于太網(wǎng)段13a的df。ce設(shè)備8a可以通過(guò)太網(wǎng)段13a的物理鏈路15a將bum業(yè)務(wù)11從用戶(hù)網(wǎng)絡(luò)7a向pe設(shè)備6a(非df)轉(zhuǎn)發(fā)。當(dāng)接收bum業(yè)務(wù)11時(shí),pe設(shè)備6a將bum業(yè)務(wù)注入到pbb-evpn23中使得bum業(yè)務(wù)被轉(zhuǎn)發(fā)至所有其他的pe設(shè)備6,包括pe設(shè)備6a’。bum業(yè)務(wù)11例如可以被封裝密鑰信息,諸如,源骨干mac地址(b-mac)、用戶(hù)和源虛擬局域網(wǎng)標(biāo)識(shí)符(c-vlan和s-vlanid)、以及與太網(wǎng)段13a相關(guān)聯(lián)的服務(wù)id(i-sid)(例如,如本文中在圖4a中示出的)。此外,如以下進(jìn)一步描述的,pe設(shè)備6a’應(yīng)用本文中描述的技術(shù)以避免將bum業(yè)務(wù)11轉(zhuǎn)發(fā)回到ce設(shè)備8a,否則pe設(shè)備6a’將按用于太網(wǎng)段13a的df那樣做。
例如,在由pe設(shè)備6a’經(jīng)由面向核心的接口24接收bum業(yè)務(wù)11之后,作為df路由器的pe設(shè)備6a’可以確定之前在與pe設(shè)備6a相關(guān)聯(lián)的本地接口上是否接收bum業(yè)務(wù)并通過(guò)pe路由器6a’將該bum業(yè)務(wù)提供到pbb-evpn23。例如,當(dāng)pe設(shè)備6a’的面向核心的接口24接收數(shù)據(jù)包時(shí),pe設(shè)備可以基于數(shù)據(jù)包的一個(gè)或多個(gè)密鑰執(zhí)行查找操作。這些密鑰可以包括數(shù)據(jù)包的b-mac、i-sid、以及vlan標(biāo)識(shí)(例如,c-vlan和s-vlan)用于確定是否之前在本地接口上接收到從面向核心的接口24接收的數(shù)據(jù)包,諸如,在轉(zhuǎn)發(fā)至pbb-evpn23之前的太網(wǎng)段13a的鏈路15a?;谝粋€(gè)或多個(gè)密鑰的查找操作可以使pe路由器6a’能夠確定密鑰是否將從pe路由器6a’的本地接口接收的數(shù)據(jù)包映射至pe路由器a的本地接口。這可以包括確定分配到pe設(shè)備6a、6a’的b-mac地址是否相同并匹配所接收的數(shù)據(jù)包的b-mac地址。換言之,pe設(shè)備6a’可以確定數(shù)據(jù)包的映射以確定數(shù)據(jù)包的接口和與pe設(shè)備6a’相關(guān)聯(lián)的本地接口是否匹配。
響應(yīng)于確定數(shù)據(jù)包匹配與pe設(shè)備6a’相關(guān)聯(lián)的本地接口,pe設(shè)備6a’可以將與pe設(shè)備6a’相關(guān)聯(lián)的本地接口(太網(wǎng)段13a的鏈路15a’)分配為所接收的數(shù)據(jù)包的進(jìn)入接口而不是從pbb-evpn23接收數(shù)據(jù)包的面向核心的接口24。換言之,pe設(shè)備6a’現(xiàn)在可以就像始發(fā)于本地接口的所接收的數(shù)據(jù)包一樣瀏覽進(jìn)入接口,諸如,以太網(wǎng)段13a的鏈路15a’。因此,通過(guò)應(yīng)用典型的l2轉(zhuǎn)發(fā)操作,指定為用于給定的以太網(wǎng)段的df的pe設(shè)備不會(huì)將bum數(shù)據(jù)包11轉(zhuǎn)發(fā)到本地的ce設(shè)備8,因?yàn)楦鶕?jù)動(dòng)態(tài)修改的進(jìn)入接口,bum數(shù)據(jù)包似乎始發(fā)于與本地ce設(shè)備相關(guān)聯(lián)的接口,并且用于l2業(yè)務(wù)的洪泛(flooding)規(guī)則防止轉(zhuǎn)發(fā)l2業(yè)務(wù)回到源。此外,除了pe設(shè)備的動(dòng)態(tài)修改的進(jìn)入接口之外,df路由器可以根據(jù)典型的l2轉(zhuǎn)發(fā)規(guī)則通過(guò)它們相應(yīng)的邏輯接口將相同的橋域中的數(shù)據(jù)包轉(zhuǎn)發(fā)到其他的ce設(shè)備8。以這種方式,該技術(shù)使得即使該客戶(hù)路由器通過(guò)多鏈路以太網(wǎng)段多宿主至多個(gè)pe設(shè)備6,水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)也能夠應(yīng)用于給定的客戶(hù)路由器。即,本文中描述的技術(shù)使得能夠跨整個(gè)以太網(wǎng)段實(shí)現(xiàn)水平分割數(shù)據(jù)包轉(zhuǎn)發(fā),并且甚至在pbb-evpn的背景下能夠?qū)崿F(xiàn)跨以太網(wǎng)段的所有鏈路的水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)。
此外,在這個(gè)過(guò)程中,由于本文中描述的技術(shù),pe設(shè)備6(諸如,pe設(shè)備6a’)通過(guò)連接至以太網(wǎng)段13a的面向客戶(hù)的本地接口而不是實(shí)際上接收bum業(yè)務(wù)11的面向核心的接口24更新其內(nèi)部mac表以將bum業(yè)務(wù)11的源客戶(hù)mac地址識(shí)別為可到達(dá)。這可以提供附加的優(yōu)勢(shì),即,pe設(shè)備6a’將所感知的源路徑用作遞送針對(duì)客戶(hù)mac地址的任何返回的業(yè)務(wù)的較短的路線(xiàn)。
圖2是示出了能夠執(zhí)行所公開(kāi)的技術(shù)的pe設(shè)備(諸如,pe設(shè)備6a’)的實(shí)例。在該實(shí)例中,pe設(shè)備6a’包括經(jīng)由進(jìn)入鏈路90a-90n(“進(jìn)入鏈路90”)接收數(shù)據(jù)包并且經(jīng)由外出鏈路92a-92n(“外出鏈路92”)發(fā)送數(shù)據(jù)包的接口卡88a-88n(“ifc88”)。ifc88通常經(jīng)由大量接口端口耦合至鏈路90、92。pe設(shè)備6a’還包括確定所接收數(shù)據(jù)包的路由并且經(jīng)由ifc88相應(yīng)地轉(zhuǎn)發(fā)數(shù)據(jù)包的控制單元82。盡管關(guān)于pe設(shè)備6a’作為例子進(jìn)行了描述,但根據(jù)圖2的實(shí)例,任何pe設(shè)備6可以操作。
在圖2的實(shí)例中,控制單元82包括路由引擎84(控制平面),其配置并控制通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)引擎86(數(shù)據(jù)平面)應(yīng)用的數(shù)據(jù)包轉(zhuǎn)發(fā)操作。路由引擎84作為pe設(shè)備6a’的控制平面操作并且包括提供用于執(zhí)行大量并發(fā)進(jìn)程的多任務(wù)操作環(huán)境的操作系統(tǒng)。即,路由引擎84提供用于執(zhí)行各種協(xié)議97的操作環(huán)境,各種協(xié)議可包括具有由計(jì)算環(huán)境執(zhí)行的指令的軟件處理。如以下更詳細(xì)地描述的,協(xié)議97提供了用于以路由表或其他結(jié)構(gòu)的形式存儲(chǔ)網(wǎng)絡(luò)拓?fù)?、?zhí)行路由協(xié)議以與對(duì)等路由設(shè)備通信并且維持和更新路由表、以及提供管理界面以允許用戶(hù)接入和配置路由器80的控制平面功能。控制單元82提供路由引擎84的操作環(huán)境并且可以?xún)H僅實(shí)現(xiàn)為軟件、或硬件、或可以被實(shí)現(xiàn)為軟件、硬件或固件的組合。比如,控制單元82可包括執(zhí)行軟件指令的一個(gè)或多個(gè)處理器。在那種情況下,路由引擎84可以包括各種軟件模塊或守護(hù)程序(daemon,端口監(jiān)督程序)(例如,一個(gè)或多個(gè)路由協(xié)議進(jìn)程、用戶(hù)界面等等),并且控制單元82可以包括用于存儲(chǔ)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),諸如,計(jì)算機(jī)存儲(chǔ)器或硬盤(pán)。
在圖2的實(shí)例中,協(xié)議97包括邊界網(wǎng)關(guān)協(xié)議(bgp)61,用于將路由信息與其他路由設(shè)備交換并用于更新路由信息94。協(xié)議97還可以包括用于經(jīng)由標(biāo)簽交換路徑在網(wǎng)絡(luò)3中用隧道發(fā)送數(shù)據(jù)包的多協(xié)議標(biāo)簽交換協(xié)議(mpls)62。此外,路由引擎84執(zhí)行pbb協(xié)議63以便實(shí)現(xiàn)提供方骨干橋接,諸如,在ieee802.1ah-2008,供方骨干橋接,2008年6月中描述的技術(shù),通過(guò)引證將其全部?jī)?nèi)容結(jié)合于此。例如,pbb協(xié)議63提供包括pbb配置信息的控制平面消息的交換,諸如,宣布b-mac地址。根據(jù)技術(shù),pbb協(xié)議63利用轉(zhuǎn)發(fā)結(jié)構(gòu)配置轉(zhuǎn)發(fā)信息96以在將數(shù)據(jù)包注入到pbb-evpn23中時(shí)引導(dǎo)轉(zhuǎn)發(fā)引擎86利用pbb報(bào)頭(諸如,源和目的地b-mac地址)封裝網(wǎng)絡(luò)數(shù)據(jù)包并在從pbb-evpn接收它們時(shí)解封裝數(shù)據(jù)包。此外,路由引擎84執(zhí)行evpn協(xié)議64,evpn協(xié)議操作以與其他路由器通信以建立并且維持evpn,用于通過(guò)中間網(wǎng)絡(luò)傳輸l2通信從而通過(guò)中間網(wǎng)絡(luò)邏輯地?cái)U(kuò)展以太網(wǎng)網(wǎng)絡(luò)。evpn協(xié)議64可以根據(jù)在“bgpmpls-basedethernetvpn”,rfc7432,2015年2月,中描述的技術(shù)操作,通過(guò)引證將其全部?jī)?nèi)容結(jié)合于此。
通常,路由協(xié)議97以描述網(wǎng)絡(luò)的拓?fù)涞穆酚尚畔?kù)(rib)的形式維護(hù)路由信息94,并且根據(jù)路由信息導(dǎo)出轉(zhuǎn)發(fā)信息96。通常,路由信息94表示網(wǎng)絡(luò)的總體拓?fù)?,包括用于通過(guò)pbb-evpn23傳輸數(shù)據(jù)包的重疊lsp路徑。協(xié)議97基于pe設(shè)備6a’收到的路由協(xié)議消息更新路由信息94。路由信息94可以包括定義網(wǎng)絡(luò)的拓?fù)涞男畔?,包括一個(gè)或多個(gè)路由表和/或鏈路狀態(tài)數(shù)據(jù)庫(kù)。通常,路由信息通過(guò)經(jīng)由距離向量路由協(xié)議(例如,bgp)獲知的網(wǎng)絡(luò)中的到目的地/前綴的網(wǎng)絡(luò)定義路由(即,下一跳系列)或者利用使用鏈路狀態(tài)路由協(xié)議(例如,is-is或ospf)獲知的相互連接的鏈路定義網(wǎng)絡(luò)拓?fù)?。相反,基于網(wǎng)絡(luò)中某些路由的選擇生成轉(zhuǎn)發(fā)信息86,并將數(shù)據(jù)包密鑰信息(例如,例如,l2/l3源和目的地址以及來(lái)自數(shù)據(jù)包報(bào)頭的其他選擇信息)映射至轉(zhuǎn)發(fā)信息96中的一個(gè)或多個(gè)特定下一跳轉(zhuǎn)發(fā)結(jié)構(gòu)并最終映射至ifc88的一個(gè)或多個(gè)特定輸出接口端口。路由引擎84可以以具有表示網(wǎng)絡(luò)中的目的地的葉節(jié)點(diǎn)的基數(shù)樹(shù)(radixtree)的形式生成轉(zhuǎn)發(fā)信息96。在美國(guó)專(zhuān)利7,184,437中提供了利用基數(shù)樹(shù)的路由器的示例性實(shí)施方式的示例性細(xì)節(jié),通過(guò)引證將其全部?jī)?nèi)容結(jié)合于此。
如本文中描述的,路由引擎84與其他路由器通信以建立并維護(hù)pbb-evpn(諸如,pbb-evpn23)用于通過(guò)網(wǎng)絡(luò)傳送通信以便通過(guò)中間網(wǎng)絡(luò)延伸以太網(wǎng)網(wǎng)絡(luò)。路由引擎84可以例如與在遠(yuǎn)程路由器上執(zhí)行的pbb-evpn協(xié)議通信以建立用于通過(guò)pbb-evpn傳輸數(shù)據(jù)包的隧道(例如,lsp或gre隧道)。因此,路由信息94包括用于接口于pbb-evpn以及客戶(hù)網(wǎng)絡(luò)的路由信息,諸如,服務(wù)標(biāo)識(shí)符(i-sid)信息、客戶(hù)虛擬局域網(wǎng)(c-vlan)信息、以及服務(wù)虛擬局域網(wǎng)(s-vlan)信息。此外,路由引擎84維護(hù)pe設(shè)備6a’的控制平面中的骨干mac(b-mac)地址表(例如,如圖4c所示),其中,b-mac表包括一個(gè)或多個(gè)b-mac地址76作為密鑰和對(duì)應(yīng)于b-mac地址的以太網(wǎng)段中包含的pe設(shè)備的標(biāo)識(shí)符列表。路由信息94可以包括pe設(shè)備6a’的b-mac地址和pe設(shè)備6a的b-mac地址,以及有關(guān)與b-mac地址相關(guān)聯(lián)的本地接口的信息。
當(dāng)實(shí)現(xiàn)pbb-evpn時(shí),由于數(shù)據(jù)包被轉(zhuǎn)發(fā),pe設(shè)備6a執(zhí)行數(shù)據(jù)平面(即,轉(zhuǎn)發(fā)引擎86中)中的l2客戶(hù)mac(c-mac)學(xué)習(xí)。以這種方式,通常不會(huì)通過(guò)網(wǎng)絡(luò)3由控制平面mac通告路由來(lái)分配c-mac地址。相反,可以通過(guò)與遠(yuǎn)程pe設(shè)備交換包含b-mac地址的bgp消息在控制平面中執(zhí)行l(wèi)2b-mac學(xué)習(xí)。pbb協(xié)議63在轉(zhuǎn)發(fā)引擎86中配置轉(zhuǎn)發(fā)信息96以便在轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí)實(shí)現(xiàn)提供方骨干橋接。例如,pbb協(xié)議63將如在b-mac表中記錄的用于pbb的b-mac地址傳送至轉(zhuǎn)發(fā)引擎86以便配置轉(zhuǎn)發(fā)信息96。以此方式,可使用每個(gè)隧道及輸出接口與經(jīng)由那些隧道可達(dá)到的特定源b-mac地址之間的關(guān)聯(lián)性來(lái)編程轉(zhuǎn)發(fā)引擎86。
如以上說(shuō)明的,轉(zhuǎn)發(fā)信息96使網(wǎng)絡(luò)目的地與特定下一跳和相應(yīng)的ifc88和用于輸出鏈路92的物理輸出端口相關(guān)聯(lián)。此外,轉(zhuǎn)發(fā)信息96可以指定操作(諸如,用pbb-evpn標(biāo)簽封裝或者解封裝數(shù)據(jù)包)以在將數(shù)據(jù)包轉(zhuǎn)發(fā)至下一跳時(shí)應(yīng)用。轉(zhuǎn)發(fā)信息96可為編程到專(zhuān)用轉(zhuǎn)發(fā)芯片中的基數(shù)樹(shù)、一系列表、復(fù)雜數(shù)據(jù)庫(kù)、鏈路列表、基數(shù)樹(shù)、數(shù)據(jù)庫(kù)、平面文件或者各種其他數(shù)據(jù)結(jié)構(gòu)。在一些實(shí)例中,轉(zhuǎn)發(fā)引擎86將轉(zhuǎn)發(fā)結(jié)構(gòu)布置為下一跳數(shù)據(jù),下一跳數(shù)據(jù)可沿著網(wǎng)絡(luò)設(shè)備的內(nèi)部數(shù)據(jù)包轉(zhuǎn)發(fā)路徑鏈接在一起作為一系列“跳”。在很多情況下,轉(zhuǎn)發(fā)結(jié)構(gòu)在轉(zhuǎn)發(fā)引擎86中包含的asic的內(nèi)部存儲(chǔ)器中執(zhí)行查找操作,其中,可以用樹(shù)搜索、表(或指數(shù))搜索執(zhí)行查找??捎孟乱惶付ǖ钠渌纠圆僮靼ㄟ^(guò)濾器確定和應(yīng)用、或者速率限制器確定和應(yīng)用。查找操作在查找數(shù)據(jù)結(jié)構(gòu)(例如,查找樹(shù))內(nèi)定位與數(shù)據(jù)包內(nèi)容或者數(shù)據(jù)包或數(shù)據(jù)包流的另一特性匹配的項(xiàng)目,諸如,數(shù)據(jù)包的進(jìn)站接口。根據(jù)asic內(nèi)的下一跳轉(zhuǎn)發(fā)結(jié)構(gòu)定義的操作進(jìn)行數(shù)據(jù)包處理結(jié)果確定從ifc88中的一個(gè)上的輸入接口至ifc88中的一個(gè)上的輸出接口轉(zhuǎn)發(fā)數(shù)據(jù)包或以另外的方式通過(guò)轉(zhuǎn)發(fā)引擎86處理數(shù)據(jù)包的方式。
如圖2中所示,轉(zhuǎn)發(fā)信息96指定好比是網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)的密鑰的密鑰信息(例如,密鑰70,客戶(hù)橋接領(lǐng)域(c-bd)信息71和查找結(jié)構(gòu)72)以在轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)包時(shí)選擇合適的下一跳和相應(yīng)的操作來(lái)應(yīng)用。密鑰70可以包括源骨干媒體訪(fǎng)問(wèn)控制(b-mac)地址、服務(wù)id(i-sid)、服務(wù)供應(yīng)商vlan(s-vlan)、以及客戶(hù)vlan(c-vlan)。根據(jù)本文中描述的技術(shù),轉(zhuǎn)發(fā)信息96可以配置有b-mac地址與以太網(wǎng)段之間的映射或者關(guān)聯(lián),其可以存儲(chǔ)在b-mac表中(例如,如圖4c所示)。密鑰70還包括可以存儲(chǔ)在i-sid表中的i-sid信息,諸如,表示c-mac地址與b-mac地址之間的映射或關(guān)聯(lián)的數(shù)據(jù)(例如,如圖4b所示)。在一個(gè)實(shí)例中,b-mac地址可以是將c-mac地址作為對(duì)應(yīng)值的密鑰。密鑰70還可以包括客戶(hù)vlan(c-vlan)信息和表示客戶(hù)與服務(wù)供應(yīng)商之間的映射或者關(guān)聯(lián)的服務(wù)vlan(s-vlan)信息。
根據(jù)本公開(kāi)的技術(shù),路由引擎84配置轉(zhuǎn)發(fā)引擎86以在pe設(shè)備6a、6a’和6a”通過(guò)共用太網(wǎng)段13a耦合至多宿主客戶(hù)網(wǎng)絡(luò)7a的多宿主pbb-evpn23網(wǎng)絡(luò)中執(zhí)行水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)引擎86應(yīng)用本文中描述的技術(shù)以確保始發(fā)于ce設(shè)備8a并通過(guò)耦合至以太網(wǎng)段的pe設(shè)備6中不同的一個(gè)經(jīng)由太網(wǎng)段13a發(fā)送至pbb-evpn23的數(shù)據(jù)包不被復(fù)制回ce設(shè)備。即,根據(jù)圖2的實(shí)例,pe設(shè)備6a’的轉(zhuǎn)發(fā)引擎86提供水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)以便確保來(lái)自客戶(hù)網(wǎng)絡(luò)的通過(guò)多宿主以太網(wǎng)段的pe設(shè)備中的一個(gè)(例如,pe設(shè)備6a)被注入到pbb-evpn中的數(shù)據(jù)包不會(huì)通過(guò)連接至相同的多宿主以太網(wǎng)段的pe設(shè)備中不同的一個(gè)向客戶(hù)網(wǎng)絡(luò)轉(zhuǎn)發(fā)回來(lái)。具體地,當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),轉(zhuǎn)發(fā)引擎86確定之前在與耦合至以太網(wǎng)段的另一pe設(shè)備的太網(wǎng)段13a相關(guān)聯(lián)的本地接口上是否收到所接收的數(shù)據(jù)包并通過(guò)該pe設(shè)備被轉(zhuǎn)發(fā)至pbb-evpn。響應(yīng)于確定,轉(zhuǎn)發(fā)引擎86在內(nèi)部將與以太網(wǎng)段相關(guān)聯(lián)的本地接口分配為所接收的數(shù)據(jù)包的進(jìn)入接口而不是從pbb-evpn接收數(shù)據(jù)包的面向核心的接口。轉(zhuǎn)發(fā)引擎86然后基于所分配的進(jìn)入接口而不是實(shí)際的進(jìn)入接口應(yīng)用水平分割轉(zhuǎn)發(fā)以便在沒(méi)有轉(zhuǎn)發(fā)所接收的數(shù)據(jù)包的情況下處理所接收的數(shù)據(jù)包。
作為一個(gè)實(shí)例,pe設(shè)備6a’最初可以在接口88a處從pbb-evpn23收封裝的bum業(yè)務(wù)11(例如,如圖4a所示),接口可以是來(lái)自pe設(shè)備6a的面向核心的接口24。轉(zhuǎn)發(fā)引擎86識(shí)別bum業(yè)務(wù)11的mpls報(bào)頭并且可以執(zhí)行mpls查找以通過(guò)根據(jù)mpls協(xié)議62和pbb協(xié)議63解封裝mpls和pbb報(bào)頭確定表下一跳。這時(shí),轉(zhuǎn)發(fā)引擎96執(zhí)行查找操作以將數(shù)據(jù)包(諸如,b-mac、i-sid、c-vlan、以及s-vlan)的內(nèi)部密鑰70與轉(zhuǎn)發(fā)信息96進(jìn)行比較。利用密鑰70,轉(zhuǎn)發(fā)引擎86可以確定之前在與pe設(shè)備6a的太網(wǎng)段13a相關(guān)聯(lián)的本地接口(例如,圖1的鏈路15a)上收到所接收的bum業(yè)務(wù)11并通過(guò)pe設(shè)備6a轉(zhuǎn)發(fā)至pbb-evpn。例如,轉(zhuǎn)發(fā)引擎86可以確定數(shù)據(jù)包包含相同的b-mac和其他信息,例如,分配到用于太網(wǎng)段13a的pe設(shè)備6a’的i-sid。響應(yīng)于確定,轉(zhuǎn)發(fā)引擎86通過(guò)將pe設(shè)備6a’的本地接口(諸如,耦合至以太網(wǎng)段13a的鏈路15a’的接口)分配為pe設(shè)備6a’的進(jìn)入接口修改數(shù)據(jù)包的進(jìn)入接口的轉(zhuǎn)發(fā)引擎86的瀏覽(view)。因此,由轉(zhuǎn)發(fā)引擎86應(yīng)用后續(xù)查找和數(shù)據(jù)包處理操作,就像從耦合至與pe設(shè)備6a’相同的以太網(wǎng)段的pe設(shè)備6a的接口接收數(shù)據(jù)包一樣。
以這種方式,在將數(shù)據(jù)包再分配至與實(shí)際接收的進(jìn)入接口不同的進(jìn)入接口之后,轉(zhuǎn)發(fā)引擎86執(zhí)行數(shù)據(jù)包轉(zhuǎn)發(fā)操作和l2學(xué)習(xí)操作,就像數(shù)據(jù)包從以太網(wǎng)段13a接收的一樣。因此,當(dāng)隨后處理數(shù)據(jù)包時(shí),轉(zhuǎn)發(fā)引擎86通過(guò)更新其內(nèi)部mac表執(zhí)行l(wèi)2mac地址學(xué)習(xí)以通過(guò)連接至以太網(wǎng)段13a的面向客戶(hù)的接口而不是實(shí)際上接收bum業(yè)務(wù)11的面向核心的接口24將bum業(yè)務(wù)11的源客戶(hù)mac地址識(shí)別為可到達(dá)。這可以提供附加的優(yōu)勢(shì),即,pe設(shè)備6a’將所感知的源路徑用作遞送針對(duì)客戶(hù)mac地址的任何返回的業(yè)務(wù)的較短的路線(xiàn)。
此外,轉(zhuǎn)發(fā)引擎86根據(jù)轉(zhuǎn)發(fā)信息96和查找結(jié)構(gòu)72處理數(shù)據(jù)包以選擇向其轉(zhuǎn)發(fā)bum業(yè)務(wù)的一個(gè)或多個(gè)接口。例如,查找結(jié)構(gòu)72可以基于密鑰70和c-bd71將數(shù)據(jù)包映射至下一跳以識(shí)別一個(gè)或多個(gè)輸出接口。轉(zhuǎn)發(fā)信息86中的一個(gè)或多個(gè)下一跳可以被“鏈接”使得一組鏈接的下一跳在執(zhí)行時(shí)執(zhí)行一組相應(yīng)不同的下一跳的操作。這樣的操作的實(shí)例可以包括將一個(gè)或多個(gè)服務(wù)應(yīng)用于數(shù)據(jù)包、丟棄數(shù)據(jù)包、和/或使用接口和/或通過(guò)一個(gè)或多個(gè)下一跳識(shí)別的接口轉(zhuǎn)發(fā)數(shù)據(jù)包。根據(jù)本公開(kāi)的技術(shù),當(dāng)將pe設(shè)備6a’的進(jìn)入接口重新分配到與以太網(wǎng)段13a相關(guān)聯(lián)的本地接口時(shí),pe設(shè)備6a’可以根據(jù)查找結(jié)構(gòu)72確定丟棄數(shù)據(jù)包以防止將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去到達(dá)以太網(wǎng)段13a(例如,鏈路15a’)。例如,pe設(shè)備6a’可以通過(guò)面向核心的接口24從pe設(shè)備6a接收bum業(yè)務(wù)11。pe設(shè)備6a’可以作為de路由器最初設(shè)置為將數(shù)據(jù)包轉(zhuǎn)發(fā)至相同域中所有的ce設(shè)備(例如,8a、8b)。然而,在數(shù)據(jù)包中查找密鑰70可以產(chǎn)生在屬于以太網(wǎng)段13a的pe設(shè)備6a、6a’的所有的接口上相似地配置的相同的b-mac地址(例如,b-mac1)。因此,pe設(shè)備6a’的轉(zhuǎn)發(fā)引擎86修改數(shù)據(jù)包的進(jìn)入接口的瀏覽以看起來(lái)仿佛從以太網(wǎng)段13a的鏈路15a’而非面向核心的接口24收到bum業(yè)務(wù)11。pe路由器6a’的轉(zhuǎn)發(fā)引擎86然后可以根據(jù)轉(zhuǎn)發(fā)信息96(諸如,查找結(jié)構(gòu)72)確定將所接收的bum業(yè)務(wù)11轉(zhuǎn)發(fā)至ce設(shè)備8b且不會(huì)將業(yè)務(wù)轉(zhuǎn)發(fā)回到ce設(shè)備8a。這樣,pe設(shè)備6a’可以提供水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)以便確保來(lái)自客戶(hù)網(wǎng)絡(luò)的通過(guò)多宿主以太網(wǎng)段13a的pe設(shè)備6a注入到pbb-evpn中的數(shù)據(jù)包不會(huì)通過(guò)連接至相同的多宿主以太網(wǎng)段13a向客戶(hù)網(wǎng)絡(luò)轉(zhuǎn)發(fā)回來(lái)。
圖2示出中的pe設(shè)備6a’的架構(gòu)僅僅用于示例性的目的。本發(fā)明并不限于該架構(gòu)。在其他實(shí)例中,可通過(guò)多種方式配置pe設(shè)備6a’。在一個(gè)實(shí)例中,控制單元82的一些功能可以分布在ifc88內(nèi)。在另一實(shí)例中,控制單元82可包括作為從屬路由器操作的多個(gè)數(shù)據(jù)包轉(zhuǎn)發(fā)引擎。
控制單元82可單獨(dú)實(shí)現(xiàn)為軟件、或硬件,或者可實(shí)現(xiàn)為軟件、硬件或固件的結(jié)合。比如,控制單元82可包括執(zhí)行軟件指令的一個(gè)或多個(gè)處理器。在那種情況下,控制單元82的各種軟件模塊可包括存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)(諸如,計(jì)算機(jī)存儲(chǔ)器或硬盤(pán))上的可執(zhí)行指令。
可以硬件、軟件、固件、或者其任意組合實(shí)現(xiàn)此處描述的技術(shù)。描述為模塊、單元或組件的各種特征可一起實(shí)施于集成式邏輯設(shè)備中或單獨(dú)地實(shí)施為離散但可共同操作的邏輯設(shè)備或其他硬件設(shè)備。在一些情況下,電子電路的各種特征可以被實(shí)施為一個(gè)或多個(gè)集成電路設(shè)備,諸如,專(zhuān)用集成電路片或芯片組。
如果在硬件中實(shí)施,本公開(kāi)可以涉及這樣的處理器或者集成電路裝置(諸如,集成電路片或芯片組)的設(shè)備??商鎿Q地或此外,如果在軟件或者固件中實(shí)施,至少部分地通過(guò)計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可以實(shí)現(xiàn)本技術(shù),計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)包括在被執(zhí)行時(shí)使處理器執(zhí)行上述方法中的一個(gè)或多個(gè)的指令。例如,計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可以存儲(chǔ)由處理器執(zhí)行的這樣的指令。
計(jì)算機(jī)可讀介質(zhì)可以構(gòu)成計(jì)算機(jī)程序產(chǎn)品的部分,計(jì)算機(jī)程序產(chǎn)品可以包括封裝材料。計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)介質(zhì),諸如,隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、非易失性隨機(jī)存取存儲(chǔ)器(nvram)、電可擦除編程只讀存儲(chǔ)器(eeprom)、閃存、磁性或光數(shù)據(jù)存儲(chǔ)介質(zhì)等。在一些實(shí)例中,制造品可包括一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
在一些實(shí)例中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可包括非易失性介質(zhì)。術(shù)語(yǔ)“非易失性”可指示存儲(chǔ)介質(zhì)不以載波或者傳播信號(hào)實(shí)現(xiàn)。在某些實(shí)例中,非易失性存儲(chǔ)介質(zhì)可存儲(chǔ)可隨時(shí)間變化的數(shù)據(jù)(例如,在ram或緩存器中)。
代碼或者指令可以是由處理電路執(zhí)行的軟件和/或固件,處理電路包括一個(gè)或多個(gè)處理器,諸如,一個(gè)或多個(gè)數(shù)字信號(hào)處理器(dsp)、通用型微處理器、專(zhuān)用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、或者其他等效集成或離散邏輯電路。因此,如在本文中使用的術(shù)語(yǔ)“處理器”可以參照適于實(shí)施本文中描述的技術(shù)的任何上述結(jié)構(gòu)或者任何其他結(jié)構(gòu)。此外,在某些方面,可以在軟件模塊或硬件模塊內(nèi)提供本公開(kāi)中描述的功能。
圖3是示出了根據(jù)本文中描述的技術(shù)的pe路由器的實(shí)例操作的流程圖。為了示例的目的,關(guān)于圖1的pe設(shè)備6a對(duì)圖3進(jìn)行說(shuō)明。
最初,pe設(shè)備6a可經(jīng)由ce裝置8a最初接收從用戶(hù)網(wǎng)絡(luò)7a產(chǎn)生的bum業(yè)務(wù)11。pe設(shè)備6a(非指定轉(zhuǎn)發(fā)器(non-df)路由器)將bum業(yè)務(wù)11注入到pbb-evpn23中,使得bum業(yè)務(wù)被轉(zhuǎn)發(fā)至包括pe設(shè)備6a’的所有其他pe設(shè)備6。pe設(shè)備中的一個(gè),諸如,圖1和圖2的pe設(shè)備6a’可通過(guò)面向核心的接口24從pbb-evpn內(nèi)的pe設(shè)備6a接收bum業(yè)務(wù)11(301)??杀贿x為指定轉(zhuǎn)發(fā)器(df)的pe設(shè)備6a’可從面向核心的接口24接收封裝的bum業(yè)務(wù)11(例如,圖4a中示出的pbb-evpn報(bào)頭)并且可識(shí)別封裝的bum業(yè)務(wù)內(nèi)的密鑰70(302)。
作為響應(yīng),pe設(shè)備6a’的控制單元82處理所接收的bum業(yè)務(wù)11以選擇bum業(yè)務(wù)11涌入的端口。這樣做,轉(zhuǎn)發(fā)引擎86可從解封裝數(shù)據(jù)包識(shí)別密鑰70,諸如,源骨干媒體訪(fǎng)問(wèn)控制(b-mac)地址、服務(wù)id(i-sid)、服務(wù)運(yùn)營(yíng)商vlan(s-vlan)、以及用戶(hù)vlan(c-vlan)。在一個(gè)實(shí)例中,基于所識(shí)別的密鑰70,pe設(shè)備6a’的轉(zhuǎn)發(fā)引擎86可確定所接收的bum業(yè)務(wù)11通過(guò)以太網(wǎng)段13a的鏈路15a被預(yù)先從pe設(shè)備6a接收并且被轉(zhuǎn)發(fā)到pbb-evpn23中(303)。例如,轉(zhuǎn)發(fā)引擎86可執(zhí)行一個(gè)或多個(gè)表格的查找以將分配到pe設(shè)備6a’的用于具體以太網(wǎng)段的源b-mac地址與所接收的bum業(yè)務(wù)11的b-mac地址進(jìn)行比較。因?yàn)閜e設(shè)備6操作為具有用于以太網(wǎng)段13a的相同b-mac地址的運(yùn)營(yíng)商橋接(providerbridges,提供商橋接),所以b-mac地址與相應(yīng)的s-vlan或者i-sid的匹配將顯示所接收的bum業(yè)務(wù)11通過(guò)以太網(wǎng)段13a的鏈路15a被預(yù)先從pe設(shè)備6a接收,該以太網(wǎng)段13a是與pe設(shè)備6a’的鏈路15a’相關(guān)聯(lián)的相同的以太網(wǎng)段。
響應(yīng)于確定所接收的bum業(yè)務(wù)11被預(yù)先接收在與以太網(wǎng)段13a相關(guān)聯(lián)的本地接口(例如,鏈路15a)上并且通過(guò)pe設(shè)備6a轉(zhuǎn)發(fā)到pbb-evpn23中(304的是),pe設(shè)備6a’將與以太網(wǎng)段13a相關(guān)聯(lián)的本地接口,諸如,耦接至鏈路15a’的接口分配為數(shù)據(jù)包(數(shù)據(jù)包)的進(jìn)入接口(ingressinterface)而不是數(shù)據(jù)包在其上被接收的面向核心的接口24(305)。如上所述,這通過(guò)將pe設(shè)備6a’的本地接口,諸如以太網(wǎng)段13a的鏈路15a’分配為pe設(shè)備6a’的進(jìn)入接口有效地改變通過(guò)轉(zhuǎn)發(fā)引擎86應(yīng)用于數(shù)據(jù)包的任何隨后轉(zhuǎn)發(fā)操作的應(yīng)用。因此,通過(guò)pe設(shè)備6a’的轉(zhuǎn)發(fā)引擎86使用數(shù)據(jù)包的密鑰70應(yīng)用于數(shù)據(jù)包的隨后的查找操作和l2mac地址學(xué)習(xí)操作被實(shí)現(xiàn),恰如數(shù)據(jù)包被直接從以太網(wǎng)段13a接收而不是從pbb-evpn23接收。
轉(zhuǎn)發(fā)引擎86基于所分配的進(jìn)入接口應(yīng)用水平分割轉(zhuǎn)發(fā)規(guī)則以在沒(méi)有將數(shù)據(jù)包轉(zhuǎn)發(fā)至本地接口(例如,鏈路15a’)外到達(dá)將pe設(shè)備6a’耦接至ce裝置8a的以太網(wǎng)段13a的情況下處理所接收的bum業(yè)務(wù)11(306)。在轉(zhuǎn)發(fā)過(guò)程期間,轉(zhuǎn)發(fā)引擎86可基于從數(shù)據(jù)包提取的所識(shí)別的密鑰70從mac表格在客戶(hù)橋接領(lǐng)域(c-bd),諸如與所接收的bum業(yè)務(wù)11相關(guān)聯(lián)的用戶(hù)mac(c-mac)地址上執(zhí)行查找。pe設(shè)備6a’還可根據(jù)b-mac地址密鑰和i-sid密鑰執(zhí)行i-sid表格(例如,如圖4b所示)的查找。pe設(shè)備6a’還可基于諸如c-vlan和s-vlan的密鑰執(zhí)行查找操作以確定用戶(hù)與服務(wù)運(yùn)營(yíng)商之間的映射或者關(guān)聯(lián)。例如,i-sid密鑰的查找可諸如通過(guò)c-mac地址來(lái)識(shí)別與所接收的數(shù)據(jù)包相關(guān)聯(lián)的訂戶(hù)設(shè)備4。此外,基于c-vlan和s-vlan密鑰的查找將產(chǎn)生有關(guān)發(fā)起數(shù)據(jù)包的用戶(hù)網(wǎng)絡(luò)的信息。基于該查找,轉(zhuǎn)發(fā)引擎86選擇輸出接口,如果有的話(huà),將數(shù)據(jù)包轉(zhuǎn)發(fā)至該輸出接口。此時(shí),轉(zhuǎn)發(fā)引擎86應(yīng)用水平分割轉(zhuǎn)發(fā)規(guī)則從該列接口精簡(jiǎn)從此處接收數(shù)據(jù)包的進(jìn)入接口,從而保證數(shù)據(jù)包不被轉(zhuǎn)發(fā)出在其上接收該數(shù)據(jù)包的相同接口。因而,基于所分配的進(jìn)入接口,通過(guò)應(yīng)用水平分割轉(zhuǎn)發(fā)規(guī)則,數(shù)據(jù)包轉(zhuǎn)發(fā)引擎86可通過(guò)除了以太網(wǎng)段13a之外的鏈路,諸如以太網(wǎng)段13b將所接收的bum業(yè)務(wù)11轉(zhuǎn)發(fā)至耦接至pe設(shè)備6a’的不同ce裝置(例如,ce裝置8b),或者可丟棄該數(shù)據(jù)包。此外,如本文中所描述的,通過(guò)在某些情況下重新分配進(jìn)入接口,pe設(shè)備6a’可提供水平分割數(shù)據(jù)包轉(zhuǎn)發(fā)以便保證通過(guò)多宿主以太網(wǎng)段13a的pe設(shè)備6a注入到pbb-evpn的來(lái)自用戶(hù)網(wǎng)絡(luò)的數(shù)據(jù)包沒(méi)有通過(guò)連接至相同的多宿主以太網(wǎng)段13a的pe設(shè)備6a’向著用戶(hù)網(wǎng)絡(luò)轉(zhuǎn)發(fā)回來(lái)。
進(jìn)一步地,當(dāng)處理數(shù)據(jù)包時(shí),轉(zhuǎn)發(fā)引擎86通過(guò)利用可達(dá)到性信息更新mac地址表格來(lái)執(zhí)行l(wèi)2mac地址學(xué)習(xí)。因而,將本地接口分配為進(jìn)入接口(305)具有的益處在于:如通過(guò)與pe設(shè)備6a’的以太網(wǎng)段13a相關(guān)聯(lián)的本地接口(例如,鏈路15a’),即,直接通過(guò)以太網(wǎng)段13a而不是通過(guò)pbb-evpn23可達(dá)到的,更新pe設(shè)備6a’的mac表格以識(shí)別所接收的bum業(yè)務(wù)11的源用戶(hù)mac地址。這使pe路由器6a’能夠在沒(méi)有將返回業(yè)務(wù)轉(zhuǎn)發(fā)至pbb-evpn23的情況下將任何返回業(yè)務(wù)轉(zhuǎn)發(fā)到本地接口外到達(dá)將pe設(shè)備6a’耦接至ce裝置8a的以太網(wǎng)段13a,諸如鏈路15a’。
圖4a–圖4c是示出了本公開(kāi)內(nèi)容的技術(shù)可以分別利用的實(shí)例pbb-evpn封裝數(shù)據(jù)包、實(shí)例i-sid表格和實(shí)例b-mac表格的實(shí)例框圖。
例如,圖4a是示出了用于包括pbb-evpn報(bào)頭和l2有效載荷的pbbevpn數(shù)據(jù)包(例如,封裝bum業(yè)務(wù)11)的實(shí)例數(shù)據(jù)包格式的框圖。如圖4a所示,pbb-evpn報(bào)頭400包括外部輸送標(biāo)簽401和內(nèi)部mpls服務(wù)標(biāo)簽402。mpls服務(wù)標(biāo)簽402可以是evpn實(shí)例(evi)內(nèi)唯一標(biāo)識(shí)圖1的pe設(shè)備6a的mpls標(biāo)簽。例如,pe設(shè)備6a可將mpls服務(wù)標(biāo)簽402通告給相同evi中的其他pe設(shè)備(例如,pe設(shè)備6a’、6a”)。外部輸送標(biāo)簽401可以是通過(guò)遠(yuǎn)離pe設(shè)備6a(諸如pe設(shè)備6a’)一跳(onehop)的網(wǎng)絡(luò)3中的運(yùn)營(yíng)商路由器通告的mpls標(biāo)簽。pbb-evpn報(bào)頭400包括密鑰70,諸如,目標(biāo)b-mac地址403和源b-mac地址404。例如,當(dāng)將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送至pe設(shè)備6a’時(shí),pe設(shè)備6a可包括b-mac2的目標(biāo)地址403和b-mac1的源地址404。
pbb-evpn報(bào)頭400還包括以太類(lèi)型405和服務(wù)id(i-sid)406。以太類(lèi)型405可以是表示數(shù)據(jù)包,即,pbb-evpn數(shù)據(jù)包的類(lèi)型的唯一值。i-sid406可以是pbbb-服務(wù)實(shí)例的標(biāo)識(shí)符,諸如,前述b-mac1和b-mac2地址。pbb-evpn報(bào)頭400還包括目標(biāo)c-mac地址407和源c-mac地址408。在一個(gè)實(shí)例中,當(dāng)pe設(shè)備6a將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送至pe設(shè)備6a’時(shí),目標(biāo)c-mac地址407可以是訂戶(hù)設(shè)備4b的c-mac地址并且源c-mac408可以是訂戶(hù)設(shè)備4a的c-mac地址。
當(dāng)pe設(shè)備6a’從pe設(shè)備6a接收pbb-evpn報(bào)頭400時(shí),pe設(shè)備6a’可使數(shù)據(jù)包解封裝以確定源b-mac地址403和目標(biāo)b-mac地址404。如上所述,這反過(guò)來(lái)使pe設(shè)備6a’能夠查找b-mac路由表以確定與所接收的數(shù)據(jù)包相關(guān)聯(lián)的以太網(wǎng)段標(biāo)識(shí)符(esi)。此外,pe設(shè)備6a’可使數(shù)據(jù)包解封裝以確定i-sid(406)信息。如上所述,這反過(guò)來(lái)使pe設(shè)備6a’能夠查找i-sid表格以確定b-mac地址與源c-mac地址之間的關(guān)聯(lián)。
圖4b是示出了由諸如pe設(shè)備6a’的pe設(shè)備的轉(zhuǎn)發(fā)引擎保持的實(shí)例i-sid表格410的框圖。例如,轉(zhuǎn)發(fā)引擎86可由路由引擎84進(jìn)行編程以存儲(chǔ)i-sid表格410,當(dāng)將數(shù)據(jù)包處理為使數(shù)據(jù)包幀的用戶(hù)mac地址與數(shù)據(jù)包幀的運(yùn)營(yíng)商服務(wù)實(shí)例關(guān)聯(lián)時(shí),轉(zhuǎn)發(fā)引擎86利用該i-sid表格410。換言之,i-sid限定數(shù)據(jù)包幀被映射至的服務(wù)實(shí)例。i-sid表格410可包括c-mac地址和b-mac地址對(duì)。例如,i-sid表格410的條目413可包括ce裝置8a的c-mac地址(411)和b-mac1的相關(guān)b-mac地址(412)。pe設(shè)備6a’可利用i-sid表格410以相應(yīng)地映射并關(guān)聯(lián)數(shù)據(jù)包。
圖4c示出了由諸如pe設(shè)備6a’的pe設(shè)備的轉(zhuǎn)發(fā)引擎保持的實(shí)例b-mac表格420。例如,轉(zhuǎn)發(fā)引擎86可由路由引擎84進(jìn)行編程以存儲(chǔ)b-mac表格420,該b-mac表格420包括用于以太網(wǎng)段標(biāo)識(shí)符(esi)值、b-mac地址和vpn的條目。例如,條目424可包括esi值421。在一個(gè)實(shí)例中,esi值421是以太網(wǎng)段13a的唯一標(biāo)識(shí)符,諸如,表示多宿主連接的非零esi值和/或表示單宿主連接的零esi值。在這種情況下,pe設(shè)備6a’可包括分離的數(shù)據(jù)結(jié)構(gòu),該分離的數(shù)據(jù)結(jié)構(gòu)包括與包括以太網(wǎng)段13a中包括的pe設(shè)備的標(biāo)識(shí)符的列表相關(guān)聯(lián)的esi值421。在另一實(shí)例中,esi值421是指向以太網(wǎng)段13a中包括的pe設(shè)備的一列標(biāo)識(shí)符的指針或引用。以太網(wǎng)段13a中包括的pe設(shè)備的標(biāo)識(shí)符可包括ip地址、mac地址、由相應(yīng)的pe設(shè)備通告的mpls標(biāo)簽、或者用于識(shí)別pe設(shè)備的任何其他合適的標(biāo)識(shí)符。條目424還可包括b-mac1423,這是與以太網(wǎng)段13a相關(guān)聯(lián)的b-mac地址。因?yàn)閎-mac1包括在與esi值421相同的條目424中,b-mac1與以太網(wǎng)段13a中包括的pe設(shè)備相關(guān)聯(lián),并且更一般地說(shuō),與以太網(wǎng)段13a相關(guān)聯(lián)。條目424可進(jìn)一步包括路由器目標(biāo)422以保持相同路由中的唯一性。
在一個(gè)實(shí)例中,根據(jù)本公開(kāi)內(nèi)容的技術(shù),pe設(shè)備6a可將可采用pbb-evpn數(shù)據(jù)包400的形式的bum業(yè)務(wù)11注入到pbb-evpn23中。pe設(shè)備6a’經(jīng)由諸如ifc88中的一個(gè)的面向核心的接口24從pe設(shè)備6a接收bum業(yè)務(wù)11。pe設(shè)備6a’的轉(zhuǎn)發(fā)引擎86可執(zhí)行查找操作以確定下一跳。pe設(shè)備6a’可識(shí)別與所接收的bum業(yè)務(wù)11相關(guān)聯(lián)的密鑰70。pe設(shè)備6a’可基于所識(shí)別的密鑰70執(zhí)行查找操作,諸如,b-mac路由表格420和i-sid表格410的查找。例如,b-mac路由表格420的查找使pe設(shè)備6a’能夠確定條目424包括b-mac1。pe設(shè)備6a’可從b-mac1與以太網(wǎng)段13a的標(biāo)識(shí)符之間的假頻數(shù)據(jù)(aliasingdata,混疊數(shù)據(jù))進(jìn)一步確定b-mac1與以太網(wǎng)段13a相關(guān)聯(lián)。pe設(shè)備6a’然后可在用戶(hù)網(wǎng)橋域(c-bd)上執(zhí)行查找以確定與b-mac1地址相關(guān)聯(lián)的c-mac地址。例如,pe設(shè)備6a’可查找i-sid表格410以根據(jù)條目413確定b-mac1地址與ce裝置8a的具體的c-mac地址是相關(guān)聯(lián)的。
本文中描述的技術(shù)可以硬件、軟件、固件、或者其任意組合實(shí)現(xiàn)。如模塊、單元或者部件所描述的各種特征可一起在集成邏輯裝置中實(shí)現(xiàn)或者如非連續(xù)的但是可互操作邏輯裝置或者其他硬件裝置分開(kāi)實(shí)現(xiàn)。在一些情況下,電子電路的各種特征可實(shí)現(xiàn)為一個(gè)或多個(gè)集成電路裝置,諸如,集成電路片或者芯片組。
如果在硬件中實(shí)現(xiàn),則本公開(kāi)內(nèi)容可指向諸如處理器或者集成電路裝置的設(shè)備,該集成電路裝置諸如集成電路片或者芯片組。可替換地或者此外,如果在軟件或者固件中實(shí)現(xiàn),通過(guò)包括指令的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可至少部分地實(shí)現(xiàn)該技術(shù),當(dāng)執(zhí)行時(shí),該指令使處理器執(zhí)行上述一個(gè)或多個(gè)方法。例如,計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可存儲(chǔ)用于通過(guò)處理器執(zhí)行的這種指令。
計(jì)算機(jī)可讀介質(zhì)可形成計(jì)算機(jī)程序產(chǎn)品的一部分,該計(jì)算機(jī)程序產(chǎn)品可包括包裝材料。計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)介質(zhì),諸如,隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、非易失性隨機(jī)存取存儲(chǔ)器(nvram)、電可擦可編程只讀存儲(chǔ)器(eeprom)、閃速存儲(chǔ)器、磁性的或者光學(xué)的數(shù)據(jù)存儲(chǔ)介質(zhì)等。在一些實(shí)例中,制造商品可包括一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
在一些實(shí)例中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可包括非易失性介質(zhì)。術(shù)語(yǔ)“非易失性”可指示存儲(chǔ)介質(zhì)不以載波或者傳播信號(hào)實(shí)現(xiàn)。在某些實(shí)例中,非易失性存儲(chǔ)介質(zhì)可存儲(chǔ)可隨時(shí)間變化的數(shù)據(jù)(例如,在ram或緩存器中)。
代碼或者指令可以是通過(guò)包括一個(gè)或多個(gè)處理器的處理電路執(zhí)行的軟件和/或固件,該處理器諸如一個(gè)或多個(gè)數(shù)字信號(hào)處理器(dspd)、通用微處理器、專(zhuān)用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)或者其他等效的集成或者離散邏輯電路。因此,如本文中使用的術(shù)語(yǔ)“處理器”可指的是任何上述結(jié)構(gòu)或者適用于實(shí)現(xiàn)本文中描述的技術(shù)的任何其他結(jié)構(gòu)。此外,在某些方面,本公開(kāi)內(nèi)容中描述的功能可設(shè)置在軟件模塊或者硬件模塊內(nèi)。
除了以上之外或者作為可替代的,描述以下實(shí)例。任何本文中描述的其他實(shí)例可利用在任何以下實(shí)例中描述的特征。
實(shí)例1.一種方法,包括:通過(guò)第一運(yùn)營(yíng)商邊緣(pe)裝置并且從實(shí)現(xiàn)運(yùn)營(yíng)商骨干橋接以太網(wǎng)虛擬專(zhuān)用網(wǎng)絡(luò)(pbb-evpn)的第二pe設(shè)備經(jīng)由第一pe設(shè)備的面向核心的接口接收數(shù)據(jù)包,其中,第一pe設(shè)備和第二pe設(shè)備通過(guò)以太網(wǎng)段耦接至多宿主用戶(hù)邊緣(ce)裝置,并且其中,第一pe設(shè)備已經(jīng)當(dāng)選為用于將數(shù)據(jù)包通過(guò)以太網(wǎng)段從pbb-evpn轉(zhuǎn)發(fā)至ce裝置的指定轉(zhuǎn)發(fā)器;通過(guò)第一pe設(shè)備確定所接收的數(shù)據(jù)包被先前接收在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中;響應(yīng)于確定所接收的數(shù)據(jù)包被先前接收在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中,將與以太網(wǎng)段相關(guān)聯(lián)的第一pe路由器的本地接口分配為所接收的數(shù)據(jù)包的進(jìn)入接口而不是數(shù)據(jù)包在其上被從pbb-evpn接收的第一pe設(shè)備的面向核心的接口;并且基于所分配的進(jìn)入接口,在沒(méi)有向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去的情況下,應(yīng)用水平分割轉(zhuǎn)發(fā)以處理所接收的數(shù)據(jù)包。
實(shí)例2.根據(jù)實(shí)例1的方法,其中,確定所接收的數(shù)據(jù)包被先前接收在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中包括基于所接收的數(shù)據(jù)包的一個(gè)或多個(gè)密鑰執(zhí)行查找操作以確定密鑰是否將所接收的數(shù)據(jù)包從第二pe設(shè)備的本地接口映射至第一pe設(shè)備的本地接口。
實(shí)例3.根據(jù)實(shí)例2的方法,其中,第一pe設(shè)備和第二pe設(shè)備被分配公共橋接媒體訪(fǎng)問(wèn)控制(b-mac)地址,并且其中,所接收的數(shù)據(jù)包的一個(gè)或多個(gè)密鑰包括用于數(shù)據(jù)包的源b-mac地址以及以下中的至少一個(gè):服務(wù)標(biāo)識(shí)符(i-sid)、用戶(hù)虛擬局域網(wǎng)(c-vlan)和服務(wù)虛擬局域網(wǎng)(s-vlan)。
實(shí)例4.根據(jù)實(shí)例3的方法,其中,確定所接收的數(shù)據(jù)包被先前接收在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中包括:將所接收的數(shù)據(jù)包的源b-mac地址與分配到第一pe設(shè)備的公共b-mac地址進(jìn)行比較,其中,b-mac地址的匹配表示所接收的數(shù)據(jù)包被先前接收在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中。
實(shí)例5.根據(jù)實(shí)例1的方法,其中,將與以太網(wǎng)段相關(guān)聯(lián)的第一pe路由器的本地接口分配為所接收的數(shù)據(jù)包的進(jìn)入接口而不是數(shù)據(jù)包在其上被從pbb-evpn接收的第一pe設(shè)備的面向核心的接口包括:更新第一pe設(shè)備的媒體訪(fǎng)問(wèn)控制(mac)表格以便將所接收的數(shù)據(jù)包的源用戶(hù)mac地址識(shí)別為通過(guò)與第一pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口可達(dá)到。
實(shí)例6.根據(jù)實(shí)例1的方法,其中,在沒(méi)有向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去的情況下應(yīng)用水平分割轉(zhuǎn)發(fā)以處理所接收的數(shù)據(jù)包包括:通過(guò)除了以太網(wǎng)段之外的鏈路將所接收的數(shù)據(jù)包轉(zhuǎn)發(fā)至耦接至第一pe設(shè)備的不同的ce裝置。
實(shí)例7.根據(jù)實(shí)例6所述的方法,進(jìn)一步包括:通過(guò)第一pe設(shè)備通過(guò)除了以太網(wǎng)段之外的鏈路從耦接至第一pe設(shè)備的不同的ce裝置接收返回的業(yè)務(wù);并且在沒(méi)有將返回業(yè)務(wù)轉(zhuǎn)發(fā)至pbb-evpn的情況下,向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段將返回業(yè)務(wù)從本地接口轉(zhuǎn)發(fā)出去。
實(shí)例8.根據(jù)實(shí)例1的方法,其中,在沒(méi)有向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去的情況下,應(yīng)用水平分割轉(zhuǎn)發(fā)以處理所接收的數(shù)據(jù)包包括:丟棄所接收的數(shù)據(jù)包以防止向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去。
實(shí)例9.一種運(yùn)營(yíng)商邊緣(pe)裝置包括:路由部件,具有耦接至存儲(chǔ)器的至少一個(gè)處理器,其中,路由部件執(zhí)行被配置為與一個(gè)或多個(gè)其他pe設(shè)備建立運(yùn)營(yíng)商骨干橋接以太網(wǎng)虛擬專(zhuān)用網(wǎng)絡(luò)(pbb-evpn)的軟件;面向核心的接口,從pbb-evpn接收數(shù)據(jù)包;本地接口,通過(guò)以太網(wǎng)段將pe設(shè)備連接至用戶(hù)邊緣(ce)裝置,其中,ce裝置通過(guò)以太網(wǎng)段被多宿主為pe設(shè)備的第二pe設(shè)備,并且其中,pe設(shè)備已經(jīng)當(dāng)選為用于將數(shù)據(jù)包通過(guò)以太網(wǎng)段從pbb-evpn轉(zhuǎn)發(fā)至ce裝置的指定轉(zhuǎn)發(fā)器;轉(zhuǎn)發(fā)組件被配置為:響應(yīng)于確定從面向核心的接口接收的數(shù)據(jù)包由第二pe設(shè)備通過(guò)以太網(wǎng)段被先前從ce裝置接收并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中,將與以太網(wǎng)段相關(guān)聯(lián)的pe設(shè)備的本地接口分配為所接收的數(shù)據(jù)包的進(jìn)入接口而不是數(shù)據(jù)包在其上被從pbb-evpn接收的pe設(shè)備的面向核心的接口;并且基于所分配的進(jìn)入接口,在沒(méi)有向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段將所接收的數(shù)據(jù)包從本地接口轉(zhuǎn)發(fā)出去的情況下,應(yīng)用水平分割轉(zhuǎn)發(fā)以處理所接收的數(shù)據(jù)包。
實(shí)例10.根據(jù)實(shí)例9的裝置,其中,轉(zhuǎn)發(fā)組件被配置為通過(guò)基于所接收的數(shù)據(jù)包的一個(gè)或多個(gè)密鑰執(zhí)行查找操作以確定密鑰是否映射至pe設(shè)備的本地接口來(lái)確定所接收的數(shù)據(jù)包通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中。
實(shí)例11.根據(jù)實(shí)例9的裝置,其中,pe設(shè)備和第二pe設(shè)備被分配公共的橋接媒體訪(fǎng)問(wèn)控制(b-mac)地址,并且
其中,所接收的數(shù)據(jù)包的一個(gè)或多個(gè)密鑰包括用于數(shù)據(jù)包的源b-mac地址以及以下中的至少一個(gè):服務(wù)標(biāo)識(shí)符(i-sid)、用戶(hù)虛擬局域網(wǎng)(c-vlan)和服務(wù)虛擬局域網(wǎng)(s-vlan)。
實(shí)例12.根據(jù)實(shí)例9的裝置,其中,轉(zhuǎn)發(fā)組件被配置為將所接收的數(shù)據(jù)包的源b-mac地址與分配到pe設(shè)備的公共b-mac地址進(jìn)行比較,其中,bmac地址的匹配表示所接收的數(shù)據(jù)包被先前接收在與第二pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口上并且通過(guò)第二pe設(shè)備轉(zhuǎn)發(fā)到pbb-evpn中。
實(shí)例13.根據(jù)實(shí)例9的裝置,其中,轉(zhuǎn)發(fā)組件被配置為更新媒體訪(fǎng)問(wèn)控制(mac)表格以將所接收的數(shù)據(jù)包的源用戶(hù)mac地址識(shí)別為通過(guò)與第一pe設(shè)備的以太網(wǎng)段相關(guān)聯(lián)的本地接口可達(dá)到。
實(shí)例14.根據(jù)實(shí)例9的裝置,其中,轉(zhuǎn)發(fā)組件被配置為將所接收的數(shù)據(jù)包通過(guò)除了以太網(wǎng)段之外的鏈路轉(zhuǎn)發(fā)至耦接至第一pe設(shè)備的不同的ce裝置。
實(shí)例15.根據(jù)實(shí)例14的裝置,其中,轉(zhuǎn)發(fā)組件進(jìn)一步被配置為:通過(guò)除了以太網(wǎng)段之外的鏈路從耦接至第一pe設(shè)備的不同的ce裝置接收返回業(yè)務(wù);并且在沒(méi)有將返回業(yè)務(wù)轉(zhuǎn)發(fā)至pbb-evpn的情況下,將返回業(yè)務(wù)向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段從本地接口轉(zhuǎn)發(fā)出去。
實(shí)例16.根據(jù)實(shí)例9的裝置,其中,轉(zhuǎn)發(fā)組件被配置為丟棄所接收的數(shù)據(jù)包以防止將所接收的數(shù)據(jù)包向著將第一pe設(shè)備耦接至ce裝置的以太網(wǎng)段從本地接口轉(zhuǎn)發(fā)出去。
此外,可將在任何上述實(shí)例中闡述的任何特定特征組合在所描述的技術(shù)的有利實(shí)例中。也就是說(shuō),任何特定特征通??蛇m用于本發(fā)明的所有實(shí)例。已描述了本技術(shù)的各種實(shí)例。這些和其他實(shí)例在所附權(quán)利要求的范圍內(nèi)。