新四季網

在路由器中的控制故障期間保護多播數據轉發的系統和方法

2023-07-11 17:04:26 1

專利名稱:在路由器中的控制故障期間保護多播數據轉發的系統和方法
技術領域:
本發明一般地涉及計算機網絡,更具體而言,涉及由計算機網絡的不停止轉發(non-stop forwarding)中間節點執行的多播路由協議。
背景技術:
計算機網絡中的數據通信涉及通過通信鏈路、網段和子網互連的兩個或更多個實體之間的數據交換。這些實體一般是運行在諸如末端節點和中間節點之類的硬體計算機平臺上的軟體過程。運行在末端節點上的通信軟體將數據通信與其他末端節點相關並管理數據通信。這些節點一般通過根據預定義協議(如傳輸控制協議/網際網路協議(TCP/IP))交換離散幀或數據分組來進行通信。
諸如路由器之類的中間節點可以互連子網以擴展計算機網絡的有效「大小」。路由器運行用於指導末端節點(如主機)之間的數據流量的傳輸的路由協議。一般來說,路由器基於包含在分組中的目的地地址前綴(即,由路由協議用來進行路由(「下一跳」)判決的目的地地址的一部分)來指導網絡流量。這種目的地地址的示例包括網際網路協議(IP)版本4(IPv4)和版本6(IPv6)地址。前綴隱含了IP位址和掩碼的組合,IP位址和掩碼協同操作來描述路由器可以到達的網絡的區域或範圍,而路由隱含了一組路徑屬性和前綴的組合。
單播數據傳送(即,單播轉發)涉及將數據分組從末端節點(「源」)的單個發送過程轉發到計算機網絡上的末端節點(「接收者」)的單個接收過程。通常由源發出的數據分組的目的地可以多於一個,但是少於網絡上的所有接收者。這類多播數據傳送(即,多播轉發)一般被用於隔離網絡上的接收者群組之間的通信。具體而言,IP多播可用於將數據散布到網絡上的一大群接收者。
為了實現IP多播,源通常指定目的地IP位址,該地址是消息的多播群組地址,因此只可以代表分組的接收者。IPv4(或IPv6)地址範圍被劃分為不同的前綴,其中一個前綴被指定由IP多播使用。接收者一般向其通信軟體通知其希望接收到去往多播群組地址的消息;這被稱為「加入多播群組」。這些接收成員隨後「偵聽」多播地址,並且當在接收者處接收到多播消息時,其將消息的拷貝傳遞到屬於該群組的每個過程。
IP多播依賴於(i)群組管理協議來構建並維護本地多播群組成員資格,以及(ii)多播路由協議來有效地路由分組。網際網路群組成員資格協議(IGMP)管理主機和其本地多播路由器之間的分組通信,讓其加入或離開群組。即,IGMP被用於將來自主機的群組成員資格消息發送到其直接連接的(「最後一跳」)路由器,指示主機想要作為接收者加入群組(地址)。注意,IGMP是IPv4群組成員資格協議;傳統的多播偵聽者發現(MLD)協議基本類似於IGMP,並且與IGMP執行相同的功能,但是是用於IPv6的。當構建了群組成員資格時,多播分組(由IP頭部的目的地地址欄位中的多播群組地址標識)被利用多播路由協議在路由器之間轉發。
多播路由協議構造經過網絡的分發樹並指導多播轉發。多播分發樹定義多播流量將經過網絡到達群組成員所採取的路徑。這些路徑是基於源或共享多播分發樹的。當發起去往多播群組的群組地址的數據流量的任何源(主機)使用相同的分發樹來轉發數據到接收者時,多播分發樹是共享的。相反地,源分發樹是針對發起到多播群組的流量的每個源建立的獨立的、最短路徑樹(SPT)。
交會點(rendezvous point)是被指定為共享多播分發樹的根的特定路由器。網絡中的每個路由器知道每個多播群組的交會點的身份,這是因為共享多播分發樹以交會點為根。公告協議(announcement protocol)一般被用於選擇交會點,並向網絡中的所有路由器公告交會點。然而,一種使用公告協議來將交會點自動通告到網絡中的所有路由器的替換方案是在所有路由器上手工配置交會點的身份。公告協議的示例包括可以從CiscoSystem Inc.公司得到的自動RP多播協議和在Fenner等人2003年2月的「Bootstrap Router(BSR)Mechanism for PIM Sparse Mode」,網際網路工程任務組,網際網路草案,draft-ietf-pim-sm-bsr-03.txt中描述的自舉路由器(BSR)。使用交會點的多播路由協議的示例包括協議無關多播稀疏模式(PIM-SM)和雙向PIM(BIDIR-PIM)協議。不需要交會點的其他多播協議包括PIM密集模式(PIM-DM)和PIM源特定多播(PIM-SSM)協議。
IP多播可部署在計算機網絡上,計算機網絡利用特定交會點來針對落在目的地地址前綴內的特定群組建立共享多播分發樹,或者針對發起到多播群組的流量的每個源建立獨立的SPT。落在不同前綴內的任何群組使用不同的交會點,即不同的群組範圍到交會點地址映射。廣而言之,路由器加入朝向交會點或源的多播群組(分發樹)。朝向交會點或源的路由器上的接口是入口接口。取決於多播路由協議,通常在路由器上只有一個入口接口用於接收針對特定路由的多播分組。朝向主機(接收者)的路由器上的一個或多個接口是出口接口。主機(接收者)是分發樹上的葉子或節點。分組從源發送到分發樹的根(交會點或源自身),從而其被朝向分支轉發並轉發到代表接收者的節點。在每個節點上,在朝向樹的根的入口接口上接收到分組,並且將分組轉發出朝向接收者或節點的出口接口。
具體而言,接收者使用IGMP來將加入多播群組地址的請求傳輸到最後一跳路由器。路由器利用諸如PIM之類的多播路由協議將該請求傳輸到其鏈路上朝向交會點(針對共享樹)或源(針對SPT)的鄰居路由器(鄰居)。自動RP或BSR被用於將群組範圍到交會點地址映射配置分發到參與網絡拓撲的所有啟用PIM的路由器。這些路由器共同構造共享多播分發樹,該共享多播分發樹以該群組地址的交會點或源為根,並且具有將數據流量向最後一跳路由器「拉動」的分支(鏈路)。注意,只有單個多播路由器(轉發者)應當經由樹的特定鏈路轉發針對某一路由的分組。
路由器的底層結構一般包括被組織為控制平面和數據平面的功能性組件。控制平面包括管理路由器的流量轉發特徵所需的功能性組件。這些組件包括路由協議、配置信息和基於除了包含在分組內的信息以外的其他信息確定數據分組的目的地的其他類似功能。另一方面,數據平面包括執行分組的轉發操作所需的功能性組件。
對於單個處理器路由器,控制和數據平面一般實現在單個處理器上。然而,對於某些高性能路由器,這些平面實現在中間節點的獨立設備中。例如,控制平面可以實現在監管者處理器中,而數據平面可以實現在硬體輔助設備(如協同處理器或轉發處理器)內。換句話說,數據平面一般實現在與實現控制平面的硬體相分離的硬體中。
就操作在監管者處理器上的軟體的質量和數量而言,控制平面通常比數據平面更複雜。因此,當運行這種複雜代碼時,故障更有可能發生在監管者處理器中。為了確保路由器的高可用性,希望配置路由器使得如果控制平面出現故障,要求運行在監管者處理器上的軟體重啟,則數據平面繼續正確操作。由於路由協議組件的故障或者對該組件的軟體升級,控制平面軟體的重啟可能是必要的。被配置為使得其數據平面能夠在控制平面軟體的重啟期間繼續分組轉發操作的路由器被稱為能夠進行不停止轉發(NSF)的路由器。
能夠進行NSF的路由器體系結構有用的情形包括路由器的控制平面中的預期故障和非預期故障。例如,控制平面中的故障可以包括非預期或非計劃事件(例如,軟體崩潰或硬體錯誤)以及計劃或預期事件(例如,安排的維護)。關於後者,假定希望更新運行在監管者處理器上的軟體或者甚至移去並替換處理器以進行維修。這種升級或移去/替換可能導致一個或多個路由協議的中斷,但是路由器的NSF本質允許繼續經過路由器轉發數據。
NSF路由器體系結構已經實現在單播轉發引用中,以增強路由器可用性並避免數據連通性被幹擾。這些先前的實現方式通常要求修改多播路由協議以添加對NSF的支持。例如,對已知單播路由協議的修改允許支持路由器協議故障的合理重啟。當路由器被重啟時,修改後的協議允許路由器利用其鄰居獲得信息(經由協議消息交換),而不是使鄰居將路由器「視為」完全停止工作,從而避免了對路由拓撲的任何改變。本發明一部分針對在不修改現有的多播協議定義的情況下實現多播NSF路由器體系結構的機制。
控制多播路由器的硬體或軟體(即,控制平面中的組件,而不是經過路由器的數據分組的路徑中的組件)的故障或停工(outage)可能導致經過路由器的多播數據分組丟失,而無法追索。結果是網絡中多播連通性的丟失和受影響的路由器的可用性降低。本發明還針對解決在多播路由器的控制故障期間多播數據連通性的丟失和可用性的降低。
多播路由器中的NSF恢復涉及發生故障的多播組件(如PIM)的高效重啟和基於傳統的PIM協議消息重新建立狀態,直到所有必要的信息都已被恢復為止。在NSF恢復期間,控制平面一般與數據平面斷開連接,這實質上「凍結」了運行在路由器的數據平面中的多播轉發信息庫(MFIB)的內容。即,任何發生在控制平面中的變化都不被傳輸到數據平面,並且不在用於轉發數據流量的當前MFIB中反映出來。從而,網絡狀況的改變在恢復時段的持續時間內不對數據平面發生作用。因此,MFIB利用其轉發表的被凍結內容「盲目地」(blindly)經過路由器轉發數據流量。
然而,某些網絡狀況改變(如單播轉發的改變,這種情況在MFIB利用其被凍結的(「陳舊的」)轉發信息來轉發數據流量的期間出現)可能導致路由器的鄰居改變其多播轉發。多播協議通常取決於單播協議的全遞歸狀態。影響單播轉發的網絡拓撲的變化(如反向路徑轉發(RPF)狀態)可能導致鄰居改變其多播轉發,並開始在不同路徑(鏈路)上發送多播數據流量。例如,鄰居可能改變其多播轉發,以使得經由用於特定路由的特定鏈路從路由器接收到的數據流量被經由該鏈路轉發迴路由器從其轉發該流量的同一接口上。這導致鏈路上的多個多播轉發者,這可能導致生成重複的分組和/或形成多播環路。
多播環路通常比單播環路壞得多。在單播轉發的情況下,分組穿過單播環路,直到路由器將分組的生存時間(TTL)參數遞減到0為止,此時分組被丟棄。而在多播轉發的情況下,每次分組穿過多播環路並且「命中」具有多於一個出口接口的路由器時,分組被複製,從而導致分組的爆炸式增長。從而,希望避免重複分組的生成和可能的多播環路的形成。

發明內容
本發明通過提供一種多播不停止轉發(NSF)路由器體系結構克服了現有技術的缺點,這種體系結構增強了計算機網絡中多播路由器的高可用性。該路由器體系結構還在路由器的控制平面中的一個或多個故障的NSF恢復期間保護了經過數據平面的多播數據轉發。如這裡所述,路由器的各種多播組件協同操作以提供一種多播NSF體系結構的設檢查點和恢復技術,該技術能夠有效地重啟並恢復控制平面故障,而不會丟失數據連通性。這些多播組件示例性地包括控制平面中的協議無關多播(PIM)多播路由協議和多播路由信息庫(MRIB),以及數據平面中的多播轉發信息庫(MFIB)。
多播NSF路由器中的恢復涉及有效地重啟發生故障的多播組件(如PIM),並基於傳統的PIM協議消息重新建立狀態,直到所有必要的信息都已被恢復為止。在該上下文中,狀態的重新建立是指重新構建恢復PIM路由協議和其運行在鄰居路由器(鄰居)中的對等路由協議之間的通信,並在這些協議間交換多播控制消息以能夠重新構造PIM拓撲表。為此,該新型多播NSF技術在路由器的適當操作期間對選擇性信息進行監視和持久存儲(即,設檢查點),以使得該信息隨後可以在NSF恢復期間被取得並用於重新建立PIM拓撲表的內容或狀態。根據所發明的技術的一方面,被PIM設檢查點的選擇性信息包括(i)群組範圍到交會點地址映射、(ii)數據驅動的事件和(iii)反向路徑轉發(RPF)信息。
根據所發明的技術的另一方面,NSF恢復包括具有關聯時序的多個階段,NSF恢復在控制平面故障後有效地重啟路由器和構成其的多播組件,以消除分組丟失。廣而言之,MFIB在MFIB凍結階段進入NSF模式,MFIB凍結階段響應於控制平面故障(例如,PIM的故障)以及隨後的MFIB和PIM之間的通信連接斷開,「凍結」其轉發表的內容。MFIB的凍結保護了數據平面中的「陳舊」路由,從而確保了多播數據流沿預先存在的路由繼續通過路由器。發生故障的控制平面組件(例如PIM)隨後在過程重啟階段期間的定義的時間段內,在NSF模式中重啟。在設檢查點的數據恢復階段中,PIM在進入協議相鄰性重新構建階段之前重放設檢查點的信息的第一部分(例如,群組範圍到交會點地址映射和RPF信息),在協議相鄰性重新構建階段中,PIM與其對等路由協議構建控制流量通信(例如,PIM Hello相鄰性)。隨後重新進入設檢查點的數據恢復階段,以重放該信息的剩餘部分(例如,數據驅動的事件)。在MFIB刷新階段中,MFIB和PIM之間的連接(經由MRIB)被重新構建,並且MFIB轉發表的內容被更新。其後,進入NSF完成階段,其中MFIB(和PIM)轉變到正常模式,從而完成NSF恢復。
本發明還針對一種用於防止在多播路由器的控制平面中的一個或多個故障的NSF恢復期間,多個多播轉發者經由計算機網絡中的鏈路轉發針對一條路由的多播分組的技術。多播路由器具有功能性底層結構,該功能性底層結構在運行在控制平面中的多播組件(例如,PIM路由協議)發生故障和/或軟體重啟的情況下,允許數據流量轉發操作在路由器的整個數據平面上繼續進行。另一多播組件(例如,運行在數據平面中的MFIB)被配置為防止由於在NSF恢復期間出現的網絡中的路由變化而出現多個多播轉發者。
在示例性實施例中,MFIB被實現為一個或多個多播轉發表,這些多播轉發表被填充以描述如何經過路由器轉發數據分組的內容。廣而言之,PIM利用路由信息(即,路由)來填充MFIB轉發表的條目,路由信息指定了應當在其上接受傳入多播分組的入口接口,以及應當經由其轉發傳入分組的出口接口列表。響應於從鄰居接收到傳入分組,MFIB對其轉發表執行查找,以找到與分組的多播目的地地址相匹配的條目的路由。匹配路由指示路由器分組應當被轉發到哪一個出口接口。
如這裡所述,觸發防止多個多播轉發者的狀況是分組在匹配路由的出口接口上到達路由器。在該出口接口上多播分組的到達是數據驅動的事件,該事件指示MFIB中的匹配路由和也轉發分組到該接口的鄰居之間的轉發衝突,這可能導致重複分組和/或多播環路。一般來說,數據平面向控制平面通知數據驅動的事件(經由控制信號),並且控制平面解釋該事件以重新收斂到在正確的轉發狀態上。然而,控制平面在NSF恢復期間與數據平面斷開連接,並且MFIB多播轉發表的內容被凍結。這迫使MFIB在NSF恢復期間利用其轉發表的被凍結內容經過路由器轉發數據流量。
根據所發明的技術,在發現在針對其匹配路由的路由器的出口(即,轉發)接口上接收到傳入多播分組後,MFIB暫停針對該路由經由該接口轉發多播分組。經由出口接口的多播分組轉發可以示例性地通過從MFIB轉發表的路由條目中移去該接口來暫停。具體而言,MFIB被配置為假定路由器將丟失與其鄰居的PIM聲明(assert)協議協商過程(如果該過程要發生的話)。因此,MFIB從其轉發接口列表中移去出口接口,從而暫停經由該接口轉發多播分組。實質上,由於控制平面已發生故障並且不能立即與鄰居協商正確的轉發,因此MFIB單方面暫停針對該路由經由該出口接口轉發分組,以避免可能生成重複分組和/或形成多播環路。在NSF和控制平面恢復後,MFIB轉發表被利用完整的轉發(路由)信息加以更新。MFIB隨後可以恢復經由該接口轉發,這觸發了針對該路由的PIM聲明協議協商過程,解決了路由器之間的轉發衝突。
有利地,本發明消除了修改傳統多播路由協議的需要,並且可以實現在網絡中的路由器的任何子集上。即,新型NSF設檢查點和恢復技術確保了在鄰居檢測到致命問題並且使多播相鄰性和路由狀態超時(從而導致多播連通性的丟失)之前,可以在多播路由協議拓撲表中重新建立狀態。另外,多播轉發狀態不被修改或移去,直到路由器的路由協議被完全恢復並與鄰居重新同步為止。本發明區別於先前的NSF解決方案的不同之處在於,其通過協調各種多播組件間的恢復,保護了多播數據傳送,而不是單播數據傳送。


本發明的以上和進一步的優點可以通過結合附圖參考下面的描述來更好地理解,在附圖中,相似的標號指示相同或功能上類似的元件圖1是可以有利地用於本發明的計算機網絡的示意性框圖;圖2是可以有利地用於本發明的路由器的實施例的示意性框圖;圖3是圖2的路由器內的傳統協議棧(如網際網路通信協議棧)的示意性框圖;圖4是圖示了圖2的路由器的功能性不停止轉發(NSF)多播底層結構的示意性框圖;圖5是根據本發明的示例性設檢查點布置的示意性框圖;圖6A-6C是圖示了用於實現根據本發明的NSF恢復的步驟序列的流程圖;圖7是可以有利地用於本發明的多播轉發信息庫(MFIB)多播轉發表的示例性實施例的示意性框圖;以及圖8是圖示了用於實現本發明的防止多個多播轉發者的技術的步驟序列的流程圖。
具體實施例方式
圖1是可以有利地用於本發明的計算機網絡100的示意性框圖。計算機網絡100包括連接到多個節點(如末端節點110和中間網絡節點200)的通信鏈路、網段和子網的集合。鏈路、網段和子網可包括區域網(LAN)120、諸如網際網路170之類的廣域網(WAN)和WAN鏈路130,它們由諸如網絡交換機或路由器之類的中間節點200互連,以形成計算機節點的網絡。這些節點通過根據預定義的一組協議(如傳輸控制協議/網際網路協議(TCP/IP))交換數據分組來進行通信。
圖2是可以有利地用於本發明的路由器(如多播路由器200)的示意性框圖。路由器200包括多個鬆散耦合的處理器210,這多個處理器210經由諸如縱橫制互連(crossbar interconnection)或高速總線之類的互連裝置250連接到多個入口和出口線路卡(線路卡260)。本領域技術人員將認識到,根據本發明也可以使用其他路由器平臺,例如單處理器系統或作為多節點集群的經由通信架構互連的多個獨立節點。在該上下文中,術語「節點」指包括處理器和由處理器共享的獨立存儲器的計算機或處理器聯合體。
處理器210示例性地是路由處理器(RP),其被配置為活動和備用RP對,其中每個處理器具有專用存儲器230。存儲器230可包括可由處理器尋址的存儲單元以存儲與本發明相關聯的軟體程序和數據結構。處理器210可包括用於執行軟體程序並操作數據結構的處理元件或邏輯。路由器作業系統232(它的多個部分一般駐留在存儲器230中並由處理器執行)通過調用支持運行在處理器上的軟體過程(下面將描述)的網絡操作等等來在功能上組織路由器。本領域技術人員將清楚,其他處理器和存儲器裝置(包括各種計算機可讀介質)可用於存儲並執行與這裡描述的所發明的體系結構有關的程序指令。
在示例性實施例中,線路卡執行數據流量的轉發,而路由處理器處理數據流量轉發的路由和控制。每個路由處理器包括兩個中央處理單元(CPU 220),例如Power-PC 7460晶片,其被配置為對稱微處理(SMP)對。CPU SMP對適合於運行路由器作業系統232的單個拷貝並訪問其存儲器空間230。每個線路卡260包括具有多個埠的接口270,這多個埠耦合到接收轉發處理器(FP Rx 280)和發送轉發處理器(FP Tx290)。FP Rx 280對在路由器的入口線路卡的入口接口上接收的每個分組進行轉發判決,以確定向何處轉發分組。為此,FP Rx使用下面進一步描述的多播轉發信息庫(MFIB)480。在分組要被轉發到路由器的路由處理器之一的情況下,FP Rx利用內部FIB(IFIB)來確定分組應當被轉發到哪一路由處理器。類似地,FP Tx 290對經由出口線路卡的一個或多個出口接口發送自路由器的分組執行查找操作(利用MFIB 480)。
路由器200的關鍵功能是確定路由器中分組應當被轉發到的一個或多個接口;為了適應這種「路由」,多個路由器協同操作以確定通過計算機網絡100的最佳路徑。路由功能優選地由每個路由器內的傳統協議棧的網絡層執行。圖3是傳統網絡協議棧,如網際網路通信協議棧300的示意性框圖。網際網路協議棧的體系結構由四層代表,按上升順序是網絡接口層308、網絡層306、傳輸層304和應用層302。
較低的網絡接口層308通常是標準化的,並且實現在硬體和固件中,而較高層一般以軟體形式實現。網際網路體系結構的主要網絡層協議是IP協議(IP)。IP主要是無連接協議,其提供了被交換分組(在網際網路環境中通常被稱為「數據報」)的網間路由、分段和組裝,並且依賴於傳輸協議以獲得端到端可靠性和其他服務特性。這種傳輸協議的示例是TCP協議,TCP協議由傳輸層304實現,並且向網際網路體系結構的上層協議提供了面向連接的、端到端的可靠性服務。術語TCP/IP常用於表示網際網路體系結構。
具體而言,網絡層306涉及分組是如何轉發經過網絡的,但是其不直接涉及MFIB是如何計算的。多播路由協議可用於執行經過計算機網絡的(用於網絡層的)多播路由。可以有利地用於本發明的多播協議的示例包括協議無關多播稀疏模式(PIM-SM)和PIM源特定多播(PIM-SSM)路由協議,以及網際網路群組成員協議(IGMP)。這些協議是公知的,並且在Fenner等人2004年2月的Protocol Independent Multicast-Sparse Mode(PIM-SM)Protocol Specification(Revised),網際網路工程任務組,網際網路草案,draft-ietf-pim-sm-v2-new-09.txt和Cain等人2002年10月的InternetGroup Management Protocol,Version 3,Request for Comments(RFC)3376中有詳細描述,這兩個文件通過引用全文包含於此。
PIM依賴於下層的拓撲收集協議來利用路由填充路由信息庫(RIB420)的單播路由表425(圖4)。這裡所用的路由包括一組路徑屬性和前綴的組合等等。RIB存儲單播轉發和PIM 430所需要的那些單播路由的通用路由狀態。對於感興趣的單播路由(例如,表現為(S,G)多播路由中的源地址和交會點地址的單播地址),PIM將信息緩存在其PIM拓撲表435中。被緩存的信息包括下一跳地址、下一跳接口、連接標誌(指示地址是否是被直接連接的)和度量。
RIB表中的路由可以從單播路由表直接提供,或者由獨立的路由協議提供,所述路由協議例如邊界網關協議版本4(BGP4)和BGP4的多協議擴展(MBGP)。BGP4是用於執行經過計算機網絡的域間路由(對於網絡層)的域間路由協議。路由器200(下文中稱為「鄰居」)經由可靠的傳輸層連接(如TCP)在自治系統間交換路由和網絡層可到達性信息(NLRI)。相鄰性是在選定的鄰居之間形成的關係,用於交換路由消息並概括(abstract)網絡拓撲。BGP4路由協議標準是公知的,並且在Y.Rekhter和T.Li的Request for Comments(RFC)1771(1995)中有所描述,這一文件通過引用包含於此。
BGP4通常只能夠承載用於IPv4的路由信息;因此,MBGP將BGP4擴展到允許承載用於多種網絡層協議(包括IPv6地址)的路由信息。MBGP擴展BGP4以將這些網絡層協議與下一跳信息和NLRI(包括用於多播轉發的NLRI)相關聯。地址族標識符(AFI)和後續地址族標識符(SAFI)被用於標識NLRI的類型和網絡層協議。MBGP和AFI/SAFI是公知的,並且在Bates等人的RFC 2858(2000)和J.Reynolds等人的RFC1700(1994)中有所描述,這些文件通過引用包含於此。
圖4是圖示路由器200的功能性底層結構400的示意性框圖。功能性底層結構400優選地被劃分為控制平面410和數據平面470,其中這種劃分是在軟體組件疊加在硬體元件的情況下指定的,硬體元件例如是路由處理器210和線路卡260。數據平面組件/元件被配置為從網絡取得數據分組並將這些分組提供到路由器的轉發邏輯(反之亦然)。相反地,控制平面組件/元件被用於管理/控制路由器的流量轉發操作。底層結構400允許在控制平面410內存在故障和/或軟體重啟的情況下,路由器繼續在整個數據平面470內執行流量轉發操作。實質上,底層結構使得路由器200能夠充當能夠不停止轉發(NSF)的路由器。
在示例性實施例中,路由器作業系統232將多播組件實現為分離的軟體過程,這些軟體過程是可獨立重啟的,並且分布在活動路由處理器210和線路卡260上,活動路由處理器210和線路卡260又是可獨立熱插拔的,並且可以具有冗餘(備用)備份。為此,數據平面多播組件包括運行在線路卡上的MFIB 1-N 480,而控制平面多播組件包括運行在路由處理器210上的RIB 420、PIM 430、IGMP 440、多播RIB(MRIB 450)和檢查點伺服器460。可操作地,路由器的控制平面在與鄰居交換路由信息後,建立MRIB 450(更具體而言,在其多播路由表455中建立MRIB 450)。例如,PIM向MRIB提供用於每個路由的所選的反向路徑轉發(RPF)地址和接口,這些信息被數據平面用來接受分組以經過路由器轉發。MRIB 450的主要角色是輔助各種多播組件之間的通信,即,協調協議應用(例如,PIM、IGMP等)之間以及這些協議和MFIB之間的狀態分布。因此,MRIB提供下一跳路由器信息和到每個多播目的地的能夠進行多播的路徑。從MRIB中導出MFIB 480,並將其實現為一個或多個多播轉發表700,這一個或多個多播轉發表700填充在線路卡260上,並且其內容描述了如何經過路由器轉發數據分組。
本發明針對增強了路由器200的高可用性的多播NSF路由器體系結構。NSF路由器體系結構平衡了路由器的功能性底層結構400,以防止控制平面410中的硬體或軟體故障顯著破壞數據平面470的功能,從而在控制故障期間仍能實現多播數據轉發。為此,該體系結構使得在硬體或軟體組件發生故障的同時,其他硬體或軟體組件能夠進入NSF模式以在影響最小的情況下繼續執行其功能。例如,如果路由處理器210被從路由器200中移去,從而使整個控制平面410停止工作(take down),則MFIB 480和MRIB 450之間的連接被打斷,並且MFIB 480進入NSF模式。如果單個組件(例如,PIM 430)發生故障但是控制平面的其他部分(包括MRIB450)保持可操作,則MRIB 450和PIM 430之間的連接被打斷,並且MRIB 450將發送消息到MFIB 480,指示其進入NSF模式。
如這裡所述,路由器的各種多播組件協同操作以提供多播NSF體系結構的設檢查點和恢復技術,這種技術能夠有效地重啟和恢復控制平面故障,而不會丟失數據連通性。多播NSF路由器中的恢復涉及有效地重啟發生故障的多播組件(如PIM),並基於傳統PIM協議消息重新建立狀態,直到所有必要的信息都已被恢復為止。在該上下文中,狀態的重新建立是指重新構建恢復PIM路由協議和其運行在鄰居中的對等路由協議之間的通信,並在這些協議間交換多播控制消息以能夠重新構造PIM拓撲表。PIM拓撲表435被圖示為位於屬於PIM的存儲器230的一部分中,這樣,對於路由協議的故障而言不是持久的。從而,當PIM在故障後重啟時,其拓撲表是空的。因此,新型多播NSF技術監視並持久存儲(即,設檢查點)選擇性信息,從而使信息在NSF恢復期間可以有效地被取得並被用於重新建立PIM拓撲表的內容或狀態。
I.對各種類型的信息設檢查點本發明的一個方面涉及最小量的狀態,所述狀態在控制平面410中被設檢查點,以實現多播NSF技術。這裡所用的術語「設檢查點」是指穩定狀態(即,路由器的正確操作)監視和軟體組件(例如,多播路由協議)的選擇性狀態的持久存儲。具體而言,本發明的這一方面針對被設檢查點的信息類型的定義,以及該信息被存儲的方式。設檢查點優選地以遞增方式發生,即,遞增地建立協議在故障後有效地恢復所需的信息的備份存儲。定義了一組包括多播協議所用的各類選擇性信息的資料庫;這些類型的信息被設檢查點是因為這些信息不能經過網絡足夠快地恢復以實現有效的多播NSF功能。最小的多播狀態集被保存在持久位置中,該位置位於故障(例如,多播協議)範圍外,並且在恢復期間從該處可以有效地取得這些信息。
在示例性實施例中,PIM是對信息/狀態資料庫設檢查點的多播路由協議。應當注意,本發明的設檢查點和恢復技術可應用於各種用於PIM的NSF的實現方式,如用於PIM-SM、雙向PIM(BIDIR-PIM)和PIM源特定多播(PIM-SSM)(這裡統稱為「PIM」)的NSF。資料庫被圖示為存儲在存儲器的一部分(「存儲器窗口」)內的檢查點表中,該存儲器在兩個組件,例如PIM 430和檢查點伺服器460之間共享。將多播狀態資料庫存儲在共享存儲器窗口中保護了資料庫免受實現NSF的多播組件(例如PIM)的故障的影響。儘管在圖示實施例中描述了共享存儲器窗口,但是應當注意,根據本發明的設檢查點的方面,也可以使用其他持久存儲技術和機制。
圖5是根據本發明的示例性設檢查點布置500的示意性框圖。共享存儲器窗口510優選地是活動路由處理器210上的存儲器230的在屬於PIM的存儲器的外部的一部分。PIM 430進入共享存儲器窗口510,以將選擇性信息加載到檢查點表512-518中。當PIM發生故障時,檢查點伺服器460持久地維護窗口510中存儲的信息,直到PIM重啟為止。另外,檢查點表被周期性地從活動路由處理器拷貝到其備用路由處理器,以使得在整個活動路由處理器發生故障的情況下表可用。從而,存儲了不受任何潛在故障影響的最小的多播狀態集,包括多播軟體組件和/或運行該組件的硬體元件。
應當注意,針對對選擇性信息設檢查點的一種替換方式是對PIM拓撲表435的整個內容設檢查點。然而,拓撲表內容是非常易丟失的,即,它們經常改變。對於大的拓撲表,足夠快地保存這些易失性內容以跟上變化並且仍然能夠執行其他所需的協議處理可能是不實際的。即使這樣作是實際的,由於所需的額外資源(例如存儲器),保存這種大表的內容也是很昂貴的(在時間和空間上)。另一種方法是不保存任何PIM拓撲表的內容。然後,響應於控制故障和隨後的控制平面的重啟,拓撲表的全部內容將不得不被重新構造,這導致啟用PIM的路由器有過量的控制平面和數據事件。這又在網絡中產生了攪拌效應(churn),即,除了正在經歷故障的一個路由器以外的其他路由器將察覺到多播路由的變化。
從而,本發明的這一方面標識需要設檢查點的最少量信息,以在不丟失分組的情況下恢復,而不會在網絡中產生攪拌效應,也不用對拓撲表的所有內容設檢查點。通過對最少類型的信息設檢查點,PIM可以重新構建其在發生故障之前的最終狀態,而不必例如重新創建構建該最終狀態的在先數據驅動的事件的序列。本發明的這一方面還使得在恢復後必須與鄰居交換的控制消息的量最小。即,本發明通過使得路由器能夠直接到達其最終狀態,而不經過需要與其網絡中的鄰居協同操作的所有中間狀態,消除了攪拌效應。為了建立該最終狀態,交會點的身份必須是已知的。
a.自動RP群組到交會點映射根據本發明,被PIM設檢查點並且被存儲在檢查點表512中的一類信息是群組地址(範圍)到交會點地址的映射。需要對群組範圍到交會點地址的映射設檢查點是需要的,以便確保路由器200知道希望接收到去往多播群組地址的消息的每個接收者多播群組的交會點的身份。如上所述,自動RP和BSR是向計算機網絡中的啟用PIM的路由器連續分發群組範圍和交會點之間的映射的公告協議。PIM 430被圖示為對於其獲知的每一新的(當前的)自動RP或BSR群組映射,對群組範圍(例如,多播群組地址和前綴)和交會點地址(即,交會點的單播IP位址)設檢查點。
b.數據驅動的事件廣而言之,單播路由協議在其對等體之間交換控制消息,建立拓撲,並填充FIB,FIB被路由器用來經過該路由器轉發單播數據流量。類似地,多播路由協議與其對等體交換控制消息,建立多播分布樹,並填充MFIB(例如,通過MRIB)。然而,諸如PIM之類的多播路由協議並不僅僅基於控制平面通信來建立拓撲;相反地,PIM需要關於在數據平面中接收到的分組的信息以建立正確的轉發狀態,MFIB使用該狀態來轉發分組。換句話說,路由器必須經常檢查其轉發的多播分組的數據,並且還必須將在接口上多播分組的到達考慮為可能在網絡中發生某種「不尋常事件」的控制事件。由數據分組觸發的控制事件被稱為「數據驅動的」事件。
數據驅動的事件通常特徵在於路由信息存儲在MFIB的多播轉發條目中。多播路由協議利用指定了應當在其上接受傳入多播分組的入口接口以及應當在其上轉發傳入的分組的一組出口接口的信息來填充MFIB條目。一個或多個控制標誌可以與條目的每個接口相關聯,其中控制標誌指定路由器響應於傳入分組的接收要採取的某些動作/行為。可以有利地用於本發明的控制標誌的示例在I.Kouvelas等人於2003年2月28日提交的題為「Multicast-Routing-Protocol-Independent Realization of IP MulticastForwarding」的美國專利申請No.10/376,006中有所提供,該申請的全部內容通過引用包含於此。
例如,響應於接收到傳入多播分組,路由器諮詢MFIB以找到與分組的多播目的地地址相匹配的條目。匹配MFIB條目指示路由器分組應當被轉發到哪些出口接口。一般來說,多播分組在單個入口接口上被接受,這單個入口接口即是代表到源的最短路徑的RPF接口,並且被轉發出到已表達了有興趣接收數據流量的其他目的地(路由器)的一組出口接口。另外,匹配條目的入口接口可以具有一個或多個聲明的控制標誌,這些控制標誌指示數據平面當在路由器處接收到多播分組時以信號告知控制平面。從而,在該入口接口上多播分組的到達是數據驅動的事件。
數據驅動的事件導致在運行在路由器和其鄰居上的諸如PIM之類的多播路由協議間交換的控制消息和狀態的變化。在圖示的多播NSF路由器體系結構中,數據平面向控制平面通知該數據驅動的事件(經由控制信號),控制平面解釋該事件以重新收斂到正確的轉發狀態。MFIB 480是數據平面470中的多播組件,其向控制平面410中的MRIB 450通知該數據驅動的事件。MRIB隨後將該通知傳遞到PIM 430,PIM 430使用要由路由器轉發的多播數據分組的接收來推斷用於轉發分組的當前網絡拓撲的多個部分。由PIM接收的控制信號指示對於在路由器的特定接口處接收到的多播數據分組的特定源和群組地址,發生了數據驅動的事件。從而,多播分組的接收可被解釋為修改MFIB的內容的事件信號。
從而很清楚,數據驅動的事件不構成在鄰居間交換的控制狀態,而是包括通過監聽(snoope)經過路由器的數據平面傳遞的數據流量而獲得的知識。當從故障中恢復時,多播控制平面組件(例如,PIM路由協議)不能獲得先前由數據平面從其鄰居中的對等路由協議監聽得來的多播數據分組的知識。由於其必須在不依賴於數據平面的情況下重新構造狀態,因此PIM對這些數據驅動的事件的發生進行記錄(設檢查點),從而使這些信息在NSF恢復期間可以容易得到。
根據本發明,數據驅動的事件包括被PIM 430設檢查點的另一類信息。響應於接收到控制信號,PIM記錄包括源、群組和入口接口的信息元組,作為適當的檢查點表514-516的條目。儘管該元組是針對由MFIB報告給控制平面的每個數據驅動的事件記錄的,但是應當注意,MFIB不對經過路由器傳遞的每一多播數據分組生成數據驅動的事件。事實上,大部分分組被轉發經過路由器,而不生成事件。然而,如果條目的一個或多個控制標誌指定事件已發生,則MFIB生成控制信號並將其發送到控制平面,在這裡,該事件的發生被記錄,除非其已經被設檢查點。
在示例性實施例中,數據驅動的事件被進一步分為兩類設檢查點,例如,直接連接的第一跳(S,G)路由和最後一跳(S,G)SPT路由,以存儲在獨立的表514-516中。最後一跳SPT路由是指示從最後一跳路由器到源的最短路徑樹(SPT)的構造已完成並且數據正在該SPT分支上流動的信號。這些數據驅動的事件被PIM完全在當前PIM拓撲表的上下文中加以解釋,即,PIM 430使用保存在拓撲表435中的附加信息來確定事件的上下文和類型。數據驅動的事件的各種類別被存儲在獨立的檢查點表中,這主要是由於其被重放的順序。在NSF恢復期間,檢查點伺服器460在略微不同的時刻重放數據驅動的事件的路由,以協調其信息流與由PIM從其他源接收的其他信息進入到PIM拓撲表中的操作。
c.反向路徑轉發(RPF)信息除了自動RP和數據驅動的事件信號之外,另一類可以在重啟後用於PIM的信息是RPF信息,例如源和交會點的前跳路由器的地址。RPF信息包括前一跳路由器(也稱為朝向源或交會點的RPF鄰居)的身份。當主機想要加入朝向源或交會點的共享多播分布樹的最短路徑時,其需要知道向哪個前一跳路由器發送該加入請求的。在單播術語中,該路由器被稱為下一跳路由器,而在多播術語中其是RPF鄰居。從而,單播下一跳路由器是多播前一跳路由器,這是因為該路由器的地址不再朝向單播分組的目的地,而是朝向多播分組的源。
諸如PIM之類的多播路由協議從RIB控制平面組件獲得RPF信息。然而,如果有完全的活動路由處理器故障,則例如在重啟後的某段時間內,RIB 420可能是空的。在圖示的多播NSF體系結構中,單播和多播組件都從活動路由處理器故障轉移(failover)到備用路由處理器。換句話說,對於那些提供了用於多播NSF的RPF信息的單播協議,啟用了單播NSF。這防止了網絡中的其他路由器檢測到單播路由變化,這種變化使其繞過故障處重新收斂並改變路由中的RPF信息,從而增大了多播環路的可能性。在恢復期間,PIM需要所有源和交會點的RPF前跳,以重建其拓撲表435的正確狀態。
根據本發明的這一方面,對於出現在PIM拓撲表中的每個源或交會點地址(即,每一源和交會點的地址)以及其關聯的RPF信息,可以應用最少的RPF狀態。RPF信息通常包括朝向某一路由(其又可以包括會話源或交會點)的前一跳路由器的接口和地址。在圖示實施例中,RPF信息包括前一跳路由器的接口、單播地址和某一度量的單播距離;該信息例如可通過設檢查點或其他手段(如在線路卡上執行FIB查找)而對控制平面(PIM)可用。關於前者,RPF信息被存儲在檢查點表518中,直到單播路由協議重建其狀態為止。這些協議隨後向PIM 430通知單播表已經收斂,並且使RPF信息經由RIB 420對PIM可用。
II.恢復根據所發明的技術的另一方面,NSF恢復包括具有關聯時序的多個階段,該時序在控制平面發生故障後有效地重啟路由器和構成它的多播組件以避免分組丟失。由於軟體或硬體故障的不同,控制平面故障可以採取單個或多個多播組件故障的形式,從而觸發路由器中的多播NSF保存轉發狀態。有計劃的維護(如影響了多播協議正在其上運行的路由處理器的要求組件重啟或故障轉移的軟體升級或降級)在維護期間也將觸發多播NSF。
廣而言之,MFIB在MFIB凍結(freeze)階段期間進入NSF模式,該階段響應於控制平面故障而「凍結」其轉發表的內容,控制平面故障例如是PIM的故障,以及隨後的MFIB和PIM之間的通信連接中斷。MFIB的凍結保護了數據平面中的「陳舊」(stale)路由,從而確保了連續的多播數據沿預先存在的路由流經路由器。PIM(和任何其他發生故障的控制平面組件)隨後在過程重啟階段期間的定義的時間段內,在NSF模式中重啟。在設檢查點的數據恢復階段,PIM在進入協議相鄰性重新構建階段之前,重放設檢查點的信息的第一部分(例如,群組範圍到交會點地址映射和RPF信息),其中PIM與其對等路由協議(重新)構建控制流量通信(例如,PIM hello相鄰性)。一旦重新構建了hello相鄰性,PIM加入/刪除(prune)消息就開始在鄰居之間流動,以重新建立故障路由器上的狀態並刷新鄰居上的狀態。注意,這種控制流量通信在整個NSF恢復期間持續。然後重新進入設檢查點的數據恢復階段,以重放信息的剩餘部分(例如,數據驅動的事件)。在MFIB刷新階段中,MFIB和PIM之間的連接(經由MRIB)被重新構建,並且MFIB轉發表的內容被更新。其後,進入NSF完成階段,其中MFIB(和PIM)轉變到正常模式,從而完成NSF恢復。
圖6A-6C是圖示了用於實現根據本發明的NSF恢復的步驟序列的流程圖。該序列開始於步驟600並且進行到步驟602,在步驟602,多播組件(例如PIM)發生控制平面故障導致MFIB和PIM之間的通信連接斷開。注意,MFIB或者可以自己檢測到連接斷開,或者可以由MRIB通知連接斷開。響應於故障,在步驟604中MFIB和MRIB都進入NSF模式。在步驟606中,MRIB暫停向MFIB分發路由更新,並且在步驟608中,MFIB「凍結」其轉發表的內容,即,MFIB轉發表中的所有路由被標記為「陳舊的」。注意,在進入NSF模式後,設置針對MRIB的定時器(例如,默認為180秒)。
如前所述,MFIB的凍結保護了數據平面中的陳舊路由,從而確保了多播分組繼續沿預先存在的路由流經路由器。因此,在步驟610中,MFIB繼續利用這些陳舊的路由經過路由器轉發數據分組。在步驟612中,發生故障的組件(如PIM和/或IGMP)或者在同一活動路由處理器上,或者在備用路由處理器上,在NSF模式中重啟。作為示例,PIM和/或IGMP的重啟必須發生在某一時間段(例如,30秒)內。每個組件必須在該時間內重啟,以使得其可以在其鄰居使關於該組件的任何信息超時之前開始與這些鄰居通信。
如前進一步所述,PIM在穩定狀態操作期間對若干種類型的信息設檢查點,所述信息包括包括自動RP群組範圍到交會點地址映射、RPF下一跳信息和由數據驅動的事件告知的狀態。PIM 430與檢查點伺服器460協同操作,以在NSF恢復序列中的不同點從存儲在持久共享存儲器窗口510中的每個檢查點表重載(重放)選擇性信息。協議處理(包括重放過程)被PIM內的單個線程執行,因此表重放順序發生。特別地,作為其初始化過程的一部分並且在處理任何外部事件之前,PIM重放從自動RP中恢復的群組範圍到交會點地址映射信息(步驟614)。只要PIM重啟,該檢查點表512的內容重放就會發生,從而使從鄰居接收到的任何更新(例如,加入/刪除消息)可被PIM用來立即開始重新建立狀態。在步驟616中,PIM重放來自檢查點表518的RPF信息狀態。
其後,PIM開始在所有活動接口上發送PIM Hello消息,以重新構建與其鄰居中的對等協議的相鄰性(步驟618)。為了使多播NSF成功,這些消息必須在其PIM Hello超時(例如,在接收到最後Hello之後105秒)之前被鄰居接收到。Hello消息的選項(例如生成ID)向鄰居通知PIM已重啟。作為響應,鄰居立即向PIM發送其拓撲表的內容(例如,加入/刪除狀態)。通過迅速地重新構建PIM Hello相鄰性和控制流量,可以在多播協議(如PIM和IGMP)中重新填充狀態,而不會使鄰居檢測到致命問題並繞過路由器200進行路由。由於多播NSF路由器體系結構嘗試在鄰居使PIM Hello鄰居相鄰性「超時」之前,恢復正常的協議處理和狀態,因此該新技術不需要改變多播路由協議,並且可以實現在網絡中的路由器的任何子集上。
當在NSF模式中重啟時,或者與PIM一起,或者響應於MRIB對NSF恢復的通知,IGMP 440具有一段時間(例如,60秒),在該段時間內它也恢復狀態。在步驟620中,IGMP在這一期間懇求成員資格報告,並從其所有直接連接的接收者那裡接收成員資格報告。在該時間段後,IGMP將已經接收到完整的當前的成員資格狀態,並且在步驟622中,發送針對所有本地接收者的更新到MRIB。在步驟624中,IGMP發送消息到PIM(經由MRIB),向這些組件通知其NSF恢復時段完成。在接收到該消息時,PIM已經利用從IGMP導出的最後一跳路由信號信息填充了其拓撲表435。由於IGMP是最後一跳協議,因此最後一跳路由信號與這樣的路由相關對於該路由,多播路由器200是到其直接連接的接收者的最後一跳。一旦從IGMP接收到所有最後一跳信息,PIM就知道哪些接收者已經在故障之前連接到路由器,並且可以重放與這些路由相關的數據信號。從而,在步驟626中,PIM重放來自檢查點表516的最後一跳(S,G)SPT路由數據信號,從而創建了針對這些路由的最後的、正確的最後一跳狀態。
在步驟628中,NSF恢復通過在PIM鄰居之間的消息交換而繼續,直到PIM定時器期滿(例如,默認為120秒)為止,這表示從鄰居接收信息所需的時間段的結束。實質上,PIM在該時間期間正常操作,從其鄰居接收加入/刪除消息,並從MRIB接收更新。響應於定時器的期滿,PIM開始其恢復的最後階段,這包括重放來自檢查點表514的直接連接的第一跳(S,G)路由(步驟630)。這些直接連接的第一跳信號與這樣的路由相關對於該路由,多播路由器200是到直接連接的源的第一跳。在重放第一跳信號後,PIM退出NSF模式(步驟632),並告知MRIB以完成其NSF恢復(步驟634)。
注意,如果PIM拓撲表435在故障(例如,只有MRIB發生故障)期間沒有丟失,則PIM 430在同時滿足以下兩種情況之後告知其恢復(i)連接到並完全更新MRIB 450以及(ii)接收到IGMP 440被恢復的通知。然而,如果PIM拓撲表丟失,則PIM將在120秒定時器期滿之後使其NSF模式超時。還注意,在MRIB的定時器時段期間,協議路由更新和成功NSF恢復的通知在控制平面組件之間重新正常分發,這些控制平面組件協同操作重新建立MRIB的路由表455。當MRIB定時器期滿時(或者在多播控制平面組件已退出NSF模式之後,無論哪一個先發生都一樣),MRIB恢復其正常操作,利用其表/資料庫中的任何新路由更新MFIB。
例如,響應於接收到PIM已完成其NSF恢復的通知,MRIB將所有已知路由的完整更新發送到MFIB(步驟638)。在步驟640中,MFIB處理每個路由更新,將更新後的路由安裝到其轉發表中,並移去更新後的路由上的陳舊標誌。在將路由更新的完整集合發送到MFIB之後,MRIB退出NSF模式(步驟642),並將控制平面中NSF完成的通知發送到MFIB(步驟644)。作為響應,MFIB掃描其轉發表,搜索被標記為陳舊的任何剩餘路由(步驟646),並且在發現這種路由之後,在步驟648中從表中將其移去。MFIB隨後在步驟650中退出NSF模式。注意,如果MFIB在預定義的超時時段(例如,從NSF模式開始起15分鐘)之後未接收到通知信號,從而指示全部控制平面故障,則MFIB將移去陳舊路由,並恢復已被MRIB刷新的路由(如果有的話)上的正常操作。NSF恢復序列隨後在步驟652結束。
III.高可用性示例性實施例還提供了一種增強了路由器200的高可用性的多播NSF路由器體系結構。該NSF路由器體系結構平衡了路由器的功能性底層結構400,以防止控制平面410中的硬體或軟體故障明顯破壞數據平面470的功能,從而保護了控制故障期間的多播數據轉發。為此,該體系結構使得在硬體或軟體組件發生故障的同時,其他硬體或軟體組件能夠進入NSF模式,以在最小影響的情況下繼續執行其功能。例如,如果路由處理器210被從路由器200中移去,從而使整個控制平面410停止工作,則MFIB 480和MRIB 450之間的連接被打斷,並且MFIB 480進入NSF模式。如果單個組件(例如,PIM 430)發生故障但是控制平面的其他部分(包括MRIB450)保持可操作,則MRIB 450和PIM 430之間的連接被打斷,並且MRIB 450將發送消息到MFIB 480,指示其進入NSF模式。
路由器的各種多播組件協同操作以能夠有效地重啟和恢復控制平面故障,而不會丟失數據連通性。多播NSF路由器中的恢復涉及有效地重啟發生故障的多播組件(如PIM),並基於傳統PIM協議消息重新建立狀態,直到所有必要的信息都已被恢復為止。在該上下文中,狀態的重新建立是指重新構建恢復PIM路由協議和其運行在鄰居中的對等路由協議之間的通信,並在這些協議間交換多播控制消息以能夠重新構造PIM拓撲表。PIM拓撲表435被圖示為位於屬於PIM的存儲器230的一部分中,這樣,對於路由協議的故障不是持久穩固的。從而,當PIM在故障後重啟時,其拓撲表是空的。因此,該多播NSF設檢查點和恢復技術對選擇性信息進行監視和持久存儲(即,設檢查點),從而使信息可以在NSF恢復期間有效地被取得並被用於重新建立PIM拓撲表的內容或狀態。
在NSF恢復期間,控制平面410與數據平面470斷開連接(例如,在PIM和MFIB之間沒有通信),這實質上「凍結」了MFIB多播轉發表700的內容。即,任何發生在控制平面中的變化(例如,PIM拓撲表435和/或MRIB路由表455的變化)都不被傳輸到數據平面,從而,不在用於轉發數據流量的當前MFIB中反映出來。例如,響應於網絡狀況的改變(包括來自多播轉發的事件和/或單播轉發的改變)而發生的對控制平面的更新在NSF恢復時段的持續時間內,不對數據平面產生作用。因此,MFIB 480利用其轉發表700的被凍結內容「盲目地」經過路由器轉發數據流量。
然而,某些網絡狀況改變(如單播轉發的改變,這種情況在MFIB利用其被凍結的(「陳舊的」)轉發信息來轉發數據流量的期間出現)可能導致路由器的鄰居改變其多播轉發。影響單播轉發的網絡拓撲的變化(如RPF狀態)可能導致鄰居改變其多播轉發,並開始在不同路徑(鏈路)上發送多播數據流量。例如,鄰居可能改變其多播轉發,以使得經由用於特定路由的特定鏈路從路由器接收到的數據流量被經由該鏈路轉發迴路由器從其轉發該流量的同一接口上。這導致鏈路上有多個多播轉發者,從而可能導致生成重複的分組和/或形成多播環路。
可能導致多播環路形成的重複分組的檢測一般基於來自數據平面的數據驅動的事件信號而發生在控制平面中。數據驅動的事件通常的特徵在於存儲在MFIB轉發表700的多播轉發條目中的路由信息。圖7是可以有利地用於本發明的MFIB多播轉發表700的示例性實施例的示意性框圖。MFIB轉發表700包括多個條目710,每個條目被多播路由協議(如PIM)利用路由信息(即,路由)填充。每個條目710包括包含多播群組網絡(IP)地址的群組地址欄位712、包含源IP位址的源地址欄位714和包含指示形成前綴所需的群組(和源)地址的最高有效位的數目的掩碼值的掩碼欄位716。
每個MFIB轉發表條目710還包括指定應當在其上接受傳入多播分組的入口接口的入口接口欄位720,以及包含應當經由其轉發傳入分組的出口(轉發)接口的列表的出口接口欄位730。一個或多個控制標誌722、732可以與條目的每個接口相關聯,其中控制標誌指定響應於傳入分組的接收路由器要採取的某些動作/行為。例如,控制標誌F 734指示與條目相匹配的接受的多播分組是否要經由關聯接口轉發,控制標誌SP 736被用於告知路由處理器多播數據分組的到達,控制標誌NS 738被用於控制在聲明SP標誌736時轉發引擎(即,MFIB)的行為。可以有利地用於本發明的控制標誌的示例在I.Kouvelas等人於2003年2月28日提交的題為「Multicast-Routing-Protocol-Independent Realization of IP MulticastForwarding」的美國專利申請No.10/376,006中有所提供,該申請的全部內容通過引用包含於此。
響應於從鄰居接收到傳入分組,MFIB 480對其轉發表700執行查找以找到與分組的多播目的地地址相匹配的條目710的路由。匹配路由指示路由器分組應當被轉發到哪些出口接口。對於某些多播路由協議(如PIM-SM和PIM-SSM),多播分組一般在單個入口接口(即,代表到源的最短路徑的RPF接口)上被接受到,並且被轉發出到已表現出有興趣接收數據流量的其他目的地(路由器)的一組出口接口。匹配條目的入口接口720可以具有一個或多個聲明的控制標誌722,這些控制標誌指示數據平面470當在路由器處接收到多播分組時告知控制平面410。從而,在該入口接口上多播分組的到達是數據驅動的事件。
數據驅動的事件導致在運行在路由器和其鄰居上的多播路由協議(如PIM)間交換的控制消息和狀態的變化。在示例性多播NSF路由器體系結構中,數據平面470向控制平面410通知數據驅動的事件(經由控制信號),並且控制平面解釋該事件以重新收斂在正確的轉發狀態上。MFIB480是數據平面中的多播組件,其向控制平面中的MRIB 450通知該數據驅動的事件。MRIB隨後將該通知傳遞到PIM 430,PIM 430使用將要由路由器轉發的多播數據分組的接收來推斷用於轉發分組的當前網絡拓撲的多個部分。由PIM接收的控制信號指示對於在路由器的特定接口處接收到的多播數據分組的特定源和群組地址712、714,發生了數據驅動的事件。從而,多播分組的接收可被解釋為修改MFIB轉發表700的內容的事件信號。
IV.防止多個多播轉發者在示例性實施例中,如果在用於轉發出路由器的出口接口上接收到分組,則數據平面(例如MFIB)將數據驅動的事件傳輸到控制平面(例如PIM)。該路由器和鏈路上其他啟用PIM的路由器(包括轉發分組的鄰居)之間的協議協商隨後被用於確定哪一個路由器應當經由接口和鏈路轉發流量。這種協議協商發生在控制平面中,要求在所有路由器上PIM組件430都是「活的」(live)。這裡,PIM採用傳統的聲明消息來確定哪一個路由器應當經由鏈路轉發分組以及哪一個路由器處於故障狀態。PIM聲明協議協商過程是公知的,並且在先前包含的Protocol Independent Multicast-Sparse Mode(PIM-SM)Protocol Specification(Revised),網際網路工程任務組,網際網路草案,draft-ietf-pim-sm-v2-new-09.txt中有所描述。然而,由於數據平面在NSF恢復期間與控制平面斷開連接,因此MFIB 480和PIM430之間的通信被禁用,這導致MFIB盲目轉發流量並且可能生成重複分組或者甚至形成多播環路。
本發明還針對一種用於防止在多播路由器200的控制平面410中的一個或多個故障的NSF恢復期間,多個多播轉發者經由計算機網絡中的(例如多播分發樹的)鏈路轉發針對一條路由的多播分組的技術。如前所述,路由器的功能性底層結構400允許在運行在控制平面中的多播組件(例如PIM 430)發生故障和/或軟體重啟的情況下,流量轉發操作在整個數據平面470中繼續。另一多播組件(例如,運行在數據平面中的MFIB)被配置為防止由於網絡中的路由變化而造成的多個多播轉發者,這種路由變化是由於在NSF恢復期間繼續使用陳舊路由而引起的。
觸發防止多個多播轉發者的條件是分組在匹配路由的出口接口上到達路由器。多播分組到達該出口接口是數據驅動的事件,其指示MFIB中的匹配路由和也轉發分組到該接口的鄰居之間的轉發衝突,該衝突可能導致重複分組和/或多播環路。一般來說,數據平面向控制平面通知該數據驅動的事件(經由控制信號),並且控制平面解釋該事件以重新收斂在正確的轉發狀態上。然而,如前所述,控制平面在NSF恢復期間與數據平面的連接斷開,並且MFIB多播轉發表的內容被凍結。這迫使MFIB在NSF恢復期間利用其轉發表的被凍結的內容經過路由器轉發數據流量。
根據所發明的技術,在發現在針對其匹配路由的路由器的出口(即,轉發)接口上接收到傳入多播分組後,MFIB 480暫停經由用於該路由的該接口轉發多播分組。經由出口接口的多播分組轉發可以通過從MFIB轉發表700的路由條目中移去該接口來暫停。或者,多播分組轉發可以通過移去與路由條目710的出口接口相關聯的F標誌734來暫停。具體而言,MFIB被配置為假定(如同以下方式動作)NSF路由器200將丟失與其鄰居的PIM聲明協議協商過程(而不執行選擇)(如果該過程要發生的話)。因此,MFIB示例性地從該路由的轉發接口730的列表中移去該出口接口。
注意,MFIB不從轉發表中移去整個路由,而是只移去該路由上的接口的轉發狀態。這允許鄰居臨時代表多播分布樹上的「活」分支。在該路由的其他出口接口上的轉發將繼續,而不被中斷。而且,路由器的「下遊」接收者將繼續從其他多播轉發者(鄰居)接收分組,直到PIM聲明協議協商過程發生為止。實質上,由於控制平面已發生故障並且不能立即與鄰居協商正確的轉發,因此MFIB單方面暫停針對該路由經由該出口接口轉發分組,以避免可能生成重複分組和/或形成多播環路。
在NSF和控制平面恢復之後,PIM 430和MRIB 450將其完整轉發信息發送到MFIB 480,以更新轉發表700中的陳舊路由。由於PIM可能還未看見指示多播環路形成的數據事件,因此完整的更新後的路由信息將可能包含指定MFIB應當在該出口接口上轉發(即使該數據事件已發生)的狀態。當MFIB恢復該接口上的轉發時,在鏈路上的PIM鄰居之間,對於該路由觸發(發起)完整的PIM聲明協議協商消息交換,以選擇將經由鏈路轉發分組的路由器(多播轉發者),從而解決路由器之間的轉發衝突。
圖8是圖示了用於實現本發明的防止多個多播轉發者的技術的步驟序列的流程圖。該序列開始於步驟800,並且進行到步驟802,在步驟802,在路由器的線路卡接口(在數據平面中)接收到傳入多播分組。MFIB對其轉發表執行查找,將條目的現有路由與分組相匹配,並且在步驟804中,確定分組是在被用作針對該路由的出口接口的線路卡接口上接收到的。作為響應,MFIB生成數據驅動的事件信號,並將其發送到控制平面(步驟806)。示例性地,事件信號是通過在分組經由其而到達的出口接口上聲明F和NS標誌734、738而觸發的。
在步驟808中,多播分組隨後被轉發(「踢」)到數據平面中的轉發處理器(FP Rx 280),該轉發處理器在步驟810中檢查該路由是否是陳舊的(當NSF開始時,所有路由都被標記為陳舊的)。如果路由不是陳舊的(表明NSF恢復不是活動的,並且路由已被更新),則在步驟824中,控制平面(例如PIM)發起路由器和轉發分組的鄰居之間的聲明協議協商過程,以解決轉發衝突,即,確定哪一個路由器應當經由接口轉發流量。該序列隨後在步驟826結束。然而,如果路由是陳舊的(從而表明NSF恢復是活動的,並且由於控制平面故障路由還未更新),則MFIB從用於該路由的傳出(出口)接口列表中刪除該出口接口(步驟814),從而防止了路由器經由該接口轉發任何進一步的分組到鏈路上。從而,將傳入分組轉發到鏈路的鄰居是將分組轉發到鏈路的唯一多播路由器/轉發者。
當NSF恢復隨後結束時,數據平面和控制平面之間的通信被重新構建。在步驟816中,MFIB轉發表中的陳舊路由被利用來自恢復後的控制平面(PIM)的「新」路由更新,並且陳舊位被從路由中移去。在步驟818中,在出口接口處接收到下一傳入多播分組,並且在步驟820中,確定更新後的路由是否仍然指示經由該接口轉發分組。如果不是,則序列在步驟826結束;否則,MFIB在步驟822中生成數據驅動的事件信號,並將其發送到控制平面(PIM)。作為響應,PIM發起路由器和轉發分組的鄰居之間的聲明協議協商過程,以解決轉發衝突(步驟824)。該序列隨後在步驟826結束。
儘管示出並描述了一種用於防止在多播路由器的控制平面中的一個或多個故障的NSF恢復期間,多個多播轉發者經由鏈路轉發針對一條路由的多播分組的技術的實施例,但是應當理解,在本發明的精神和範圍內可以進行各種其他適應和修改。例如,應當注意,該新技術可以應用於任何只使用每路由單個入口接口,並且採用控制平面轉發者選擇的多播路由協議。而且,所發明的技術可以應用於用於PIM的NSF的各種實現方式,例如用於PIM-SM和PIM源特定多播(PIM-SSM)的NSF。
有利地,本發明消除了對修改傳統多播路由協議的需要,並且可以實現在網絡中的路由器的任何子集上。即,新型NSF設檢查點和恢復技術確保了在鄰居檢測到致命問題並使多播相鄰性和路由狀態超時(從而導致多播連通性的丟失)之前,可以在多播路由協議拓撲表中重新建立狀態。另外,多播轉發狀態不被修改或移去,直到路由器的路由協議被完全恢復並且再次與鄰居同步為止。本發明區別於先前的NSF解決方案的不同之處在於其通過協調各種多播組件之間的恢復,保護了多播數據傳送,而不是單播數據傳送。
前述描述針對本發明的特定實施例。然而,應當清楚,可以對所述實施例進行其他變化和修改,同時獲得其優點中的某些或全部。例如,可以明確地預期到,本發明的教導(包括這裡描述的各種多播組件)可以實現為軟體(包括具有運行在計算機上的程序指令的計算機可讀介質)、硬體、固件或其組合。另外,應當理解,這裡描述的數據結構可包括附加信息,同時仍然在本發明的範圍內。因此,該描述僅被認為是示例性的,而不是限制本發明的範圍。因此,權利要求的目的是覆蓋所有這些在本發明的真實精神和範圍內的變化和修改。
權利要求
1.一種適合於在從計算機網絡內的多播路由器的控制平面故障的不停止轉發(NSF)恢復期間保護多播數據轉發的系統,所述系統包括第一多播組件,其適合於在所述路由器的適當操作期間對選擇性信息設檢查點,以用於隨後在NSF恢復期間重新建立拓撲表的內容時取得並使用該信息;以及一個或多個第二多播組件,其適合於與所述第一多播組件協同操作以提供一種NSF恢復技術,該技術使得所述網絡中的路由器能夠有效地重啟和從所述控制平面故障中恢復,而不丟失數據連通性。
2.如權利要求1所述的系統,其中所述第一多播組件是運行在所述路由器的控制平面中的多播路由協議。
3.如權利要求2所述的系統,其中所述多播路由協議是協議無關多播(PIM)路由協議。
4.如權利要求3所述的系統,其中所述拓撲表是PIM拓撲表。
5.如權利要求1所述的系統,其中所述被設檢查點的選擇性信息包括群組範圍到交會點地址映射信息,該信息為希望接收到去往多播群組地址的消息的每個接收者多播群組提供了交會點的身份。
6.如權利要求1所述的系統,其中所述被設檢查點的選擇性信息包括導致了在所述路由器和其網絡中的鄰居之間交換的控制消息和狀態的變化的數據驅動的事件信息。
7.如權利要求1所述的系統,其中所述被設檢查點的選擇性信息包括反向路徑轉發信息,該信息指定所述網絡中源和交會點的前一跳路由器的地址。
8.如權利要求1所述的系統,其中所述第一多播組件是運行在所述路由器的控制平面中的協議無關多播(PIM)路由協議,所述一個或多個第二多播組件是運行在所述路由器的數據平面中的多播轉發信息庫(MFIB)。
9.如權利要求8所述的系統,其中所述NSF恢復包括具有關聯時序的多個階段。
10.如權利要求9所述的系統,其中NSF恢復的第一階段包括MFIB凍結階段,該階段使MFIB轉變到NSF模式,並凍結MFIB轉發表的內容以保護所述數據平面中的陳舊路由,從而確保多播數據繼續沿預先存在的路由流經所述路由器。
11.如權利要求10所述的系統,其中NSF恢復的第二階段包括過程重啟階段,該階段在定義的時間段內,在NSF模式中重啟發生故障的控制平面組件。
12.如權利要求11所述的系統,其中所述發生故障的控制平面組件是所述PIM路由協議。
13.如權利要求12所述的系統,其中NSF恢復的第三階段包括設檢查點的數據恢復階段,該階段重放所述被設檢查點的選擇性信息的第一部分。
14.如權利要求13所述的系統,其中所述被設檢查點的選擇性信息的第一部分包括群組範圍到交會點地址映射和反向路徑轉發信息。
15.如權利要求13所述的系統,其中NSF恢復的第四階段包括協議相鄰性重新構建階段,該階段在返回到所述第三階段以重放所述被設檢查點的選擇性信息的剩餘部分之前與所述計算機網絡的鄰居路由器中的對等路由協議建立控制流量通信。
16.如權利要求15所述的系統,其中所述被設檢查點的選擇性信息的剩餘部分包括數據驅動的事件信號。
17.如權利要求15所述的系統,其中NSF恢復的第五階段包括MFIB刷新階段,該階段建立MFIB和PIM之間的通信連接,並且更新所述MFIB轉發表的內容。
18.如權利要求17所述的系統,其中NSF恢復的第六階段包括NSF完成階段,該階段使MFIB和PIM轉變到正常模式,從而完成NSF恢復。
19.一種用於在從計算機網絡內的多播路由器的控制平面故障的不停止轉發(NSF)恢復期間保護多播數據轉發的方法,所述方法包括以下步驟在所述路由器的適當操作期間對選擇性信息設檢查點,以用於隨後在NSF恢復期間重新建立拓撲表的內容時取得並使用該信息;以及根據NSF恢復技術重啟發生故障的多播控制平面組件,該技術使所述網絡中的路由器能夠有效地從所述控制平面故障中恢復,而不丟失數據連通性。
20.如權利要求19所述的方法,其中所述重啟步驟包括提供具有關聯時序的多個NSF恢復階段的步驟。
21.一種適合於在從計算機網絡內的多播路由器的控制平面故障的不停止轉發(NSF)恢復期間保護多播數據轉發的裝置,所述裝置包括用於在所述路由器的適當操作期間對選擇性信息設檢查點,以用於隨後在NSF恢復期間重新建立拓撲表的內容時取得並使用該信息的裝置;以及用於根據NSF恢復技術重啟發生故障的多播控制平面組件的裝置,該技術使所述網絡中的路由器能夠有效地從所述控制平面故障中恢復,而不丟失數據連通性。
22.一種包含可執行程序指令的計算機可讀介質,所述可執行程序指令用於在從計算機網絡內的多播路由器的控制平面故障的不停止轉發(NSF)恢復期間保護多播數據轉發,所述可執行程序指令包括用於執行以下步驟的程序指令在所述路由器的適當操作期間對選擇性信息設檢查點,以用於隨後在NSF恢復期間重新建立拓撲表的內容時取得並使用該信息;以及根據NSF恢復技術重啟發生故障的多播控制平面組件,該技術能夠使所述網絡中的路由器能夠有效地從所述控制平面故障中恢復,而不丟失數據連通性。
23.一種用於防止多個多播轉發者在多播路由器的控制平面故障的不停止轉發(NSF)恢復期間經由計算機網絡中的鏈路轉發針對一條路由的多播分組的方法,所述方法包括以下步驟利用路由填充所述路由器的多播轉發表的條目,每個路由條目指定用於在所述路由器處接受傳入多播分組的入口接口和用於從所述路由器轉發所述傳入分組的出口接口列表;在所述路由器的一個接口上接收所述傳入多播分組;將所述多播轉發表的路由條目與所述傳入多播分組相匹配;發現對於所述匹配路由條目,所述接口是所述出口接口列表的出口接口;以及暫停經由所述出口接口轉發所述傳入多播分組,從而防止多個多播轉發者在NSF恢復期間經由所述鏈路轉發針對所述路由的多播分組。
24.如權利要求23所述的方法,其中所述匹配步驟包括以下步驟由多播轉發信息庫(MFIB)對所述多播轉發表執行查找操作,以找到與所述傳入分組的多播目的地地址相匹配的路由條目。
25.如權利要求24所述的方法,還包括以下步驟配置MFIB以以下方式動作如果所述路由器與所述路由器的鄰居的聲明協議協商過程要發生的話,則所述路由器將丟失該過程。
26.如權利要求23所述的方法,其中所述暫停步驟還包括以下步驟從所述多播轉發表的匹配路由條目的出口接口列表中移去所述出口接口。
27.如權利要求26所述的方法,還包括以下步驟在NSF恢復之後利用完全的轉發(路由)信息更新所述多播轉發表;恢復經由所述出口接口轉發後續傳入多播分組;以及發起針對所述路由的聲明協議協商過程,以解決鄰居路由器和所述多播路由器之間的轉發衝突。
28.一種被配置為防止多個多播轉發者在多播路由器的控制平面故障的不停止轉發(NSF)恢復期間經由計算機網絡中的鏈路轉發針對一條路由的多播分組的系統,所述系統包括具有多個條目的所述路由器的多播轉發表,每個條目指定用於在所述路由器處接受傳入多播分組的入口接口和用於從所述路由器轉發所述傳入分組的出口接口列表;以及所述路由器的多播轉發信息庫(MFIB),所述MFIB被配置為將在所述路由器的接口上接收到的傳入多播分組與所述多播轉發表的條目相比較以找到匹配條目,並且在發現對於所述匹配條目,所述接口是所述出口接口列表的出口接口後,暫停經由所述出口接口轉發所述傳入多播分組,從而防止多個多播轉發者在NSF恢復期間經由所述鏈路轉發針對所述路由的多播分組。
29.如權利要求28所述的系統,還包括所述路由器的數據平面,所述數據平面被配置為在運行在所述控制平面中的多播組件存在故障和軟體重啟兩種情況之一的情況下,允許數據流量轉發操作經過所述路由器繼續進行。
30.如權利要求29所述的系統,其中所述多播組件是協議無關多播(PIM)路由協議模塊。
31.如權利要求29所述的系統,其中所述MFIB運行在所述數據平面中,以避免由於在NSF恢復期間出現的網絡中的路由變化而導致可能生成重複分組並形成多播數據環路。
32.如權利要求29所述的系統,其中在所述出口接口上傳入多播分組的接收是數據驅動的事件,該事件指示所述匹配條目和所述路由器的轉發所述分組到所述出口接口的鄰居之間的轉發衝突。
33.一種被配置為防止多個多播轉發者經由計算機網絡中的鏈路轉發針對一條路由的多播分組的系統,所述系統包括具有功能性底層結構的多播路由器,所述功能性底層結構在運行在所述路由器的控制平面中的第一多播組件存在故障的情況下,允許數據流量轉發操作在所述路由器的整個數據平面上繼續進行;以及運行在所述數據平面中的第二多播組件,所述第二多播組件被配置為防止由於在所述控制平面故障的不停止轉發(NSF)恢復期間出現的網絡中的路由變化而出現多個多播轉發者。
34.如權利要求33所述的系統,其中所述第一多播組件是協議無關多播(PIM)路由協議模塊,所述第二多播組件是多播轉發信息庫(MFIB)。
35.如權利要求34所述的系統,還包括具有多個條目的所述路由器的多播轉發表,每個條目指定用於在所述路由器處接受傳入多播分組的入口接口和用於轉發來自所述路由器的傳入分組的出口接口列表。
36.如權利要求35所述的系統,其中所述MFIB被配置為將在所述路由器的接口上接收到的傳入多播分組與所述多播轉發表的條目相比較以找到匹配條目,並且在發現對於所述匹配條目,所述接口是所述出口接口列表的出口接口後,從所述多播轉發表的匹配條目的出口接口列表中移去所述出口接口,從而防止在NSF恢復期間出現經由所述鏈路針對所述路由的多個多播轉發者。
37.如權利要求33所述的系統,其中觸發防止多個多播轉發者的條件是多播分組在與所述分組相匹配的路由的出口接口上到達所述路由器。
38.如權利要求37所述的系統,其中在所述出口接口上的多播分組的到達是數據驅動的事件,該事件指示所述匹配路由和所述路由器的轉發所述分組到所述出口接口的鄰居之間的轉發衝突。
39.一種適合於防止多個多播轉發者在多播路由器的控制平面故障的不停止轉發(NSF)恢復期間經由計算機網絡中的鏈路轉發針對一條路由的多播分組的裝置,所述裝置包括用於利用路由填充所述路由器的多播轉發表的條目的裝置,每個路由條目指定用於在所述路由器處接受傳入多播分組的入口接口和用於從所述路由器轉發所述傳入分組的出口接口列表;用於在所述路由器的一個接口上接收所述傳入多播分組的裝置;用於將所述多播轉發表的路由條目與所述傳入多播分組相匹配的裝置;用於發現對於所述匹配路由條目,所述接口是所述出口接口列表的出口接口的裝置;以及用於暫停經由所述出口接口轉發所述傳入多播分組,從而防止多個多播轉發者在NSF恢復期間經由所述鏈路轉發針對所述路由的多播分組的裝置。
40.如權利要求39所述的裝置,其中所述用於暫停的裝置還包括用於從所述多播轉發表的匹配路由條目的出口接口列表中移去所述出口接口的裝置。
41.一種包含可執行程序指令的計算機可讀介質,所述可執行程序指令用於防止多個多播轉發者在多播路由器的控制平面故障的不停止轉發(NSF)恢復期間經由計算機網絡中的鏈路轉發針對一條路由的多播分組,所述可執行程序指令包括用於執行以下步驟的程序指令在所述路由器的接口上接收所述傳入多播分組;將所述多播轉發表的路由條目與所述傳入多播分組相匹配;發現對於所述匹配路由條目,所述接口是所述出口接口列表的出口接口;以及暫停經由所述出口接口轉發所述傳入多播分組,從而防止多個多播轉發者在NSF恢復期間經由所述鏈路轉發針對所述路由的多播分組。
42.如權利要求41所述的計算機可讀介質,其中所述用於暫停的一個或多個程序指令還包括用於執行以下步驟的一個或多個程序指令從所述多播轉發表的匹配路由條目的出口接口列表中移去所述出口接口。
全文摘要
多播不停止轉發(NSF)路由器體系結構增強了計算機網絡中多播路由器(400)的高可用性。該路由器體系結構還在路由器(400)的控制平面(410)中的一個或多個故障的NSF恢復期間,保護了經過數據平面(470)的多播數據轉發。路由器(400)的各種多播組件協同操作以提供一種多播NSF體系結構的設檢查點和恢復技術,該技術能夠有效地重啟和恢復控制平面故障,而不會丟失數據連通性。另外,一種技術防止了在多播路由器(400)的控制平面(410)中的一個或多個故障的NSF恢復期間,多個多播轉發者經由計算機網絡中的鏈路轉發針對一條路由的多播分組。
文檔編號G01R31/08GK1969491SQ200580019458
公開日2007年5月23日 申請日期2005年7月20日 優先權日2004年7月23日
發明者科特·J·溫迪石, 偉遜·李, 伊斯迪奧斯·庫韋拉斯 申請人:思科技術公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀