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

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

文檔序號:12376300閱讀:764來源:國知局
確定的且優(yōu)化的比特索引顯式復(fù)制(BIER)轉(zhuǎn)發(fā)的制作方法與工藝

隨著時間的推移,網(wǎng)絡(luò)設(shè)備(例如,路由器)轉(zhuǎn)發(fā)速率已經(jīng)快速地增長,而控制平面處理能力以較慢的速率增長。轉(zhuǎn)發(fā)平面速度與控制平面速度之間的比率非常大(例如,一千或更大的因子)并且隨著時間的推移一直在增長。用于互聯(lián)網(wǎng)協(xié)議(IP)多播的已有方法相對是控制平面密集的。一種被稱為比特索引顯式復(fù)制(bitindex explicit replication,BIER)轉(zhuǎn)發(fā)方法的方式已經(jīng)被引入到互聯(lián)網(wǎng)工程任務(wù)組(IETF)中,以允許許多多播組同時在網(wǎng)絡(luò)的核心中以最低狀態(tài)被支持。在BIER轉(zhuǎn)發(fā)方法中,僅有針對任何特定分組流的入口路由器需要知道哪些出口路由器將要接收任何特定分組。BIER轉(zhuǎn)發(fā)方法不要求任何顯式的樹構(gòu)建(tree-building)協(xié)議,BIER轉(zhuǎn)發(fā)方法也不要求中間路由器來維持任何的每流狀態(tài)。實(shí)施BIER轉(zhuǎn)發(fā)方法的路由器被稱為比特轉(zhuǎn)發(fā)路由器(BFR)。

在包括等價多路徑(ECMP)或鏈路聚合組(LAG)(例如,隨著路由器變得更快,它們正變得更加常見)的網(wǎng)絡(luò)中,BIER轉(zhuǎn)發(fā)方法導(dǎo)致了針對任何一個目的地的不確定路徑。特別地,分組采取來通向一個目的地的路徑取決于哪些其他目的地也正在接收相同的分組。因此,在大型的多播組中,如果一個路由器或者數(shù)個路由器交替地加入和離開該多播組,則被采取來通向該多播組中的其他路由器的路徑將會波動,這使得網(wǎng)絡(luò)操作、監(jiān)管和管理(OAM)是困難的。例如,利用BIER轉(zhuǎn)發(fā)方法,對于跟蹤路由技術(shù)而言可能難以正確地確定由特定分組流針對特定目的地所采取的路徑。BIER轉(zhuǎn)發(fā)方法還可能導(dǎo)致不一致的性能和/或向任何特定目的地的分組遞送的無序??紤]到不一致性能可能取決于所采取來通向特定目的地的路徑,可能難以診斷這樣的不一致性能。



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

在一些實(shí)施方式中,一種網(wǎng)絡(luò)設(shè)備可以包括一個或多個處理器,該一個或多個處理器用以:創(chuàng)建多個轉(zhuǎn)發(fā)表,其中每個轉(zhuǎn)發(fā)表包括與目的地集合相關(guān)聯(lián)的信息;針對多個轉(zhuǎn)發(fā)表中的每個轉(zhuǎn)發(fā)表,確定針對目的地集合的下一跳;針對多個轉(zhuǎn)發(fā)表中的每個轉(zhuǎn)發(fā)表,確定針對目的地集合的等價多路徑下一跳;利用與下一跳和等價多路徑下一跳相關(guān)聯(lián)的信息來填充多個轉(zhuǎn)發(fā)表;以及將多個轉(zhuǎn)發(fā)表組合為單個轉(zhuǎn)發(fā)表,其中該單個轉(zhuǎn)發(fā)表被用來朝向多個目的地轉(zhuǎn)發(fā)多播分組,并且該單個轉(zhuǎn)發(fā)表包括分離的條目,分離的條目取決于多播分組朝向目的地將要經(jīng)過的針對下一跳具有多個選擇的路由。

在一些實(shí)施方式中,該一個或多個處理器進(jìn)一步用以:存儲該多個轉(zhuǎn)發(fā)表和該單個轉(zhuǎn)發(fā)表;以及將該單個轉(zhuǎn)發(fā)表編程到被用來轉(zhuǎn)發(fā)多播分組的數(shù)據(jù)平面中。

在一些實(shí)施方式中,該單個轉(zhuǎn)發(fā)表包括針對目的地集合中的每個目的地的多個可能的下一跳。

在一些實(shí)施方式中,該單個轉(zhuǎn)發(fā)表包括比特索引轉(zhuǎn)發(fā)表(BIFT)。

在一些實(shí)施方式中,網(wǎng)絡(luò)設(shè)備包括比特轉(zhuǎn)發(fā)設(shè)備。

在一些實(shí)施方式中,該一個或多個處理器進(jìn)一步用以:接收多播分組,該多播分組包括標(biāo)識針對該多播分組的目的地地址的信息;分析該多播分組來確定單個轉(zhuǎn)發(fā)表的一部分以使用用于該多播分組;標(biāo)識與單個轉(zhuǎn)發(fā)表的該部分相關(guān)聯(lián)并且與目的地地址相關(guān)聯(lián)的特定下一跳;以及將該多播分組轉(zhuǎn)發(fā)給特定下一跳,特定下一跳朝向與目的地地址相關(guān)聯(lián)的目的地轉(zhuǎn)發(fā)該多播分組。

在一些實(shí)施方式中,在分析多播分組時,該一個或多個處理器進(jìn)一步用以:將哈希函數(shù)應(yīng)用到該多播分組的至少一部分以確定要使用用于該多播分組的該單個轉(zhuǎn)發(fā)表的部分。

在一些實(shí)施方式中,在將多播分組轉(zhuǎn)發(fā)給特定下一跳時,該一個或多個處理器進(jìn)一步用以:針對特定下一跳中的每個下一跳創(chuàng)建多播分組的副本;以及將多播分組的副本轉(zhuǎn)發(fā)給特定下一跳中的每個下一跳。

在一些實(shí)施方式中,一種方法可以包括:由網(wǎng)絡(luò)中所提供的網(wǎng)絡(luò)設(shè)備創(chuàng)建多個轉(zhuǎn)發(fā)表,其中每個轉(zhuǎn)發(fā)表包括與目的地集合相關(guān)聯(lián)的信息;由網(wǎng)絡(luò)設(shè)備并且針對每個轉(zhuǎn)發(fā)表,確定針對目的地集合的下一跳;由網(wǎng)絡(luò)設(shè)備并且針對每個轉(zhuǎn)發(fā)表,確定針對目的地集合的等價多路徑下一跳;由網(wǎng)絡(luò)設(shè)備利用與下一跳和等價多路徑下一跳相關(guān)聯(lián)的信息來填充多個轉(zhuǎn)發(fā)表;以及由網(wǎng)絡(luò)設(shè)備將多個轉(zhuǎn)發(fā)表組合為單個轉(zhuǎn)發(fā)表,其中該單個轉(zhuǎn)發(fā)表被用來朝向多個目的地轉(zhuǎn)發(fā)多播分組,并且該單個轉(zhuǎn)發(fā)表包括分離的條目,分離的條目取決于多播分組朝向目的地將要經(jīng)過的針對下一跳具有多個選擇的路由。

在一些實(shí)施方式中,該方法進(jìn)一步包括:將該單個轉(zhuǎn)發(fā)表編程到與網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)并且被用來轉(zhuǎn)發(fā)多播分組的數(shù)據(jù)平面中。

在一些實(shí)施方式中,該單個轉(zhuǎn)發(fā)表包括針對目的地集合中的每個目的地的多個可能的下一跳。

在一些實(shí)施方式中,網(wǎng)絡(luò)設(shè)備包括比特轉(zhuǎn)發(fā)設(shè)備。

在一些實(shí)施方式中,該方法進(jìn)一步包括:接收多播分組,該多播分組包括標(biāo)識針對該多播分組的目的地地址的信息;分析該多播分組來確定該單個轉(zhuǎn)發(fā)表的一部分以使用用于該多播分組;標(biāo)識與該單個轉(zhuǎn)發(fā)表的該部分相關(guān)聯(lián)并且與目的地地址相關(guān)聯(lián)的特定下一跳;以及將該多播分組轉(zhuǎn)發(fā)給特定下一跳,特定下一跳朝向與目的地地址相關(guān)聯(lián)的目的地轉(zhuǎn)發(fā)該多播分組。

在一些實(shí)施方式中,哈希函數(shù)被應(yīng)用到該多播分組的頭部的一個或多個字段,以用于確定要使用用于該多播分組的該單個轉(zhuǎn)發(fā)表的部分。

在一些實(shí)施方式中,將該多播分組轉(zhuǎn)發(fā)給特定下一跳進(jìn)一步包括:針對特定下一跳中的每個下一跳創(chuàng)建該多播分組的副本;以及將該多播分組的副本轉(zhuǎn)發(fā)給特定下一跳中的每個下一跳。

在一些實(shí)施方式中,一種比特轉(zhuǎn)發(fā)設(shè)備可以包括一個或多個處理器,該一個或多個處理器用以:創(chuàng)建多個比特索引轉(zhuǎn)發(fā)表,其中每個轉(zhuǎn)發(fā)表包括與目的地集合相關(guān)聯(lián)的信息;利用與目的地集合相關(guān)聯(lián)的信息來填充多個比特索引轉(zhuǎn)發(fā)表;以及將多個比特索引轉(zhuǎn)發(fā)表組合為單個比特索引轉(zhuǎn)發(fā)表,其中該單個比特索引轉(zhuǎn)發(fā)表包括分離的條目,分離的條目取決于多播分組朝向目的地將要經(jīng)過的針對下一跳具有多個選擇的路由。

在一些實(shí)施方式中,該一個或多個處理器進(jìn)一步用以:存儲該單個比特索引轉(zhuǎn)發(fā)表;以及將該單個比特索引轉(zhuǎn)發(fā)表編程到被用來轉(zhuǎn)發(fā)多播分組的數(shù)據(jù)平面中。

在一些實(shí)施方式中,該單個比特索引轉(zhuǎn)發(fā)表包括針對目的地集合中的每個目的地的多個可能的下一跳。

在一些實(shí)施方式中,該一個或多個處理器進(jìn)一步用以:接收多播分組,該多播分組包括標(biāo)識針對該多播分組的目的地地址的信息;分析該多播分組來確定單個比特索引轉(zhuǎn)發(fā)表的一部分以使用用于該多播分組;標(biāo)識與該單個比特索引轉(zhuǎn)發(fā)表的該部分相關(guān)聯(lián)并且與目的地地址相關(guān)聯(lián)的特定下一跳;以及將該多播分組轉(zhuǎn)發(fā)給特定下一跳,特定下一跳朝向與目的地地址相關(guān)聯(lián)的目的地轉(zhuǎn)發(fā)該多播分組。

在一些實(shí)施方式中,在將多播分組轉(zhuǎn)發(fā)給特定下一跳時,該一個或多個處理器進(jìn)一步用以:針對特定下一跳中的每個下一跳創(chuàng)建多播分組的副本;以及將多播分組的副本轉(zhuǎn)發(fā)給特定下一跳中的每個下一跳。

在一些實(shí)施方式中,一種方法可以包括:由網(wǎng)絡(luò)中所提供的網(wǎng)絡(luò)設(shè)備創(chuàng)建轉(zhuǎn)發(fā)表,該轉(zhuǎn)發(fā)表包括與目的地集合相關(guān)聯(lián)的信息;由網(wǎng)絡(luò)設(shè)備確定針對目的地集合的下一跳;由網(wǎng)絡(luò)設(shè)備利用與下一跳相關(guān)聯(lián)的信息來填充轉(zhuǎn)發(fā)表;以及由網(wǎng)絡(luò)設(shè)備存儲轉(zhuǎn)發(fā)表,其中該轉(zhuǎn)發(fā)表被用來朝向多個目的地轉(zhuǎn)發(fā)多播分組,并且該轉(zhuǎn)發(fā)表包括分離的條目,分離的條目取決于多播分組朝向目的地將要經(jīng)過的針對下一跳具有多個選擇的路由。

附圖說明

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

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

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

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

圖5A-5F是與圖4中所示出的示例過程有關(guān)的示例實(shí)施方式的示圖;

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

圖7A-7D是與圖6中所示出的示例過程有關(guān)的示例實(shí)施方式的示圖。

具體實(shí)施方式

示例實(shí)施方式的以下詳細(xì)描述參考了附圖。不同附圖中的相同參考標(biāo)號可以標(biāo)識相同或類似的元件。

BIER轉(zhuǎn)發(fā)方法利用了比特索引轉(zhuǎn)發(fā)表(BIFT)。在不包括ECMP和LAG的網(wǎng)絡(luò)中,針對分組的每個潛在目的地可以由轉(zhuǎn)發(fā)比特掩碼(F-BM)中的唯一單個比特來表示,并且可以僅具有單個可能的下一跳。此外,在不包括ECMP和LAG的網(wǎng)絡(luò)中,單個BIFT中的每個條目(例如,對應(yīng)于特定的可能目的地)包括單個行,該單個行指定與特定下一跳相對應(yīng)的單個F-BM。然而,在包括ECMP和/或LAG的網(wǎng)絡(luò)中,單個BIFT中的一些條目將包含與多個可能的下一跳相對應(yīng)的多個行(例如,針對每個下一跳具有不同的F-BM)。哪個條目被選擇可以取決于正被轉(zhuǎn)發(fā)的分組上所執(zhí)行的哈希(hash)。例如,哈??梢曰贗P源和目的地地址、IP協(xié)議字段、傳輸控制協(xié)議(TCP)端口、和/或用戶數(shù)據(jù)報協(xié)議(UDP)端口。在這樣的情形中,表示任何一個特定目的地的比特可以存在于針對多個條目的F-BM中。因?yàn)锽IER轉(zhuǎn)發(fā)方法首先確定通向具有F-BM中的較低編號比特的目的地的路徑,所以通向與較高編號比特相對應(yīng)的目的地的路徑將取決于分組是否也去向具有較低編號比特的目的地、以及取決于哪個哈希值被使用。

本文所描述的系統(tǒng)和/或方法可以擴(kuò)展BIER轉(zhuǎn)發(fā)方法,以確保被采取來通向任何特定目的地的路徑取決于該特定目的地、以及被用于針對通向該特定目的地的特定分組流來選擇ECMP分組的哈希值。在一些實(shí)施方式中,這些系統(tǒng)和/或方法可以利用多個BIFT,并且每個BIFT可以包括針對任何一個目的地的單個可能的下一跳。在一些實(shí)施方式中,這些系統(tǒng)和/或方法可以將多個BIFT組合為單個BIFT。這些系統(tǒng)和/或方法可以使路徑的不必要的早期發(fā)散(divergence)最小化,由此對網(wǎng)絡(luò)資源進(jìn)行更高效的使用。這些系統(tǒng)和/或方法可以使得BIER轉(zhuǎn)發(fā)方法是確定的,這可以簡化網(wǎng)絡(luò)OAM并且允許更穩(wěn)定的網(wǎng)絡(luò)性能。這些系統(tǒng)和/或方法可以在多播業(yè)務(wù)如何跨ECMP和/或LAG被擴(kuò)散的方面改進(jìn)網(wǎng)絡(luò)效率。單個BIFT可以要求比多個BIFT較少的存儲空間,并且單個BIFT可以比多個BIFT更容易創(chuàng)建。在一些實(shí)施方式中,單個BIFT的一個或多個條目可以被精簡并且要求較少的存儲空間。

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

每個BFR可以利用單個BIFT,該單個BIFT包括針對任何一個目的地的四個可能的下一跳。例如,如圖1中所示出的,BFR-B(例如,入口BFR)可以利用單個BIFT用于轉(zhuǎn)發(fā)分組,該單個BIFT被編程到數(shù)據(jù)平面中。該BIFT可以包括用于BFR-id(例如,“1”、“2”、“3”、“4”和“5”)的列、用于轉(zhuǎn)發(fā)比特掩碼(F-BM)的列、以及用于鄰居BFR(BFR-NBR)的列。特定BFR的鄰居BFR可以包括鄰近于并且通過直接鏈路連接到該特定BFR的BFR。F-BM可以包括與SI和BFR-NBR的組合相對應(yīng)的比特掩碼。在一些實(shí)施方式中,BFR-B可以通過首先使用比特掩碼中的比特“1”填充用于針對目的地的可能下一跳的BIFT,然后使用比特掩碼中的比特“2”填充用于針對該目的地的可能下一跳的BIFT,以此類推,來填充BIFT。隨著BIFT被填充,BFR-B可以對每個下一跳發(fā)生在每個BIFT中的次數(shù)進(jìn)行計(jì)數(shù)。

如圖1中進(jìn)一步示出的,假設(shè)多播分組到達(dá)BFR-B并且包括具有“10101”的比特串的分組頭部。該分組頭部中的比特串的“00001”部分可以指示該多播分組將被遞送給具有“1”的BFR-id的BFR(例如,BFR-D);該比特串的“00100”部分可以指示該多播分組將被遞送給具有“3”的BFR-id的BFR(例如,BFR-E);并且該比特串的“10000”部分可以指示該多播分組將被遞送給具有“5”的BFR-id的BFR(例如,BFR-G)。BFR-B可以執(zhí)行該多播分組的哈希以確定BIFT的條目的哪排要使用用于轉(zhuǎn)發(fā)該分組。例如,BFR-B可以基于該多播分組的哈希而確定BIFT的條目的第四排將被用來轉(zhuǎn)發(fā)該多播分組。BIFT的條目的第四排可以指示BFR-B將要向BFR-C發(fā)送該多播分組的一個副本(例如,具有“00001”的比特串),并且向BFR-E發(fā)送該多播分組的另一副本(例如,具有“10100”的比特串)?!?0001”的比特串可以指示該多播分組的該副本將被遞送給具有“1”的BFR-id的BFR(例如,BFR-D)。“10100”的比特串可以指示該多播分組的該另一副本將被遞送給具有“3”和“5”的BFR-id的BFR(例如,BFR-E和BFR-G)。如圖1中進(jìn)一步示出的,該多播分組可以根據(jù)BFR-B所提供的指令而被轉(zhuǎn)發(fā)給BFR-D、BFR-E和BFR-G。

本文所描述的系統(tǒng)和/或方法可以擴(kuò)展BIER轉(zhuǎn)發(fā)方法,以確保被采取來通向任何特定目的地的路徑取決于該特定目的地、以及被用于針對通向該特定目的地的特定分組流來選擇ECMP分組的哈希值。

圖2是本文所描述的系統(tǒng)和/或方法可以被實(shí)施在其中的示例環(huán)境200的示圖。如圖2中所示出的,環(huán)境200可以包括一個或多個網(wǎng)絡(luò)設(shè)備210-1至210-N(N≥1)(后文中統(tǒng)稱為網(wǎng)絡(luò)設(shè)備210,并且個體地稱為網(wǎng)絡(luò)設(shè)備210)以及網(wǎng)絡(luò)220。環(huán)境200的設(shè)備可以經(jīng)由有線連接、無線連接、或者有線連接與無線連接的組合進(jìn)行互連。

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

網(wǎng)絡(luò)220可以包括一個或多個有線網(wǎng)絡(luò)和/或無線網(wǎng)絡(luò),該一個或多個有線網(wǎng)絡(luò)和/或無線網(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)絡(luò)(例如,公共交換電話網(wǎng)絡(luò)(PSTN))、ad hoc網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、互聯(lián)網(wǎng)、基于光纖的網(wǎng)絡(luò)、私有網(wǎng)絡(luò)、云計(jì)算網(wǎng)絡(luò)、和/或這些或其他類型的網(wǎng)絡(luò)的組合。

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

圖3是網(wǎng)絡(luò)設(shè)備210的示例組件的示圖。如圖3中所示出的,網(wǎng)絡(luò)設(shè)備210可以包括一個或多個輸入組件305-1至305-B(B≥1)(后文中統(tǒng)稱為輸入組件305,并且個體地稱為輸入組件305)、切換組件310、一個或多個輸出組件315-1至315-C(C≥1)(后文中統(tǒng)稱為輸出組件315,并且個體地稱為輸出組件315)、以及路由組件320。

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

切換組件310可以將輸入組件305與輸出組件315互連。在一些實(shí)施方式中,切換組件310可以經(jīng)由一個或多個交叉開關(guān)(crossbar)、經(jīng)由一個或多個總線、和/或利用一個或多個共享存儲器而被實(shí)施。這些共享存儲器可以充當(dāng)臨時緩沖器,以在來自輸入組件305的分組最終被調(diào)度以便遞送給輸出組件315之前存儲這些分組。在一些實(shí)施方式中,切換組件310可以使得輸入組件305、輸出組件315、和/或路由組件320能夠進(jìn)行通信。

輸出組件315可以是用于物理鏈路的附接點(diǎn)并且可以是用于傳出的業(yè)務(wù)(諸如分組)的出口點(diǎn)。輸出組件315可以存儲分組并且可以調(diào)度分組以用于在輸出物理鏈路上的傳輸。輸出組件315可以支持?jǐn)?shù)據(jù)鏈路層的封裝或解封裝、和/或各種較高層協(xié)議。在一些實(shí)施方式中,輸出組件315可以發(fā)送分組和/或接收分組。在一些實(shí)施方式中,輸出組件315可以包括輸出線路卡,輸出線路卡包括一個或多個分組處理組件(例如,以集成電路為形式),諸如一個或多個IFC、分組轉(zhuǎn)發(fā)組件、線路卡控制器組件、輸出端口、處理器、存儲器、和/或輸出隊(duì)列。在一些實(shí)施方式中,網(wǎng)絡(luò)設(shè)備210可以包括一個或多個輸出組件315。在一些實(shí)施方式中,輸入組件305和輸出組件315可以由組件的相同集合來實(shí)施(例如,輸入/輸出組件可以是輸入組件305和輸出組件315的組合)。

路由組件320可以包括一個或多個處理器、微處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、或者類似類型的處理組件。在一些實(shí)施方式中,路由組件320可以包括隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM)、和/或存儲信息和/或指令的另一類型的動態(tài)或靜態(tài)存儲設(shè)備(例如,閃存、磁存儲器、光存儲器等)。在一些實(shí)施方式中,路由組件320可以與連接到網(wǎng)絡(luò)設(shè)備210的其他設(shè)備、網(wǎng)絡(luò)、和/或系統(tǒng)進(jìn)行通信,以交換與網(wǎng)絡(luò)拓?fù)溆嘘P(guān)的信息。路由組件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í)行針對傳入和/或傳出分組的路由查找。

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

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

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

如圖4中進(jìn)一步示出的,過程400可以包括針對每個BIFT確定針對第一目的地集合的下一跳(框420)。例如,特定BFR可以針對多個BIFT中的每個BIFT確定針對第一目的地集合(例如,較低編號的目的地)的下一跳。在一些實(shí)施方式中,特定BFR可以試圖用使交疊最大化的方式跨BIFT來分布針對任何特定目的地的可能下一跳。例如,在兩個目的地具有相同下一跳的場合,特定BFR可以嘗試將這樣的下一跳指配給相同的BIFT,同時嘗試遵循所計(jì)算的下一跳的分布。在一些實(shí)施方式中,對于多個BIFT中的每個BIFT,特定BFR可以首先確定哪些下一跳要使用用于較低編號的目的地(例如,基于BFR-id,諸如BFR-id“1”、“2”、“3”等)。例如,假設(shè)存在五個目的地(例如,BFR-id“1”、“2”、“3”、“4”和“5”),則特定BFR可以針對每個BIFT確定要使用用于BFR-id“1”和“2”的下一跳。如下面關(guān)于框430所描述的,特定BFR可以針對每個BIFT確定要使用用于BFR-id“3”、“4”和“5”的ECMP下一跳。在一些實(shí)施方式中,特定BFR可以基于與多播域相關(guān)聯(lián)的下一跳和/或ECMP下一跳的數(shù)目,來確定要利用的較低編號的目的地的特定數(shù)量。

在一些實(shí)施方式中,特定BFR可以首先針對目的地“1”填充每個BIFT,然后可以針對目的地“2”填充每個BIFT,然后可以針對目的地“3”填充每個BIFT,并且以此類推直到BIFT為滿。在一些實(shí)施方式中,特定BFR標(biāo)識具有多個可能ECMP下一跳的特定目的地的第一次,該特定BFR可以針對該特定目的地填充每個BIFT,因?yàn)橹暗臈l目在每個BIFT中將是相同的。這樣的條目可以與第一目的地集合(例如,較低編號的目的地)相對應(yīng)。然而,特定BFR標(biāo)識具有多個可能ECMP下一跳的特定目的地的第二次、以及所有后續(xù)的次數(shù),之前的條目在每個BIFT中將并不都是相同的(例如,因?yàn)榇嬖谝恍┲暗臈l目,對于這些之前的條目,存在多個下一跳),并且如下面關(guān)于框430所描述的,該特定BFR可以考慮已經(jīng)在每個BIFT中的事物以便確定是否要放置這樣的條目。

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

在一些實(shí)施方式中,特定BFR可以利用對Dijkstra算法的擴(kuò)展作為確定哪些ECMP下一跳要使用用于較高編號的目的地的技術(shù)。Dijkstra算法是一種圖形搜索算法,它解決了針對具有非負(fù)邊緣路徑成本的圖形的單源最短路徑問題,并且產(chǎn)生最短的路徑樹。例如,假設(shè)特定BFR利用了這一技術(shù)針對目的地(例如,BFR-id“5”)確定可能的ECMP下一跳包括第一BFR(例如,BFR-1)和第二BFR(例如,BFR-2)。進(jìn)一步地,假設(shè)特定BFR創(chuàng)建了四個BIFT。在這樣的示例中,特定BFR可以確定業(yè)務(wù)將在這些可能的ECMP下一跳上等同地被劃分,以使得這些BIFT中的兩個BIFT使用下一跳BFR-1,并且這些BIFT中的其他兩個BIFT使用下一跳BFR-2。在一些實(shí)施方式中,特定BFR可以確定業(yè)務(wù)將在這些可能的ECMP下一跳上基本等同地被劃分,在這些可能的ECMP下一跳上隨機(jī)地被劃分,等等。

跨BIFT來指配可能的ECMP下一跳、同時使ECMP下一跳被放置到已經(jīng)具有相同下一跳的最多實(shí)例的BIFT中的程度最大化的任務(wù),可以被稱為裝箱(bin-packing)問題或者非確定性多項(xiàng)式時間(NP)困難問題。在裝箱問題中,不同體積的對象可以以最小化所使用的箱體數(shù)目的方式被裝入到有限數(shù)目的箱體或容器中,每個箱體或容器具有特定體積。當(dāng)非確定性多項(xiàng)式時間中的每個問題“L”能夠在多項(xiàng)式時間上被減少到問題“H”時,問題“H”可以被考慮是NP-困難問題。然而,跨BIFT來指配可能的ECMP下一跳的任務(wù)在相對小數(shù)目的變量上是NP-困難問題。如此,特定BFR可以利用任何已有的裝箱算法(例如,二維裝箱、線性裝箱、通過權(quán)重裝箱、通過成本裝箱,等等)來跨BIFT指配可能的ECMP下一跳。

在一些實(shí)施方式中,特定BFR可以利用試探性(heuristic)方法(例如,更簡單問題(simpler problem)、旅行商問題、搜索問題,等等)來跨BIFT指配可能的ECMP下一跳,同時使ECMP下一跳被放置到已經(jīng)具有相同下一跳的最多實(shí)例的BIFT中的程度最大化。例如,特定BFR可以利用如下的試探性方法,該試探性方法首先向擁有最多的具有相同下一跳的已有條目的BIFT指配最低編號的下一跳,然后向擁有最多的具有該下一跳的已有條目的剩余BIFT指配接下來較高編號的下一跳,以此類推。

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

如圖4中進(jìn)一步示出的,過程400可以包括將這些BIFT組合為針對任何一個目的地具有多個ECMP下一跳的單個BIFT(框450)。例如,特定BFR可以將這些BIFT組合為針對任何一個目的地具有多個ECMP下一跳的單個BIFT。在一些實(shí)施方式中,特定BFR可以支持一個數(shù)目(M)的ECMP分支用于BIER轉(zhuǎn)發(fā),并且可以利用具有多個條目的單個BIFT,其中每個條目可以包括M個ECMP分支的下一跳。在一些實(shí)施方式中,如果特定BFR具有一個路徑要遵循,則與該路徑相對應(yīng)的BIFT條目可以包括M個ECMP分支的下一跳,并且每個分支可以包括相同或不同的F-BM。

例如,假設(shè)M=4并且多播域包括通過鏈路被互連的多個網(wǎng)絡(luò)設(shè)備,諸如BFR-A、BFR-B、BFR-C、BFR-D、BFR-E和BFR-F。進(jìn)一步地,假設(shè)BFR-D包括一(1)的BFR-id、零(0)的SI、以及“00001”的比特串(例如,其中“0:00001”標(biāo)識BFR-D的SI和比特串);BFR-F包括二(2)的BFR-id、零(0)的SI、以及“00010”的比特串(例如,其中“0:00010”標(biāo)識BFR-F的SI和比特串);BFR-E包括三(3)的BFR-id、零(0)的SI、以及“00100”的比特串(例如,其中“0:00100”標(biāo)識BFR-E的SI和比特串);并且BFR-A包括四(4)的BFR-id、零(0)的SI、以及“01000”的比特串(例如,其中“0:01000”標(biāo)識BFR-A的SI和比特串)。在這樣的示例中,在BFR-E與BFR-F之間的鏈路變?yōu)榭捎弥埃槍μ囟˙FR(例如,BFR-B)的單個BIFT可以包括以下條目。

在這一示例中,BFR-NBR字母之后的數(shù)字可以標(biāo)識特定的ECMP分支。與每個BFR-id相關(guān)聯(lián)的F-BM初始可以是相同的,因?yàn)槊總€BFR可能僅具有到達(dá)鄰居BFR的單個路徑。此外,F(xiàn)-BM和BFR-NBR針對BFR-id“1”(BFR-D)和BFR-id“2”(BFR-F)可以是相同的。當(dāng)BFR-E與BFR-F之間的鏈路變?yōu)榭捎脮r,通向BFR-F的路由可以包括兩個ECMP路徑,經(jīng)由BFR-E的第一ECMP路徑和經(jīng)由BFR-C的第二ECMP路徑。特定BFR(例如,BFR-B)可以確定這兩個ECMP路徑如何被利用用于BIFT的BFR-id“2”(BFR-F)的四分支ECMP下一跳。

在一些實(shí)施方式中,特定BFR可以利用試探法用于這一確定,諸如,例如更簡單問題試探法、試探性搜索假說,等等。假設(shè)BFR-id“2”的前兩個分支保持為C1和C2,并且最后兩個分支改變?yōu)镋3和E4。特定BFR針對前兩個分支C1和C2可以不改變BIFT。然而,因?yàn)榈谌种г紴镃3并且被改變?yōu)镋3,所以特定BFR可以關(guān)掉(例如,使為零)與BFR-id“2”的C3中的BFR-F相關(guān)聯(lián)的比特,因?yàn)樵撎囟˙FR針對第三分支將不使用BFR-C來到達(dá)BFR-F。由于第三分支C3還被使用用于BFR-id“1”(BFR-D),所以特定BFR也可以關(guān)掉(例如,使為零)與BFR-id“1”的C3中的BFR-F相關(guān)聯(lián)的比特。因?yàn)锽FR-E將被使用用于BFR-id“2”的第三分支,所以特定BFR可以開啟(例如,使為一)與BFR-id“2”的E3中的BFR-F相關(guān)聯(lián)的比特。由于第三分支E3還被使用用于BFR-id“3”(BFR-E),所以特定BFR也可以開啟與BFR-id“3”的E3中的BFR-F相關(guān)聯(lián)的比特。

特定BFR針對第四分支(例如,C4和E4)可以執(zhí)行相同的過程,并且經(jīng)修改的BIFT可以包括以下條目(其中粗體和斜體指示被修改的信息)。

現(xiàn)在假設(shè)BFR-E與BFR-F之間的鏈路再次變?yōu)榭捎茫⑶彝ㄏ駼FR-F的路由包括經(jīng)由BFR-C的單個ECMP路徑。在這一示例中,特定BFR(BFR-B)可以通過關(guān)掉與E3和E4中的BFR-F相關(guān)聯(lián)的比特,并且開啟與C3和C4中的BFR-F相關(guān)聯(lián)的比特,來修改針對BIFT的BFR-id“2”的第三分支和第四分支。在這些改變之后,BIFT可以返回到它的原始形式。在一些實(shí)施方式中,當(dāng)特定BIFT條目(例如,由于單播路由改變)需要被修改時,并且針對需要被修改的每個分支,特定BFR可以關(guān)掉原始分支的F-BM中的對應(yīng)比特,并且開啟新分支的F-BM中的比特。

在一些實(shí)施方式中,特定BFR可以直接創(chuàng)建單個BIFT,而無需首先創(chuàng)建多個BIFT。例如,替代創(chuàng)建多個BIFT并且將該多個BIFT組合為單個BIFT,特定BFR可以利用上文關(guān)于框420-450所描述的技術(shù)中的一個或多個技術(shù)來創(chuàng)建單個BIFT。

如圖4中進(jìn)一步示出的,過程400可以包括存儲該單個BIFT(框460)。例如,特定BFR可以將該單個BIFT存儲在與該特定BFR相關(guān)聯(lián)的存儲器(例如,路由組件320中所提供的存儲器,圖3)中。在一些實(shí)施方式中,特定BFR可以取決于多少存儲器可用于該特定BFR來存儲必要大小的單個BIFT。在一些實(shí)施方式中,特定BFR可以將該單個BIFT編程到數(shù)據(jù)平面中,并且可以使用該單個BIFT來轉(zhuǎn)發(fā)分組。

在一些實(shí)施方式中,假設(shè)特定BFR創(chuàng)建了八個BIFT,并且該特定BFR具有可能的下一跳K、L和M。進(jìn)一步地,假設(shè)針對一個目的地D1,可能的下一跳是K或L,并且針對不同的目的地D2,可能的下一跳是L或M。針對目的地D1,假設(shè)跨可能的下一跳等同劃分業(yè)務(wù),則特定BFR可以確定這八個BIFT中的四個BIFT將包括K作為下一跳,并且其他四個BIFT將包括L作為下一跳。針對目的地D2,特定BFR可以確定這些BIFT中的四個BIFT將包括L作為下一跳,并且其他四個BIFT將包括M作為下一跳。針對目的地D1,特定BFR可以利用按照以下順序的下一跳來填充這八個BIFT:K、K、K、K、L、L、L和L。針對目的地D2,特定BFR可以利用按照以下順序的下一跳來填充這八個BIFT:L、L、L、L、M、M、M和M。如果這些BIFT以這種方式被填充,則不論什么哈希值用于傳入的分組,朝向目的地D1發(fā)送的多播分組的副本以及朝向目的地D2發(fā)送的多播分組的副本可以采取不同的緊接的下一跳,但是這兩個分組可以在下一跳L上結(jié)束。在一些實(shí)施方式中,針對目的地D2,特定BFR可以利用按照以下順序的下一跳來填充這八個BIFT:M、M、M、M、L、L、L和L。在這樣的實(shí)施方式中,針對導(dǎo)致最后四個下一跳之一(例如,下一跳L)被利用的任何哈希值,多播分組的單個副本可以被發(fā)送用于這兩個目的地D1和D2,導(dǎo)致了對特定BFR與下一跳L之間的鏈路的更好利用。

盡管圖4示出了過程400的示例框,但是在一些實(shí)施方式中,過程400可以包括另外的框、較少的框、不同的框、或者與圖4中所描繪的那些框不同地被布置的框。另外地或替換地,過程400的框中的兩個或更多框可以并行地被執(zhí)行。

圖5A-5F是與圖4中所示出的示例過程400有關(guān)的示例實(shí)施方式500的示圖。圖5A-5F示出了在網(wǎng)絡(luò)設(shè)備210(諸如BFR)中創(chuàng)建單個BIFT的示例。

如圖5A中所示出的,多播域可以包括通過鏈路被互連的多個網(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)。多播域中的每個BFR 210可以被指配唯一的BFR-id。假設(shè)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)。如果BIER轉(zhuǎn)發(fā)方法被利用用于圖5A的多播域,則BFR-B可以生成具有以下信息的單個BIFT:

不像BIER轉(zhuǎn)發(fā)方法那樣,在一些實(shí)施方式中,每個BFR 210可以利用多個BIFT 510,并且每個BIFT 510可以包括針對任何一個目的地的單個可能的下一跳。例如,如圖5B中所示出的,BFR-B可以利用四個BIFT 510-1、510-2、510-3和510-4,不具有ECMP支持。在分組上執(zhí)行的哈??梢源_定這四個BIFT 510中的哪些被BFR-B使用。第一BIFT 510-1可以假設(shè)去往BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-C被傳輸,并且去往BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-E被傳輸。第二BIFT 510-2可以假設(shè)去往BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-C被傳輸,并且去往BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-E被傳輸。第三BIFT 510-3可以假設(shè)去往BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-E被傳輸,并且去往BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-C被傳輸。第四BIFT 510-4可以假設(shè)去往BFR-id“2”(例如,BFR-F)的分組經(jīng)由BFR-E被傳輸,并且去往BFR-id“5”(例如,BFR-G)的分組經(jīng)由BFR-C被傳輸。

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

在一些實(shí)施方式中,BFR-B可以利用針對目的地“1”(例如,BFR-id“1”)的信息來填充這四個BIFT 510。然而,因?yàn)獒槍δ康牡亍?”(例如,BFR-C)僅存在一個可能的下一跳,所以BFR-B可以利用相同的信息來填充這四個BIFT 510,從而每個BIFT 510中的第一條目可以包括以下信息:

BFR-B然后可以利用針對目的地“2”(例如,BFR-id“2”)的信息來填充這四個BIFT 510。因?yàn)獒槍δ康牡亍?”存在兩個可能的下一跳BFR-C和BFR-E,所以BFR-B可以確定這些BIFT 510中的兩個BIFT 510將利用作為下一跳的BFR-C而被填充,并且其他兩個BIFT 510將利用作為下一跳的BFR-E而被填充。BFR-B可以確定這四個BIFT 510中的哪些具有BFR-C的更多下一跳,以及這四個BIFT 510中的哪些具有BFR-E的更多下一跳。

然而,在這一點(diǎn)處,每個BIFT 510可以包括相同的之前所添加的下一跳,并且哪兩個BIFT 510表將BFR-C添加作為下一跳以及哪兩個BIFT 510將BFR-E添加作為下一跳將是無所謂的。假設(shè)BFR-B選擇BIFT 510-1和510-2用于BFR-C的下一跳,并且注意到BFR-C與針對已經(jīng)在BIFT 510-1和510-2中的條目的下一跳是相同的。因此,BFR-B可以針對已經(jīng)在BIFT 510-1和510-2中的條目來更新F-BM。這將創(chuàng)建包括以下信息的BIFT 510-1和510-2:

進(jìn)一步地,假設(shè)BFR-B選擇BIFT 510-3和510-4用于BFR-E的下一跳,并且注意到BFR-E是與已經(jīng)在BIFT 510-3和510-4中的條目不同的下一跳。因此,針對之前所添加的條目(例如,針對目的地“1”)的F-BM可以保持相同,并且將創(chuàng)建包括以下信息的BIFT 510-3和510-4:

BFR-B然后可以將目的地“3”(例如,BFR-id“3”)添加到每個BIFT 510。因?yàn)閮H存在一個最佳路徑通向目的地“3”(例如,BFR-E),所以BIFT 510-1和510-2可以被更新如下:

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

BFR-B然后可以將目的地“4”(例如,BFR-id“4”)添加到每個BIFT 510。僅存在一個最佳路徑通向目的地“4”(例如,經(jīng)由BFR-A),但是這一次通向目的地“4”的最佳路徑可以包括與針對之前條目的下一跳不同的下一跳?;诖?,BIFT 510-1和510-2可以被更新如下:

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

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

最后,BFR-B可以向每個BIFT 510提供針對目的地“5”(例如,BFR-id“5”)的條目。在這種情況中,目的地“5”可以與兩個可能的下一跳(例如,BFR-C和BFR-E)相關(guān)聯(lián)。因?yàn)榇嬖诙鄠€可能的下一跳,所以BFR-B可以確定BFR-C的多少下一跳以及BFR-E的多少下一跳已經(jīng)在每個BIFT 510中。然而,在這種情況中,針對每個BIFT 510答案是不相同的,因?yàn)榇嬖诰哂卸鄠€ECMP條目的之前的目的地,多個ECMP條目導(dǎo)致了包含不同信息的不同BIFT 510。BFR-B可以通過選取BIFT 510-1和510-2用于BFR-C的可能的下一跳(例如,因?yàn)锽IFT 510-1和510-2擁有更多的具有作為下一跳的BFR-C的條目),并且通過選取BIFT 510-3和510-4用于BFR-E的可能的下一跳(例如,因?yàn)锽IFT 510-3和510-4擁有更多的已經(jīng)具有作為下一跳的BFR-E的條目),來對轉(zhuǎn)發(fā)進(jìn)行優(yōu)化。

參考圖5D和5E,在決定哪個下一跳要使用用于每個BIFT 510中的BFR-id“5”時,BFR-B可以利用ECMP路由計(jì)算(例如,對Dijkstra算法的擴(kuò)展)來確定(例如,針對BFR-id“5”的)可能的ECMP下一跳包括BFR-C和BFR-E。假設(shè)業(yè)務(wù)在可能的下一跳上等同地被劃分,則BFR-B可以確定BIFT 510中的兩個BIFT 510要使用下一跳BFR-C并且其他兩個BIFT 510要使用下一跳BFR-E。如圖5D中所示出的,第一BIFT 510-1包括對BFR-C的兩個參考(reference)以及對BFR-E的一個參考;第二BIFT 510-2包括對BFR-C的兩個參考以及對BFR-E的一個參考;第三BIFT 510-3包括對BFR-C的一個參考以及對BFR-E的兩個參考;并且第四BIFT 510-4包括對BFR-C的一個參考以及對BFR-E的兩個參考。

BFR-B可以利用簡單的試探性方法來跨BIFT 510指配可能的下一跳(例如,對BFR-C的兩個參考以及對BFR-E的兩個參考),同時使下一跳被放置到已經(jīng)具有相同下一跳的最多實(shí)例的BIFT 510中的程度最大化。該簡單的試探性方法可以包括首先向擁有最多具有相同下一跳的已有條目的BIFT 510指配較低編號的下一跳,然后向擁有最多具有該下一跳的已有條目的剩余BIFT 510指配接下來較高編號的下一跳,以此類推。基于這一方式,并且如圖5E中所示出的,BFR-B可以將對BFR-C的每個參考與第一BIFT 510-1和第二BIFT 510-2的目的地“5”(例如,BFR-id“5”)相關(guān)聯(lián),正如分別由參考標(biāo)號530-1和530-2所指示的。此外,BFR-B可以將對BFR-E的每個參考與第三BIFT 510-3和第四BIFT 510-4的目的地“5”(例如,BFR-id“5”)相關(guān)聯(lián),正如分別由參考標(biāo)號530-3和530-4所指示的。

如圖5F中所示出的,BFR-B可以將BIFT 510組合為單個BIFT 540,該單個BIFT 540包括針對任何一個目的地(例如,目的地“1”至“5”)的多個ECMP下一跳550。如進(jìn)一步示出的,如由BFR-NBR C1和C2所指示的,可以經(jīng)由與BFR-C相關(guān)聯(lián)的第一路徑,或者如由BFR-NBR E3和E4所指示的,經(jīng)由與BFR-E相關(guān)聯(lián)的第二路徑來到達(dá)目的地“2”(例如,BFR-F)。如由BFR-NBR E1和E2所指示的,可以經(jīng)由與BFR-E相關(guān)聯(lián)的第一路徑,或者如由BFR-NBR C3和C4所指示的,經(jīng)由與BFR-C相關(guān)聯(lián)的第二路徑來到達(dá)目的地“5”(例如,BFR-G)。

在一些實(shí)施方式中,BIFT 540中的許多目的地包括具有不同比特串的F-BM,并且BIFT 540中的一些目的地包括具有相同比特串的F-BM。例如,目的地“4”(例如,BFR-id“4”)針對所有四個F-BM包括相同的比特串(010000)。在一些實(shí)施方式中,當(dāng)目的地包括具有相同比特串的四個F-BM時,BFR-B可以分開地存儲這四個F-BM,這可能使用更多的存儲空間但是可以簡化編碼。替換地,BFR-B可以將這四個F-BM組合為單個F-BM,這可能要求用于存儲和取回F-BM的更復(fù)雜的編碼,但是可以減少所要求的存儲空間。

在一些實(shí)施方式中,在轉(zhuǎn)發(fā)分組時,BFR-B可以執(zhí)行BIFT 540的哈希以確定BIFT 540中的哪排要使用用于每個目的地,并且可以相應(yīng)地轉(zhuǎn)發(fā)該分組。例如,假設(shè)BIFT 540的哈希指示每個目的地的第三排將被使用。在這樣的示例中,在轉(zhuǎn)發(fā)分組時,BFR-B可以利用第三排用于BIFT 540中的每個目的地(例如,目的地“1”至“5”)。這樣的示例可以類似于圖5B中所示出的使用BIFT表510-3。

如上文所指出的,圖5A-5F被提供僅作為示例。其他示例是可能的并且可以不同于關(guān)于圖5A-5F所描述的事物。

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

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

如圖6中進(jìn)一步示出的,過程600可以包括分析分組頭部以確定比特索引轉(zhuǎn)發(fā)表(BIFT)的一排下一跳以使用用于多播分組(框620)。例如,特定BFR可以分析多播分組的分組頭部以便確定單個BIFT中的下一跳以使用用于多播分組。在一些實(shí)施方式中,特定BFR可以執(zhí)行分組頭部的哈希(例如,利用哈希函數(shù))以便標(biāo)識分組頭部中所包含的信息。例如,特定BFR可以執(zhí)行分組頭部的一些或全部的哈希以標(biāo)識“11100”的比特串。在一些實(shí)施方式中,特定BFR可以利用該比特串來確定多播分組將被遞送給與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR。在一些實(shí)施方式中,特定BFR可以標(biāo)識哪排要利用用于BIFT中的每個條目,并且可以利用所標(biāo)識的排將多播分組遞送給與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR。例如,特定BFR可以把要利用用于每個條目的該排標(biāo)識為包括用于向與BFR-id“3”、“4”和“5”相關(guān)聯(lián)的BFR轉(zhuǎn)發(fā)分組的條目的排。在一些實(shí)施方式中,特定BFR可以利用除了哈希函數(shù)之外的另一變換函數(shù)以便標(biāo)識分組頭部中所包含的信息,諸如校驗(yàn)和、校驗(yàn)數(shù)位、指紋、隨機(jī)化函數(shù),等等。

在一些實(shí)施方式中,特定BFR可以在分組上執(zhí)行哈希以針對這些分組標(biāo)識多個BIFT中的特定BIFT,并且確保屬于分組的相同應(yīng)用流的分組采取相同的路徑,并且從而這些分組保持順序并具有一致的處置。然而,在不同的源與目的地之間行進(jìn)的不同應(yīng)用或分組可以采取不同的路徑,以便允許業(yè)務(wù)跨網(wǎng)絡(luò)中的多個鏈路被擴(kuò)散開。例如,直接通過IP運(yùn)行的協(xié)議可以包括TCP或UDP,并且那么應(yīng)用通過TCP或UDP運(yùn)行。如果協(xié)議是UDP,則特定BFR可以在IP源和目的地地址上并且在UDP源和目的地端口上進(jìn)行哈希(例如,以標(biāo)識特定BIFT)。如果協(xié)議是TCP,則特定BFR可以在IP源和目的地地址上并且在TCP源和目的地端口上進(jìn)行哈希(例如,以標(biāo)識特定BIFT)。如果協(xié)議既不是UDP也不是TCP,則特定BFR可以僅在IP源和目的地地址以及IP協(xié)議字段上進(jìn)行哈希(例如,以標(biāo)識特定BIFT)。在相同IP主機(jī)內(nèi)存在多個應(yīng)用的場合,該多個應(yīng)用可以利用不同的端口。這可以允許來自相同源到相同目的地并且使用相同應(yīng)用的分組采取相同的路徑。來自不同源到不同目的地或者支持不同應(yīng)用的分組可以采取不同的路徑。

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

在一些實(shí)施方式中,如果分組是BIER分組,則特定BFR可以不在標(biāo)識哪些目的地要接收每個分組的BIER比特串上進(jìn)行哈希。這可以使得去往特定目的地的分組能夠總是利用相同的路徑,而無需考慮哪些其他目的地也需要接收相同的分組。然而,哈希函數(shù)可以包括應(yīng)用信息和源信息。例如,如果第一人正在第一電視上觀看頻道7,則該第一人可能想要針對頻道7的分組總是采取一致的路徑,即使第二人保持著在頻道7與頻道5之間進(jìn)行改變。然而,如果該第一人正在觀看頻道7,則該第一人可能不關(guān)心針對頻道7的分組是否采取與用于該第二人正進(jìn)行的視頻聊天的分組相同的路徑。

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

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

盡管圖6示出了過程600的示例框,但是在一些實(shí)施方式中,過程600可以包括另外的框、較少的框、不同的框、或者與圖6中所描繪的那些框不同地被布置的框。另外地或替換地,過程600的框中的兩個或更多框可以并行地被執(zhí)行。

圖7A-7D是與圖6中所示出的示例過程600有關(guān)的示例實(shí)施方式700的示圖。圖7A-7D示出了基于BIFT來轉(zhuǎn)發(fā)多播分組的示例。

如圖7A中所示出的,多播域可以包括通過鏈路被互連的多個網(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)。多播域中的每個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中進(jìn)一步示出的,每個BFR 210可以利用單個BIFT 710,該單個BIFT 710包括針對任何一個目的地的多個可能的下一跳。例如,BIFT 710的每個條目可以包括四個可能的下一跳。如進(jìn)一步示出的,BFR-B可以接收多播分組720,多播分組720包括有效載荷和具有“10101”的比特串的分組頭部。“10101”的比特串可以指示分組720將被遞送給具有“1”(例如,BFR-D,如由比特串的“00001”部分所指示的)、“3”(例如,BFR-E,如由比特串的“00100”部分所指示的)和“5”(例如,BFR-G,如由比特串的“10000”部分所指示的)的BFR-id的BFR 210。如圖7A中的參考標(biāo)號730所指示的,BFR-B可以執(zhí)行分組720的哈希以標(biāo)識分組頭部的比特串。

如圖7B中所示出的,BFR-B可以利用(例如,如基于分組720的哈希所標(biāo)識的)“10101”的比特串來確定BIFT 710的條目的特定排。例如,如圖7B中的參考標(biāo)號740所指示的,BFR-B可以確定BIFT 710的條目的第四排將被利用來將分組720轉(zhuǎn)發(fā)給BFR-D、BFR-E、BFR-G(例如,目的地“1”、“3”和“5”)。

如圖7C中所示出的,基于BIFT 710的條目的第四排,BFR-B可以創(chuàng)建分組720的第一副本750-1,第一副本750-1將“10001”的比特串包括在分組頭部中。BFR-B可以將第一分組副本750-1轉(zhuǎn)發(fā)給BFR-C,并且BFR-C可以接收第一分組副本750-1。進(jìn)一步基于BIFT 710的條目的第四排,BFR-B可以創(chuàng)建分組720的第二副本750-2,第二副本750-2將“00110”的比特串包括在分組頭部中。BFR-B可以將第二分組副本750-2轉(zhuǎn)發(fā)給BFR-E(例如,基于比特串的“00100”部分),并且BFR-E可以接收第二分組副本750-2。

如圖7D中所示出的,“10001”的比特串可以向BFR-C指示第一分組副本750-1將被轉(zhuǎn)發(fā)給具有“1”(例如,BFR-D)和“5”(例如,BFR-G)的BFR-id的BFR 210。因此,BFR-C可以將第一分組副本750-1轉(zhuǎn)發(fā)給BFR-D,并且BFR-D可以接收第一分組副本750-1。BFR-C可以將第一分組副本750-1轉(zhuǎn)發(fā)給BFR-F,并且BFR-F可以基于比特串“10000”將第一分組副本750-1轉(zhuǎn)發(fā)給BFR-G。BFR-G可以接收第一分組副本750-1?!?0101”的比特串可以向BFR-E指示第二分組副本750-2將由BFR-E(例如,具有BFR-id“3”,如由比特串的“00100”部分所指示的)接收并且轉(zhuǎn)發(fā)給具有“2”的BFR-id的BFR 210(例如,BFR-F,如由比特串的“00010”部分所指示的)。因此,BFR-E可以接收第二分組副本750-2,并且可以將第二分組副本750-2轉(zhuǎn)發(fā)給BFR-F。BFR-F可以接收第二分組副本750-2。

如上文所指出的,圖7A-7D被提供僅作為示例。其他示例是可能的并且可以不同于關(guān)于圖7A-7D所描述的事物。

本文所描述的系統(tǒng)和/或方法可以擴(kuò)展BIER轉(zhuǎn)發(fā)方法,以確保被采取來通向任何特定目的地的路徑取決于該特定目的地、以及被用于針對通向該特定目的地的特定分組流來選擇ECMP分組的哈希值。這些系統(tǒng)和/或方法可以利用單個BIFT,該單個BIFT包括針對任何一個目的地的多個可能的下一跳。這些系統(tǒng)和/或方法可以最小化路徑的不必要的早期發(fā)散,由此對網(wǎng)絡(luò)資源進(jìn)行更高效的使用。這些系統(tǒng)和/或方法可以使得BIER轉(zhuǎn)發(fā)方法是確定的,這可以簡化網(wǎng)絡(luò)OAM并且允許更穩(wěn)定的網(wǎng)絡(luò)性能。這些系統(tǒng)和/或方法可以在多播業(yè)務(wù)如何跨ECMP和/或LAG被擴(kuò)散的方面改進(jìn)網(wǎng)絡(luò)效率。

前述公開提供了說明和描述,但是不意圖為詳盡無遺的或者將實(shí)施方式限制到所公開的精確形式。修改和變化鑒于上述公開是可能的,或者可以從實(shí)施方式的實(shí)踐來獲取。例如,雖然為了簡單在BFR的上下文中描述了本文所描述的系統(tǒng)和/或方法,但是這些系統(tǒng)和/或方法可以等同地應(yīng)用在其他類型的網(wǎng)絡(luò)設(shè)備的上下文中。

如本文所使用的,術(shù)語“組件”意圖為寬泛地被解釋為硬件、固件、和/或硬件與軟件的組合。

如本文所使用的,分組可以指代網(wǎng)絡(luò)分組、幀、數(shù)據(jù)報、分段(segment)、分組的片段(fragment)、幀的片段、數(shù)據(jù)報的片段、分段的片段、或者能夠經(jīng)由網(wǎng)絡(luò)被傳輸?shù)娜魏纹渌母袷交蚍歉袷交臄?shù)據(jù)單元。

將明顯的是,本文所描述的系統(tǒng)和/或方法可以用硬件、固件、和/或硬件與軟件的組合的不同形式被實(shí)施。被用來實(shí)施這些系統(tǒng)和/或方法的實(shí)際的專門控制硬件或軟件代碼不是對實(shí)施方式的限制。因此,這些系統(tǒng)和/或方法的操作和行為在本文中沒有參考具體的軟件代碼被描述—被理解的是,軟件和硬件能夠基于本文的描述而被設(shè)計(jì)為實(shí)施這些系統(tǒng)和/或方法。

即便特征的特定組合被記載在權(quán)利要求中和/或被公開在說明書中,但是這些組合不意圖為限制可能實(shí)施方式的公開。事實(shí)上,這些特征中的許多特征可以按照沒有在權(quán)利要求中具體記載和/或在說明書中公開的方式而被組合。盡管下面所列出的每個從屬權(quán)利要求可能直接從屬于僅一個權(quán)利要求,但是可能實(shí)施方式的公開包括每個從屬權(quán)利要求與權(quán)利要求集合中的每個其他權(quán)利要求相組合。

本文所使用的元件、行動或指令不應(yīng)當(dāng)被解釋為是關(guān)鍵的或者至關(guān)重要的,除非明確地如此描述。此外,如本文所使用的,冠詞“一”和“一種”意圖為包括一個或多個項(xiàng)目,并且可以與“一個或多個”可互換地被使用。此外,如本文所使用的,術(shù)語“集合”意圖為包括一個或多個項(xiàng)目,并且可以與“一個或多個”可互換地被使用。在意圖為僅一個項(xiàng)目的場合,使用了術(shù)語“一個”或者類似語言。此外,如本文所使用的,術(shù)語“具有”、“擁有”、“有”等意圖為是開放式術(shù)語。進(jìn)一步地,短語“基于”意圖為意指“至少部分地基于”,除非明確地另有陳述。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
江北区| 辰溪县| 象山县| 博湖县| 新闻| 丰顺县| 株洲县| 周宁县| 鄂托克旗| 河源市| 武冈市| 新余市| 冷水江市| 谢通门县| 郁南县| 广丰县| 天镇县| 吉木萨尔县| 乌鲁木齐县| 凤庆县| 平和县| 乌恰县| 香港| 五指山市| 柯坪县| 麟游县| 通江县| 宝坻区| 曲阜市| 成都市| 舟曲县| 郑州市| 酉阳| 霍林郭勒市| 灌云县| 九龙县| 佛冈县| 安义县| 九龙坡区| 越西县| 龙泉市|