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

確定性的且優(yōu)化的比特索引顯式復(fù)制(BIER)轉(zhuǎn)發(fā)的制作方法

文檔序號(hào):11959834閱讀:348來(lái)源:國(guó)知局
確定性的且優(yōu)化的比特索引顯式復(fù)制(BIER)轉(zhuǎn)發(fā)的制作方法與工藝

本發(fā)明涉及數(shù)據(jù)轉(zhuǎn)發(fā),更具體地,涉及確定性的且優(yōu)化的比特索引顯式復(fù)制(BIER)轉(zhuǎn)發(fā)。



背景技術(shù):

網(wǎng)絡(luò)設(shè)備(例如,路由器)轉(zhuǎn)發(fā)率隨著時(shí)間的流逝已經(jīng)快速地增加,而控制面(control plane)處理能力以更慢的速率增加了。轉(zhuǎn)發(fā)面(forwarding plane)速度和控制面速度之間的比率非常大(例如,千分之一或者更大的因子),并且隨時(shí)時(shí)間的流逝不斷增加。用于因特網(wǎng)協(xié)議(IP)多播的現(xiàn)有方法是相對(duì)控制面密集的。稱為比特索引顯式復(fù)制(BIER)轉(zhuǎn)發(fā)方法的一個(gè)方案已經(jīng)被引入到因特網(wǎng)工程任務(wù)組(IETF),以允許在網(wǎng)絡(luò)核心中很多多播組在最小狀態(tài)下得到同時(shí)支持。在BIER轉(zhuǎn)發(fā)方法中,僅針對(duì)任何特定分組流的入口(ingress)路由器需要知道哪個(gè)入口路由器需要接收任何特定分組。BIER轉(zhuǎn)發(fā)方法不要求任何顯式樹構(gòu)建協(xié)議,BIER轉(zhuǎn)發(fā)方法也不要求中間路由器來(lái)維持任何每流(per-flow)狀態(tài)。實(shí)現(xiàn)BIER轉(zhuǎn)發(fā)方法的路由器被稱為比特轉(zhuǎn)發(fā)路由器(BFR)。

在包括等價(jià)多路徑(ECMP)或鏈路聚合組(LAG)(例如,隨著路由器變得更快而正變得更通用)的網(wǎng)絡(luò)中,對(duì)于任何一個(gè)目的地而言,BIER轉(zhuǎn)發(fā)方法導(dǎo)致非確定性路徑。特別地,分組到一個(gè)目的地所采納的路徑依賴于哪些其它目的地也正接收相同分組。因而,在大多播組中,如果一個(gè)路由器或幾個(gè)路由器交替地加入和離開該多播組,則在該多播組中到其它路由器的路徑將波動(dòng),這使得網(wǎng)絡(luò)操作、運(yùn)營(yíng)和管理(OAM)困難。例如,在BIER轉(zhuǎn)發(fā)方法的情況下,對(duì)于追蹤路由技術(shù)而言可能難以正確地確定針對(duì)特定目的地特定分組流 所采用的路徑。BIER轉(zhuǎn)發(fā)方法還可能導(dǎo)致性能不一致和/或分組至任何特定目的地的遞送次序混亂。假定不一致的性能可能依賴于至特定目的地所采用的路徑,可能難以診斷這樣的不一致的性能。



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

在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備可以結(jié)合轉(zhuǎn)發(fā)表來(lái)執(zhí)行操作。網(wǎng)絡(luò)設(shè)備可以包括用于創(chuàng)建轉(zhuǎn)發(fā)表的裝置。轉(zhuǎn)發(fā)表中的每一個(gè)可以包括與第一目的地集和第二目的地集相關(guān)聯(lián)的信息,以及第一目的地集不同于第二目的地集。網(wǎng)絡(luò)設(shè)備還可以包括:為每個(gè)轉(zhuǎn)發(fā)表確定針對(duì)第一目的地集的下一跳,以及為每個(gè)轉(zhuǎn)發(fā)表確定針對(duì)第二目的地集的等價(jià)多路徑下一跳的裝置。網(wǎng)絡(luò)設(shè)備還可以包括用于利用與下一跳和等價(jià)多路徑下一跳相關(guān)聯(lián)的信息填充多個(gè)轉(zhuǎn)發(fā)表的裝置。轉(zhuǎn)發(fā)表中的一個(gè)或多個(gè)被用來(lái)朝向目的地轉(zhuǎn)發(fā)多播分組。

在一些實(shí)現(xiàn)方式中,一種方法可以包括結(jié)合轉(zhuǎn)發(fā)表來(lái)執(zhí)行操作。該方法可以包括由網(wǎng)絡(luò)中提供的網(wǎng)絡(luò)設(shè)備創(chuàng)建轉(zhuǎn)發(fā)表。轉(zhuǎn)發(fā)表中的每一個(gè)可以包括與第一目的地集和第二目的地集相關(guān)聯(lián)的信息,以及第一目的地集不同于第二目的地集。該方法還可以包括由網(wǎng)絡(luò)設(shè)備并且針對(duì)每一個(gè),確定針對(duì)第一目的地集的下一跳和針對(duì)第二目的地集的等價(jià)多路徑下一跳。該方法還可以包括由所述網(wǎng)絡(luò)設(shè)備利用與下一跳和等價(jià)多路徑下一跳相關(guān)聯(lián)的信息填充轉(zhuǎn)發(fā)表。轉(zhuǎn)發(fā)表中的一個(gè)或多個(gè)被用來(lái)朝向多個(gè)目的地轉(zhuǎn)發(fā)多播分組。

在一些實(shí)現(xiàn)方式中,比特轉(zhuǎn)發(fā)設(shè)備可以轉(zhuǎn)發(fā)多播分組,以及可以包括用于接收所述多播分組的裝置,所述多播分組包括標(biāo)識(shí)所述多播分組的目的地地址的信息。比特轉(zhuǎn)發(fā)設(shè)備還可以包括用于分析所述多播分組的裝置,其用來(lái)確定多個(gè)比特索引轉(zhuǎn)發(fā)表中的要用于多播分組的特定比特索引轉(zhuǎn)發(fā)表。比特轉(zhuǎn)發(fā)設(shè)備還可以包括用于標(biāo)識(shí)與所述特定比特索引轉(zhuǎn)發(fā)表相關(guān)聯(lián)以及與所述目的地地址相關(guān)聯(lián)的特定等價(jià)多路徑下一跳的裝置,以及用于將所述多播分組轉(zhuǎn)發(fā)到所述特定等價(jià)多路徑下一跳的裝置。特定等價(jià)多路徑下一跳可以朝向與所述目的地 地址相關(guān)聯(lián)的目的地轉(zhuǎn)發(fā)所述多播分組。

附圖說(shuō)明

圖1是本文所描述的示例實(shí)現(xiàn)方式的概覽的示圖;

圖2是可以實(shí)施本文所描述的系統(tǒng)和/或方法的示例環(huán)境的示圖;

圖3是圖2的網(wǎng)絡(luò)設(shè)備的示例組件的示圖;

圖4是用于在網(wǎng)絡(luò)設(shè)備中填充多個(gè)比特索引轉(zhuǎn)發(fā)表(BIFT)的示例過(guò)程的流程圖;

圖5A-5E是關(guān)于圖4中所示的示例過(guò)程的示例實(shí)現(xiàn)方式的示圖;

圖6是基于多個(gè)BIFT轉(zhuǎn)發(fā)多播分組的示例過(guò)程的流程圖;以及

圖7A-7D是關(guān)于圖6中所示的示例過(guò)程的示例實(shí)現(xiàn)方式的示圖。

具體實(shí)施方式

對(duì)示例實(shí)現(xiàn)方式的下列詳細(xì)描述參考附圖。在不同附圖中相同的附圖標(biāo)記可以指明相同的或相似的元素。

BIER轉(zhuǎn)發(fā)方法使用比特索引轉(zhuǎn)發(fā)表(BIFT)。在不包括ECMP和LAG的網(wǎng)絡(luò)中,對(duì)于分組而言每個(gè)潛在的目的地(例如,由轉(zhuǎn)發(fā)比特掩碼(F-BM)中的唯一單個(gè)比特表示)僅具有單個(gè)可能下一跳(next hop)。再者,在不包括ECMP和LAG的網(wǎng)絡(luò)中,單個(gè)BIFT中的每個(gè)條目(例如,對(duì)應(yīng)于特定的可能目的地)包括單個(gè)行,該行規(guī)定對(duì)應(yīng)于特定下一跳的單個(gè)F-BM。然而,在包括ECMP和/或LAG的網(wǎng)絡(luò)中,單個(gè)BIFT中的一些條目將包含多個(gè)行,這些行對(duì)應(yīng)于多個(gè)可能下一跳(例如,其中對(duì)于每個(gè)下一跳具有不同的F-BM)。選擇哪個(gè)條目可以依賴于對(duì)正轉(zhuǎn)發(fā)的分組所執(zhí)行的哈希(例如,基于IP源和目的地地址、IP協(xié)議字段、傳輸控制協(xié)議(TCP)端口、和/或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)端口的哈希)。在這樣的情形下,對(duì)于多個(gè)條目而言表示任何一個(gè)特定目的地的比特可以存在于F-BM中。由于BIER轉(zhuǎn)發(fā)方法首先確定至F-BM中具有較低編號(hào)比特的目的地的路徑,至對(duì)應(yīng)于較高編號(hào)比特的目的地的路徑將依賴于分組是否還將到 具有較低編號(hào)比特的目的地,以及依賴于使用哪個(gè)哈希值。

在此所描述的系統(tǒng)和/或方法可以擴(kuò)展BIER轉(zhuǎn)發(fā)方法,以確保至任何特定目的地所采取的路徑依賴于該特定目的地和針對(duì)去往該特定目的地的特定分組流而選擇ECMP分組所使用的哈希值。系統(tǒng)和/或方法可以利用多個(gè)BIFT,并且每個(gè)BIFT可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳,而不是利用單個(gè)BIFT,該單個(gè)BIFT對(duì)于一些可能目的地具有多個(gè)可能下一跳。系統(tǒng)和/或方法可以使不必要的早期路徑散度(divergence)最小化,從而實(shí)現(xiàn)網(wǎng)絡(luò)資源的更有效利用。系統(tǒng)和/或方法可以使BIER轉(zhuǎn)發(fā)方法是確定性的,其可以簡(jiǎn)化網(wǎng)絡(luò)OAM并且允許網(wǎng)絡(luò)的更穩(wěn)定的性能。在多播流量如何在ECMP和/或LAG上傳播方面,系統(tǒng)和/或方法可以改善網(wǎng)絡(luò)效率。

圖1是在此所描述的示例實(shí)現(xiàn)方式100的概覽的示圖。如圖1中所示,多播域可以包括通過(guò)鏈路互連的多個(gè)網(wǎng)絡(luò)設(shè)備,諸如比特轉(zhuǎn)發(fā)路由器BFR-A、BFR-B、BFR-C、BFR-D、BFR-E、BFR-F、和BFR-G。多播域中的每個(gè)BFR可以被賦予唯一的BFR標(biāo)識(shí)符(BFR-id)。假定BFR-D包括一(1)的BFR-id、零(0)的設(shè)定標(biāo)識(shí)符(SI)和“00001”的比特串(例如,其中“0:00001”標(biāo)識(shí)BFR-D的SI和比特串)。SI和比特串可以用來(lái)標(biāo)識(shí)分組將被遞送到的出口BFR(BFER)集。假定BFR-F包括二(2)的BFR-id、零(0)的SI和“00010”的比特串(例如,其中“0:00010”標(biāo)識(shí)BFR-F的SI和比特串)。假定BFR-E包括三(3)的BFR-id、零(0)的SI和“00100”的比特串(例如,其中“0:00100”標(biāo)識(shí)BFR-E的SI和比特串)。假定BFR-A包括四(4)的BFR-id、零(0)的SI和“01000”的比特串(例如,其中“0:01000”標(biāo)識(shí)BFR-A的SI和比特串)。假定BFR-G包括五(5)的BFR-id、零(0)的SI和“10000”的比特串(例如,其中“0:10000”標(biāo)識(shí)BFR-G的SI和比特串)。因而,比特串中(例如,從右至左)的“1s”的位置可以提供至與BFR相關(guān)聯(lián)的BFR-id的映射。例如,“00001”的比特串可以對(duì)應(yīng)于BFR-id“1”(例如,BFR-D);“00010”的比特串可以對(duì)應(yīng)于BFR-id“2”(例如,BFR-F);“00100”的比特串可以對(duì)應(yīng)于BFR-id“3” (例如,BFR-E);“01000”的比特串可以對(duì)應(yīng)于BFR-id“4”(例如,BFR-S);以及“10000”的比特串可以對(duì)應(yīng)于BFR-id“5”(例如,BFR-G)。

每個(gè)BFR可以利用多個(gè)BIFT,并且每個(gè)BIFT可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。例如,如圖1中所示,BFR-B(例如,入口BFR)可以利用四個(gè)BIFT,但是可以根據(jù)針對(duì)任何特定目的地要支持多少個(gè)下一跳和/或多少存儲(chǔ)器可用于BFR-B,來(lái)利用更多的BIFT。BFR-B可以將BIFT編程到數(shù)據(jù)面中并且可以使用BIFT來(lái)轉(zhuǎn)發(fā)分組。第四BIFT(例如,BIFT-4)可以包括針對(duì)BFR-id(例如,“1”、“2”、“3”、“4”和“5”)的列、針對(duì)轉(zhuǎn)發(fā)比特掩碼(F-BM)的列和針對(duì)相鄰BFR(BFR-NBR)的列。特定BFR的相鄰BFR可以包括臨近于且通過(guò)直接鏈路連接到該特定BFR的BFR。F-BM可以包括對(duì)應(yīng)于SI和BFR-NBR的組合的比特掩碼。在一些實(shí)現(xiàn)方式中,BFR-B可以通過(guò)下列方式來(lái)填充(populate)BIFT:首先使用比特掩碼中的比特“1”針對(duì)目的地的可能下一跳來(lái)填充BIFT,然后使用比特掩碼中的比特“2”針對(duì)目的地的可能下一跳來(lái)填充BIFT,等等。在填充BIFT時(shí),BFR-B可以對(duì)每個(gè)BEFT中出現(xiàn)每個(gè)下一跳的次數(shù)進(jìn)行計(jì)數(shù)。當(dāng)使用比特掩碼中的第n比特填充BIFT時(shí),對(duì)于每個(gè)可能下一跳,BFR-B可以利用已經(jīng)具有最多出現(xiàn)的相同下一跳的BIFT。

再如圖1中所示,假定多播分組到達(dá)BFR-B并且包括具有“10101”的比特串的分組報(bào)頭。分組報(bào)頭中的比特串的“00001”部分可以指示多播分組要被遞送到具有“1”的BFR-id的BFR(例如,BFR-D);比特串的“00100”部分可以指示多播分組要被遞送到具有“3”的BFR-id的BFR(例如,BFR-E);以及比特串的“10000”部分可以指示多播分組要被遞送到具有“5”的BFR-id的BFR(例如,BFR-G)。BFR-B可以執(zhí)行多播分組的哈希以確定哪個(gè)BIFT要用來(lái)轉(zhuǎn)發(fā)該分組。例如,BFR-B可以基于多播分組的哈希確定將使用第四BIFT來(lái)轉(zhuǎn)發(fā)多播分組。第四BIFT可以指示BFR-B要向BFR-C發(fā)送多播分組的一個(gè)拷貝(例如,具有“00001”的比特串)以及向BFR-E發(fā)送多播分組的另一拷貝(例如,具有“10100”的比特串)?!?0001”的比特串可以指示 多播分組的拷貝要被遞送到具有“1”的BFR-id的BFR(例如,BFR-D)?!?0100”的比特串可以指示多播分組的另一拷貝要被遞送到具有“3”和“5”的BFR-id的BFR(例如,BFR-E和BFR-G)。再如圖1中所示,依據(jù)由BFR-B所提供的指令,多播分組可以被轉(zhuǎn)發(fā)到BFR-D、BFR-E和BFR-G。

在此所描述的系統(tǒng)和/或方法可以擴(kuò)展BIER轉(zhuǎn)發(fā)方法,以確保至任何特定目的地所采取的路徑依賴于該特定目的地和為至該特定目的地的特定分組流選擇ECMP分組所使用的哈希值。

圖2是可以實(shí)施本文所描述的系統(tǒng)和/或方法的示例環(huán)境200的示圖。如圖2中所示,環(huán)境200可以包括一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備210-1至210-N(N≥1)(下文中共同稱為網(wǎng)絡(luò)設(shè)備210,以及單獨(dú)稱為網(wǎng)絡(luò)設(shè)備210)和網(wǎng)絡(luò)220。環(huán)境200的設(shè)備可以經(jīng)由有線連接、無(wú)線連接、或有線和無(wú)線連接的組合互連。

網(wǎng)絡(luò)設(shè)備210可以包括能夠接收、傳送、處理、路由等等經(jīng)由網(wǎng)絡(luò)200行進(jìn)的分組的設(shè)備。例如,網(wǎng)絡(luò)設(shè)備210可以包括路由器、交換機(jī)、網(wǎng)關(guān)、調(diào)制解調(diào)器、防火墻、網(wǎng)絡(luò)接口控制器(NIC)、集線器、網(wǎng)橋、光分插復(fù)用器(OADM)或另一類型的網(wǎng)絡(luò)設(shè)備。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備210可以包括與接收分組相關(guān)聯(lián)的一個(gè)或多個(gè)輸入端口、和與傳送分組相關(guān)聯(lián)的一個(gè)或多個(gè)輸出端口。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備210可以連接到一個(gè)或多個(gè)其它網(wǎng)絡(luò)設(shè)備210。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備210可以與其它設(shè)備(未示出)通信,以便處理和/或路由網(wǎng)絡(luò)設(shè)備210所接收的分組。盡管在此結(jié)合作為網(wǎng)絡(luò)設(shè)備210的BFR來(lái)描述實(shí)現(xiàn)方式的,但是可以與其它類型的網(wǎng)絡(luò)設(shè)備210(例如,不同于BFR)一起利用本文所描述的系統(tǒng)和/或方法。

網(wǎng)絡(luò)220可以包括一個(gè)或多個(gè)有線和/或無(wú)線網(wǎng)絡(luò),其包括網(wǎng)絡(luò)設(shè)備210和/或允許網(wǎng)絡(luò)設(shè)備210進(jìn)行通信。例如,網(wǎng)絡(luò)220可以包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、電話網(wǎng)(例如,公共交換電話網(wǎng)(PSTN))、自組織網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、基于光纖的網(wǎng)絡(luò)、專用網(wǎng)絡(luò)、云計(jì)算網(wǎng)絡(luò)、和/或這些或其它類型的網(wǎng)絡(luò)的 組合。

圖2中所示出的設(shè)備和網(wǎng)絡(luò)的數(shù)目和布置作為示例提供。在實(shí)踐中,與圖2中所示的那些設(shè)備和/或網(wǎng)絡(luò)相比,可以存在附加的設(shè)備和/或網(wǎng)絡(luò)、更少的設(shè)備和/或網(wǎng)絡(luò)、不同的設(shè)備和/或網(wǎng)絡(luò)、或者不同布置的設(shè)備和/或網(wǎng)絡(luò)。此外,圖2中所示的兩個(gè)或更多個(gè)設(shè)備可以實(shí)現(xiàn)在單個(gè)設(shè)備內(nèi),或者圖2中所示的單個(gè)設(shè)備可以實(shí)現(xiàn)為多個(gè)分布式設(shè)備。另外或者可替換地,環(huán)境200的設(shè)備集(例如,一個(gè)或多個(gè)設(shè)備)可以執(zhí)行所描述的由環(huán)境200的另一設(shè)備集執(zhí)行的一個(gè)或多個(gè)功能。

圖3是網(wǎng)絡(luò)設(shè)備210的示例組件的示圖。如圖3中所示,網(wǎng)絡(luò)設(shè)備210可以包括一個(gè)或多個(gè)輸入組件305-1至305-B(B≥1)(在下文中被共同稱為輸入組件305,以及單獨(dú)稱為輸入組件305)、交換組件310、一個(gè)或多個(gè)輸出組件315-1至315-C(C≥1)(在下文中被共同稱為輸出組件315,以及單獨(dú)稱為輸出組件315)、以及路由組件320。

輸入組件305可以是用于物理鏈路的附接點(diǎn)以及可以是諸如分組之類的進(jìn)入業(yè)務(wù)的進(jìn)入點(diǎn)。輸入組件305可以諸如通過(guò)執(zhí)行數(shù)據(jù)鏈路層封裝或解封裝來(lái)處理進(jìn)入業(yè)務(wù)。在一些實(shí)現(xiàn)方式中,輸入組件305可以發(fā)送和/或接收分組。在一些實(shí)現(xiàn)方式中,輸入組件305可以發(fā)送和/或接收分組。在一些實(shí)現(xiàn)方式中,輸入組件305可以包括輸入線卡,所述輸入線卡包括一個(gè)或多個(gè)分組處理組件(例如采用集成電路形式),諸如一個(gè)或多個(gè)接口卡(IFC)、分組轉(zhuǎn)發(fā)組件、線卡控制器組件、輸入端口、處理器、存儲(chǔ)器、和/或輸入隊(duì)列。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備210可以包括一個(gè)或多個(gè)輸入組件305。

交換組件310可以將輸入組件305與輸出組件315互連。在一些實(shí)現(xiàn)方式中,交換組件310可以經(jīng)由一個(gè)或多個(gè)交叉開關(guān)(crossbar)、經(jīng)由一個(gè)或多個(gè)總線、和/或利用一個(gè)或多個(gè)共享存儲(chǔ)器來(lái)實(shí)現(xiàn)。共享存儲(chǔ)器可以起到暫時(shí)緩沖器的作用,以便在來(lái)自輸入組件305的分組在最終調(diào)度以遞送到輸出組件315之前對(duì)分組進(jìn)行存儲(chǔ)。在一些實(shí)現(xiàn)方式中,交換組件310可以使得輸入組件305、輸出組件315、和/或 路由組件320能夠通信。

輸出組件315可以是用于物理鏈路的附接點(diǎn)以及可以是諸如分組之類的外出流量的退出點(diǎn)。輸出組件315可以存儲(chǔ)分組并且可以調(diào)度分組以便在輸出物理鏈路上進(jìn)行傳輸。輸出組件315可以支持?jǐn)?shù)據(jù)鏈路層封裝或解封裝、和/或各種更高級(jí)別的協(xié)議。在一些實(shí)現(xiàn)方式中,輸出組件315可以發(fā)送和/或接收分組。在一些實(shí)現(xiàn)方式中,輸出組件315可以包括輸出線卡,所述輸出線卡包括一個(gè)或多個(gè)分組處理組件(例如采用集成電路形式),諸如一個(gè)或多個(gè)IFC、分組轉(zhuǎn)發(fā)組件、線卡控制器組件、輸出端口、處理器、存儲(chǔ)器、和/或輸出隊(duì)列。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備210可以包括一個(gè)或多個(gè)輸出組件315。在一些實(shí)現(xiàn)方式中,輸入組件305和輸出組件315可以通過(guò)相同的組件集(例如,輸入/輸出組件可以是輸入組件305和輸出組件315的組合)來(lái)實(shí)現(xiàn)。

路由組件320可以包括一個(gè)或多個(gè)處理器、微處理器、專用集成電路(ASIC)、場(chǎng)可編程門陣列(FPGA)、或類似類型的處理組件。在一些實(shí)現(xiàn)方式中,路由組件320可以包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、和/或存儲(chǔ)信息和/或指令的另一類型的動(dòng)態(tài)或靜態(tài)儲(chǔ)存設(shè)備(快閃存儲(chǔ)器、磁性存儲(chǔ)器、光學(xué)存儲(chǔ)器等等)。在一些實(shí)現(xiàn)方式中,路由組件320可以與連接到網(wǎng)絡(luò)設(shè)備210的其它設(shè)備、網(wǎng)絡(luò)、和/或系統(tǒng)通信,以交換關(guān)于網(wǎng)絡(luò)拓?fù)涞男畔ⅰB酚山M件320可以基于網(wǎng)絡(luò)拓?fù)湫畔?chuàng)建路由表、基于路由表創(chuàng)建轉(zhuǎn)發(fā)表、以及將轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)到輸入組件305和/或輸出組件315。輸入組件305和/或輸出組件315可以使用轉(zhuǎn)發(fā)表執(zhí)行針對(duì)進(jìn)入和/或外出分組的路由查找。

圖3中所示出的組件的數(shù)目和布置作為示例提供。在實(shí)踐中,與圖3中所示出的那些組件相比,網(wǎng)絡(luò)設(shè)備210可以包括附加的組件、更少的組件、不同的組件、或者不同布置的組件。另外或者可替換地,網(wǎng)絡(luò)設(shè)備210的組件集(例如,一個(gè)或多個(gè)組件)可以執(zhí)行被描述為由網(wǎng)絡(luò)設(shè)備210的另一組件集執(zhí)行的一個(gè)或多個(gè)功能。

圖4是用于在網(wǎng)絡(luò)設(shè)備中填充多個(gè)比特索引轉(zhuǎn)發(fā)表(BIFT)的示例過(guò)程400的流程圖。在一些實(shí)現(xiàn)方式中,圖4的一個(gè)或多個(gè)過(guò)程塊可以由網(wǎng)絡(luò)設(shè)備210執(zhí)行。在一些實(shí)現(xiàn)方式中,圖4的一個(gè)或多個(gè)過(guò)程塊可以由與網(wǎng)絡(luò)設(shè)備210分開的或包括網(wǎng)絡(luò)設(shè)備210的另一設(shè)備或設(shè)備組來(lái)執(zhí)行。

如圖4中所示,過(guò)程400可以包括創(chuàng)建確定數(shù)目個(gè)比特索引轉(zhuǎn)發(fā)表(BIFT)(塊410)。例如,多播域可以包括多個(gè)網(wǎng)絡(luò)設(shè)備210,諸如多個(gè)BFR。在一些實(shí)現(xiàn)方式中,每個(gè)BFR可以利用多個(gè)BIFT,并且每個(gè)BIFT可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。在一些實(shí)現(xiàn)方式中,多個(gè)BFR的特定BFR(例如,入口BFR)可以基于針對(duì)任何特定目的地要支持多少個(gè)下一跳和/或有多少存儲(chǔ)器可用于該特定BFR,來(lái)確定要?jiǎng)?chuàng)建的BIFT的數(shù)目。在一些實(shí)現(xiàn)方式中,特定BFR可以在與該特定BFR相關(guān)聯(lián)的存儲(chǔ)器中創(chuàng)建確定數(shù)目個(gè)BIFT。

再如圖4中所示,過(guò)程400可以包括對(duì)于每個(gè)BIFT來(lái)確定針對(duì)第一目的地集的下一跳(塊420)。例如,特定BFR可以為多個(gè)BIFT中的每一個(gè)確定針對(duì)第一目的地集(例如,較低編號(hào)目的地)的下一跳。在一些實(shí)現(xiàn)方式中,特定BFR可以嘗試采用使重疊最大化的方式橫跨BIFT分布針對(duì)任何特定目的地的可能下一跳。例如,在兩個(gè)目的地具有相同下一跳的情況下,特定BFR可以嘗試將這樣的下一跳賦予相同的BIFT,同時(shí)嘗試跟隨下一跳的計(jì)算分布。在一些實(shí)現(xiàn)方式中,對(duì)于多個(gè)BIFT中的每一個(gè),特定BFR可以首先確定哪些下一跳(例如,基于BFR-id,諸如BFR-id“1”、“2”、“3”等)要用于較低編號(hào)目的地。例如,假定存在五個(gè)目的地(例如,BFR-id“1”、“2”、“3”、“4”和“5”),特定BFR可以為每個(gè)BIFT確定要用于BFR-id“1”和“2”的下一跳。特定BFR可以為每個(gè)BIFT確定要用于BFR-id“3”、“4”和“5”的ECMP下一跳,如下面結(jié)合塊430所描述的。在一些實(shí)現(xiàn)方式中,特定BFR可以基于與多播域相關(guān)聯(lián)的ECMP下一跳和/或下一跳的數(shù)目,確定要利用的特定量的較低編號(hào)目的地。

在一些實(shí)現(xiàn)方式中,特定BFR可以首先針對(duì)目的地“1”填充每個(gè)BIFT,然后可以針對(duì)目的地“2”填充每個(gè)BIFT,然后可以針對(duì)目的地“3”填充每個(gè)BIFT,等等直到BIFT滿為止。在一些實(shí)現(xiàn)方式中,在特定BFR第一次標(biāo)識(shí)具有多個(gè)可能ECMP下一跳的特定目的地,由于在每個(gè)BIFT中先前條目將是相同的,所以特定BFR可以針對(duì)該特定目的地填充每個(gè)BIFT。這樣的條目可以與第一目的地集(例如,較低編號(hào)的目的地)對(duì)應(yīng)。然而,在特定BFR第二次以及所有后續(xù)次標(biāo)識(shí)具有多個(gè)可能ECMP下一跳的特定目的地,先前條目在每個(gè)BIFT中將不會(huì)都是同樣的(例如,由于存在多個(gè)下一跳的一些先前條目),以及特定BFR可能考慮在每個(gè)BIFT中已經(jīng)存在什么,以便確定把這樣的條目放在那里,如下面結(jié)合塊430所描述的。

再如圖4中所示,過(guò)程400可以包括利用用來(lái)為每個(gè)BIFT確定用于第二目的地集的ECMP下一跳的技術(shù)(塊430)。例如,特定BFR可以利用用來(lái)為多個(gè)BIFT中的每一個(gè)確定用于與第一目的地集不同的第二目的地集(例如,較高編號(hào)的目的地)的ECMP下一跳的技術(shù)。在一些實(shí)現(xiàn)方式中,對(duì)于多個(gè)BIFT中的每一個(gè),特定BFR可以利用用來(lái)確定哪些ECMP下一跳用于較高編號(hào)目的地的技術(shù)(例如,基于BFR-id,諸如BFR-id“5”、“6”、“7”等)。例如,假定存在五個(gè)目的地(例如,BFR-id“1”、“2”、“3”、“4”和“5”),并且特定BFR首先確定了用于BFR-id“1”、“2”和“3”的ECMP下一跳,對(duì)于每個(gè)BIFT,特定BFR可以利用用來(lái)確定用于BFR-id“4”和“5”的ECMP下一跳的技術(shù)。在一些實(shí)現(xiàn)方式中,特定BFR可以基于與多播域相關(guān)聯(lián)的ECMP下一跳的數(shù)目來(lái)確定要利用的特定量的較高編號(hào)目的地。在一些實(shí)現(xiàn)方式中,特定BFR可以基于該特定BFR所利用的特定量的較低編號(hào)目的地來(lái)確定要利用的較高編號(hào)目的地。

在一些實(shí)現(xiàn)方式中,特定BFR可以利用Dijkstra算法的擴(kuò)展的技術(shù),用來(lái)確定哪些ECMP下一跳用于較高編號(hào)目的地。Dijkstra算法是圖形搜索算法,其在非負(fù)邊路徑開銷的情況下解決了圖形的單源最短路徑問(wèn)題,并且產(chǎn)生了最短路徑樹。例如,假定特定BFR利用了 此技術(shù)來(lái)為目的地(例如,BFR-id“5”)確定可能ECMP下一跳包括第一BFR(例如,BFR-1)和第二BFR(例如,BFR-2)。此外,假定特定BFR創(chuàng)建了四個(gè)BIFT。在這樣的示例中,特定BFR可以確定流量要在可能ECMP下一跳上要相等地分散,使得BIFT中的兩個(gè)使用下一跳BFR-1,而BIFT中的另兩個(gè)使用下一跳BFR-2。在一些實(shí)現(xiàn)方式中,特定BFR可以確定流量要在可能ECMP下一跳上基本相等地分散、在可能ECMP下一跳上隨機(jī)地分散、等等。

在使哪些ECMP下一跳被放到已經(jīng)具有最多的相同下一跳實(shí)例的BIFT中的程度最大化的同時(shí),在BIFT中賦予可能ECMP下一跳的任務(wù)可以被稱為裝箱(bin-packing)問(wèn)題或非確定性多項(xiàng)式時(shí)間(NP)-難題。在裝箱問(wèn)題中,不同體積的對(duì)象可以采用使所使用的箱數(shù)目最小化的方式被裝到有限數(shù)目個(gè)箱或容器中,每個(gè)箱或容器具有特定體積。當(dāng)非確定性多項(xiàng)式時(shí)間中的每個(gè)問(wèn)題“L”在多項(xiàng)式時(shí)間中可以被簡(jiǎn)化成問(wèn)題“H”時(shí),問(wèn)題“H”可以被視為NP-難題。然而,在BIFT中賦予可能ECMP下一跳的任務(wù)在相對(duì)小數(shù)目個(gè)變量上是NP-難題。同樣,特定BFR可以利用任何現(xiàn)有的裝箱算法(例如,二維包裝、線性包裝、按重量包裝、按開銷包裝等)在BIFT中賦予可能ECMP下一跳。

在一些實(shí)現(xiàn)方式中,在將把哪些ECMP下一跳放到已經(jīng)具有相同下一跳的最多實(shí)例的BIFT中的程度最大化同時(shí),特定BFR可以利用啟發(fā)式方法(例如,更簡(jiǎn)化的問(wèn)題、行進(jìn)銷售員問(wèn)題、搜索問(wèn)題等)在BIFT中賦予可能ECMP下一跳。例如,特定BFR可以利用啟發(fā)式方法,該方法首先把最低編號(hào)下一跳賦予具有相同下一跳的最多現(xiàn)有條目的BIFT,然后將下一個(gè)較高編號(hào)下一跳賦予具有該下一跳的最多現(xiàn)有條目的其余BIFT,以此類推。

再如圖4中所示,過(guò)程400可以包括利用與所確定的ECMP下一跳相關(guān)聯(lián)的信息填充BIFT(塊440)。例如,特定BFR可以利用與所確定的ECMP下一跳相關(guān)聯(lián)的信息填充多個(gè)BIFT。在一些實(shí)現(xiàn)方式中,多個(gè)BIFT中的每一個(gè)可以包括針對(duì)BFR-id的列(例如,“1”、 “2”、“3”、“4”等)、針對(duì)轉(zhuǎn)發(fā)-比特掩碼(F-BM)的列以及針對(duì)相鄰BFR(BFR-NBR)的列。特定BFR的相鄰BFR可以包括臨近于該特定BFR的BFR。F-BM可以包括對(duì)應(yīng)于SI和BFR-NBR的組合的比特掩碼。在一些實(shí)現(xiàn)方式中,特定BFR可以利用與所確定的ECMP下一跳相關(guān)聯(lián)的信息填充多個(gè)BIFT中的每一個(gè)的列。在一些實(shí)現(xiàn)方式中,多個(gè)BIFT中的每一個(gè)可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。

再如圖4中所示,過(guò)程400可以包括存儲(chǔ)BIFT(塊450)。例如,特定BFR可以在與該特定BFR相關(guān)聯(lián)的存儲(chǔ)器(例如路由組件320中所提供的存儲(chǔ)器,圖3)中存儲(chǔ)多個(gè)BIFT。在一些實(shí)現(xiàn)方式中,特定BFR可以根據(jù)有多少存儲(chǔ)器可用于該特定BFR來(lái)存儲(chǔ)根據(jù)需要那么多的BIFT。在一些實(shí)現(xiàn)方式中,特定BFR可以將多個(gè)BIFT編程到數(shù)據(jù)面(data plane)中,并且可以使用多個(gè)BIFT來(lái)轉(zhuǎn)發(fā)分組。

在一些實(shí)現(xiàn)方式中,假定特定BFR創(chuàng)建了八個(gè)BIFT,并且特定BFR具有可能下一跳K、L和M。此外,假定對(duì)于一個(gè)目的地D1,可能下一跳是K或L,而對(duì)于不同的目的地D2,可能下一跳是L或M。對(duì)于目的地D1,假定在可能下一跳上相等地分散流量,特定BFR可以確定這八個(gè)BIFT中的四個(gè)要包括K以作為下一跳,而另外四個(gè)BIFT要包括L以作為下一跳。對(duì)于目的地D2,特定BFR可以確定BIFT中的四個(gè)要包括L以作為下一跳,而另外四個(gè)BIFT要包括M以作為下一跳。對(duì)于目的地D1,特定BFR可以按下列次序利用下一跳填充這八個(gè)BIFT:K、K、K、K、L、L、L、和L。對(duì)于目的地D2,特定BFR可以按下列次序利用下一跳填充這八個(gè)BIFT:L、L、L、L、M、M、M、和M。如果采用這種方式來(lái)填充BIFT,則無(wú)論進(jìn)入分組的哈希值是什么,朝向目的地D1發(fā)送的多播分組的拷貝和朝向目的地D2發(fā)送的多播分組的拷貝可以采用不同的中間下一跳,但是兩個(gè)分組都可以在下一跳L結(jié)束。在一些實(shí)現(xiàn)方式中,對(duì)于目的地D2,特定BFR可以按下列次序利用下一跳填充這八個(gè)BIFT:M、M、M、M、L、L、L、和L。在這樣的實(shí)現(xiàn)方式中,對(duì)于導(dǎo)致利用最 后四個(gè)下一跳中的一個(gè)(例如下一跳L)的任何哈希值,可以針對(duì)兩個(gè)目的地D1和D2來(lái)發(fā)送多播分組的單個(gè)拷貝,這導(dǎo)致了對(duì)特定BFR和下一跳L之間的鏈路的較佳利用。

盡管圖4示出了過(guò)程400的示例塊,但是在一些實(shí)現(xiàn)方式中,與圖4中所描述的那些相比,過(guò)程400可以包括附加的塊、較少的塊、不同的塊、或不同布置的塊。另外或可替換地,過(guò)程400中的塊中的兩個(gè)或更多個(gè)可以并行執(zhí)行。

圖5A-5E是關(guān)于圖4中所示的示例過(guò)程400的示例實(shí)現(xiàn)方式500的示圖。圖5A-5E示出了在諸如BFR之類的網(wǎng)絡(luò)設(shè)備中填充多個(gè)BIFT的示例。

如圖5A中所示,多播域可以包括通過(guò)鏈路互連的多個(gè)網(wǎng)絡(luò)設(shè)備210,諸如BFR-A(210-A)、BFR-B(210-B)、BFR-C(210-C)、BFR-D(210-D)、BFR-E(210-E)、BFR-F(210-F)、和BFR-G(210-G)。多播域中的每個(gè)BFR 210可以被賦予唯一的BFR-id。假定BFR-D包括一(1)的BFR-id、零(0)的SI和“00001”的比特串;假定BFR-F包括二(2)的BFR-id、零(0)的SI和“00010”的比特串;假定BFR-E包括三(3)的BFR-id、零(0)的SI和“00100”的比特串;假定BFR-A包括四(4)的BFR-id、零(0)的SI和“01000”的比特串;假定BFR-G包括五(5)的BFR-id、零(0)的SI和“10000”的比特串。盡管在圖5A中沒有為BFR-B和BFR-C示出這樣的信息,但是BFR-B和BFR-C也可以與BFR-id、SI和/或比特串相關(guān)聯(lián)。如果對(duì)于圖5A的多播域利用了BIER轉(zhuǎn)發(fā)方法,則BFR-B可以利用下列信息生成單個(gè)BIFT:

不像BIER轉(zhuǎn)發(fā)方法,在一些實(shí)現(xiàn)方式中,每個(gè)BFR 210可以利用多個(gè)BIFT 510,并且每個(gè)BIFT 510可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。例如,BFR-B可以在沒有ECMP支持的情況下利用四個(gè)BIFT 510-1、510-2、510-3、和510-4,如圖5B中所示。對(duì)分組執(zhí)行的哈??梢源_定BFR-B使用四個(gè)BIFT 510中的哪個(gè)。第一BIFT 510-1可以假定目的地為BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-C傳送,而目的地為BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-E傳送。第二BIFT 510-2可以假定目的地為BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-C傳送,而目的地為BFR-id“5”(例如,

BFR-G)的分組經(jīng)由BFR-E傳送。第三BIFT 510-3可以假定目的地為BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-E傳送,而目的地為BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-C傳送。第四BIFT 510-4可以假定目的地為BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-E傳送,而目的地為BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-C傳送。

在一些實(shí)現(xiàn)方式中,BFR-B可以嘗試以使重疊最大化的方式在BIFT 510中分布針對(duì)任何特定目的地的可能下一跳。例如,如果兩個(gè)目的地具有相同的下一跳,則在維持下一跳的計(jì)算分布時(shí),BFR-B可以盡可能地把那些下一跳放在相同的BIFT 510中。如圖5C中所示,BFR-B可以創(chuàng)建四個(gè)BIFT 510-1、510-2、510-3和510-4,并且可以為這四個(gè)BIFT 510中的每一個(gè)利用BFR-id“1”、“2”、“3”、“4”和“5”填充第一列。

在一些實(shí)現(xiàn)方式中,BFR-B可以利用針對(duì)目的地“1”的信息(例如,BFR-id“1”)來(lái)填充這四個(gè)BIFT 510。然而,由于針對(duì)目的地“1”(例如,BFR-C)只存在一個(gè)可能下一跳,則BFR-B可以利用相同的信息來(lái)填充這四個(gè)BIFT 510,使得每個(gè)BIFT 510中的第一條目可以包括下列:

BFR-B然后可以利用針對(duì)目的地“2”的信息(例如,BFR-id“2”)來(lái)填充這四個(gè)BIFT 510。由于對(duì)于目的地“2”存在兩個(gè)可能下一跳BFR-C和BFR-E,所以BFR-B可以確定BIFT 510中的兩個(gè)要利用BFR-C作為下一跳進(jìn)行填充,并且另外兩個(gè)BIFT 510要利用BFR-E作為下一跳進(jìn)行填充。BFR-B可以確定這四個(gè)BIFT 510中的哪些具有BFR-C的更多下一跳,以及這四個(gè)BIFT 510中的哪些具有BFR-E的更多下一跳。

然而,在這點(diǎn)上,每個(gè)BIFT 510可以包括相同的先前增加的下一跳,并且哪兩個(gè)BIFT 510表添加BFR-C以作為下一跳以及哪兩個(gè)BIFT 510添加BFR-E以作為下一跳這都不是問(wèn)題。假定BFR-B選擇BIFT 510-1和510-2用于BFR-C的下一跳,并且注意BFR-C與已經(jīng)存在于BIFT 510-1和510-2中的條目的下一跳相同。因此,BFR-B可以針對(duì)已經(jīng)在BIFT 510-1和510-2中的條目來(lái)更新F-BM。這將創(chuàng)建BIFR 510-1和510-2,其包括下列:

此外,假定BFR-B選擇BIFT 510-3和510-4用于BFR-E的下一跳,并且注意BFR-E與已經(jīng)存在于BIFT 510-3和510-4中的條目的下一跳不同。因此,針對(duì)先前添加的條目(例如,針對(duì)目的地“1”)的F-BM可以保持相同,并且將創(chuàng)建BIFT 510-3和510-4,其包括下列:

BFR-B然后可以向每個(gè)BIFT 510添加目的地“3”(例如, BFR-id“3”)。由于只存在至目的地“3”(例如,BFR-E)的一個(gè)最佳路徑,所以可以如下更新BIFT 510-1和510-2:

此外,可以如下更新BIFT 510-3和510-4:

BFR-B然后可以向每個(gè)BIFT 510添加目的地“4”(例如,BFR-id“4”)。只存在至目的地“4”的一個(gè)最佳路徑(例如,經(jīng)由BFR-A),但是此時(shí)至目的地“4”的最佳路徑可以包括不同于針對(duì)先前條目的下一跳的下一跳?;诖?,可以如下更新BIFT 510-1和510-2:

此外,可以如下更新BIFT 510-3和510-4:

如圖5D中所示,BFR-B可以首先確定哪些下一跳520要用于較 低編號(hào)目的地(例如,基于BFR-id,諸如BFR-id“1”、“2”、“3”和“4”)。例如,假定BFR-B利用與針對(duì)BFR-id“1”、“2”、“3”和“4”的下一跳相關(guān)聯(lián)的信息520-1來(lái)填充F-BM列和BFR-NBR列(例如,基于多播域由BFR-B確定為較小編號(hào)目的地)。假定,BFR-B利用與針對(duì)BFR-id“1”、“2”、“3”和“4”的下一跳相關(guān)聯(lián)的信息520-2來(lái)填充第二BIFT 510-2的F-BM列和BFR-NBR列。假定,BFR-B利用與針對(duì)BFR-id“1”、“2”、“3”和“4”的下一跳相關(guān)聯(lián)的信息520-3來(lái)填充第三BIFT 510-3的F-BM列和BFR-NBR列。假定,BFR-B利用與針對(duì)BFR-id“1”、“2”、“3”和“4”的下一跳相關(guān)聯(lián)的信息520-4來(lái)填充第四BIFT 510-4的F-BM列和BFR-NBR列。

最終,BFR-B可以為目的地“5”(例如,BFR-id“5”)向每個(gè)BIFT510添加條目。在此情況下,目的地“5”可以與兩個(gè)可能下一跳(例如,BFR-C和BFR-E)相關(guān)聯(lián)。由于存在多個(gè)可能下一跳,所以BFR-B可以確定有多少BFR-C的下一跳和有多少BFR-E的下一跳已經(jīng)處于每個(gè)BIFT 510中。然而,在針對(duì)每個(gè)BIFT 510而言答案不同的情況下,由于存在基于導(dǎo)致包含不同信息的不同BIFT 510的多個(gè)ECMP的先前目的地。BFR-B可以通過(guò)下列方式對(duì)轉(zhuǎn)發(fā)進(jìn)行優(yōu)化:為BFR-C的可能下一跳選擇BIFT 510-1和510-2(例如,由于BIFT 510-1和510-2具有將BFR-C作為下一跳的更多個(gè)條目),以及為BFR-E的可能下一跳選擇BIFT 510-3和510-4(例如,由于BIFT 510-3和510-4具有已經(jīng)將BFR-E作為下一跳的更多個(gè)條目)。

參照?qǐng)D5D和5E,在決定哪個(gè)下一跳要用于每個(gè)BIFT 510中的BFR-id“5”的過(guò)程中,BFR-B可以利用ECMP路由計(jì)算(例如,Dijkstra算法的擴(kuò)展)來(lái)確定可能ECMP下一跳(例如,針對(duì)BFR-id“5”)包括BFR-C和BFR-E。假定在可能下一跳上相等地分散流量,BFR-B可以確定BIFT 510中的兩個(gè)要使用下一跳BFR-C,而另兩個(gè)BIFT 510要使用下一跳BFR-E。如圖5D中所示,第一BIFT 510-1包括對(duì)BFR-C的兩個(gè)引用和對(duì)BFR-E的一個(gè)引用;第二BIFT 510-2包括對(duì)BFR-C的兩個(gè)引用和對(duì)BFR-E的一個(gè)引用;第三BIFT 510-3包括對(duì)BFR-C 的一個(gè)引用和對(duì)BFR-E的兩個(gè)引用;以及第四BIFT 510-4包括對(duì)BFR-C的一個(gè)引用和對(duì)BFR-E的兩個(gè)引用。

在將哪些下一跳被放到已經(jīng)具有相同下一跳的最多實(shí)例的BIFT510中的程度最大化同時(shí),BFR-B可以利用簡(jiǎn)單啟發(fā)式方法在BIFT510中賦予可能下一跳(例如,對(duì)BFR-C的兩個(gè)引用和對(duì)BFR-E的兩個(gè)引用)。簡(jiǎn)單啟發(fā)式方法可以包括首先把較低編號(hào)下一跳賦予具有相同下一跳的最多現(xiàn)有條目的BIFT,然后將下一個(gè)較高編號(hào)下一跳賦予具有該下一跳的最多現(xiàn)有條目的其余BIFT,等等?;诖朔桨福约叭鐖D5E中所示,BFR-B可以將對(duì)BFR-C的每個(gè)引用與第一BIFT 510-1和第二BIFT 510-2的目的地“5”(例如,BFR-id“5”)相關(guān)聯(lián),如分別由附圖標(biāo)記530-1和530-2所指示的。此外,BFR-B可以將對(duì)BFR-E的每個(gè)引用與第三BIFT 510-3和第四BIFT 510-4的目的地“5”(例如,BFR-id“5”)相關(guān)聯(lián),如分別由附圖標(biāo)記530-3和530-4所指示的。

如上所指示的,圖5A-5E僅僅作為示例提供。其它示例是可能的并且可以與相對(duì)于圖5A-5E所描述的不同。

圖6是基于多個(gè)BIFT轉(zhuǎn)發(fā)多播組的示例過(guò)程600的流程圖。在一些實(shí)現(xiàn)方式中,圖6的一個(gè)或多個(gè)過(guò)程塊可以由網(wǎng)絡(luò)設(shè)備210執(zhí)行。在一些實(shí)現(xiàn)方式中,圖6的一個(gè)或多個(gè)過(guò)程塊可以由與網(wǎng)絡(luò)設(shè)備210分開的或包括網(wǎng)絡(luò)設(shè)備210的另一設(shè)備或設(shè)備組來(lái)執(zhí)行。

如圖6中所示,過(guò)程600可以包括接收包括具有標(biāo)識(shí)目的地地址的分組報(bào)頭的多播分組(塊610)。例如,多播域可以包括多個(gè)網(wǎng)絡(luò)設(shè)備210,諸如多個(gè)BFR。在一些實(shí)現(xiàn)方式中,每個(gè)BFR可以利用多個(gè)BIFT,并且每個(gè)BIFT可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。在一些實(shí)現(xiàn)方式中,多個(gè)BFR的特定BFR(例如,入口BFR)可以接收包括分組報(bào)頭的多播分組。在一些實(shí)現(xiàn)方式中,分組報(bào)頭可以包括標(biāo)識(shí)多個(gè)目的地地址的信息。例如,假定多播域包括與BFR-id“1”、“2”、“3”、“4”和“5”相關(guān)聯(lián)的BFR,并且分組報(bào)頭包括“11100”的比特串。這樣的比特串可以指示多播分組要被遞送到與 BFR-id“3”(例如,基于比特串的“00100”部分)、“4”(例如,基于比特串的“01000”部分)和“5”(例如,基于比特串的“10000”部分)相關(guān)聯(lián)的BFR。

再如圖6中所示,過(guò)程600可以包括分析分組報(bào)頭以確定多個(gè)BIFT的要用于多播分組的比特索引轉(zhuǎn)發(fā)表(BIFT)(塊620)。例如,特定BFR可以分析多播分組的分組報(bào)頭,以便確定多個(gè)BIFT中的哪個(gè)BIFT用于多播分組。在一些實(shí)現(xiàn)方式中,特定BFR可以執(zhí)行分組報(bào)頭的哈希(例如,利用哈希函數(shù))以便標(biāo)識(shí)包含在分組報(bào)頭中的信息。例如,特定BFR可以執(zhí)行分組報(bào)頭中的一些或所有的哈希以標(biāo)識(shí)“11100”的比特串。在一些實(shí)現(xiàn)方式中,特定BFR可以利用比特串來(lái)確定多播分組要被遞送到與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR。在一些實(shí)現(xiàn)方式中,特定BFR可以標(biāo)識(shí)多個(gè)BIFT中包括可以用來(lái)將多播分組遞送到與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR的信息的特定BIFT。例如,特定BFR可以將該特定BIFT標(biāo)識(shí)為包括用于將分組轉(zhuǎn)發(fā)到與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR的條目的BIFT。在一些實(shí)現(xiàn)方式中,特定BFR可以利用不同于哈希函數(shù)的另一轉(zhuǎn)換函數(shù),以便標(biāo)識(shí)包含在分組報(bào)頭中的信息,諸如校驗(yàn)和、校驗(yàn)位、指紋、隨機(jī)函數(shù)等。

在一些實(shí)現(xiàn)方式中,特定BFR可以對(duì)分組執(zhí)行哈希以標(biāo)識(shí)多個(gè)BIFT中的用于分組的特定BIFT,以及確保屬于相同的分組應(yīng)用流的分組采用相同的路徑,并且使得分組保持次序且得到一致的處理。然而,不同源和目的地之間行進(jìn)的不同應(yīng)用或分組可能采用不同的路徑,以便允許流量在網(wǎng)絡(luò)中的多個(gè)鏈路上散開。例如,直接在IP上運(yùn)行的協(xié)議可以包括TCP或UDP,然后應(yīng)用在TCP或UDP上運(yùn)行。如果協(xié)議是UDP,則特定BFR可以對(duì)IP源和目的地地址執(zhí)行哈希以及對(duì)UDP源和目的地端口執(zhí)行哈希(例如,以標(biāo)識(shí)特定BIFT)。如果協(xié)議是TCP,則特定BFR可以對(duì)IP源和目的地地址執(zhí)行哈希,以及對(duì)TCP源和目的地端口執(zhí)行哈希(例如,以標(biāo)識(shí)特定BIFT)。如果協(xié)議既不是UDP也不是TCP,則特定BFR可以僅對(duì)IP源和目的 地地址和IP協(xié)議字段執(zhí)行哈希(例如,以標(biāo)識(shí)特定BIFT)。在相同IP主機(jī)之內(nèi)存在多個(gè)應(yīng)用的情況下,多個(gè)應(yīng)用可以利用不同的端口。這可能允許從相同源至相同目的地并且使用相同應(yīng)用的分組采用相同的路徑。從不同源至不同目的地或者支持不同應(yīng)用的分組可以采用不同的路徑。

在多協(xié)議標(biāo)簽交換(MPLS)網(wǎng)絡(luò)中執(zhí)行類似的過(guò)程。在一些情況下,MPLS分組可以包括IP分組,并且特定BFR可以對(duì)處于MPLS分組中的IP分組執(zhí)行哈希(例如,以標(biāo)識(shí)特定BIFT)。在其它情況下,MPLS分組可以包括其它MPLS分組使得多個(gè)MPLS報(bào)頭處于相同MPLS分組上。例如當(dāng)相同的兩個(gè)提供者邊設(shè)備之間存在多個(gè)偽線(pseudowire)(例如,每個(gè)偽線可以支持不同的用戶或不同的應(yīng)用)時(shí),這可能發(fā)生。偽線可以各自具有MPLS標(biāo)簽交換路徑LSP),但是在單個(gè)LSP內(nèi)多個(gè)偽線LSP可以復(fù)用。這可能暗示每個(gè)分組包括兩個(gè)MPLS報(bào)頭(例如,第一報(bào)頭用于這兩個(gè)提供者邊設(shè)備之間的路徑,而第二報(bào)頭用于每個(gè)偽線)。該路徑中間的網(wǎng)絡(luò)設(shè)備(例如,特定BFR)可以基于第一MPLS報(bào)頭來(lái)轉(zhuǎn)發(fā)分組,但是可以對(duì)第二報(bào)頭執(zhí)行哈希。如果存在通過(guò)該網(wǎng)絡(luò)的ECMP路徑或者如果兩個(gè)網(wǎng)絡(luò)設(shè)備之間存在LAG組,則來(lái)自相同偽線的分組可以利用相同的路徑,但是來(lái)自不同偽線的分組可以在多個(gè)路徑上散開。

在一些實(shí)現(xiàn)方式中,如果分組是BIER分組,則特定BFR不會(huì)對(duì)標(biāo)識(shí)哪些目的地要接收每個(gè)分組的BIER比特串進(jìn)行哈希。這可以使得針對(duì)特定目的地的分組能夠總是利用相同的路徑,而與還有哪些其它目的地需要接收相同分組無(wú)關(guān)。然而,哈希函數(shù)可以包括應(yīng)用信息和源信息。例如,如果第一人正在第一電視上觀看頻道7,則第一人會(huì)想讓針對(duì)頻道7的分組總是采用一致的路徑,即使當(dāng)?shù)诙嗽陬l道7和頻道5之間變換的情況下也是如此。然而,如果第一人正觀看頻道7,則第一人可能不關(guān)心針對(duì)頻道7的分組是否與針對(duì)第二人正看的視頻的分組采用相同的路徑。

再如圖6中所示,過(guò)程600可以包括基于所確定的BIFT來(lái)標(biāo)識(shí) 針對(duì)多播分組的下一跳(塊630)。例如,特定BFR可以基于所確定的BIFT來(lái)標(biāo)識(shí)針對(duì)多播分組的下一跳。在一些實(shí)現(xiàn)方式中,特定BFR可以利用所確定的BIFT以便標(biāo)識(shí)針對(duì)多播分組的下一跳。在一些實(shí)現(xiàn)方式中,特定BFR可以利用所確定的BIFT的條目來(lái)標(biāo)識(shí)針對(duì)多播分組的下一跳。例如,如果所確定的BIFT包括用于將多播分組轉(zhuǎn)發(fā)到與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR的特定條目,則特定BFR可以將與特定條目相關(guān)聯(lián)的下一跳標(biāo)識(shí)為是針對(duì)多播分組的下一跳。

再如圖6中所示,過(guò)程600可以包括將多播分組轉(zhuǎn)發(fā)到所標(biāo)識(shí)下一跳以便轉(zhuǎn)發(fā)到與目的地地址相關(guān)聯(lián)的目的地(塊640)。例如,特定BFR可以將多播分組轉(zhuǎn)發(fā)到所標(biāo)識(shí)下一跳,并且所標(biāo)識(shí)下一跳可以繼續(xù)將多播分組轉(zhuǎn)發(fā)到與分組報(bào)頭中所提供的目的地地址相關(guān)聯(lián)的目的地。在一些實(shí)現(xiàn)方式中,特定BFR可以將多播分組的拷貝轉(zhuǎn)發(fā)到不同的所標(biāo)識(shí)下一跳。例如,如果所確定的BIFT包括用于將多播分組轉(zhuǎn)發(fā)到與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR的特定條目,則特定BFR可以創(chuàng)建多播分組的第一拷貝,并且可以在多播分組的第一拷貝的分組報(bào)頭中包括“01000”的比特串(對(duì)應(yīng)于BFR-id“4”)。特定BFR可以將多播分組的第一拷貝提供至第一ECMP下一跳,以及第一ECMP下一跳可以利用“01000”的比特串朝向與BFR-id“4”相關(guān)聯(lián)的BFR轉(zhuǎn)發(fā)多播分組的第一拷貝。特定BFR可以創(chuàng)建多播分組的第二拷貝,并且可以在多播分組的第二拷貝的分組報(bào)頭中包括“10100”的比特串(對(duì)應(yīng)于BFR-id“3”和“5”)。特定BFR可以將多播分組的第二拷貝提供至第二ECMP下一跳,以及第二ECMP下一跳可以利用“10100”的比特串朝向與BFR-id“3和“5”相關(guān)聯(lián)的BFR轉(zhuǎn)發(fā)多播分組的第二拷貝。

盡管圖6示出了過(guò)程600的示例塊,但是在一些實(shí)現(xiàn)方式中,與圖6中所描述的那些相比,過(guò)程600可以包括附加的塊、較少的塊、不同的塊、或不同布置的塊。另外或可替換地,過(guò)程600中的塊中的兩個(gè)或更多個(gè)可以并行執(zhí)行。

圖7A-7D關(guān)于圖6中所示的示例過(guò)程600的示例實(shí)現(xiàn)方式700 的示圖。圖7A-7D示出了基于多個(gè)BIFT轉(zhuǎn)發(fā)多播分組的示例。

如圖7A中所示,多播域可以包括通過(guò)鏈路互連的多個(gè)網(wǎng)絡(luò)設(shè)備210,諸如BFR-A(210-A)、BFR-B(210-B)、BFR-C(210-C)、BFR-D(210-D)、BFR-E(210-E)、BFR-F(210-F)、和BFR-G(210-G)。多播域中的每個(gè)BFR 210可以被賦予唯一的BFR-id。BFR-D可以包括一(1)的BFR-id、零(0)的SI和“00001”的比特串;BFR-F可以包括二(2)的BFR-id、零(0)的SI和“00010”的比特串;BFR-E可以包括三(3)的BFR-id、零(0)的SI和“00100”的比特串;BFR-A可以包括四(4)的BFR-id、零(0)的SI和“01000”的比特串;以及BFR-G可以包括五(5)的BFR-id、零(0)的SI和“10000”的比特串。盡管在圖7A中沒有為BFR-B和BFR-C示出這樣的信息,但是BFR-B和BFR-C也可以與BFR-id、SI和/或比特串相關(guān)聯(lián)。

再如圖7A中所示,每個(gè)BFR 210可以利用多個(gè)BIFT 710,并且每個(gè)BIFT 710可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。例如,BFR-B可以利用四個(gè)BIFT 710。如進(jìn)一步示出的,BFR-B可以接收多播分組720,其包括載荷和帶有“10101”的比特串?!?0101”的比特串可以指示分組720要被遞送到具有“1”(例如,BFR-D,如由比特串的“00001”部分所指示的)、“3”(例如,BFR-E,如由比特串的“00100”部分所指示的)和“5”(例如,BFR-G,如由比特串的“10000”部分所指示的)的BFR-id的BFR 210。BFR-B可以執(zhí)行分組720的哈希以標(biāo)識(shí)分組報(bào)頭的比特串,如由圖7A中附圖標(biāo)記730所指示的。

如圖7B中所示,BFR-B可以利用“10101”的比特串(例如,如基于分組720的哈希所標(biāo)識(shí)的),來(lái)確定四個(gè)BIFT 710-1、710-2、710-3、和710-4中的特定BIFT 710。例如,BFR-B可以確定第四BIFT 710-4要被用來(lái)將分組720轉(zhuǎn)發(fā)到BFR-D、BFR-E、BFR-G(例如,目的地“1”、“3”和“5”),如圖7B中由附圖標(biāo)記740所指示的。

如圖7C中所示,基于第四BIFT 710-4,BFR-B可以創(chuàng)建分組720的第一拷貝750-1,其在分組報(bào)頭中包括“00001”的比特串。BFR-B可以向BFR-C轉(zhuǎn)發(fā)第一分組拷貝750-1,并且BFR-C可以接收第一分 組拷貝750-1。進(jìn)一步基于第四BIFT 710-4,BFR-B可以創(chuàng)建分組720的第二拷貝750-2,其在分組報(bào)頭中包括“10100”的比特串。BFR-B可以將第二分組拷貝750-2轉(zhuǎn)發(fā)到BFR-E(例如,基于比特串的“00100”部分),以及BFR-E可以接收第二分組拷貝750-2。

如圖7D中所示,“00001”的比特串可以指示BFR-C,第一分組拷貝750-1要被轉(zhuǎn)發(fā)到具有“1”的BFR-id的BFR 210(例如,BFR-D)。因此,BFR-C可以向BFR-D轉(zhuǎn)發(fā)第一分組拷貝750-1,并且BFR-D可以接收第一分組拷貝750-1。“10100”的比特串可以指示BFR-E,第二分組拷貝750-2要被BFR-E(例如具有BFR-id“3”,如有比特串的“00100”部分所指示的)接收,并且被轉(zhuǎn)發(fā)到具有“5”的BFR-id的BFR210(例如,BFR-G,如由比特串的“10000”部分所指示的)。因此,BFR-E可以接收第二分組拷貝750-2,并且可以將第二分組拷貝750-2轉(zhuǎn)發(fā)到BFR-F。BFR-F可以接收第二分組拷貝750-2,并且可以確定(例如,基于比特串的“10000”部分)第二分組拷貝750-2要被轉(zhuǎn)發(fā)到BFR-G。因此,BFR-F可以向BFR-G轉(zhuǎn)發(fā)第二分組拷貝750-2,并且BFR-G可以接收第二分組拷貝750-2。

如上所指示的,圖7A-7D僅僅作為示例提供。其它示例是可能的并且可以與相對(duì)于圖7A-7D所描述的不同。

本文所描述的系統(tǒng)和/或方法可以擴(kuò)展BIER轉(zhuǎn)發(fā)方法以確保至任何特定目的地所采取的路徑依賴于該特定目的地和為至該特定目的地的特定分組流選擇ECMP分組所使用的哈希值。系統(tǒng)和/或方法可以利用多個(gè)BIFT,并且每個(gè)BIFT可以包括針對(duì)任何一個(gè)目的地的單個(gè)可能下一跳。系統(tǒng)和/或方法可以使不必要的早期路徑散度最小化,從而實(shí)現(xiàn)了網(wǎng)絡(luò)資源的更有效利用。系統(tǒng)和/或方法可以使BIER轉(zhuǎn)發(fā)方法是確定性的,其可以簡(jiǎn)化網(wǎng)絡(luò)OAM并且允許網(wǎng)絡(luò)的更穩(wěn)定的性能。系統(tǒng)和/或方法可以在多播流量如何在ECMP和/或LAG上傳播方面改善網(wǎng)絡(luò)效率。

上述公開內(nèi)容提供了圖解和描述,但是并不意圖是排他性的或者并不意圖把實(shí)現(xiàn)方式局限于所公開的精確形式。根據(jù)上面公開內(nèi)容修 改和變體是可能的,或者可以從實(shí)現(xiàn)方式的實(shí)踐中獲取修改和變體。例如,雖然本文所描述的系統(tǒng)和/或方法為了簡(jiǎn)便起見是在BFR的環(huán)境下描述的,但是這些系統(tǒng)和/或方法可以相等地應(yīng)用于其它類型的網(wǎng)絡(luò)設(shè)備的環(huán)境下。

如本文所使用的,術(shù)語(yǔ)組件意圖被廣義地理解為硬件、軟件、和/或硬件和軟件的組合。

如本文所使用的,分組可以指的是網(wǎng)絡(luò)分組、幀、數(shù)據(jù)報(bào)、分段、分組的片段、幀的片段、數(shù)據(jù)表的片段、分段的片段、或者能夠經(jīng)由網(wǎng)絡(luò)傳送的數(shù)據(jù)的任何其他格式化單元或非格式化單元。

將顯然的是,本文所描述的系統(tǒng)和/或方法可以采用不同形式的硬件、軟件、或硬件和軟件的組合來(lái)實(shí)施。用來(lái)實(shí)現(xiàn)這些系統(tǒng)和/或方法的實(shí)際專門控制硬件或軟件不限于這些實(shí)現(xiàn)方式。因而,在本文中沒有參照具體軟件代碼來(lái)描述系統(tǒng)和/或方法的操作和行為——應(yīng)當(dāng)理解,可以將軟件和硬件設(shè)計(jì)成實(shí)現(xiàn)基于本文描述的系統(tǒng)和/或方法。

即使特征的特定組合記載在權(quán)利要求書中和/或公開在說(shuō)明書中,但是這些組合并不意圖限制可能實(shí)現(xiàn)方式的公開內(nèi)容。實(shí)際上,這些特征中的一些可以采用未在權(quán)利要求書中記載和/或未在說(shuō)明書中公開的方式進(jìn)行組合。盡管下面列出的每個(gè)從屬權(quán)利要求可能直接依賴于僅一個(gè)權(quán)利要求,但是可能實(shí)現(xiàn)方式的公開內(nèi)容包括權(quán)利要求集中與每隔一個(gè)權(quán)利要求組合的每個(gè)從屬權(quán)利要求。

本文中所使用的元素、動(dòng)作或指示不應(yīng)當(dāng)被解釋為是關(guān)鍵的或主要的,除非明確這樣描述。再者,如本文所使用的,冠詞“一個(gè)”和“一種”意圖包括一個(gè)或多個(gè)項(xiàng),以及可以與“一個(gè)或多個(gè)”互換使用。此外,如本文所使用的,術(shù)語(yǔ)“集”意圖包括一個(gè)或多個(gè)項(xiàng),以及可以與“一個(gè)或多個(gè)”互換使用。在僅意圖一個(gè)項(xiàng)的情況下,使用術(shù)語(yǔ)“一個(gè)”或類似的語(yǔ)言。再者,如本文所使用的,術(shù)語(yǔ)“具有”、“有”、“帶有”等意圖是開放性術(shù)語(yǔ)。此外,短語(yǔ)“基于”意圖意味著“至少部分基于”,除非另外明確陳述。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
眉山市| 禄丰县| 彩票| 景宁| 钟山县| 灵宝市| 苏尼特右旗| 德令哈市| 会同县| 邢台市| 临江市| 申扎县| 肇州县| 德化县| 吉水县| 如皋市| 盐山县| 出国| 旬阳县| 华蓥市| 台中县| 桐庐县| 沙坪坝区| 施秉县| 交口县| 太湖县| 韶关市| 西宁市| 灯塔市| 鄂尔多斯市| 三门县| 东安县| 和龙市| 南通市| 澳门| 盖州市| 黔东| 台中市| 渑池县| 甘洛县| 镇坪县|