相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2016年1月7日提交的印度專利申請(qǐng)201641000591的權(quán)益,該申請(qǐng)的全部?jī)?nèi)容以引用方式并入本文。
本公開總體上涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地涉及在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)是可以交換數(shù)據(jù)和共享資源的互連計(jì)算設(shè)備的集合。示例網(wǎng)絡(luò)設(shè)備包括在開放系統(tǒng)互連(osi)參考模型的層二(l2)(即數(shù)據(jù)鏈路層)內(nèi)操作的層二設(shè)備以及在osi參考模型的層三(l3)(即網(wǎng)絡(luò)層)內(nèi)操作的層三設(shè)備。計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)設(shè)備通常包括控制單元,其為網(wǎng)絡(luò)設(shè)備和用于路由或交換數(shù)據(jù)單元的轉(zhuǎn)發(fā)組件提供控制平面功能。
以太網(wǎng)虛擬專用網(wǎng)絡(luò)(evpn)可以用于通過中間層三(l3)網(wǎng)絡(luò)(通常被稱為提供方網(wǎng)絡(luò))以透明方式(即猶如中間l3網(wǎng)絡(luò)不存在)擴(kuò)展兩個(gè)或多個(gè)遠(yuǎn)程層二(l2)客戶網(wǎng)絡(luò)。具體地,evpn經(jīng)由中間網(wǎng)絡(luò)在客戶網(wǎng)絡(luò)之間輸送l2通信(諸如以太網(wǎng)數(shù)據(jù)包或“幀”)。在典型的配置中,與客戶網(wǎng)絡(luò)的客戶邊緣(ce)網(wǎng)絡(luò)設(shè)備耦接的提供商邊緣(pe)網(wǎng)絡(luò)設(shè)備(例如,路由器和/或交換機(jī))定義提供商網(wǎng)絡(luò)內(nèi)的標(biāo)簽交換路徑(lsp)(也稱為偽線)以攜帶封裝的l2通信,猶如這些客戶網(wǎng)絡(luò)直接附接到相同局域網(wǎng)(lan)。在一些配置中,pe網(wǎng)絡(luò)設(shè)備還可以通過互聯(lián)網(wǎng)協(xié)議(ip)基礎(chǔ)設(shè)施連接,在這種情況下可以在網(wǎng)絡(luò)設(shè)備之間使用ip/通用路由封裝(gre)隧道或其他ip隧道。
evpn可以與根據(jù)ieee標(biāo)準(zhǔn)802.1ah定義的提供商骨干橋接(pbb)相結(jié)合。pbb定義架構(gòu)和橋接協(xié)議,其中提供商骨干橋接網(wǎng)絡(luò)(pbbn)提供一個(gè)或多個(gè)不同網(wǎng)絡(luò)服務(wù)提供商的多個(gè)提供商橋接網(wǎng)絡(luò)(pbn)之間的l2連接。此類大面積l2網(wǎng)絡(luò)連接性例如正在城域網(wǎng)中部署。每個(gè)pbn提供一個(gè)或多個(gè)服務(wù)虛擬lan(“s-vlans)以服務(wù)l2流量并隔離l2流量與客戶網(wǎng)絡(luò)。用于pbbn的訪問交換機(jī)通常包括互連由多個(gè)pbn支持的s-vlan中的一些或所有的一組骨干邊緣橋接(beb)。每個(gè)beb提供進(jìn)一步封裝用于通過pbbn輸送的l2幀的接口。用于封裝來自pbn的l2幀并通過pbbn輸送l2流量的vlan被稱為骨干vlan(b-vlan),而支持這些vlan的資源通常被認(rèn)為是pbbn的一部分。以這種方式,pbbn可以被稱為在骨干提供商的管理控制下的虛擬橋接局域網(wǎng)。pbb-evpn組合evpn和pbbbeb橋接的功能性,由此使得在evpn中定義的多協(xié)議標(biāo)簽交換(mpls)lsp被映射到pbb封裝的流量。
在evpn中,由pe路由器中的一個(gè)獲悉的客戶媒體訪問控制(c-mac)地址在bgp中通告到在該evpn實(shí)例中的所有其他pe路由器。因此,在evpn內(nèi)的所有pe網(wǎng)絡(luò)設(shè)備暴露于由這些pe網(wǎng)絡(luò)設(shè)備中任一個(gè)獲悉的所有c-mac地址并且必須存儲(chǔ)所有c-mac地址。也就是說,處于這樣一種情況,即使用于該evpn實(shí)例的pe路由器中的一些不涉及轉(zhuǎn)發(fā)至這些c-mac地址的流量或來自這些c-mac地址的流量。即使實(shí)現(xiàn)方式不安裝用于作為該pe上的活動(dòng)流量流的一部分的c-mac地址的硬件轉(zhuǎn)發(fā)條目,但是設(shè)備存儲(chǔ)器仍然由于在路由表(rib)中保持c-mac地址的記錄而得到消耗。在具有數(shù)百萬c-mac地址的網(wǎng)絡(luò)應(yīng)用中,這引入了并非微不足道的pe資源的浪費(fèi)。這樣,提供商骨干橋接(pbb)-evpn被引入以僅將c-mac地址的可見性范圍約束至那些pe路由器,該pe路由器活動(dòng)地參與將流量轉(zhuǎn)發(fā)至這些地址或轉(zhuǎn)發(fā)來自這些地址的流量。
在pbb-evpn中,ieee骨干邊緣橋接(beb)功能性結(jié)合到evpnpe路由器中。mac隧道(mac-in-mac)被用于改進(jìn)服務(wù)實(shí)例和以太網(wǎng)中的mac地址可擴(kuò)展性。pbb-evpn使用pbb的mac-in-mac封裝,將客戶mac地址(c-mac)與骨干mac地址(b-mac)分離。與e-vpn相比,在pbb-evpn中的pe網(wǎng)絡(luò)設(shè)備使用邊界網(wǎng)關(guān)協(xié)議(bgp)以通告b-mac可到達(dá)性,但仍然使用數(shù)據(jù)平面以獲悉遠(yuǎn)程c-mac至遠(yuǎn)程b-mac的綁定。因此,在pbb-evpn中,pe網(wǎng)絡(luò)設(shè)備從ce網(wǎng)絡(luò)設(shè)備接收以太網(wǎng)幀,將它們封裝在包含一個(gè)或多個(gè)b-mac地址的pbb頭部中,并且通過ip/mpls核心轉(zhuǎn)發(fā)該幀。在出口evpnpe網(wǎng)絡(luò)設(shè)備上,在mpls部署后移除pbb頭部,并且原始以太網(wǎng)幀傳送到目的地ce網(wǎng)絡(luò)設(shè)備。因此,由每個(gè)pe路由器存儲(chǔ)的mac地址的數(shù)量可以減少至直接連接到一個(gè)以太網(wǎng)段的pe路由器的c-mac地址的數(shù)量。該數(shù)量通常比evpn中的每個(gè)pe路由器必須存儲(chǔ)的c-mac地址的數(shù)量小得多。pbb-evpn實(shí)現(xiàn)方式的另外示例在2015年9月的互聯(lián)網(wǎng)工程任務(wù)組(ietf),rfc7623的《與以太網(wǎng)vpn(pbb-evpn)結(jié)合的提供商骨干橋接》(providerbackbonebridgingcombinedwithethernetvpn(pbb-evpn),rfc7623,internetengineeringtaskforce(ietf),september,2015)內(nèi)有所描述,其全部?jī)?nèi)容通過引用并入本文。
在被稱為全活動(dòng)模式的evpn配置中,以太網(wǎng)段包括多個(gè)pe網(wǎng)絡(luò)設(shè)備,其提供用于包括一個(gè)或多個(gè)本地客戶設(shè)備的第一客戶網(wǎng)絡(luò)的多宿主連接性。然而,在多個(gè)pe網(wǎng)絡(luò)設(shè)備中的第一pe對(duì)于第二客戶網(wǎng)絡(luò)是單宿主的并且至少第二pe遠(yuǎn)離第二客戶網(wǎng)絡(luò)的情況下,會(huì)出現(xiàn)低效率。因?yàn)榈诙e路由器遠(yuǎn)離第二客戶網(wǎng)絡(luò),所以它可永遠(yuǎn)不會(huì)獲悉第二客戶網(wǎng)絡(luò)上的客戶設(shè)備的c-mac地址。因此,它必須將廣播、未知單播和組播(bum)流量發(fā)布到在網(wǎng)絡(luò)上的每個(gè)設(shè)備,以轉(zhuǎn)發(fā)去往第二客戶網(wǎng)絡(luò)上的客戶設(shè)備的所接收的任何消息。這在即使客戶設(shè)備可在相同以太網(wǎng)段上從第一pe路由器能夠到達(dá)的情況下也會(huì)發(fā)生。
技術(shù)實(shí)現(xiàn)要素:
總體上,本公開描述了用于避免由于pbb-evpn活動(dòng)-活動(dòng)以太網(wǎng)段內(nèi)的非對(duì)稱mac獲悉的流量泛洪的技術(shù)。本文描述的技術(shù)使得包括在pbb-evpn的以太段中的特定pe路由器能夠通過bgp將用于b-mac路由的擴(kuò)展組發(fā)送至相同以太網(wǎng)段上的遠(yuǎn)程pe路由器,以通過pe路由器向遠(yuǎn)程pe路由器通知特定c-mac地址的可到達(dá)性。本文描述的技術(shù)可以在用于活動(dòng)-活動(dòng)以太網(wǎng)段的遠(yuǎn)程pe路由器處提供用于c-mac地址可到達(dá)性的控制平面解決方案。因此,因?yàn)樗卸嗨拗鞯倪h(yuǎn)程pe路由器可以通過本地pe路由器獲悉c-mac地址的可到達(dá)性,所以可以避免針對(duì)多宿主的負(fù)載平衡流量的泛洪。
例如,在具有單宿主到第一pe路由器的第一ce網(wǎng)絡(luò)和多宿主到第一pe路由器和第二pe路由器的第二ce網(wǎng)絡(luò)的pbb-evpn中,其中第一pe路由器和第二pe路由器在相同以太網(wǎng)段內(nèi)并且第二pe路由器遠(yuǎn)離第一ce網(wǎng)絡(luò),mac獲悉的非對(duì)稱性可以在第一pe路由器和第二pe路由器之間發(fā)生。在常規(guī)設(shè)備中,每個(gè)pe路由器可以僅通過其數(shù)據(jù)平面獲悉用于客戶端設(shè)備的c-mac。這可增加網(wǎng)絡(luò)內(nèi)的bum流量。
假設(shè)第一ce網(wǎng)絡(luò)上的第一客戶端設(shè)備希望與第二客戶端網(wǎng)絡(luò)上的第二客戶端設(shè)備通信。第一客戶端設(shè)備可以將消息傳輸?shù)降谝籧e路由器,其將消息轉(zhuǎn)發(fā)到第一pe路由器。第一pe路由器可以通過其數(shù)據(jù)平面獲悉第一客戶端設(shè)備的c-mac,并將該消息轉(zhuǎn)發(fā)到第二客戶端網(wǎng)絡(luò)上的第二ce路由器以便轉(zhuǎn)發(fā)到第二客戶端設(shè)備。如果第二客戶端設(shè)備做出響應(yīng),則第二客戶端網(wǎng)絡(luò)上的第二ce路由器可以在第一pe路由器和第二pe路由器之間對(duì)消息進(jìn)行負(fù)載平衡。如果第一pe路由器接收了消息,則其可以將單播流量直接傳輸?shù)降谝豢蛻舳司W(wǎng)絡(luò)上的第一ce路由器,因?yàn)榈谝籶e路由器已經(jīng)獲悉了第一客戶端設(shè)備的c-mac地址。然而,因?yàn)榈诙e路由器遠(yuǎn)離第一客戶端網(wǎng)絡(luò),所以第二pe路由器可能永遠(yuǎn)不會(huì)獲悉第一客戶端設(shè)備的c-mac地址。因此,每當(dāng)去往第一客戶端設(shè)備的消息被負(fù)載平衡到第二pe路由器時(shí),第二pe路由器必須將作為bum流量的消息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上的所有已知pe路由器和ce路由器。即使第一客戶端設(shè)備通過與第二pe路由器相同的以太網(wǎng)段上的第一pe路由器是可到達(dá)的,這仍然是真實(shí)的。因此,常規(guī)設(shè)備浪費(fèi)寶貴網(wǎng)絡(luò)資源以發(fā)布作為bum流量的這些類型的通信,其中期望更有效網(wǎng)絡(luò)方案。
根據(jù)本公開的技術(shù),當(dāng)?shù)谝籶e路由器獲悉用于第一客戶端設(shè)備的c-mac地址時(shí),其可以將用于b-mac路由的擴(kuò)展組經(jīng)由bgp發(fā)送至第二pe路由器,以通過第一pe路由器向第二pe路由器通知c-mac地址的可到達(dá)性。因此,在接收到去往第一客戶端設(shè)備的消息時(shí),第二pe路由器可以將單播流量傳輸至第一pe路由器,而不是像常規(guī)設(shè)備所做的那樣,將該消息作為bum流量發(fā)布到網(wǎng)絡(luò)上的所有設(shè)備。因此,根據(jù)本公開的技術(shù)的系統(tǒng)可以減少在pbb-evpn上發(fā)生的bum流量泛洪的量并且可以引起更有效地使用網(wǎng)絡(luò)資源。
在一個(gè)示例中,本公開描述了一種方法,其包括:響應(yīng)于通過包括在提供商骨干橋接以太網(wǎng)虛擬專用網(wǎng)絡(luò)(pbb-evpn)的以太網(wǎng)段中的第一提供商邊緣(pe)路由器從第一客戶邊緣(ce)路由器接收第一層二(l2)數(shù)據(jù)消息,執(zhí)行包括在第一l2數(shù)據(jù)消息中的客戶mac(c-mac)地址的l2獲悉;由第一pe路由器將l2控制消息發(fā)送至包括在以太網(wǎng)段中的至少另一個(gè)pe路由器,該l2控制消息包括在至少另一個(gè)pe路由器處未配置的c-mac地址和第一橋接mac(b-mac)地址,該l2控制消息使得至少另一個(gè)pe路由器至少部分地基于第一pe路由器通過第一pe路由器的第一b-mac地址獲悉c-mac地址的可到達(dá)性,并且至少另一個(gè)pe路由器各自被配置用于與以太網(wǎng)段相關(guān)聯(lián)的第二b-mac地址;和響應(yīng)于由第一pe路由器從以太網(wǎng)段中的至少另一個(gè)pe路由器接收包括c-mac地址的第二l2數(shù)據(jù)消息作為單播流量,將第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到第一ce路由器。
在另一個(gè)示例中,本公開描述一種提供商骨干橋接(pbb)以太網(wǎng)虛擬專用網(wǎng)絡(luò)(evpn)的第一提供商邊緣(pe)路由器,其中該第一路由器包括:控制單元,其具有耦接至存儲(chǔ)器的至少一個(gè)處理器;其中該控制單元實(shí)施軟件,該軟件被配置成:響應(yīng)于從第一客戶邊緣(ce)路由器接收第一層二(l2)數(shù)據(jù)消息,執(zhí)行包括在第一l2數(shù)據(jù)消息中的客戶mac(c-mac)地址的l2獲悉;將l2控制消息發(fā)送至包括在以太網(wǎng)段中的至少另一個(gè)pe路由器,該l2控制消息包括在至少另一個(gè)pe路由器處未配置的c-mac地址和第一橋接mac(b-mac)地址,l2控制消息使得至少另一個(gè)pe路由器至少部分地基于第一pe路由器通過第一pe路由器的第一b-mac地址獲悉c-mac地址的可到達(dá)性,并且至少另一個(gè)pe路由器各自被配置用于與以太網(wǎng)段相關(guān)聯(lián)的第二b-mac地址;以及響應(yīng)于從以太網(wǎng)段中的至少另一個(gè)pe路由器以單播流量接收包括c-mac地址的第二l2數(shù)據(jù)消息的,將第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到第一ce路由器。
在另一個(gè)示例中,本公開描述了包括指令的計(jì)算機(jī)可讀介質(zhì),該指令使得提供商骨干橋接(pbb)以太網(wǎng)虛擬網(wǎng)絡(luò)(evpn)的第一提供商邊緣(pe)路由器的至少一個(gè)可編程處理器能夠:響應(yīng)于從第一客戶邊緣(ce)路由器接收第一層二(l2)數(shù)據(jù)消息,執(zhí)行包括在第一l2數(shù)據(jù)消息中的客戶mac(c-mac)地址的l2獲悉;將l2控制消息發(fā)送至包括在以太網(wǎng)段中的至少另一個(gè)pe路由器,該l2控制消息包括在至少另一個(gè)pe路由器處未配置的c-mac地址和第一橋接mac(b-mac)地址,該l2控制消息使得至少另一個(gè)pe路由器至少部分地基于第一pe路由器通過第一pe路由器的第一b-mac地址獲悉c-mac地址的可到達(dá)性,并且至少另一個(gè)pe路由器各自被配置用于與以太網(wǎng)段相關(guān)聯(lián)的第二b-mac地址;以及響應(yīng)于從以太網(wǎng)段中的至少另一個(gè)pe路由器以單播流量接收包括c-mac地址的第二l2數(shù)據(jù)消息,將第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到第一ce路由器。
本公開的技術(shù)的一個(gè)或多個(gè)示例的細(xì)節(jié)在下面的附圖和說明書中闡述。本技術(shù)的其它特征、目的和優(yōu)點(diǎn)通過說明書和附圖以及權(quán)利要求書將是顯而易見的。
附圖說明
圖1是示出根據(jù)本公開的技術(shù)的示例pbb-evpn的框圖。
圖2是示出根據(jù)本公開的技術(shù)的示例提供商邊緣路由器的框圖。
圖3是示出根據(jù)本公開的技術(shù)的示例提供商邊緣路由器操作的流程圖。
圖4是示出根據(jù)本公開的技術(shù)的示例提供商邊緣路由器操作的流程圖。
圖5是示出根據(jù)本公開的技術(shù)的用于b-mac路由的示例擴(kuò)展組(community)的框圖。
具體實(shí)施方式
圖1是示出根據(jù)本公開的技術(shù)的示例pbb-evpn的框圖。在圖1的示例中,系統(tǒng)2是提供商骨干橋接以太網(wǎng)虛擬專用網(wǎng)(pbb-evpn)。pe路由器10a-10e(“pe路由器10”)經(jīng)由ce路由器8a-8c(“ce路由器8”)向與客戶網(wǎng)絡(luò)6a-6c(“客戶網(wǎng)絡(luò)6”)相關(guān)聯(lián)的客戶設(shè)備4a-4f(“客戶設(shè)備4”)提供對(duì)服務(wù)提供商網(wǎng)絡(luò)12的訪問。通信鏈路16a-16l可以是以太網(wǎng)、atm或任何其它合適的網(wǎng)絡(luò)連接。
pe路由器10和ce路由器8在圖1的示例中被示為路由器。然而,可以使用參與層二(l2)虛擬專用網(wǎng)絡(luò)服務(wù)(諸如提供商骨干橋接以太網(wǎng)虛擬專用網(wǎng)(pbb-evpn))的交換機(jī)或其他合適的網(wǎng)絡(luò)設(shè)備來實(shí)現(xiàn)本公開的技術(shù)。客戶網(wǎng)絡(luò)6可以是用于企業(yè)的地理上分離站點(diǎn)的網(wǎng)絡(luò)。每個(gè)客戶網(wǎng)絡(luò)6還可以包括其他客戶設(shè)備4a-4f,諸如一個(gè)或多個(gè)非邊緣交換機(jī)、路由器、集線器、網(wǎng)關(guān)、諸如防火墻的安全設(shè)備、入侵檢測(cè)和/或入侵防止設(shè)備、服務(wù)器、計(jì)算機(jī)終端、筆記型計(jì)算機(jī)、打印機(jī)、數(shù)據(jù)庫(kù)、諸如蜂窩電話或個(gè)人數(shù)字助理的無線移動(dòng)設(shè)備、無線接入點(diǎn)、網(wǎng)橋、電纜調(diào)制解調(diào)器、應(yīng)用加速器或其他網(wǎng)絡(luò)設(shè)備。圖1所示的網(wǎng)絡(luò)2的配置僅是示例。例如,企業(yè)可以包括任何數(shù)量的客戶網(wǎng)絡(luò)6。然而,為了便于描述,在圖1中僅示出了客戶網(wǎng)絡(luò)6a-6c。
服務(wù)提供商網(wǎng)絡(luò)12表示由服務(wù)提供商擁有和操作的公共可訪問的計(jì)算機(jī)網(wǎng)絡(luò),該服務(wù)提供商通常是大型電信實(shí)體或公司。服務(wù)提供商網(wǎng)絡(luò)12通常是大的層三(l3)計(jì)算機(jī)網(wǎng)絡(luò),其中對(duì)跟隨有數(shù)字的層的引用是指在開放系統(tǒng)互連(osi)模型中的對(duì)應(yīng)層。服務(wù)提供商網(wǎng)絡(luò)12是l3網(wǎng)絡(luò),意義在于本身支持如在osi模型中所描述的l3操作。公共l3操作包括根據(jù)l3協(xié)議諸如互聯(lián)網(wǎng)協(xié)議(ip)執(zhí)行的那些操作。l3在osi模型中也稱為“網(wǎng)絡(luò)層”,并且術(shù)語l3可以貫穿本公開與短語“網(wǎng)絡(luò)層”互換使用。
雖然未示出,但是服務(wù)提供商網(wǎng)絡(luò)12可以耦接到由其他提供商管理的一個(gè)或多個(gè)網(wǎng)絡(luò),并且因此可以形成大規(guī)模公共網(wǎng)絡(luò)基礎(chǔ)設(shè)施(例如因特網(wǎng))的一部分。因此,客戶網(wǎng)絡(luò)6可被看作因特網(wǎng)的邊緣網(wǎng)絡(luò)。服務(wù)提供商網(wǎng)絡(luò)12可以向客戶網(wǎng)絡(luò)6內(nèi)的計(jì)算設(shè)備提供對(duì)因特網(wǎng)的訪問,并且可以允許客戶網(wǎng)絡(luò)內(nèi)的計(jì)算設(shè)備彼此通信。
雖然為了簡(jiǎn)化說明而未示出附加網(wǎng)絡(luò)設(shè)備,但是應(yīng)當(dāng)理解,系統(tǒng)2可以包括附加網(wǎng)絡(luò)和/或計(jì)算設(shè)備,例如一個(gè)或多個(gè)附加交換機(jī)、路由器、集線器、網(wǎng)關(guān)、諸如防火墻的安全設(shè)備、入侵檢測(cè)和/或入侵防止設(shè)備、服務(wù)器、計(jì)算機(jī)終端、筆記型計(jì)算機(jī)、打印機(jī)、數(shù)據(jù)庫(kù)、諸如蜂窩電話或個(gè)人數(shù)字助理的無線移動(dòng)設(shè)備、無線接入點(diǎn)、網(wǎng)橋、電纜調(diào)制解調(diào)器、應(yīng)用加速器或其他網(wǎng)絡(luò)設(shè)備。此外,雖然系統(tǒng)2的元件示為直接耦接,但是應(yīng)當(dāng)理解,沿著網(wǎng)絡(luò)鏈路16中的任一個(gè)可以包括一個(gè)或多個(gè)附加網(wǎng)絡(luò)元件,由此使得系統(tǒng)2的網(wǎng)絡(luò)元件不直接耦接。
服務(wù)提供商網(wǎng)絡(luò)12通常提供多種住宅和商務(wù)服務(wù),包括住宅和商業(yè)類數(shù)據(jù)服務(wù)(其通常被稱為“因特網(wǎng)服務(wù)”,因?yàn)檫@些數(shù)據(jù)服務(wù)準(zhǔn)許訪問公共可訪問網(wǎng)絡(luò)的集合,稱為互聯(lián)網(wǎng)),住宅和商務(wù)類電話和/或語音服務(wù),以及住宅和商務(wù)類電視服務(wù)。由服務(wù)提供商網(wǎng)絡(luò)12提供的一種此類商務(wù)類數(shù)據(jù)服務(wù)包括l2evpn服務(wù)。例如,evpn是這樣一種服務(wù),即,該服務(wù)提供跨接中間l3網(wǎng)絡(luò)(諸如服務(wù)提供商網(wǎng)絡(luò)12)的l2連接性形式,以將兩個(gè)l2客戶網(wǎng)絡(luò)諸(如l2客戶網(wǎng)絡(luò)6)互連,該兩個(gè)l2客戶網(wǎng)絡(luò)通常位于兩個(gè)不同的地理區(qū)域。通常,evpn對(duì)于客戶網(wǎng)絡(luò)是透明的,因?yàn)檫@些客戶網(wǎng)絡(luò)并未意識(shí)到介入的中間服務(wù)提供商網(wǎng)絡(luò),而是如同這兩個(gè)客戶網(wǎng)絡(luò)直接連接并形成單個(gè)l2網(wǎng)絡(luò)一樣地工作和操作。這樣,evpn允許在各自操作l2網(wǎng)絡(luò)的兩個(gè)地理上遠(yuǎn)離的客戶站點(diǎn)之間透明的lan連接形式,并且因此evpn也可被稱為“透明lan服務(wù)”。關(guān)于evpn協(xié)議的附加示例信息描述在于2014年7月2日的互聯(lián)網(wǎng)工程任務(wù)組(ietf)的draft-ietf-12vpn-evpn-11的《基于bgpmpls的以太網(wǎng)vpn》(“bgpmplsbasedethernetvpn”,draft-ietf-12vpn-evpn-11),其全部?jī)?nèi)容通過引用并入本文。
為了配置evpn,服務(wù)提供商的網(wǎng)絡(luò)運(yùn)營(yíng)商配置包括在與l2客戶網(wǎng)絡(luò)6相接的服務(wù)提供商網(wǎng)絡(luò)12內(nèi)的各種設(shè)備。evpn配置可以包括evpn實(shí)例(evi),其包括一個(gè)或多個(gè)廣播域。通常,evi可以指在pe路由器(諸如pe路由器10a-10e)上的路由和轉(zhuǎn)發(fā)實(shí)例。因此,如本文進(jìn)一步描述的,可以在pe路由器10上配置多個(gè)evi以用于以太網(wǎng)段,每個(gè)evi提供獨(dú)立的邏輯層二(l2)轉(zhuǎn)發(fā)域。以這種方式,可以配置多個(gè)evi,每個(gè)evi包括以太網(wǎng)段的一個(gè)或多個(gè)pe路由器。例如,以太網(wǎng)段18a可以包括第一evi和第二evi,第一evi包括pe路由器10a、10b和10e,第二evi僅包括pe路由器10a、10b。在一些示例中,然后,使用以太網(wǎng)標(biāo)簽來標(biāo)識(shí)evi中的特定廣播域,例如vlan。pe路由器可以針對(duì)每個(gè)<esi,以太網(wǎng)標(biāo)簽>組合通告唯一的evpn標(biāo)簽。這種標(biāo)簽分發(fā)方法被稱為每<esi,以太網(wǎng)標(biāo)簽>標(biāo)簽分發(fā)?;蛘?,pe路由器可以針對(duì)每個(gè)mac地址通告唯一的evpn標(biāo)簽。又如,pe路由器可以針對(duì)給定evi中的所有mac地址通告相同的單個(gè)evpn標(biāo)簽。這種標(biāo)簽分發(fā)方法被稱為每evi標(biāo)簽分發(fā)。
為了在活動(dòng)-活動(dòng)以太網(wǎng)段(例如以太網(wǎng)段18a)中操作,在pe路由器10a、10b和10e上實(shí)施的evpn協(xié)議觸發(fā)用于以太網(wǎng)段18a的evpn指定的轉(zhuǎn)發(fā)器(df)選擇。這可以例如由evpn協(xié)議實(shí)現(xiàn),該evpn協(xié)議在參與以太網(wǎng)段18a的pe路由器10a、10b和10e中的每一個(gè)上實(shí)施,該以太網(wǎng)段18a指示路由器以輸出通告以太網(wǎng)段標(biāo)識(shí)符(esi)的路由協(xié)議消息,其在所有evpn實(shí)例(evi)上是唯一的。
圖1示出了包括以太網(wǎng)段18a和18b的pbb-evpn環(huán)境。在典型的操作中,pe路由器10a-10e使用邊界網(wǎng)關(guān)協(xié)議(bgp)進(jìn)行通信。pe路由器10可以根據(jù)在2015年11月14日的draft-ietf-12vpn-pbb-evpn-10的《與以太網(wǎng)vpn(pbb-evpn)結(jié)合的提供商骨干橋接》(providerbackbonebridgingcombinedwithethernetvpn(pbb‐evpn),draft‐ietf‐l2vpn‐pbb‐evpn‐10)中描述的技術(shù)使用bgp進(jìn)行互操作,該文獻(xiàn)的全部?jī)?nèi)容通過引用并入本文。
由每個(gè)pe路由器10a-10e使用bgp通告的evpn以太網(wǎng)段路由包括路由區(qū)分符和以太網(wǎng)段標(biāo)識(shí)符。在pbb-evpn中,mac路由通告用于通告b-mac地址,而c-mac僅通過數(shù)據(jù)平面(l2)獲悉(例如,mac獲悉)而存儲(chǔ)。此外,以太網(wǎng)標(biāo)簽id字段503設(shè)定為0。esi字段502可以指示以太網(wǎng)段是單宿主段還是多宿主段。esi字段502必須設(shè)定為0(針對(duì)具有每-i-sid負(fù)載平衡的單宿主段或多宿主段),或設(shè)定成max-esi(針對(duì)具有每流負(fù)載平衡的多宿主段)。其余字段的功能如針對(duì)evpn所述的。
pbb-evpn使得一個(gè)或多個(gè)路由器能夠在單活動(dòng)冗余模式或全活動(dòng)(例如,活動(dòng)-活動(dòng))冗余模式下工作。在單活動(dòng)冗余模式中,在附接到以太網(wǎng)段的一組pe路由器中,僅單個(gè)pe路由器被允許將流量轉(zhuǎn)發(fā)至該以太網(wǎng)段/從該以太網(wǎng)段轉(zhuǎn)發(fā)流量,然后將以太網(wǎng)段定義成在單活動(dòng)冗余模式下操作。例如,可以允許pe路由器10b將流量轉(zhuǎn)發(fā)至以太網(wǎng)段18a和從以太網(wǎng)段18a轉(zhuǎn)發(fā)流量。在全活動(dòng)冗余模式下,附接到以太網(wǎng)段的所有pe路由器都被允許將流量轉(zhuǎn)發(fā)到該以太網(wǎng)段或從該以太網(wǎng)段轉(zhuǎn)發(fā)流量。例如,在全活動(dòng)冗余模式中,允許pe路由器10a、10b和10e中的每一個(gè)將流量轉(zhuǎn)發(fā)到以太網(wǎng)段18a和從以太網(wǎng)段18a轉(zhuǎn)發(fā)流量。如在本公開中進(jìn)一步描述的,當(dāng)在全活動(dòng)冗余模式中操作時(shí),以太網(wǎng)段18a中的pe路由器10a,10b或10e中的一個(gè)可以被選為指定轉(zhuǎn)發(fā)器,以向/從以太網(wǎng)段18a轉(zhuǎn)發(fā)bum流量,同時(shí)非指定的轉(zhuǎn)發(fā)器可以丟棄用于以太網(wǎng)段18a的此類bum流量。
在不利用pbb的evpn中,pe路由器執(zhí)行客戶/客戶端mac(c-mac)地址的mac獲悉,并且將bgpmac廣播路由中的c-mac通告至evpn中的其他pe路由器。此類bgpmac通告路由指示c-mac經(jīng)由pe路由器的可到達(dá)性,該pe路由器通告bgpmac通告路由。因此,在evpn中,參與相同evpn實(shí)例的所有pe路由器暴露于由這些pe路由器中的任何一個(gè)獲悉的所有c-mac地址,因?yàn)橛蓀e路由器中的一個(gè)獲悉的c-mac被通告給在該evpn實(shí)例中的其他pe路由器。在具有數(shù)百萬個(gè)c-mac地址的網(wǎng)絡(luò)應(yīng)用中,這引入了pe路由器資源的潛在浪費(fèi)。因此,pbb-evpn被引入以將c-mac地址的可見性范圍約束至活動(dòng)地涉及將流量轉(zhuǎn)發(fā)到這些地址或從這些地址轉(zhuǎn)發(fā)流量的那些pe路由器。
為了減少bgpmac通告路由的數(shù)量和c-mac表的大小,pbb-evpn依賴于由pbb提供的mac匯總方案。在mac匯總方案中,通過將網(wǎng)絡(luò)數(shù)據(jù)包與源骨干mac(b-mac)地址和目的地骨干mac(b-mac)地址封裝而通過服務(wù)提供商網(wǎng)絡(luò)12轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)包。pbb-evpn定義獨(dú)立于c-mac地址空間的b-mac地址的b-mac地址空間,并且經(jīng)由單個(gè)b-mac地址聚集c-mac地址。
每個(gè)pe路由器可以維持用于相應(yīng)地址空間的b-mac轉(zhuǎn)發(fā)表和c-mac地址表。pe路由器可以建立b-mac表,其包括b-mac地址和與特定以太網(wǎng)段相關(guān)聯(lián)的pe路由器ip地址的相應(yīng)組之間的關(guān)聯(lián)。例如,pe路由器的b-mac表中的條目或行可以包括特定以太網(wǎng)段中的pe路由器的b-mac地址和一組標(biāo)識(shí)符(例如,mac或ip地址),其中pe路由器已配置b-mac地址以對(duì)應(yīng)于特定以太網(wǎng)段。每個(gè)pe路由器可以與唯一地識(shí)別相應(yīng)pe路由器的mpls標(biāo)簽相關(guān)聯(lián),并且mpls標(biāo)簽可以與用于相應(yīng)pe路由器的b-mac表中的相應(yīng)標(biāo)識(shí)符或條目相關(guān)聯(lián)。
pe路由器可以初始地被配置成將b-mac地址與特定以太網(wǎng)段相關(guān)聯(lián)。例如,pe路由器10a、10b和10e可以各自在以太網(wǎng)段18a中被配置。為了執(zhí)行該配置,pe路由器10a、10b和10e可以各自存儲(chǔ)映射,其表示以太網(wǎng)段18a的標(biāo)識(shí)符和公共b-mac地址(例如,b-mac1)之間的關(guān)聯(lián)。這樣,pe路由器10a、10b和10e可以將轉(zhuǎn)發(fā)到服務(wù)提供商網(wǎng)絡(luò)12中的出口流量與作為源b-mac地址的b-mac1封裝。
在pbb-evpn中,pe路由器在用于從核心每-pbb橋接操作的數(shù)據(jù)平面中獲悉b-mac地址與遠(yuǎn)程c-mac地址的綁定。例如,pe路由器初始將bgp中的本地b-mac地址可到達(dá)性信息通告至相同組服務(wù)實(shí)例中的所有其他pe路由器,但在數(shù)據(jù)平面中執(zhí)行c-mac地址獲悉(l2獲悉)。在通告可到達(dá)性時(shí),每個(gè)pe路由器可以通告標(biāo)識(shí)相應(yīng)pe路由器的mpls標(biāo)簽。例如,如果pe路由器10a從客戶網(wǎng)絡(luò)6c接收網(wǎng)絡(luò)數(shù)據(jù)包,則pe路由器10a可以執(zhí)行c-mac地址獲悉,以在pe路由器10a的c-mac表中存儲(chǔ)b-mac1和網(wǎng)絡(luò)數(shù)據(jù)包的源c-mac地址之間的關(guān)聯(lián)。pe路由器10a可以封裝具有作為源b-mac地址的b-mac1和作為目的地b-mac地址的b-mac2的數(shù)據(jù)包,其中b-mac2與pe路由器10c相關(guān)聯(lián)。在接收到網(wǎng)絡(luò)數(shù)據(jù)包時(shí),pe路由器10c可以基于包括在數(shù)據(jù)包中的源c-mac地址執(zhí)行mac獲悉。如果pe路由器10c在其c-mac表中不包括用于源c-mac地址的條目,則pe路由器10c可以存儲(chǔ)包括源c-mac地址和b-mac1之間的關(guān)聯(lián)性的條目。
稍后,如果pe路由器10c從客戶網(wǎng)絡(luò)6a接收網(wǎng)絡(luò)數(shù)據(jù)包,則pe路由器10c可以確定數(shù)據(jù)包的目的地c-mac地址與先前獲悉的c-mac地址匹配,該cma-c地址存儲(chǔ)在與b-mac1相關(guān)聯(lián)的pe路由器10a的c-mac表中。pe路由器10a可以將數(shù)據(jù)包和作為源b-mac地址的b-mac2和作為目的地b-mac地址的b-mac1封裝。為了將網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)到與b-mac1相對(duì)應(yīng)的以太網(wǎng)段18a,pe路由器10c在其b-mac表中執(zhí)行查找。pe路由器10c識(shí)別具有b-mac1的條目,并且選擇在b-mac表中各自與b-mac1相關(guān)聯(lián)的pe路由器10a、10b或10e中的一個(gè)的標(biāo)識(shí)符。如果pe路由器10c選擇pe路由器10a作為pe路由器以將網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)到客戶網(wǎng)絡(luò)6c,則pe路由器10c包括用于pe路由器10a的mpls標(biāo)簽(作為網(wǎng)絡(luò)數(shù)據(jù)包頭部的一部分),并且使用其用于pe路由器10a的出口接口轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)包。在接收網(wǎng)絡(luò)數(shù)據(jù)包時(shí),pe路由器10a基于包括網(wǎng)絡(luò)數(shù)據(jù)包中的目的地c-mac地址在c-mac表中執(zhí)行查找。因?yàn)閜e路由器10a先前獲悉了c-mac地址,所以pe路由器10a使用用于鏈路16d的接口將網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)到客戶網(wǎng)絡(luò)6c。
在配置和啟動(dòng)時(shí),pe路由器(諸如pe路由器10a)執(zhí)行多個(gè)操作。例如,pe路由器10a發(fā)現(xiàn)pbbi-sid的所有遠(yuǎn)程pe路由器,在pbbi-sid中包括pe路由器10a。在配置和啟動(dòng)時(shí),pe路由器10a將b-mac地址分配至pbbi-sid中的其它pe路由器,以便指示pe路由器10a經(jīng)由可與相應(yīng)以太網(wǎng)段相關(guān)聯(lián)的b-mac地址是可到達(dá)的。在配置和啟動(dòng)時(shí),pe路由器10a還可以發(fā)現(xiàn)在相同以太網(wǎng)段中的其他pe路由器(例如,在以太網(wǎng)段18a中的pe路由器10b和10e),且執(zhí)行指定轉(zhuǎn)發(fā)器(df)挑選,其負(fù)責(zé)轉(zhuǎn)發(fā)廣播、用于給定pbbi-sid的、b-mac地址和/或以太網(wǎng)段的未識(shí)別的單播或多播流量(bum)流量。在圖1的示例中,pe路由器10a被選擇作為df,并且pe路由器10b及10e被選擇作為非df或備份df。因此,pe路由器10a可以轉(zhuǎn)發(fā)來自用于bmac-1的服務(wù)提供商網(wǎng)絡(luò)12的bum流量,而pe路由器10b和10e不可如此。
如圖1所示,ce路由器8可以多宿主和/或單宿主到一個(gè)或多個(gè)pe路由器10。在evpn中,當(dāng)pe路由器駐留在相同的物理以太網(wǎng)段上時(shí),當(dāng)ce路由器耦接到在相同evi上的兩個(gè)物理上不同的pe路由器時(shí),可以說ce路由器是多宿主的。例如,ce路由器8c分別經(jīng)由鏈路16d-16f耦接到pe路由器10a、10b和10e,其中10a、10b和10e能夠經(jīng)由ce路由器8c為l2客戶網(wǎng)絡(luò)6c提供對(duì)evpn的訪問。在給定的客戶網(wǎng)絡(luò)(諸如客戶網(wǎng)絡(luò)6c)可以經(jīng)由兩個(gè)不同并且在一定程度上冗余的鏈路耦接到服務(wù)提供商網(wǎng)絡(luò)12的情況下,客戶網(wǎng)絡(luò)可以被稱為是“多宿主的”。在該示例中,ce路由器8c可以多宿主到pe路由器10a、10b和10e,因?yàn)閏e路由器8c經(jīng)由獨(dú)立并且在一定程度上冗余的鏈路16d-16f耦接到兩個(gè)不同的pe路由器,pe路由器10a、10b和10e,其中pe路由器10a、10b和10e每個(gè)都能夠?yàn)閘2客戶網(wǎng)絡(luò)6c提供對(duì)evpn的訪問。多宿主網(wǎng)絡(luò)通常由網(wǎng)絡(luò)運(yùn)營(yíng)商采用,以便在鏈路16d、16e和16f中的一個(gè)出現(xiàn)故障時(shí)改進(jìn)對(duì)由服務(wù)提供商網(wǎng)絡(luò)12提供的evpn的訪問。在典型的evpn配置中,只有多宿主的pe10a、10b和10e參與每個(gè)esi的df挑選。ce路由器8b經(jīng)由通信鏈路16c被單宿主到pe路由器10a。
在活動(dòng)-活動(dòng)模式配置中,遠(yuǎn)程pe10c通常被配置成針對(duì)以太網(wǎng)段18a安裝mac路由,由此使得到客戶網(wǎng)絡(luò)6c的下行流量在各自包括在以太網(wǎng)段18a中的pe路由器10a、10b和10e之間平衡。在圖1的示例pbb-evpn中,pe路由器10a、10b和10e可以以evpn活動(dòng)-活動(dòng)模式配置,由此使得pe路由器10c在pe路由器10a、10b和10e之間負(fù)載平衡到客戶網(wǎng)絡(luò)6c的下行網(wǎng)絡(luò)流量。
pbb-evpn可以針對(duì)pe路由器10a,10b和10e為源自客戶網(wǎng)絡(luò)6c的流量的執(zhí)行負(fù)載平衡??梢詧?zhí)行該負(fù)載平衡以增加服務(wù)提供商網(wǎng)絡(luò)12對(duì)客戶網(wǎng)絡(luò)6c的可靠性,以及減少由客戶網(wǎng)絡(luò)6c在單個(gè)pe路由器上施加的負(fù)荷。雖然理想化地講,在esi18a上存在pe路由器10a、10b和10e對(duì)于客戶網(wǎng)絡(luò)6c是透明的,但在一些情況下,客戶網(wǎng)絡(luò)期望對(duì)pe路由器10a、10b和10e執(zhí)行負(fù)載平衡和挑選。然而,因?yàn)樵趐bb-evpn中,pe路由器通過數(shù)據(jù)平面獲悉mac地址,在以太網(wǎng)段中的pe路由器中的每個(gè)可以創(chuàng)建非對(duì)稱的c-mac地址表,但是希望這些pe路由器在段上相同地操作。在pbb-evpn中的負(fù)載平衡流量可加劇這些非對(duì)稱表的問題,因?yàn)榫哂胁煌暾鹀-mac路由表的pe路由器被視為與具有更完整的c-mac路由表的pe路由器相同,因此在網(wǎng)絡(luò)中產(chǎn)生低效率,諸如增加的bum流量,其消耗寶貴的網(wǎng)絡(luò)資源。
evpn可以在多協(xié)議標(biāo)簽交換(mpls)配置的網(wǎng)絡(luò)上操作,并且使用mpls標(biāo)簽來相應(yīng)地轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量。mpls是用于根據(jù)由網(wǎng)絡(luò)中的路由器維持的路由信息來設(shè)計(jì)因特網(wǎng)協(xié)議(ip)網(wǎng)絡(luò)內(nèi)的流量模式的機(jī)制。通過利用mpls協(xié)議諸如標(biāo)簽分配協(xié)議(ldp)或具有流量工程擴(kuò)展的資源預(yù)留協(xié)議(rsvp-te),源設(shè)備可以請(qǐng)求通過網(wǎng)絡(luò)到達(dá)目的地設(shè)備的路徑,即標(biāo)簽交換路徑(lsp)。lsp定義通過網(wǎng)絡(luò)的不同路徑,以將mpls數(shù)據(jù)包從源設(shè)備傳送到目的地設(shè)備。使用mpls協(xié)議,沿著lsp的每個(gè)路由器分配標(biāo)簽并且將該標(biāo)簽沿著路徑傳播到最近的上游路由器。沿路徑的路由器添加或移除標(biāo)簽,并執(zhí)行其他mpls操作以沿著建立的路徑轉(zhuǎn)發(fā)mpls數(shù)據(jù)包。
如圖1的示例所示,pe路由器10a-10e和提供商路由器18可以提供用于從客戶網(wǎng)絡(luò)6a至客戶網(wǎng)絡(luò)6c發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包的mpls核心。pe路由器10a-10e中的每一個(gè)實(shí)施mpls協(xié)議,并且根據(jù)在每個(gè)相應(yīng)pe路由器處配置的路由和轉(zhuǎn)發(fā)信息將一個(gè)或多個(gè)mpls標(biāo)簽(即,標(biāo)簽堆棧)應(yīng)用至網(wǎng)絡(luò)數(shù)據(jù)包。如上所述,pe路由器10c可以將由pe路由器10a通告的mpls標(biāo)簽附接到pe路由器10c轉(zhuǎn)發(fā)到pe路由器10a的數(shù)據(jù)包,由此使得該數(shù)據(jù)包通過服務(wù)提供商網(wǎng)絡(luò)12轉(zhuǎn)發(fā)到pe路由器10c。
pbb-evpn與evpn稍有不同之處在于,pbb-evpn在每個(gè)pe路由器中實(shí)現(xiàn)ieee骨干邊緣網(wǎng)橋(beb)功能。使用pbb的mac-in-mac封裝,pbb-evpn將c-mac邊緣命名空間與b-mac地址命名空間分離。與e-vpn相比,pbb-evpn使用在ip/mpls核心內(nèi)的bgp來通告b-mac地址可到達(dá)性(例如,pe路由器a到pe路由器b),而數(shù)據(jù)平面獲悉仍然用于遠(yuǎn)程c-mac地址到遠(yuǎn)程b-mac綁定(例如,pe路由器a經(jīng)由pe路由器b到ce路由器)。一般來講,在pbb-evpn中,每個(gè)pe路由器從ce路由器接收802.1q以太網(wǎng)幀,將該幀封裝在pbb頭部中,并使用mpls標(biāo)簽經(jīng)由ip/mpls核心轉(zhuǎn)發(fā)該幀。接下來,pbb封裝的幀穿過ip/mpls核心,如上面針對(duì)evpn網(wǎng)絡(luò)所描述的。在出口evpnpe路由器上,在mpls部署后移除pbb頭部,并且原始802.1q以太網(wǎng)幀傳送到目的地ce路由器。
pbb-evpn需要對(duì)evpn的pe路由器進(jìn)行若干修改。在pbb-evpn中,每個(gè)正常橋接操作中,每個(gè)pe路由器必須經(jīng)由數(shù)據(jù)平面中的附接電路獲悉客戶/客戶端c-mac地址(l2獲悉)。然而,在每個(gè)pbb橋接操作,每個(gè)pe路由器還必須針對(duì)從核心接收的流量在數(shù)據(jù)平面中獲悉遠(yuǎn)程c-mac與b-mac的綁定。另外,每個(gè)pe路由器具有唯一地標(biāo)識(shí)設(shè)備的一組骨干mac(b-mac)地址,并且pe路由器必須在bgp中將其本地b-mac地址可到達(dá)性信息通告給pbb-evpn內(nèi)的所有其他pe路由器。最后,每個(gè)pe路由器必須從遠(yuǎn)程pe路由器接收bgp通告,并且使用該信息來建立和維持轉(zhuǎn)發(fā)表,該轉(zhuǎn)發(fā)表將遠(yuǎn)程b-mac地址與遠(yuǎn)程peip地址和相關(guān)聯(lián)的mpls標(biāo)簽相關(guān)聯(lián)。pbb實(shí)現(xiàn)的另外示例由以下標(biāo)準(zhǔn)提供,ieee標(biāo)準(zhǔn)8802.1q,doi10.1109/ieeestd.2011.6009146的第25章和26章《用于本地和城域網(wǎng)絡(luò)媒介訪問控制(mac)橋接和虛擬橋接局域網(wǎng)的ieee標(biāo)準(zhǔn)》(“ieeestandardforlocalandmetropolitanareanetworks-mediaaccesscontrol(mac)bridgesandvirtualbridgedlocalareanetworks,”clauses25and26,ieeestd802.1q,doi10.1109/ieeestd.2011.6009146,ieee),該標(biāo)準(zhǔn)全部?jī)?nèi)容通過引用并入本文。
在啟動(dòng)期間,連接到相同以太網(wǎng)段(例如,在多宿主配置中)的每個(gè)pe路由器可以自動(dòng)發(fā)現(xiàn)在同一段上的其他pe路由器。這些pe路由器中的每一個(gè)可以選擇負(fù)責(zé)轉(zhuǎn)發(fā)用于給定pbbi-sid的bum流量的df。此外,每個(gè)pe路由器可以使用evpnbgpmac通告路由來分配用于與其所屬的本地以太網(wǎng)段相關(guān)聯(lián)的b-mac的可到達(dá)性信息。如上所述,在初始evpn路由配置之后,pe路由器從ce路由器接收網(wǎng)絡(luò)流量并且執(zhí)行流量的原始c-mac地址的mac獲悉。如果pe路由器知道流量的目的地c-mac地址,則它將通過ip/mpls核心轉(zhuǎn)發(fā)流量。如果目的地未知,則pe路由器將流量作為bum流量轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上的所有設(shè)備。
雖然pbb-evpn在抽象化和數(shù)據(jù)管理方面提供了優(yōu)于evpn的許多優(yōu)點(diǎn),但是該抽象可導(dǎo)致針對(duì)與單宿主的pe路由器通信的遠(yuǎn)程多宿主pe路由器的不必要bum流量的增加。關(guān)于圖1,例如,pe路由器10a,10b和10e包括以太網(wǎng)段18a和選擇pe路由器10a作為df。例如,在一段時(shí)間操作之后,pe路由器10a可以通過pe路由器10a的數(shù)據(jù)平面獲悉客戶設(shè)備4e的c-mac地址,而pe路由器10a可以通過數(shù)據(jù)平面獲悉客戶網(wǎng)絡(luò)上的客戶設(shè)備4d的c-mac地址6b。假設(shè)客戶網(wǎng)絡(luò)6c上的客戶設(shè)備4r將網(wǎng)絡(luò)流量發(fā)送到客戶網(wǎng)絡(luò)6b上的客戶設(shè)備4d,則ce路由器8c可以沿著以太網(wǎng)段18a將該通信轉(zhuǎn)發(fā)到服務(wù)提供商網(wǎng)絡(luò)12。客戶網(wǎng)絡(luò)6c可以將流量負(fù)載平衡到以太網(wǎng)段18a,在一些示例中,使得源自ce路由器8c的流量的約33%被轉(zhuǎn)發(fā)到pe路由器10a,33%到pe路由器10b以及33%到pe路由器10e,但是其他負(fù)載平衡方案可以提供不同的分配。
如果pe路由器10a在其數(shù)據(jù)平面中接收網(wǎng)絡(luò)流量,則pe路由器10a可以將網(wǎng)絡(luò)流量(消息)作為已知的單播流量直接發(fā)送到在客戶網(wǎng)絡(luò)6b上的ce路由器8b,因?yàn)樗惹耙呀?jīng)獲悉了用于ce路由器8b的c-mac地址。然而,如果ce路由器8c將網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)到pe路由器10b或10e,則這些非df路由器必須將網(wǎng)絡(luò)流量作為bum消息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上的所有設(shè)備,因?yàn)樗鼈兿惹皼]有獲悉用于客戶設(shè)備4d的c-mac地址。這可導(dǎo)致到服務(wù)提供商網(wǎng)絡(luò)12的bum流量的不必要泛洪。
pe路由器10a可以接收bum流量并且經(jīng)由ce路由器8b將網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)到客戶設(shè)備4d。當(dāng)在客戶網(wǎng)絡(luò)6b上的客戶設(shè)備4d將返回流量發(fā)送到客戶設(shè)備4e時(shí),ce路由器8b可以將該消息轉(zhuǎn)發(fā)到pe路由器10a。因?yàn)閜e路由器10a先前已經(jīng)獲悉了用于ce路由器8c的c-mac地址,所以其可以將消息直接轉(zhuǎn)發(fā)到ce路由器8c。因此,pe路由器10b和10e可以不從客戶設(shè)備4d接收網(wǎng)絡(luò)流量并且可以不獲悉其c-mac地址。此外,因?yàn)閜e路由器10a是df,所以pe路由器10b和10e可以丟棄其接收的任何bum消息。因此,如果pe路由器10a轉(zhuǎn)發(fā)源自客戶設(shè)備4d的網(wǎng)絡(luò)流量,則pe路由器10b和10e可以丟棄它并且從不獲悉客戶網(wǎng)絡(luò)6b上的設(shè)備的c-mac地址。因此,對(duì)于通過pe路由器10b和10e(在該示例中為66%)以轉(zhuǎn)發(fā)到客戶設(shè)備4d的每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包,pe路由器10b和10e將網(wǎng)絡(luò)數(shù)據(jù)包作為bum流量轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上的每個(gè)設(shè)備。這使用寶貴的網(wǎng)絡(luò)資源并且可為低效的,特別是因?yàn)樽鳛榕cpe路由器10b和10e相同的以太網(wǎng)段的構(gòu)件的pe路由器10a已經(jīng)獲悉了ce路由器8b的c-mac地址并且在沒有綁定網(wǎng)絡(luò)的情況下可以將消息單播至其。
因此,以太網(wǎng)段上的每個(gè)pe路由器的路由表可以具有相同以太網(wǎng)段內(nèi)的遠(yuǎn)程pe路由器對(duì)c-mac地址的可到達(dá)性的知識(shí)。因此,根據(jù)本公開的技術(shù),包括在提供商骨干橋接虛擬專用網(wǎng)絡(luò)的以太網(wǎng)段(pbb-evpn)中的第一pe路由器可以從第一ce路由器接收第一l2數(shù)據(jù)消息,其中l(wèi)2數(shù)據(jù)消息是攜帶客戶數(shù)據(jù)有效載荷的消息。第一pe路由器然后可以執(zhí)行包括在第一l2數(shù)據(jù)消息中的c-mac地址的l2獲悉。
另外,根據(jù)本公開的技術(shù),第一pe路由器可以將l2控制消息發(fā)送到包括在以太網(wǎng)段中的至少另一個(gè)pe路由器,其中l(wèi)2控制消息為網(wǎng)絡(luò)中的對(duì)等體之間交換的以用于配置網(wǎng)絡(luò)的消息。l2控制消息可以包括c-mac地址和與pbb-evpn的以太網(wǎng)段相對(duì)應(yīng)的b-mac地址。此外,l2控制消息可以使至少另一個(gè)pe路由器至少部分地基于b-mac地址與以太網(wǎng)段的對(duì)應(yīng)性,通過第一pe路由器獲悉c-mac地址的可到達(dá)性。在一些示例中,l2控制消息可為用于b-mac路由的擴(kuò)展組。
在另外的示例中,第一pe路由器可以使用bgp協(xié)議以將l2控制消息發(fā)送到包括在以太網(wǎng)段中的至少另一個(gè)pe路由器。在另外的示例中,l2控制消息可以具有從用于pe路由器10a的多宿主esi值自動(dòng)導(dǎo)出的路由目標(biāo),由此使得l2控制消息由配置有相同esi值的多宿主pe路由器自動(dòng)導(dǎo)入。在另外的示例中,l2數(shù)據(jù)消息可以標(biāo)識(shí)遠(yuǎn)程b-mac,在其后獲悉遠(yuǎn)程c-mac地址,使得至少另一個(gè)pe路由器能夠在表示與第一pe路由器的核心連接的正確偽接口內(nèi)安裝c-mac地址。關(guān)于圖1的示例網(wǎng)絡(luò),pe路由器10a可以將用于b-mac路由的擴(kuò)展組發(fā)送到pe路由器10b和10e,從而經(jīng)由pe路由器10a通知它們ce路由器8b可到達(dá)性。
另外,根據(jù)本公開的技術(shù),第一pe路由器可以從以太網(wǎng)段中的至少另一個(gè)pe路由器接收作為單播流量的第二l2數(shù)據(jù)消息。第二l2數(shù)據(jù)消息可以包括第一l2控制消息的起源的c-mac地址,其中相同地址是第二l2數(shù)據(jù)消息的目的地c-mac地址。因此,第一pe路由器可以將第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到第一ce路由器。關(guān)于圖1的示例網(wǎng)絡(luò),pe路由器10b和10e可以將去往ce路由器8b的單播流量轉(zhuǎn)發(fā)到pe路由器10a,而非將bmu流量發(fā)布到整個(gè)網(wǎng)絡(luò)。
根據(jù)本文中的技術(shù)的擴(kuò)展組還可以實(shí)現(xiàn)從pe路由器移除c-mac地址。例如,如果本地pe路由器接收了指示特定b-mac已經(jīng)被撤銷的b-mac路由,則本地pe路由器可以刪除與撤銷的b-mac相關(guān)聯(lián)的所獲悉的c-mac地址。另外,如果本地pe路由器接收了具有“刪除”操作的用于b-mac路由的擴(kuò)展組,則本地pe路由器可以刪除由擴(kuò)展組指示的c-mac地址。另外,如果刪除遠(yuǎn)程pe的配置,例如,以太網(wǎng)段的esi或esib-mac被重置、刪除或改變,則本地pe路由器可以刪除與重新配置的遠(yuǎn)程pe路由器相關(guān)聯(lián)的所獲悉的c-mac地址。
因此,由本公開描述的用于b-mac路由的擴(kuò)展組可以補(bǔ)救上述問題,其中pbb-evpn上的多宿主ce路由器和單宿主ce路由器之間的不一致流量生成對(duì)于遠(yuǎn)離單宿主ce路由器的pe路由器過量的bum流量,因?yàn)檫@些遠(yuǎn)程pe路由器從不獲悉客戶網(wǎng)絡(luò)6b中的客戶設(shè)備的c-mac地址。因?yàn)閜e路由器的路由表是對(duì)稱建立的,所以遠(yuǎn)程pe路由器獲悉在其以太網(wǎng)段內(nèi)的遠(yuǎn)程c-mac地址的可到達(dá)性,并且可以通過本地pe路由器發(fā)送已知的單播流量,而非發(fā)布bum流量。因此,可以極大減少bmu流量的量,該bmu流量在具有多宿到以太網(wǎng)段的第一客戶端路由器和單宿到相同以太網(wǎng)段的遠(yuǎn)程pe的第二客戶端路由器的pbb-evpn上發(fā)布。本公開的技術(shù)也可以改善收斂問題。下面更詳細(xì)地描述本公開的b-mac路由的擴(kuò)展組的示例實(shí)現(xiàn)方式。
圖2是示出根據(jù)本公開的一種或多種技術(shù)的在pbb-evpn內(nèi)的示例pe路由器的框圖。通常,pe路由器200可以基本上類似于圖1的pe10a-e進(jìn)行操作。在該示例中,pe路由器200包括接口卡226a-226n(“ifc226”),其經(jīng)由輸入鏈路228a-228n(“輸入鏈路228”)接收數(shù)據(jù)包并經(jīng)由輸出鏈路230a-230n(“輸出鏈路230”)發(fā)送數(shù)據(jù)包。ifc226通常經(jīng)由多個(gè)接口端口耦接到鏈路228、230。pe路由器200還包括控制單元202,其確定接收到的數(shù)據(jù)包的路由(route,路徑)并且相應(yīng)地經(jīng)由ifc226轉(zhuǎn)發(fā)數(shù)據(jù)包。
控制單元202可以包括路由引擎204和數(shù)據(jù)包轉(zhuǎn)發(fā)引擎222。路由引擎204操作作為用于路由器200的控制平面,并且包括提供用于執(zhí)行多個(gè)并發(fā)進(jìn)程的多任務(wù)操作環(huán)境的操作系統(tǒng)。路由引擎204例如執(zhí)行軟件指令以執(zhí)行一個(gè)或多個(gè)控制平面網(wǎng)絡(luò)協(xié)議212。例如,協(xié)議212可以包括用于與其他路由設(shè)備交換路由信息和用于更新路由信息206的一個(gè)或多個(gè)路由協(xié)議,諸如邊界網(wǎng)關(guān)協(xié)議(bgp)220。路由信息206可以描述其中pe路由器200駐留的計(jì)算機(jī)網(wǎng)絡(luò)的拓?fù)?,并且還可以包括通過計(jì)算機(jī)網(wǎng)絡(luò)中的共享樹的路由。路由信息206描述計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的各種路由以及用于每個(gè)路由的適當(dāng)?shù)南乱惶?即沿著每個(gè)路由的相鄰路由設(shè)備)的各種路由。路由引擎204分析所存儲(chǔ)的路由信息206并且生成用于轉(zhuǎn)發(fā)引擎222的轉(zhuǎn)發(fā)信息224。轉(zhuǎn)發(fā)信息224可以例如將用于特定多播組的網(wǎng)絡(luò)目的地與特定下一跳和相應(yīng)ifc226以及輸出鏈路230的物理輸出端口相關(guān)聯(lián)。轉(zhuǎn)發(fā)信息224可以是編程到專用轉(zhuǎn)發(fā)芯片中的基數(shù)樹、一系列表、復(fù)雜數(shù)據(jù)庫(kù)、鏈接列表、基數(shù)樹、數(shù)據(jù)庫(kù)、平面文件或各種其他數(shù)據(jù)結(jié)構(gòu)。
如圖2所示,轉(zhuǎn)發(fā)信息224包括b-mac表234。b-mac表234包括表示b-mac地址和以太網(wǎng)段之間的映射或關(guān)聯(lián)的數(shù)據(jù)。例如,b-mac表234包括作為密鑰的b-mac地址和包括在與b-mac地址對(duì)應(yīng)的以太網(wǎng)段中的pe路由器的標(biāo)識(shí)符的列表。轉(zhuǎn)發(fā)信息224還包括c-mac表232。c-mac表232包括表示c-mac地址和b-mac地址之間的映射或關(guān)聯(lián)的數(shù)據(jù)。在一些示例中,c-mac表232包括作為密鑰的c-mac地址和作為對(duì)應(yīng)值的b-mac地址,反之亦然。轉(zhuǎn)發(fā)信息224還可以包括混疊數(shù)據(jù)238。混疊數(shù)據(jù)238可以包括表示b-mac地址和以太網(wǎng)段的標(biāo)識(shí)符之間的映射或關(guān)聯(lián)的數(shù)據(jù)。
轉(zhuǎn)發(fā)信息還可以包括查找結(jié)構(gòu)236。查找結(jié)構(gòu)236可以在給定密鑰(諸如地址)的情況下提供一個(gè)或多個(gè)值。在一些示例中,一個(gè)或多個(gè)值可為一個(gè)或多個(gè)下一跳。下一跳可實(shí)現(xiàn)為微代碼,其在被執(zhí)行時(shí)執(zhí)行一個(gè)或多個(gè)操作。一個(gè)或多個(gè)下一跳可以是“鏈接的”,由此使得一組鏈接的下一跳在被執(zhí)行時(shí)針對(duì)相應(yīng)不同下一跳執(zhí)行一組操作。此類操作的示例可以包括使用由一個(gè)或多個(gè)下一跳標(biāo)識(shí)的接口和/或接口將一個(gè)或多個(gè)服務(wù)應(yīng)用于數(shù)據(jù)包,丟棄數(shù)據(jù)包和/或轉(zhuǎn)發(fā)數(shù)據(jù)包。
此外,路由引擎204執(zhí)行evpn協(xié)議216,其操作以與其他路由器通信以建立和維持evpn,諸如圖1的pbb-evpn,以便通過中間網(wǎng)絡(luò)輸送l2通信,從而通過中間網(wǎng)絡(luò)邏輯地?cái)U(kuò)展以太網(wǎng)。evpn協(xié)議216可以例如與在遠(yuǎn)程路由器上執(zhí)行的evpn協(xié)議通信以建立用于evpn的偽線,并且維持將l2c-mac地址和b-mac地址與特定偽線相關(guān)聯(lián)的c-mac地址表232。當(dāng)實(shí)施evpn時(shí),可以通過與遠(yuǎn)程pe設(shè)備交換包含c-mac地址的bgp消息,在控制平面中執(zhí)行l(wèi)2mac獲悉。evpn協(xié)議216將記錄在c-mac表232和b-mac表234中的信息傳送到轉(zhuǎn)發(fā)引擎222,以便配置轉(zhuǎn)發(fā)信息224。以這種方式,轉(zhuǎn)發(fā)引擎222可以編程有每個(gè)偽線和輸出接口之間的關(guān)聯(lián)性以及經(jīng)由那些偽線可到達(dá)的特定源c-mac地址。關(guān)于evpn協(xié)議的其他示例信息描述于2014年7月2日的互聯(lián)網(wǎng)工程任務(wù)組(ietf)的draft-ietf-12vpn-evpn-11的《基于bgpmpls的以太網(wǎng)vpn》(“bgpmplsbasedethernetvpn”,draft-ietf-12vpn-evpn-11,july2,2014,),其全部?jī)?nèi)容通過引用并入本文。
在示例實(shí)施例中,bgp220和evpn218根據(jù)本文所描述的技術(shù)操作,以便每個(gè)evi路由通告和/或接收以太網(wǎng)a-d,該evi路由已經(jīng)被擴(kuò)展為攜帶本文所描述的evpnmhpe狀態(tài)擴(kuò)展組數(shù)據(jù)結(jié)構(gòu)。即,響應(yīng)于來自evpn協(xié)議216的指令,bgp協(xié)議220針對(duì)指定用于每個(gè){esi,evi}的主pedf和備份df的每個(gè)evi路由生成輸出bgp以太網(wǎng)a-d。此外,bgp220可以類似地被配置成針對(duì)這頂此類信息的每個(gè)evi路由接收bgp以太網(wǎng)a-d,并且可以提取此類信息并將選擇傳遞到evpn216。
在示例實(shí)施例中,pbb218和evpn216可以根據(jù)本文描述的技術(shù)操作,以便在使用mpls214將消息轉(zhuǎn)發(fā)到mpls核心之前將輸入的ce路由器消息與pbb頭部封裝。另外,pbb218和evpn216可以與mpls214一起操作以在移除pbb頭部并將該消息轉(zhuǎn)發(fā)到ce路由器以傳送到客戶端設(shè)備之前,從mpls核心接收消息。
根據(jù)本公開的技術(shù),示例pe路由器200可以避免由于pbb-evpn活動(dòng)-活動(dòng)以太網(wǎng)段內(nèi)的非對(duì)稱mac獲悉引起的流量泛洪。例如,ifc226a可以沿著一個(gè)或多個(gè)輸入鏈路228a-228n從ce路由器接收消息。ifc226a可以將所接收的消息傳遞到轉(zhuǎn)發(fā)引擎222以進(jìn)行處理。轉(zhuǎn)發(fā)引擎222可以在轉(zhuǎn)發(fā)信息表224中存儲(chǔ)所接收的消息的目的地c-mac和所接收的消息的至少一部分。所接收的消息的至少一部分可以被傳遞到路由引擎204。路由引擎204可以針對(duì)指示消息的起源的c-mac地址解析所接收的消息。
如果路由引擎204確定原始c-mac地址沒有列在c-mac表232內(nèi),則路由引擎204可以將c-mac地址添加到c-mac表232。如果c-mac地址是新的,則bgp協(xié)議204可以向b-mac表234查詢用于ip/mpls核心內(nèi)的已知pe路由器的b-mac地址的列表。bgp協(xié)議220結(jié)合mpls協(xié)議214可以生成用于包含原始c-mac地址的b-mac路由的擴(kuò)展組,并且沿著輸出鏈路230a-230n將用于b-mac路由的擴(kuò)展組傳輸?shù)接蒪-mac表234的b-mac地址指定的每個(gè)pe路由器。
路由引擎可以搜索c-mac表232以確定所接收的消息的目的地c-mac地址可由pe路由器200到達(dá)。如果找到c-mac地址,則轉(zhuǎn)發(fā)引擎222可以使用轉(zhuǎn)發(fā)信息224沿ifc226的輸出鏈路230a-230n中的一個(gè)將所接收的消息發(fā)送到目的地c-mac地址。如果目的地c-mac地址不在c-mac表232內(nèi),則路由引擎204可以在b-mac表234中搜索映射到目的地c-mac地址的b-mac地址。如果找到b-mac地址,則pbb協(xié)議218和mpls214可以操作以封裝所接收的消息。然后,轉(zhuǎn)發(fā)引擎222可以使用轉(zhuǎn)發(fā)信息224將所接收的消息沿著ifc226的輸出鏈路230a-230n中的一個(gè)發(fā)送到對(duì)應(yīng)b-mac地址。如果在c-mac表232或b-mac表234中找不到與所接收的消息的目的地c-mac地址相對(duì)應(yīng)的地址,則轉(zhuǎn)發(fā)引擎222可以將所接收的消息作為bum流量轉(zhuǎn)發(fā)到c-mac表232和b-mac表234內(nèi)的每個(gè)地址。
圖2中所示的路由器200的架構(gòu)僅出于示例目的示出。在本公開中闡述的技術(shù)可以在圖2的示例路由器以及本文沒有具體描述的其他類型的路由器中實(shí)現(xiàn)。在其他示例中,路由器200可以按各種方式配置。在一個(gè)示例中,控制單元202的一些功能可以分配在ifc226內(nèi)。在另一示例中,控制單元202可以包括作為從屬路由器操作的多個(gè)數(shù)據(jù)包轉(zhuǎn)發(fā)引擎。本公開中的任何內(nèi)容都不應(yīng)被解釋成將本公開的技術(shù)限制于圖2所示的示例架構(gòu)。
圖3是示出根據(jù)本公開的技術(shù)的示例提供商邊緣路由器操作的流程圖。相對(duì)于如圖1所描述的pe路由器10a,以示例目的示出根據(jù)本公開的技術(shù)的示例操作。根據(jù)本公開的技術(shù),pe路由器10a可以從ce路由器10b接收客戶網(wǎng)絡(luò)數(shù)據(jù)包(300)。pe路由器10a可以確定客戶網(wǎng)絡(luò)數(shù)據(jù)包的源c-mac地址是否包括在pe路由器10a的mac路由表或c-mac路由表中(302)。如果不是,則pe路由器10a可以通過將源c-mac地址存儲(chǔ)在其c-mac路由表中來獲悉c-mac地址(304)。此外,pe路由器10a可以將包括根據(jù)本公開的技術(shù)描述的擴(kuò)展組的l2控制消息(諸如b-mac路由)傳輸?shù)絠p/mpls核心內(nèi)的一個(gè)或多個(gè)pe路由器,以經(jīng)由包括在擴(kuò)展組中的源b-mac通過pe路由器向其以太網(wǎng)段內(nèi)的遠(yuǎn)程pe路由器通知c-mac地址的可到達(dá)性(306)。
pe路由器10a稍后可以從pe路由器10e接收后續(xù)客戶網(wǎng)絡(luò)數(shù)據(jù)包。pe路由器10a可以確定客戶網(wǎng)絡(luò)數(shù)據(jù)包的目標(biāo)c-mac是否在pe路由器10a的c-mac路由表內(nèi)(308)。在pe路由器10a的c-mac路由表內(nèi)存在目的地c-mac指示了目標(biāo)路由器可由pe路由器10a到達(dá),例如,pe路由器10a到圖1中的ce路由器8b。如果客戶網(wǎng)絡(luò)數(shù)據(jù)包的目的地c-mac在pe路由器10a的c-mac路由表內(nèi),則pe路由器10a可以將客戶網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到目的地(316)。否則,pe路由器10a可以將網(wǎng)絡(luò)流量作為bum流量轉(zhuǎn)發(fā)到所有已知的pe和ce路由器(312)。這樣,可以看出,根據(jù)本公開技術(shù)的用于b-mac路由的擴(kuò)展組可以保持pe路由器的路由表在以太網(wǎng)段內(nèi)一致。因?yàn)槁酚杀肀3忠恢?,所以可以極大減少由pe路由器針對(duì)單宿到相同以太網(wǎng)段的遠(yuǎn)程pe的客戶端路由器發(fā)布的bum流量。
圖4是示出根據(jù)本公開的技術(shù)的示例提供商邊緣路由器操作的流程圖。關(guān)于如圖1所描述的pe路由器10e,以示例目的示出根據(jù)本公開的技術(shù)的示例操作。pe路由器10a可以從遠(yuǎn)程pe路由器(400)接收用于b-mac路由的擴(kuò)展組。關(guān)于圖1和圖2,例如,pe路由器10e可以沿著輸入鏈路228從pe路由器10a經(jīng)由ifc226接收b-mac路由的此類擴(kuò)展組。pe路由器10e可以檢查路由信息206以確定pe路由器10e的以太網(wǎng)段的esi是否等同于用于b-mac路由的擴(kuò)展組的esi(402)。如果esi不等同,則pe路由器10e可以丟棄用于b-mac路由的擴(kuò)展組(404)。在這種情況下,包括在擴(kuò)展組中的c-mac地址可以不由pe路由器10e安裝。例如,圖1中的pe路由器10c可以丟棄從pe路由器10a接收的用于b-mac路由的擴(kuò)展組,因?yàn)樗鼈儾辉谙嗤蕴W(wǎng)段內(nèi)。如果esi是等同的,則pe路由器可以在其路由表中安裝擴(kuò)展組中描述的所更新的mac地址(406)。例如,在圖1中的pe路由器10e可以針對(duì)從pe路由器10a接收的b-mac路由安裝由擴(kuò)展組描述的mac地址,以描述客戶設(shè)備4c的可到達(dá)性,因?yàn)檫@兩個(gè)pe路由器10a和10e均在相同以太網(wǎng)段內(nèi)。相對(duì)于圖1和圖2,pe路由器10e的轉(zhuǎn)發(fā)引擎222可以將客戶備4c的c-mac地址安裝在轉(zhuǎn)發(fā)信息224的c-mac表232內(nèi)。此外,pe路由器10e的轉(zhuǎn)發(fā)引擎222可以在轉(zhuǎn)發(fā)信息224的b-mac表234內(nèi)安裝與pe路由器10a的ip地址相關(guān)聯(lián)的b-mac地址。在一些示例中,pe路由器10e的轉(zhuǎn)發(fā)引擎222可以進(jìn)一步將與pe路由器10a的ip地址相關(guān)聯(lián)的b-mac地址與客戶設(shè)備4c的c-mac地址交叉鏈接或關(guān)聯(lián),以經(jīng)由pe路由器10a指示客戶設(shè)備4c的可到達(dá)性。
因此,只有在與發(fā)布用于b-mac路由的擴(kuò)展組的pe路由器相同的以太網(wǎng)段內(nèi)的那些pe路由器可以安裝由該mac幀更新描述的c-mac地址。以這種方式,在pbb-evpn中的pe路由器可以建立與相同以太網(wǎng)段中的其他pe路由器的路由表一致的路由表,同時(shí)忽略其以太網(wǎng)段之外的c-mac地址。因此,根據(jù)本公開的技術(shù)可以極大減少由pe路由器針對(duì)單宿到pbb-evpn內(nèi)的相同以太網(wǎng)段的遠(yuǎn)程pe的客戶端路由器發(fā)布的bum流量。另外,本公開的技術(shù)避免了evpn面臨的擴(kuò)展性問題,其中每個(gè)pe路由器必須跟蹤和管理對(duì)于整個(gè)evpn已知的每個(gè)c-mac。
圖5是示出根據(jù)本公開的技術(shù)的可以附接到b-mac路由的示例擴(kuò)展組的框圖。典型的evpnmac路由包括rd字段501,以太網(wǎng)段標(biāo)識(shí)符(esi)字段502,以太網(wǎng)標(biāo)簽id字段503,mac地址長(zhǎng)度字段504,mac地址字段505,ip地址長(zhǎng)度字段506,ip地址字段507,mpls標(biāo)簽1字段508和mpls標(biāo)簽2字段509。rd字段501包括pe的ip地址(通常是環(huán)回地址),后面是唯一于pe路由器的號(hào)碼。esi字段502設(shè)定成以太網(wǎng)段的10個(gè)八位字節(jié)的esi,并且可以指示以太網(wǎng)段是單宿主的還是多宿主的段。以太網(wǎng)標(biāo)簽id字段503可為零或可以表示有效的以太網(wǎng)標(biāo)簽id。mac地址長(zhǎng)度字段504以比特為單位,并且被設(shè)定為48。mac地址字段505指定由mac路由描述的c-mac。ip地址字段507是可選的。默認(rèn)情況下,ip地址長(zhǎng)度字段506設(shè)定為0,并且從路由中省略ip地址字段。當(dāng)有效的ip地址需要被通告時(shí),其然后被編碼在ip地址字段507中。當(dāng)存在ip地址時(shí),ip地址長(zhǎng)度字段506以比特為單位,并且被設(shè)定成32或128比特。mpls標(biāo)簽1字段508與通告pe所通告的mac地址相關(guān)聯(lián)。mpls標(biāo)簽1字段被編碼為3個(gè)八位字節(jié),其中高階20位包含標(biāo)簽值。mpls標(biāo)簽2字段509是可選字段。如果它存在,則其被編碼為3個(gè)八位字節(jié),其中高階20位包含標(biāo)簽值。
在pbb-evpn中,mac路由用于b-mac地址。因此,pbb-evpnmac路由與evpnmac路由略有不同。例如,在pbb-evpn中,mac地址字段505包含b-mac地址而非c-mac地址。此外,以太網(wǎng)標(biāo)簽id字段503設(shè)定為0。esi字段502可以指示以太網(wǎng)段是單宿主段還是多宿主段。esi字段502可以要么設(shè)定為0(針對(duì)具有每-i-sid負(fù)載平衡的單宿主段或多宿主段)要么設(shè)定成max-esi(針對(duì)具有每流負(fù)載平衡的多宿主段)。可以不準(zhǔn)許用于esi字段502的所有其他值。其余字段的功能如針對(duì)evpn所述的。
根據(jù)本公開的技術(shù),擴(kuò)展組包括可以預(yù)先添加或增補(bǔ)到l2控制消息的若干附加字段(諸如pbb-evpn的b-mac路由)。例如,用于b-mac路由500的擴(kuò)展組包括op字段510、isid字段512、esi列表字段514、b-mac地址字段516和c-mac地址518。op字段510可以被設(shè)定成“添加”或“刪除”命令。“添加”命令促使pe路由器將條目添加到其mac地址路由表中,該表用于數(shù)據(jù)平面中獲悉的mac地址?!皠h除”命令使pe路由器從mac地址路由表中刪除mac地址(例如,響應(yīng)于mac地址老化)。isid字段512包含服務(wù)id,在該服務(wù)id上,單宿主的、單活動(dòng)或異構(gòu)的活動(dòng)-活動(dòng)以太網(wǎng)段提供服務(wù)。esi列表514是用于給定服務(wù)/isid的活動(dòng)-活動(dòng)以太網(wǎng)段的列表。以太網(wǎng)段標(biāo)識(shí)符(esi)的該列表可以用于導(dǎo)入和編程客戶c-mac可到達(dá)性。以太網(wǎng)段標(biāo)識(shí)符可以用于標(biāo)識(shí)evpn或pbb-evpn中的多宿主段。根據(jù)本公開的技術(shù),在一個(gè)示例中,esi列表514可以用于為針對(duì)相同以太網(wǎng)段配置的遠(yuǎn)程pe路由器安裝c-mac地址。在該示例中,用于b-mac路由的擴(kuò)展組可以被發(fā)送到所有已知的pe路由器,并且具有esi列表514內(nèi)的esi的那些pe路由器可以在擴(kuò)展組內(nèi)安裝c-mac地址,并且不具有esi列表514內(nèi)的esi的那些pe路由器可以忽略擴(kuò)展組。b-mac地址字段516描述了單宿主、單活動(dòng)或異構(gòu)活動(dòng)-活動(dòng)以太網(wǎng)段設(shè)備的b-mac地址。在c-mac地址字段518中描述的c-mac地址可經(jīng)由該b-mac地址到達(dá)。c-mac地址字段518描述在數(shù)據(jù)平面中已經(jīng)獲悉的c-mac地址。對(duì)于遠(yuǎn)程pe,該c-mac地址可經(jīng)由在b-mac地址字段516內(nèi)包含的b-mac地址到達(dá)。參考圖1和圖2作為示例,路由引擎204可以使用存儲(chǔ)在pe路由器內(nèi)的信息(包括轉(zhuǎn)發(fā)信息和所獲悉的mac地址)以建立擴(kuò)展組。例如,pe路由器10a的路由引擎204可以選擇待在擴(kuò)展組中使用的操作數(shù)510(諸如“添加”或“刪除”)以便從遠(yuǎn)程pe路由器的c-mac地址表中添加或移除c-mac地址。在另外的示例中,pe路由器10a的路由引擎204可以使用路由信息206來生成以太網(wǎng)段18a(514)的isid和與擴(kuò)展組的pe路由器10a(514)相關(guān)聯(lián)的esi列表。在另外的示例中,pe路由器10a的路由引擎204可以使用轉(zhuǎn)發(fā)信息224(諸如c-mac表232和b-mac表234)以提供用于與pe路由器10a(516)相關(guān)聯(lián)的b-mac地址的值和用于與擴(kuò)展組中使用的客戶設(shè)備4c(518)相關(guān)聯(lián)的c-mac地址的值。路由引擎204可以使用bgp協(xié)議220來將擴(kuò)展組增補(bǔ)或預(yù)先附加到l2控制消息,諸如b-mac路由。pe路由器10a可以沿著ifc226的輸出鏈路230將包括擴(kuò)展組的l2控制消息發(fā)送到pe路由器10e。
路由引擎204可以將擴(kuò)展組預(yù)先添加或增補(bǔ)到b-mac路由以創(chuàng)建單個(gè)l2控制消息。轉(zhuǎn)發(fā)引擎222可以沿著ifc226的輸出鏈路230將擴(kuò)展組和b-mac路由(route,路徑)轉(zhuǎn)發(fā)到以太網(wǎng)段中的遠(yuǎn)程pe路由器。
本公開中描述的技術(shù)可以至少部分地以硬件、軟件、固件或它們的任何組合中實(shí)現(xiàn)。例如,所描述的技術(shù)的各個(gè)方面可以在一個(gè)或多個(gè)處理器內(nèi)實(shí)現(xiàn),一個(gè)或多個(gè)處理器包括一個(gè)或多個(gè)微處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)或任何其它等效集成或分立邏輯電路,以及此類組件的任何組合。術(shù)語“處理器”或“處理電路”通??梢灾溉魏吻笆鲞壿嬰娐罚瑔为?dú)地或與其它邏輯電路組合或任何其它等同電路。包括硬件的控制單元還可以執(zhí)行本公開的一個(gè)或多個(gè)技術(shù)。
此類硬件、軟件和固件可以在相同設(shè)備內(nèi)或在獨(dú)立設(shè)備內(nèi)實(shí)現(xiàn),以支持在本公開中描述的各種操作和功能。此外,所描述的單元、模塊或組件中的任一者可一起實(shí)現(xiàn)或單獨(dú)實(shí)現(xiàn)成分立的但可互操作的邏輯設(shè)備。將不同特征描述為模塊或單元旨在突出不同的功能方面,但不一定意味著此類模塊或單元必須由獨(dú)立硬件或軟件組件實(shí)現(xiàn)。相反,與一個(gè)或多個(gè)模塊或單元相關(guān)聯(lián)的功能性可以由獨(dú)立硬件或軟件組件執(zhí)行,或者集成在公共或獨(dú)立硬件或軟件組件中。
本公開中描述的技術(shù)也可以在包含指令的計(jì)算機(jī)可讀介質(zhì)(諸如計(jì)算機(jī)可讀存儲(chǔ)介質(zhì))中實(shí)施或編碼在計(jì)算機(jī)可讀介質(zhì)中。例如當(dāng)執(zhí)行指令時(shí),在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中嵌入或編碼的指令可以使可編程處理器或其他處理器執(zhí)行該方法。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可編程只讀存儲(chǔ)器(prom)、可擦除可編程只讀存儲(chǔ)器(eprom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、閃存、硬盤、cd-rom、軟盤、盒式磁帶、磁性介質(zhì)、光介質(zhì)或其它計(jì)算機(jī)可讀介質(zhì)。
除了上述之外或作為上述的替代,描述以下示例。在任何以下實(shí)施例中描述的特征可與本文所述的任何其它實(shí)施例一起使用。
示例1.一種方法,包括:響應(yīng)于通過包括在提供商骨干橋接以太網(wǎng)虛擬專用網(wǎng)絡(luò)(pbb-evpn)的以太網(wǎng)段中的第一提供商邊緣(pe)路由器從第一客戶邊緣(ce)路由器接收第一層二(l2)數(shù)據(jù)消息,執(zhí)行包括在所述第一l2數(shù)據(jù)消息中的客戶mac(c-mac)地址的l2獲悉;由所述第一pe路由器將l2控制消息發(fā)送至包括在所述以太網(wǎng)段中的至少另一個(gè)pe路由器,所述l2控制消息包括所述c-mac地址和在所述至少另一個(gè)pe路由器處未配置的第一橋接mac(b-mac)地址,所述l2控制消息使得所述至少另一個(gè)pe路由器至少部分地基于所述第一pe路由器通過所述第一pe路由器的所述第一b-mac地址獲悉所述c-mac地址的可到達(dá)性,并且所述至少另一個(gè)pe路由器各自被配置用于與所述以太網(wǎng)段相關(guān)聯(lián)的第二b-mac地址;和響應(yīng)于由所述第一pe路由器從所述以太網(wǎng)段中的所述至少另一個(gè)pe路由器接收包括所述c-mac地址的作為單播流量的第二l2數(shù)據(jù)消息,將所述第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到所述第一ce路由器。
示例2.根據(jù)示例1所述的方法,其中,所述至少另一個(gè)pe路由器不與所述第一b-mac地址相關(guān)聯(lián),其中,所述第一pe路由器和所述第一ce路由器各自與所述第二b-mac地址相關(guān)聯(lián)。
示例3.根據(jù)示例2所述的方法,其中,所述第一pe路由器和所述至少另一個(gè)pe路由器各自被配置有與所述第一b-mac地址相關(guān)聯(lián)的公共以太網(wǎng)段標(biāo)識(shí)符。
示例4.根據(jù)示例1所述的方法,其中,所述l2控制消息包括擴(kuò)展組,其中所述擴(kuò)展組包括:所述c-mac地址;所述第一b-mac地址;指示在所述至少另一個(gè)pe路由器處的c-mac地址的添加或刪除操作的操作數(shù);指示包括所述第一b-mac地址的服務(wù)實(shí)例的服務(wù)實(shí)例標(biāo)識(shí)符(isid)和以太網(wǎng)段標(biāo)識(shí)符(esi)的列表。
示例5.根據(jù)示例1所述的方法,其中,所述c-mac地址指示所述第一l2數(shù)據(jù)消息的源。
示例6.根據(jù)示例1所述的方法,其中,所述第一b-mac地址是源b-mac地址,并且其中執(zhí)行l(wèi)2獲悉還包括:確定所述c-mac地址是否在所述第一pe路由器的mac路由表內(nèi);以及在確定所述c-mac地址不在所述mac路由表內(nèi)時(shí),在所述mac路由表內(nèi)安裝與所述第一b-mac地址相關(guān)聯(lián)的所述c-mac地址。
示例7.根據(jù)示例1所述的方法,還包括:從所述第一pe路由器的c-mac表中檢索所述c-mac地址,其中所述c-mac地址對(duì)應(yīng)于所述第一l2數(shù)據(jù)消息的源;至少部分地基于所述c-mac地址從所述c-mac表中檢索所述第一b-mac地址;以及生成具有包括所述c-mac地址和所述第一b-mac地址的擴(kuò)展組的所述l2控制消息。
示例8.一種提供商骨干橋接(pbb)以太網(wǎng)虛擬專用網(wǎng)絡(luò)(evpn)的第一提供商邊緣(pe)路由器,所述第一路由器包括:控制單元,其具有耦接至存儲(chǔ)器的至少一個(gè)處理器;其中所述控制單元執(zhí)行軟件,所述軟件被配置成:響應(yīng)于從第一客戶邊緣(ce)路由器接收第一層二(l2)數(shù)據(jù)消息,執(zhí)行包括在所述第一l2數(shù)據(jù)消息中的客戶mac(c-mac)地址的l2獲悉;將l2控制消息發(fā)送至包括在所述以太網(wǎng)段中的至少另一個(gè)pe路由器,所述l2控制消息包括c-mac地址和在所述至少另一個(gè)pe路由器處未配置的第一橋接mac(b-mac)地址,所述l2控制消息使得所述至少另一個(gè)pe路由器至少部分地基于所述第一pe路由器通過所述第一pe路由器的所述第一b-mac地址獲悉所述c-mac地址的可到達(dá)性,并且所述至少另一個(gè)pe路由器各自被配置用于與所述以太網(wǎng)段相關(guān)聯(lián)的第二b-mac地址;和響應(yīng)于從所述以太網(wǎng)段中的所述至少另一個(gè)pe路由器接收包括所述c-mac地址的作為單播流量的第二l2數(shù)據(jù)消息,將所述第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到第一ce路由器。
示例9.根據(jù)示例8所述的pe路由器,其中,所述至少另一個(gè)pe路由器不與所述第一b-mac地址相關(guān)聯(lián),其中,所述第一pe路由器和所述第一ce路由器各自與所述第二b-mac地址相關(guān)聯(lián)。
示例10.根據(jù)示例9所述的pe路由器,其中,所述第一pe路由器和所述至少另一個(gè)pe路由器各自被配置有與所述第一b-mac地址相關(guān)聯(lián)的公共以太網(wǎng)段標(biāo)識(shí)符。
示例11.根據(jù)示例8所述的pe路由器,其中,所述l2控制消息包括擴(kuò)展組,其中所述擴(kuò)展組包括:所述c-mac地址;所述第一b-mac地址;指示在所述至少另一個(gè)pe路由器處的c-mac地址的添加或刪除操作的操作數(shù);指示包括所述第一b-mac地址的服務(wù)實(shí)例的服務(wù)實(shí)例標(biāo)識(shí)符(isid)和以太網(wǎng)段標(biāo)識(shí)符(esi)的列表。
示例12.根據(jù)示例8所述的pe路由器,其中,所述c-mac地址指示所述第一l2數(shù)據(jù)消息的源。
示例13.根據(jù)示例8所述的pe路由器,其中,所述第一b-mac地址是源b-mac地址,并且其中被配置成執(zhí)行l(wèi)2獲悉的所述軟件還被配置成:確定所述c-mac地址是否在所述第一pe路由器的mac路由表內(nèi);以及在確定所述c-mac地址不在所述mac路由表內(nèi)時(shí),在所述mac路由表內(nèi)安裝與所述第一b-mac地址相關(guān)聯(lián)的所述c-mac地址。
示例14.根據(jù)示例8所述的pe路由器,其中,所述軟件還被配置成:
從所述第一pe路由器的c-mac表中檢索所述c-mac地址,其中所述c-mac地址對(duì)應(yīng)于所述第一l2數(shù)據(jù)消息的源;至少部分地基于所述c-mac地址從所述c-mac表中檢索所述第一b-mac地址;以及生成具有包括所述c-mac地址和所述第一b-mac地址的擴(kuò)展組的所述l2控制消息。
示例15.一種包括指令的計(jì)算機(jī)可讀介質(zhì),所述指令使得提供商骨干橋接(pbb)以太網(wǎng)虛擬網(wǎng)絡(luò)(evpn)的第一提供商邊緣(pe)路由器的至少一個(gè)可編程處理器能夠:響應(yīng)于從第一客戶邊緣(ce)路由器接收第一層二(l2)數(shù)據(jù)消息,執(zhí)行包括在所述第一l2數(shù)據(jù)消息中的客戶mac(c-mac)地址的l2獲悉;將所述l2控制消息發(fā)送至包括在所述以太網(wǎng)段中的至少另一個(gè)pe路由器,所述l2控制消息包括所述c-mac地址和在所述至少另一個(gè)pe路由器處未配置的第一橋接mac(b-mac)地址,所述l2控制消息使得所述至少另一個(gè)pe路由器至少部分地基于所述第一pe路由器通過所述第一pe路由器的所述第一b-mac地址獲悉所述c-mac地址的所述可到達(dá)性,并且所述至少另一個(gè)pe路由器各自被配置用于與以所述太網(wǎng)段相關(guān)聯(lián)的第二b-mac地址;和響應(yīng)于從所述以太網(wǎng)段中的所述至少另一個(gè)pe路由器接收包括所述c-mac地址的作為單播流量的第二l2數(shù)據(jù)消息,將所述第二l2數(shù)據(jù)消息轉(zhuǎn)發(fā)到所述第一ce路由器。
示例16.根據(jù)示例15所述的計(jì)算機(jī)可讀介質(zhì),其中,所述至少另一個(gè)pe路由器不與所述第一b-mac地址相關(guān)聯(lián),其中,所述第一pe路由器和所述第一ce路由器各自與所述第二b-mac地址相關(guān)聯(lián)。
示例17.根據(jù)示例16所述的計(jì)算機(jī)可讀介質(zhì),其中,所述第一pe路由器和所述至少另一個(gè)pe路由器各自被配置有與所述第一b-mac地址相關(guān)聯(lián)的公共以太網(wǎng)段標(biāo)識(shí)符。
示例18.根據(jù)示例15所述的計(jì)算機(jī)可讀介質(zhì),其中,所述l2控制消息包括擴(kuò)展組,其中所述擴(kuò)展組包括:
所述c-mac地址;所述第一b-mac地址;指示在所述至少另一個(gè)pe路由器處的c-mac地址的添加或刪除操作的操作數(shù);指示包括所述第一b-mac地址的服務(wù)實(shí)例的服務(wù)實(shí)例標(biāo)識(shí)符(isid)和以太網(wǎng)段標(biāo)識(shí)符(esi)的列表。
示例19.根據(jù)示例15所述的計(jì)算機(jī)可讀介質(zhì),其中,所述第一b-mac地址是源b-mac地址,并且其中用于使得所述第一pe路由器的所述至少另一個(gè)可編程處理器執(zhí)行l(wèi)2獲悉的所述指令還被配置成使得所述第一pe路由器的所述至少一個(gè)可編程處理器用于:確定所述c-mac地址是否在所述第一pe路由器的mac路由表內(nèi);以及在確定所述c-mac地址不在所述mac路由表內(nèi)時(shí),在所述mac路由表內(nèi)安裝與所述第一b-mac地址相關(guān)聯(lián)的所述c-mac地址。
示例20.根據(jù)示例15所述的計(jì)算機(jī)可讀介質(zhì),其中,所述指令還被配置成使得所述第一pe路由器的所述至少另一個(gè)可編程處理器用于:從所述第一pe路由器的c-mac表中檢索所述c-mac地址,其中所述c-mac地址對(duì)應(yīng)于所述第一l2數(shù)據(jù)消息的源;至少部分地基于所述c-mac地址從所述c-mac表中檢索所述第一b-mac地址;以及生成具有包括所述c-mac地址和所述第一b-mac地址的擴(kuò)展組(extendedcommunity)的所述l2控制消息。
此外,在上述任何一個(gè)示例中闡述的任一個(gè)具體特征可以組合到所描述技術(shù)的有益示例中。即,任何一個(gè)具體特征通??蓱?yīng)用于本發(fā)明的所有示例。已經(jīng)描述了本發(fā)明的各種示例。