具有位索引顯式復制的等價多路徑的制作方法
【專利說明】具有位索引顯式復制的等價多路徑
[0001]相關申請
[0002]基于美國專利法第119條e款,本申請請求于2014年I月24日提交的臨時專利申請號為61/931,473,名稱為“用于無狀態的多點復制的位掩碼轉發架構”的專利申請的國內優先權,該申請的全部內容通過引用結合于此并且用于所有目的。
[0003]本申請還是于2014年9月17日提交的專利申請號為14/488,790,名稱為“利用多協議標簽切換的位索引顯式復制”的部分繼續申請,該申請又轉而根據美國專利法第119條e款請求于2013年9月17日提交的臨時專利申請號為61/878,693,名稱為“具有轉發位掩碼的多播IPv6”,和于2014年I月24日提交的臨時專利申請號為61/931,473,名稱為“用于無狀態的多點復制的位掩碼轉發結構”的專利申請的國內權利。本申請還是專利申請號為14/488,761,名稱為“位索引顯式復制”的部分繼續申請,該申請轉而根據美國專利法第119條e款請求于2013年9月17日提交的臨時專利申請號為61/878,693,名稱為“具有轉發位掩碼的多播IPv6”,和于2014年I月24日提交的臨時專利申請號為61/931,473,名稱為“用于無狀態的多點復制的位掩碼轉發結構”的專利申請的國內權利。本申請還是于2014年9月17日提交的專利申請號為14/488,810,名稱為“利用因特網網絡協議第6版的位索引顯式復制”的部分繼續申請,該申請轉而根據美國專利法第119條e款請求于2013年9月17日提交的臨時專利申請號為61/878,693,名稱為“具有轉發位掩碼的多播IPv6”,和于2014年I月24日提交的臨時專利申請號為61/931473,名稱為“用于無狀態的多點復制的位掩碼轉發結構”的專利申請的國內權利。用于所有目的,上述引用的兩件臨時申請和三件非臨時申請的每件申請的全部內容通過引用結合于此并且用于所有目的,好像它們在這里被完整且全部提出的那樣。
技術領域
[0004]本申請一般涉及網絡技術,并具體涉及具有位索引顯式復制的等價多路徑。
【背景技術】
[0005]網絡節點轉發數據。網絡節點的形式可以為一個或多個路由器,一個或多個網橋,一個或多個交換機,一個或多個服務器,或任何其它適用的通信處理設備。該數據常見地采用分組的格式并利用轉發表轉發。分組為數據的格式單元,其通常包括控制信息和有效載荷數據。控制信息可以包括:標識了源和目的地的信息(例如,地址)、類似于校驗和的檢錯碼、序列信息等。控制信息通常位于分組的頭部和尾部。有效數據通常位于分組的頭部和尾部之間。
[0006]轉發分組涉及不同的處理,這些處理雖然概念簡單但可以是復雜的。轉發分組所涉及的處理隨著使用的轉發方法的類型而變化。在許多網絡中,更傾向于采用多播方式來轉發數據。其中的一個原因是多播是一種通過通過向多個接收端分發數據來減少流量的帶寬節省技術。然而,在傳統多播系統中,使用了相當多的控制平面信息。建立和維護此控制信息將具有變得復雜和耗費計算資源的趨勢,并且會成為網絡整體性能中主要的限制因素。多播的另一問題是:由于使用的分組分發機制,有時分組被轉發至不期望的目的地。分組的這些不必要的分發意味著對網絡性能造成了不受歡迎的負擔。通過傳統方式克服這一負擔涉及生成和維護甚至更多的控制平面信息。
【發明內容】
[0007]根據本公開的實施例,提出了一種方法,包括:在節點接收分組,其中分組包含位串;從多組轉發信息中選擇第一組轉發信息,其中該選擇基于流值,并且第一組轉發信息包括轉發位掩碼;以及基于位串和第一組轉發信息來轉發分組。
[0008]根據本公開的實施例,還提出了一種網絡設備,包括:存儲器,該存儲器存儲了多組轉發信息;網絡接口,該網絡接口被配置為接收分組,其中其中分組包含位串;以及處理器,該處理器被配置為:從多組轉發信息中選擇第一組轉發信息,其中選擇第一組轉發信息是基于流值進行的,并且第一組轉發信息包括轉發位掩碼;以及基于位串和第一組轉發信息來轉發分組。
[0009]根據本公開的實施例,還提出了一種系統,包括:存儲裝置,該存儲裝置用于存儲多組轉發信息;網絡接口裝置,該網絡接口裝置用于接收分組,其中分組包括位串;以及處理裝置,該處理裝置用于:從多組轉發信息中選擇第一組轉發信息,其中選擇第一組轉發信息是基于流值進行的,并且第一組轉發信息包括轉發位掩碼;以及基于位串和第一組轉發信息來轉發分組。
【附圖說明】
[0010]通過參考附圖,本公開可被更好地理解,并且它的眾多目的、特征和優點對本領域技術人員變得更清楚。
[0011]圖1是示出了示例網絡的某些組件的簡化框圖。
[0012]圖2是示出了示例網絡的某些組件的簡化框圖。
[0013]圖3A是根據本說明書示出了節點所采用的示例過程的流程圖。
[0014]圖3B是根據本說明書示出了節點所采用的示例過程的流程圖。
[0015]圖4是示出了示例網絡的某些組件的簡化框圖。
[0016]圖5A是根據本說明書由節點生成的示例表。
[0017]圖5B是根據本說明書由節點生成的示例表。
[0018]圖6是根據本說明書由節點生成的示例表。
[0019]圖7A是根據本說明書由節點生成的示例表。
[0020]圖7B是根據本說明書由節點生成的示例表。
[0021]圖7C是根據本說明書由節點生成的示例表。
[0022]圖7D是根據本說明書由節點生成的示例表。
[0023]圖8是根據本說明書由節點生成的示例表。
[0024]圖9是根據本說明書示出了節點所采用的示例過程的流程圖。
[0025]圖10是根據本說明書示出了節點所采用的示例過程的流程圖。
[0026]圖11是根據本說明書示出了節點所采用的示例過程的流程圖。
[0027]圖12是根據本說明書示出了節點所采用的示例過程的流程圖。
[0028]圖13A是根據本說明書示出了節點所采用的示例過程的流程圖。
[0029]圖13B是根據本說明書示出了節點所采用的示例過程的流程圖。
[0030]圖14是根據本說明書示出了節點所采用的示例過程的流程圖。
[0031]圖15是根據本說明書示出了節點所采用的示例過程的流程圖。
[0032]圖16A是根據本說明書示出了節點所采用的示例過程的流程圖。
[0033]圖16B是根據本說明書示出了節點所采用的示例過程的流程圖。
[0034]圖17是根據本說明書示出了能夠被使用的示例節點的某些組件的框圖。
[0035]圖18是適合于實現這里所述的系統的實施例的計算機系統的框圖。
[0036]圖19是適用于實現這里所描述的系統的實施例的網絡設備的框圖。
【具體實施方式】
[0037]概沭
[0038]這里描述了用于執行位索引顯式復制(bit indexed explicit replicat1n,BIER)的各種系統和方法。例如,一種方法包括在節點處接收分組。該分組包括位串(bitstring)。該節點基于與該分組相關聯的流值(flow value)來選擇轉發信息。轉發信息包括轉發位掩碼。然后,該節點基于位串和轉發信息來轉發分組。
[0039]金遒
[0040]多播將多播數據分組(通常包括標識多播組的信息(例如,多播組地址)的數據分組)從源分發給多個接收端,而不過度加重源的負擔。這里使用的術語“接收端”表示訂閱多播組的主機(例如,計算機設備或應用)。不是由源復制多播數據分組并將該多播數據分組的副本發送給每個接收端,而是由源發送多播數據分組的單個副本,并且多播使能的路由器(這里簡稱為節點)在通往各接收端的路徑分岔的(一個或多個)點處復制該分組。多播路由協議通過在接近多播數據分組的目的地處復制該多播數據分組來使能多播傳輸(即,一對多連接以及多對多連接),避免了使用同樣用途的多個單播連接。這節省了網絡帶寬并且提高了吞吐量。
[0041]圖1是執行多播數據傳輸的網絡100的簡化框圖。多播使能節點110、120、130及140通過網絡鏈路150、160及170進行耦合。多播使能節點110還被耦合到源111及接收端(receiver) 112 ;多播使能節點120被親合到接收端121 ;多播使能節點130被親合到接收端131及接收端132 ;并且多播使能節點140被耦合到接收端141。多播使能節點與源和/或接收端之間這樣的耦合可以是直接的也可以是間接的(例如,通過L2網絡設備或另一節點)。
[0042]為了該示例,源111是主機,其被配置為向包括作為接收端的主機112、121、131、132及141的多播組發送多播數據分組。源111向多播使能節點110發送包括具有共同多播組地址的一個或多個多播數據分組的多播流(由從111到110的箭頭所示)。多播使能節點110包括多播轉發表,多播使能節點110使用該表來確定向哪里轉發與該多播流相關聯的多播數據分組。多播轉發表包括標識了被連接到多播分發樹(MDT)的多播使能節點110到多播組的一個或多個接收端(例如,發送了加入消息的主機,如上所述)的每個接口的信息。然后,多播使能節點110復制多播流中的多播數據分組,并且將復制的多播數據分組從被標識的接口發送到接收端112、多播使能節點120、以及多播使能節點130。
[0043]多播使能節點120和130使用加入消息(例如,協議無關多播(PM)加入消息)來告知節點110它們被耦合到一個或多個接收端。響應于接收到加入消息,多播使能節點110更新其多播轉發表來標識多播數據分組應被轉發到哪些接口。多播數據分組可由節點110根據需要進行復制,以便向多播組的接收端(例如,接收端131和132)以及MDT上的其他多播使能節點(例如,多播使能節點140)提供該多播數據分組。通過這種方式,來自源111的多播流可通過多播網絡傳輸到多個接收端。
[0044]可以看出,通常用于多播中的為每組建MDT并且更新多播轉發表的過程導致了網絡中大量的狀態信息。特別地,由每個多播使能節點維護的多播轉發表可變得相當大。維護這樣的多播轉發表表現出網絡可擴展性的限制。
[0045]位索引顯式復制
[0046]如下所述,一些技術被用于將接收端信息以位(bit)的形式附加到分組,并基于接收端信息來轉發分組。這大大減少了存儲在節點處的狀態信息量,因此也被稱為“無狀態多播”。更正式地,術語位索引顯式復制(BIER)被用于描述這些技術。如該術語所指示的那樣,位位置(bit posit1n)被用作進入轉發表的索引,并且分組只被復制到指定節點。BIER使得在不使用源和接收端之間的每個節點處的多播分發樹及每組狀態信息的情況下,能夠將分組從源轉發到多個接收端。
[0047]圖2示出了示例網絡200。網絡200包括BIER使能節點206-218。BIER使能節點被配置為使用BIER來轉發分組,并且有時被稱為位轉發路由器(BFR)。BIER使能節點206-218形成了提供商網絡或提供商域。這樣的提供商網絡可被互聯網服務提供商用于向用戶傳輸分組。該域包括傳輸節點208和210,以及提供商邊界節點206、214、216和218。提供商邊界節點被耦合到用戶邊界節點211、213、215和217。主機201,203,205和207是耦合到用戶邊界節點的計算設備。
[0048]每個BIER使能節點206-218具有如所示那樣標識的接口。例如,BIER使能節點208具有分別指定為1-3的三個接口。每個BIER使能節點被分配唯一標識符或可路由地址,被稱為路由器標識符(RID)。RID例如可被實現為互聯網協議(IP)地址、前綴、或回送地址(loopback address)。每個BIER使能節點向網絡200中的所有其他BIER使能節點通告或洪泛該可路由地址。每個BIER使能節點使用被通告的可路由地址來建立網絡200中的BIER使能節點的單播拓撲。在一個實施例中,路由器標識符可在數學上被轉換為被分配給BIER使能節點的集合標識符(SI)和位位置(BP)。該轉換基于所使用的位串的長度。例如,為了將路由器標識符“N”轉換為集合標識符和位位置,集合標識符是(N-1) /位串長度的商的整數部分。位位置是((N-l)modulo BitStringLength(取位串長度的模))+1。在以上示例中,如果N等于257并且位串長度為256,則SI為I并且BP為I。BIER網絡200還包括被配置為操作為多播數據控制器(MDC) 230的節點。MDC執行配置和管理任務,如下所述。
[0049]BIER使能節點206被配置為多播數據分組的位轉發入口路由器(BFIR) JIER使能節點206通過用戶邊界節點211耦合到源201。來自源201的多播數據分組通過BFIR(BIER使能節點206)進入BIER網絡。每個BIER使能節點214、216和218被配置為位轉發出口路由器(BFER)。BFER可(直接或通過用戶邊界路由器)連接到主機(例如,接收端)或其他網絡。BFER是源與接收端之間的路徑上的最后的BIER使能節點。BFER可以是直接或間接(例如,通過非BIER使能CE節點)耦合到接收端的提供商邊界(PE)節點。
[0050]分配位串中的位位詈
[0051]BIER網絡中的每個BFER都從位的集合或位的數組中分配位位置(BP)。位的數組(array of bit)可被攜帶于分組或其他網絡消息中。位的數組還可被存儲在轉發表和/或路由表中