專利名稱:一種鏈路保護(hù)方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域中的IP組播技術(shù),尤其涉及一種鏈路保護(hù)方法及其設(shè)備。
背景技術(shù):
在組播模型中,IP報(bào)文的目的地址字段為組播組地址,組播源向以此目的地址所 標(biāo)識(shí)的主機(jī)群組傳送信息。因此,轉(zhuǎn)發(fā)路徑上的組播路由器為了將組播報(bào)文傳送到各個(gè)方 位的接收站點(diǎn),往往需要將從一個(gè)入接口收到的組播報(bào)文轉(zhuǎn)發(fā)到多個(gè)出接口。為了保證組播報(bào)文在網(wǎng)絡(luò)中的傳輸,需要依靠單播路由表或者單獨(dú)提供給組播使 用的路由表(如MBGP路由表,其中MBGP表示多協(xié)議邊界網(wǎng)關(guān)協(xié)議)來指導(dǎo)轉(zhuǎn)發(fā)。為了處 理同一設(shè)備在不同接口上收到來自不同對(duì)端的相同組播信息,需要對(duì)組播報(bào)文的入接口進(jìn) 行RPF(ReVerSe Path forwarding,反向路徑轉(zhuǎn)發(fā))檢查,以決定轉(zhuǎn)發(fā)還是丟棄該報(bào)文。RPF 檢查機(jī)制是大部分組播路由協(xié)議進(jìn)行組播轉(zhuǎn)發(fā)的基礎(chǔ)。在IP組播網(wǎng)絡(luò)中,組播源發(fā)出的組播流按照既定的SPTGhortest PathTree,最 短路徑樹)進(jìn)行報(bào)文轉(zhuǎn)發(fā),當(dāng)SPT路徑上的某個(gè)鏈路出現(xiàn)故障時(shí),必須通過重建SPT樹來轉(zhuǎn) 發(fā)組播報(bào)文。如圖1所示,在正常情況下,組播流(以(Si,Gl)為例)的SPT樹為Rl-R2--R4(其 中Rl、R2和R4分別為路由設(shè)備),報(bào)文從Rl進(jìn)入后將從與R2連接的接口轉(zhuǎn)發(fā)出去,R2的 入接口接收到組播流時(shí)會(huì)先執(zhí)行RPF檢查,若其報(bào)文的源地址的出接口不是該入接口則丟 棄該報(bào)文,若RPF檢查通過則將報(bào)文轉(zhuǎn)發(fā)到R4,R4也會(huì)執(zhí)行RPF檢查。當(dāng)R2與R4之間的鏈路故障時(shí),R4會(huì)觸發(fā)SPT樹創(chuàng)建,其間,R4向其組播源地 址的新下一跳R3發(fā)送Join消息,R3接收到Join消息后創(chuàng)建組播表項(xiàng)(Si,Gl)并沿著 RP (Rendezvous Point,組播匯聚點(diǎn))方向向上游發(fā)送Join消息,R2接收到該消息后將R3 出接口加入到組播表項(xiàng)(Si,Gl)的出接口列表中,這樣根據(jù)組播表項(xiàng)(Si,Gl)上游過來的 組播流將被轉(zhuǎn)發(fā)到R3,并由R3轉(zhuǎn)發(fā)到R4,從而完成了一個(gè)新的SPT樹的建立。當(dāng)R2與R4之間的鏈路恢復(fù)時(shí),從R4到Rl的單播路徑再次發(fā)生變化,組播流(Si, Gl)的RPF接口變成R4-R2之間的接口,此時(shí)R4重新觸發(fā)SPT樹建立向RP的上游方向發(fā) 送Join消息,同時(shí)向R3設(shè)備發(fā)送Prime (剪枝)消息,R2接收該Join消息后將R2-R4之間 的接口加入到組播表項(xiàng)(S1,G1)出接口列表中并向R4轉(zhuǎn)發(fā)組播流,同時(shí)R3接收R4發(fā)送的 Prune消息后停止向R4發(fā)送組播流并向上游設(shè)備R2發(fā)送Prime消息,R2接收到該消息后 將R2-R3之間的接口從組播表項(xiàng)(Si,Gl)的出接口列表中刪除,停止向R3轉(zhuǎn)發(fā)該組播流, 從而完成了 SPT樹的更新。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)在現(xiàn)有技術(shù)中,SPT樹的重建速度依賴于單播 路由的重建速度,在單播路由收斂之前組播流量一直無法正常轉(zhuǎn)發(fā),出現(xiàn)較長(zhǎng)時(shí)間的丟包。 對(duì)于一些對(duì)丟包延時(shí)要求較高的組播環(huán)境,現(xiàn)有技術(shù)無法滿足要求。
發(fā)明內(nèi)容
本發(fā)明提供了一種鏈路保護(hù)方法及其設(shè)備,用以解決現(xiàn)有技術(shù)中在轉(zhuǎn)發(fā)樹重建完 成之前組播流一直無法正常轉(zhuǎn)發(fā)的問題。本發(fā)明提供的鏈路保護(hù)方法中,第一路由設(shè)備和其下游的第二路由設(shè)備之間配置 有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,其中,主鏈路在第一路由設(shè)備上的主出接口和保護(hù)鏈路在第 一路由設(shè)備上的保護(hù)出接口相關(guān)聯(lián),主鏈路在第二路由設(shè)備上的主入接口和保護(hù)鏈路在第 二路由設(shè)備上的保護(hù)入接口相關(guān)聯(lián);當(dāng)?shù)谝宦酚稍O(shè)備和第二路由設(shè)備之間的主鏈路故障 時(shí),該方法包括第一路由設(shè)備將發(fā)生故障的主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的所述主 鏈路的主出接口替換為與該主出接口關(guān)聯(lián)的保護(hù)出接口,并當(dāng)接收到所述主鏈路對(duì)應(yīng)的組 播流時(shí)根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)使用保護(hù)鏈路轉(zhuǎn)發(fā)所述組播流;第二路由設(shè)備將所述主鏈路的主入接口上的所有組播流的URPF接口修改為與其 關(guān)聯(lián)的保護(hù)入接口,并當(dāng)從所述保護(hù)鏈路接收到組播流后,根據(jù)修改后的uRPF接口進(jìn)行 RPF檢測(cè),并在檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā)所述組播流;第二路由設(shè)備觸發(fā)路徑樹重建并在路徑樹重建成功后,第一路由設(shè)備在接收到所 述組播流后根據(jù)路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)所述組播流,并根據(jù)第二路由 設(shè)備發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口。上述方法中,第一路由設(shè)備和第二路由設(shè)備之間的保護(hù)鏈路為直連鏈路或非直連 鏈路。上述方法中,所述保護(hù)鏈路為非直連鏈路時(shí),當(dāng)所述保護(hù)鏈路上的中間路由設(shè)備 接收到組播流時(shí),不執(zhí)行uRPF檢查,并將接收到的組播流從除所述組播流的入接口以外的 所有保護(hù)接口轉(zhuǎn)發(fā)。上述方法中,當(dāng)?shù)谝宦酚稍O(shè)備和第二路由設(shè)備之間的主鏈路故障時(shí),還包括第一路由設(shè)備開啟定時(shí)器,所述定時(shí)器的定時(shí)時(shí)長(zhǎng)不小于路徑樹重建所需的時(shí) 長(zhǎng);若定時(shí)器超時(shí)時(shí),路徑樹還未重建成功,則第一路由設(shè)備從所述組播轉(zhuǎn)發(fā)表項(xiàng)中 刪除所述保護(hù)出接口。上述方法中,當(dāng)定時(shí)器超時(shí),但路徑樹還未重建成功,還包括第一路由設(shè)備向上 游發(fā)起PIM剪枝協(xié)議報(bào)文,用以通知上游路由設(shè)備刪除與第一路由設(shè)備連接的出接口。上述方法中,所述路徑樹重建的過程,包括第二路由設(shè)備向第一路由設(shè)備的出接口發(fā)送Join消息;第一路由設(shè)備根據(jù)所述Join消息將與第二路由設(shè)備之間的出接口添加到所述組 播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中。上述方法中,第一路由設(shè)備根據(jù)第二路由設(shè)備發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表 項(xiàng)中刪除所述保護(hù)出接口,包括第一路由設(shè)備在根據(jù)路徑樹重建過程中添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中 的出接口轉(zhuǎn)發(fā)組播流到第二路由設(shè)備后,第二路由設(shè)備通過所述保護(hù)鏈路發(fā)送I^ime消 息;第一路由設(shè)備接收到所述I^rime消息后,將所述保護(hù)鏈路的出接口從所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中刪除。上述方法中,第一路由設(shè)備和第二路由設(shè)備之間的保護(hù)鏈路為直連鏈路時(shí),還包 括在第一路由設(shè)備和第二路由設(shè)備之間的接口上使能雙向轉(zhuǎn)發(fā)檢測(cè)協(xié)議BFD檢測(cè);或/ 禾口第一路由設(shè)備和第二路由設(shè)備之間的保護(hù)鏈路為非直連鏈路時(shí),還包括在第一路由設(shè)備和第二路由設(shè)備的環(huán)回口上使能BFD檢測(cè);或者,在第一路由設(shè) 備和所述保護(hù)鏈路上的中間路由設(shè)備的接口之間使能BFD檢測(cè),在所述保護(hù)鏈路上的中間 路由設(shè)備和第二路由設(shè)備之間的接口上使能BFD檢測(cè)。本發(fā)明提供的路由設(shè)備路由設(shè)備作為上游路由設(shè)備時(shí),與其下游路由設(shè)備之間配 置有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,所述主鏈路在所述路由設(shè)備上的主出接口和保護(hù)鏈路在該 路由設(shè)備上的保護(hù)出接口相關(guān)聯(lián);所述路由設(shè)備作為下游路由設(shè)備時(shí),與其上游路由設(shè)備 之間配置有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,所述主鏈路在所述路由設(shè)備上的主入接口和保護(hù)鏈 路在所述路由設(shè)備上的保護(hù)入接口相關(guān)聯(lián);該路由設(shè)備包括檢測(cè)模塊和組播模塊;所述檢測(cè)模塊,用于檢測(cè)本端路由設(shè)備與對(duì)端路由設(shè)備之間的主鏈路的連通性;在本端路由設(shè)備作為上游路由設(shè)備的情況下,所述組播模塊用于當(dāng)所述檢測(cè)模 塊檢測(cè)到主鏈路故障時(shí),將發(fā)生故障的主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的所述主 鏈路的主出接口替換為與該主出接口關(guān)聯(lián)的保護(hù)出接口,并當(dāng)接收到所述主鏈路對(duì)應(yīng)的組 播流時(shí)根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)使用保護(hù)鏈路轉(zhuǎn)發(fā)所述組播流;以及,進(jìn)行路徑樹重建 并在重建成功后,當(dāng)接收到所述組播流后根據(jù)路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā) 所述組播流,并根據(jù)下游路由設(shè)備發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出 接口 ;在本端路由設(shè)備作為下游路由設(shè)備的情況下,所述組播模塊用于當(dāng)所述檢測(cè)模 塊檢測(cè)到主鏈路故障時(shí),將所述主鏈路的主入接口上的所有組播流的uRPF接口修改為與 其關(guān)聯(lián)的保護(hù)入接口,當(dāng)從所述保護(hù)鏈路接收到組播流后,根據(jù)修改后的uRPF接口進(jìn)行 RPF檢測(cè),并在檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā)所述組播流;以及,發(fā)起并執(zhí)行路徑樹重建。上述路由設(shè)備中,在本端路由設(shè)備作為上游路由設(shè)備的情況下,所述組播模塊還 用于,當(dāng)所述檢測(cè)模塊檢測(cè)到主鏈路故障時(shí)開啟定時(shí)器,所述定時(shí)器的定時(shí)時(shí)長(zhǎng)不小于路 徑樹重建所需的時(shí)長(zhǎng);若定時(shí)器超時(shí)時(shí),路徑樹還未重建成功,則從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪 除所述保護(hù)出接口。上述路由設(shè)備中,所述組播模塊還用于,當(dāng)定時(shí)器超時(shí),但路徑樹還未重建成功,
則向上游發(fā)起PIM剪枝協(xié)議報(bào)文,用以通知上游路由設(shè)備刪除與第一路由設(shè)備連接的出接□。上述路由設(shè)備中,在本端路由設(shè)備作為下游路由設(shè)備的情況下,所述組播模塊具 體用于,向上游路由設(shè)備的出接口發(fā)送Join消息;在本端路由設(shè)備作為上游路由設(shè)備的情況下,所述組播模塊具體用于,根據(jù)下游 路由設(shè)備發(fā)送的Join消息將與下游路由設(shè)備之間的出接口添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接 口列表中。上述路由設(shè)備中,在本端路由設(shè)備作為上游路由設(shè)備的情況下,所述組播模塊具體用于,根據(jù)路徑樹重建過程中添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的出接口轉(zhuǎn)發(fā)組播 流;以及,在接收到下游路由設(shè)備通過保護(hù)鏈路發(fā)送的Prime消息后,將所述保護(hù)鏈路的出 接口從所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中刪除;在本端路由設(shè)備作為下游路由設(shè)備的情況下,所述組播模塊具體用于,接收到上 游路由設(shè)備在路徑樹重建后發(fā)送的組播流后,通過所述保護(hù)鏈路發(fā)送Prime消息。上述路由設(shè)備中,所述檢測(cè)模塊為BFD檢測(cè)模塊,用于通過BFD方式進(jìn)行鏈路檢 測(cè)。本發(fā)明的有益技術(shù)效果包括通過在第一路由設(shè)備與其下游的第二路由設(shè)備之間建立與主鏈路對(duì)應(yīng)的保護(hù)鏈 路,當(dāng)?shù)谝宦酚稍O(shè)備和第二路由設(shè)備之間的主鏈路故障時(shí),第一路由設(shè)備將發(fā)生故障的主 鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的所述主鏈路的主出接口替換為與該主出接口關(guān) 聯(lián)的保護(hù)出接口,第二路由設(shè)備將所述主鏈路的主入接口上的所有組播流的uRPF接口修 改為與其關(guān)聯(lián)的保護(hù)入接口,從而當(dāng)?shù)谝宦酚稍O(shè)備接收到主鏈路對(duì)應(yīng)的組播流時(shí),可根據(jù) 更新后的組播轉(zhuǎn)發(fā)表項(xiàng)使用保護(hù)鏈路轉(zhuǎn)發(fā)所述組播流,第二路由設(shè)備從所述保護(hù)鏈路接收 到組播流后,根據(jù)修改后的uRPF接口進(jìn)行RPF檢測(cè),并在檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā) 所述組播流,從而在主鏈路故障但轉(zhuǎn)發(fā)樹還未重建成功時(shí),能夠通過保護(hù)鏈路轉(zhuǎn)發(fā)組播流, 保證組播業(yè)務(wù)的連續(xù)性。在路徑樹重建成功后,第一路由設(shè)備在接收到所述組播流后根據(jù) 路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)所述組播流,并根據(jù)第二路由設(shè)備發(fā)起的剪枝 過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口,從而在路徑樹重建成功,可通過重建的 路徑樹轉(zhuǎn)發(fā)組播流的情況下,停止從保護(hù)鏈路轉(zhuǎn)發(fā)組播流,保證了系統(tǒng)的可靠性。
圖1為現(xiàn)有技術(shù)中基于STP樹的組播流轉(zhuǎn)發(fā)的示意圖;圖2為本發(fā)明實(shí)施例提供的鏈路保護(hù)和切換流程示意圖;圖3為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路和保護(hù)鏈路均為直連鏈路場(chǎng) 景下的鏈路保護(hù)和切換流程示意圖;圖4為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路為直連鏈路,保護(hù)鏈路為非直 連鏈路場(chǎng)景下的鏈路保護(hù)和切換流程示意圖;圖5為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路為非直連鏈路,保護(hù)鏈路為直 連鏈路場(chǎng)景下的鏈路保護(hù)和切換流程示意圖;圖6為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路和保護(hù)鏈路均為非直連鏈路 場(chǎng)景下的鏈路保護(hù)和切換流程示意圖;圖7為本發(fā)明實(shí)施例提供的路由設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)存在的問題,本發(fā)明實(shí)施例提供了一種IP組播網(wǎng)絡(luò)中的鏈路保護(hù) 和切換機(jī)制,以實(shí)現(xiàn)對(duì)組播流量的有效保護(hù)。下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。參見圖2,為本發(fā)明實(shí)施例提供的鏈路保護(hù)和切換流程示意圖,其中,路由設(shè)備A和其下游的路由設(shè)備B之間配置有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,其中,主鏈路在路由設(shè)備A上 的主出接口和保護(hù)鏈路在路由設(shè)備A上的保護(hù)出接口相關(guān)聯(lián),主鏈路在路由設(shè)備B上的主 入接口和保護(hù)鏈路在路由設(shè)備B上的保護(hù)入接口相關(guān)聯(lián)。正常情況下,路由設(shè)備A和路由 設(shè)備B之間通過主鏈路轉(zhuǎn)發(fā)組播流。當(dāng)路由設(shè)備A和路由設(shè)備B之間的主鏈路故障時(shí),該 方法包括步驟201,路由設(shè)備A將主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)(即出接口列表中包含有主出 接口的組播轉(zhuǎn)發(fā)表項(xiàng))的出接口列表中的主鏈路的主出接口替換為與該主出接口關(guān)聯(lián)的 保護(hù)出接口,并在接收到組播流時(shí)根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)該組播流;步驟202,路由設(shè)備B將主鏈路的主入接口上的所有組播流的 uRPF(unicastReverse Path forwarding,單播反向路徑轉(zhuǎn)發(fā))接口修改為與其關(guān)聯(lián)的保護(hù) 入接口,并當(dāng)從所述保護(hù)鏈路接收到組播流后,根據(jù)修改后的uRPF接口進(jìn)行RPF檢測(cè),并在 檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā)所述組播流;步驟203,路由設(shè)備B觸發(fā)路徑樹重建,在路徑樹重建成功后,路由設(shè)備A根據(jù)路由 設(shè)備B發(fā)起的剪枝過程從該主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口,并當(dāng)接收 到組播流時(shí)根據(jù)當(dāng)前更新后的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)組播流。以上流程中的各步驟沒有嚴(yán)格的時(shí)序要求,例如,在路由設(shè)備A和路由設(shè)備B之間 的主鏈路發(fā)生故障時(shí),即可觸發(fā)路徑樹重建。路由設(shè)備A和路由設(shè)備B之間的主鏈路可以是直連鏈路也可以是非直連鏈路,同 樣,該兩臺(tái)路由設(shè)備之間的保護(hù)鏈路可以是直連鏈路也可以是非直連鏈路。直連鏈路是指 轉(zhuǎn)發(fā)路徑上沒有其他中間路由設(shè)備,組播流從路由設(shè)備A轉(zhuǎn)發(fā)到路由設(shè)備B;非直連鏈路是 指組播流從路由設(shè)備A到路由設(shè)備B的過程中會(huì)經(jīng)過中間路由設(shè)備轉(zhuǎn)發(fā)。根據(jù)兩臺(tái)路由設(shè) 備之間的主鏈路和保護(hù)鏈路的4種不同形式的組合情況,本發(fā)明實(shí)施例分別結(jié)合圖3、圖4、 圖5和圖6,對(duì)這4種情況下的鏈路保護(hù)和鏈路切換流程進(jìn)行了詳細(xì)描述。參見圖3,為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路和保護(hù)鏈路均為直連鏈 路場(chǎng)景下的鏈路保護(hù)和切換流程。如圖3所示,Rl、R2和R3分別為路由設(shè)備。R2和R3之間的主鏈路為R2_INTM1—R3_ INTM1,該鏈路為R2和R3之間的直連鏈路,正常情況下,組播流通過主鏈路轉(zhuǎn)發(fā)。R2和R3 之間配置有保護(hù)鏈路R2_INTP1-R3_INTP1,該鏈路為R2和R3之間的直連鏈路,可通過靜態(tài) 配置方式進(jìn)行配置。在R2上建立有主出接口 R2_INTM1與保護(hù)出接口 R2_INTP1的關(guān)聯(lián)關(guān) 系,在R3上建立有主入接口 R3_INTM1和保護(hù)入接口 R3_INTP1的關(guān)聯(lián)關(guān)系,該關(guān)聯(lián)關(guān)系可 通過靜態(tài)配置方式配置在相應(yīng)路由設(shè)備上。以正常情況下組播流(S1,G1)從主鏈路R2_INTM1—R3_INTM1轉(zhuǎn)發(fā)為例,當(dāng)檢測(cè)到 R2和R3之間的主鏈路R2_INTM1—R3_INTM1發(fā)生故障時(shí),R2和R3之間的鏈路保護(hù)和切換 流程可包括R2將組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中的R2_INTM1接口刪除,將與該接口 關(guān)聯(lián)的R2_INTP1接口加入到該出接口列表中,即,將接口 R2_INTM1替換為與其關(guān)聯(lián)的接口 R2_INTP1 ;R3 修改組播組(S1,G1)的 uRPF 接口,S卩,將(S1,G1)的 Nexthop (下一跳)中的 入接口 R3_INTM1修改為與其關(guān)聯(lián)的保護(hù)接口 R3_INTP1。在具體實(shí)現(xiàn)時(shí),可在R3上預(yù)先靜 態(tài)配置保護(hù)鏈路事件,R3檢測(cè)到與R2之間的鏈路故障時(shí)觸發(fā)該保護(hù)鏈路事件,R3通過上述修改組播組(Si,Gl)的uRPF接口的方式響應(yīng)該鏈路保護(hù)事件。當(dāng)有組播流(S1,G1)流入R2后,根據(jù)組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng),該組播流從R2的 保護(hù)出接口 R2_INTP1轉(zhuǎn)發(fā)到R3的保護(hù)入接口 R3_INTP1 ;R3_INTP1對(duì)接收到的組播流(Si, Gl)執(zhí)行RPF檢查,并在RPF檢查通過后,繼續(xù)向下游轉(zhuǎn)發(fā)該組播流。由于先前主入接口 R3_ INTMl上的所有組播流的uRPF接口已經(jīng)修改為保護(hù)入接口 R3_INTP1,因此此時(shí)從R3_INTP1 接收到的組播流(Si,Gl)不會(huì)被丟棄,而是直接正常轉(zhuǎn)發(fā)到下行。發(fā)生了主接口到保護(hù)接口的切換后,R2和R3會(huì)重新進(jìn)行組播出接口的運(yùn)算,即觸 發(fā)SPT樹重建。在SPT重建過程中,R3向RP (組播匯聚點(diǎn))上游方向R2的出接口發(fā)送Join 消息;R2將R2-R3方向的新的出接口添加到組播(Si,Gl)表項(xiàng)的出接口列表中,SPT重建 完成,此時(shí)組播流(Si,Gl)會(huì)從新的出接口轉(zhuǎn)發(fā)。當(dāng)R3從R2的新的出接口接收到該組播 流后,會(huì)通過保護(hù)鏈路R3_INTP1-R2_INTP1之間的保護(hù)接口 R3_INTP1發(fā)送I^rime消息通 告已經(jīng)成功建立了新的SPT樹,要求剪除保護(hù)鏈路上的流量;R2接收到保護(hù)鏈路上的feline 消息后,將保護(hù)鏈路R2_INTP1—R3_INTP1的出接口 R2_INTP1從組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng) 的出接口列表中刪除,從而不再向該保護(hù)鏈路轉(zhuǎn)發(fā)該組播流。為了避免在較長(zhǎng)時(shí)間內(nèi)未成功重建SPT的情況下,長(zhǎng)時(shí)間使用保護(hù)鏈路轉(zhuǎn)發(fā)組播 流,從而降低系統(tǒng)可靠性,本發(fā)明實(shí)施例中,R2在將組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表 中的主鏈路出R2_INTM1替換為與其關(guān)聯(lián)的保護(hù)鏈路出接口 R2_INTP1時(shí),還啟動(dòng)老化定時(shí) 器。根據(jù)通常情況下SPT樹重建所需的時(shí)間長(zhǎng)度,該老化定時(shí)器的定時(shí)時(shí)長(zhǎng)設(shè)為不小于SPT 樹重建所需的時(shí)間長(zhǎng)度,并可適當(dāng)大于SPT樹重建所需的時(shí)間長(zhǎng)度。如果該老化定時(shí)器超 時(shí),SPT樹還未重建完成,則R2從組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中刪除保護(hù)鏈路 出接口 R2_INTP1,從而停止從保護(hù)鏈路轉(zhuǎn)發(fā)組播流。為了及時(shí)發(fā)現(xiàn)鏈路故障從而采用上述方式實(shí)現(xiàn)快速鏈路切換,可以在R2和R3的 主接口 R2_INTM1 和 R3_INTM1 之間使能 BFD(Bi-DirectionalForwarding Detection,雙向 轉(zhuǎn)發(fā)檢測(cè)協(xié)議)檢測(cè),這樣,R2可通過BFD檢測(cè)對(duì)R2-R3之間的三層接口進(jìn)行快速鏈路檢 測(cè),當(dāng)鏈路發(fā)生故障時(shí)BFD會(huì)檢測(cè)到會(huì)話DOWN,從而及時(shí)通知組播模塊將從主接口轉(zhuǎn)發(fā)出 去的流量切換到與其相關(guān)聯(lián)的保護(hù)接口上轉(zhuǎn)發(fā);R3也可通過BFD檢測(cè)對(duì)R2-R3之間的三層 接口進(jìn)行快速鏈路檢測(cè),當(dāng)BFD檢測(cè)到鏈路故障時(shí)將觸發(fā)保護(hù)鏈路事件,R3通過上述方式 響應(yīng)該事件。參見圖4,為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路為直連鏈路,保護(hù)鏈路為 非直連鏈路場(chǎng)景下的鏈路保護(hù)和切換流程。如圖4所示,RU R2、R3和R4分別為路由設(shè)備,R2和R4之間的主鏈路為R2_ INTM1-R4_INTM1,該主鏈路為R2和R4之間的直連鏈路,正常情況下,組播流通過主鏈路轉(zhuǎn) 發(fā)。在R2和R4之間的鏈路上使能IPMC接口保護(hù),即在R2和R4之間配置有保護(hù)鏈路R2_ INTP1—R3_INTP1—R3_INTP2—R4_INTP1,該保護(hù)鏈路為R2和R4之間的非直連鏈路,可通 過靜態(tài)配置方式進(jìn)行配置;在R2上建立有主出接口 R2_INTM1與保護(hù)出接口 R2_INTP1之間 的關(guān)聯(lián)關(guān)系,在R4上建立有主入接口 R4_INTM1與保護(hù)入接口 R4_INTP1之間的關(guān)聯(lián)關(guān)系, 所述關(guān)聯(lián)關(guān)系可通過靜態(tài)方式配置在相應(yīng)路由設(shè)備上。R3上靜態(tài)配置了保護(hù)鏈路接口 R2_R3之間的接口 R3_INTP1,以及R3-R4之間的 接口 R3_INTP2。R3上進(jìn)行如下約定從R3_INTP1進(jìn)入的所有組播流都會(huì)從除該組播流的入接口以外的其他保護(hù)接口出去,且不進(jìn)行uRPF檢查和TTL(Time To Live,生存時(shí)間)修 改,組播流原封不動(dòng)的從保護(hù)鏈路出接口轉(zhuǎn)發(fā)出去。以正常情況下組播流(S1,G1)從主鏈路R2_INTM1—R4_INTM1轉(zhuǎn)發(fā)為例,當(dāng)檢測(cè)到 R2和R4之間的主鏈路發(fā)生故障時(shí),R2和R4之間的鏈路保護(hù)和切換流程可包括R2將組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中的R2_INTM1接口刪除,將與該接 口關(guān)聯(lián)的R2_INTP1接口加入到該出接口列表中,即,將接口 R2_INTM1替換為與其關(guān)聯(lián)的接 口 R2_INTP1 ;R4 修改組播組(S1,G1)的 uRPF 接口,將(S1,G1)的 Nexthop (下一跳)中的 入接口 R4_INTM1修改為與其關(guān)聯(lián)的保護(hù)接口 R4_INTP1。在具體實(shí)現(xiàn)時(shí),可在R4上預(yù)先靜 態(tài)配置保護(hù)鏈路事件,R4檢測(cè)到與R2之間的鏈路故障時(shí)觸發(fā)該保護(hù)鏈路事件,R4通過上述 修改組播組(Si,Gl)的uRPF接口的方式響應(yīng)該鏈路保護(hù)事件。當(dāng)有組播流(S1,G1)流入R2后,根據(jù)組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng),該組播流從R2的 保護(hù)出接口 R2_INTP1轉(zhuǎn)發(fā)到R3的入接口 R3_INTP1,該入接口不執(zhí)行uRPF檢查,并將進(jìn)入 的所有組播流向R3的除R3_INTP1以外的所有保護(hù)接口轉(zhuǎn)發(fā),其中一份會(huì)通過R3-R4之間 的出接口 R3_INTP2轉(zhuǎn)發(fā)出去;R4的保護(hù)入接口 R4_INTP1對(duì)接收到的組播流(S1,G1)執(zhí)行 RPF檢查,并在RPF檢查通過后,繼續(xù)向下游轉(zhuǎn)發(fā)該組播流。由于先前主入接口 R4_INTM1上 的所有組播流的uRPF接口已經(jīng)修改為保護(hù)入接口 R4_INTP1,因此此時(shí)從R4_INTP1接收到 的組播流(Si,Gl)不會(huì)被丟棄,而是直接正常轉(zhuǎn)發(fā)到下行。 發(fā)生了主接口到保護(hù)接口的切換后,R2和R4會(huì)重新進(jìn)行組播出接口的運(yùn)算,即觸 發(fā)SPT樹重建。在SPT重建過程中,R4向RP上游方向R3的出接口發(fā)送Join消息;R3接 收該消息后創(chuàng)建(S1,G1)轉(zhuǎn)發(fā)表項(xiàng)并向R2發(fā)送Join消息;R2將R2-R3之間的新的出接口 添加到組播(S1,G1)表項(xiàng)的出接口列表中,SPT重建完成,此時(shí)組播流(S1,G1)會(huì)向新的出 接口轉(zhuǎn)發(fā)。R4從R3的新的出接口接收到組播流后會(huì)通過R3-R4之間的保護(hù)接口 R4_INTP1 發(fā)送Prime消息通告已經(jīng)成功建立了新的SPT樹,要求剪除保護(hù)鏈路上的流量;R3從R3_ INTP2接口接收到該P(yáng)rime消息后停止向該接口發(fā)送組播流,并向R2-R3之間的保護(hù)鏈路上 發(fā)送I^ime消息;R2接收到保護(hù)鏈路上的I^ime消息后將保護(hù)鏈路從組播組(S1,G1)轉(zhuǎn)發(fā) 表項(xiàng)的出接口列表中刪除,不再向保護(hù)鏈路轉(zhuǎn)發(fā)該流量。為了避免在較長(zhǎng)時(shí)間內(nèi)未成功重建SPT的情況下,長(zhǎng)時(shí)間使用保護(hù)鏈路轉(zhuǎn)發(fā)組播 流,從而降低系統(tǒng)可靠性,本發(fā)明實(shí)施例中,R2將組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中 的主鏈路出R2_INTM1替換為與其關(guān)聯(lián)的保護(hù)鏈路出接口 R2_INTP1時(shí),還啟動(dòng)老化定時(shí)器。 根據(jù)通常情況下SPT樹重建所需的時(shí)間長(zhǎng)度,該老化定時(shí)器的定時(shí)時(shí)長(zhǎng)設(shè)為不小于SPT樹 重建所需的時(shí)間長(zhǎng)度,并可適當(dāng)大于SPT樹重建所需的時(shí)間長(zhǎng)度。如果該老化定時(shí)器超時(shí), 組播組(Si,Gl)表項(xiàng)仍然沒有重建,即SPT樹還未重建完成,則R2從組播組(Si,Gl)轉(zhuǎn)發(fā) 表項(xiàng)的出接口列表中刪除保護(hù)鏈路出接口 R2_INTP1,從而不再從保護(hù)鏈路轉(zhuǎn)發(fā)組播流,并 可進(jìn)一步向上游發(fā)起PIM(ftx)tocol Independent Multicast,協(xié)議無關(guān)組播)剪枝協(xié)議報(bào) 文通知上游設(shè)備刪除與之連接的出接口以中斷組播流量。為了及時(shí)發(fā)現(xiàn)鏈路故障從而采用上述方式實(shí)現(xiàn)快速鏈路切換,可以在R2和R4的 主接口 R2_INTM1和R4_INTM1上使能BFD檢測(cè),這樣,R2可通過BFD檢測(cè)對(duì)R2-R3之間的 三層接口進(jìn)行快速鏈路檢測(cè),當(dāng)鏈路發(fā)生故障時(shí)BFD會(huì)檢測(cè)到會(huì)話DOWN,從而及時(shí)通知組 播模塊將從主接口轉(zhuǎn)發(fā)出去的流量切換到與其相關(guān)聯(lián)的保護(hù)接口上轉(zhuǎn)發(fā);R4也可通過BFD檢測(cè)對(duì)三層接口進(jìn)行快速鏈路檢測(cè),當(dāng)BFD檢測(cè)到鏈路故障時(shí)將觸發(fā)保護(hù)鏈路事件,R4通 過上述方式響應(yīng)該事件。若IP組播鏈路上的某個(gè)節(jié)點(diǎn)發(fā)生故障而無法工作,組播流需要跨越該節(jié)點(diǎn)。為了 實(shí)現(xiàn)節(jié)點(diǎn)保護(hù),需要在該節(jié)點(diǎn)的上游和下游節(jié)點(diǎn)上配置保護(hù)鏈路。根據(jù)保護(hù)鏈路的特點(diǎn)分 為直連鏈路保護(hù)鏈路和非直連鏈路保護(hù)鏈路,二者和前面的鏈路保護(hù)類似,下面分別通過 圖5和圖6對(duì)兩種形式的保護(hù)鏈路下的鏈路保護(hù)和切換流程進(jìn)行詳細(xì)描述。參見圖5,為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路為非直連鏈路,保護(hù)鏈路 為直連鏈路場(chǎng)景下的鏈路保護(hù)和切換流程。如圖5所示,RU R2、R3和R4分別為路由設(shè)備。R2和R4之間的主鏈路為R2_ INTM1--R3_INTM1—R3_INTM2—R4_INTM1,該主鏈路為R2和R4間的非直連鏈路。在R2和 R3之間的鏈路上使能IPMC接口保護(hù),在R3和R4之間的接口鏈路上使能IPMC接口保護(hù), 即R2和R4之間配置有保護(hù)鏈路R2_INTP1—R4_INTP1,該保護(hù)鏈路為R2和R4間的直連 鏈路,可通過靜態(tài)配置方式進(jìn)行配置,在R2上建立有主出接口 R2_INTM1和保護(hù)出接口 R2_ INTPl之間的關(guān)聯(lián)關(guān)系,在R4上建立有主入接口 R4_INTM1和保護(hù)入接口 R4_INTP1之間的 關(guān)聯(lián)關(guān)系,所述關(guān)聯(lián)關(guān)系可通過靜態(tài)方式配置在相應(yīng)路由設(shè)備上。以正常情況下組播流(S1,G1)從主鏈路R2_INTM1—R4_INTM1轉(zhuǎn)發(fā)為例,當(dāng)檢測(cè)到 R2 和 R4 之間的主鏈路 R2_INTM1—R3_INTM1—R3_INTM2—R4_INTM1 發(fā)生故障時(shí),R2 和 R4 之間的鏈路保護(hù)和切換流程可包括R2將組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中的R2_INTM1接口刪除,將與該接 口關(guān)聯(lián)的R2_INTP1接口加入到該出接口列表中,即,將接口 R2_INTM1替換為與其關(guān)聯(lián)的接 口 R2_INTP1 ;R4 修改組播組(S1,G1)的 uRPF 接口,將(S1,G1)的 Nexthop (下一跳)中的 入接口 R4_INTM1修改為與其關(guān)聯(lián)的保護(hù)接口 R4_INTP1。在具體實(shí)現(xiàn)時(shí),可在R4上預(yù)先靜 態(tài)配置保護(hù)鏈路事件,R4檢測(cè)到與R2之間的鏈路故障時(shí)觸發(fā)該保護(hù)鏈路事件,R4通過上述 修改組播組(Si,Gl)的uRPF接口的方式響應(yīng)該鏈路保護(hù)事件。當(dāng)有組播流(S1,G1)流入R2后,根據(jù)組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng),該組播流從R2的 保護(hù)出接口 R2_INTP1轉(zhuǎn)發(fā)到R4的保護(hù)入接口 R4_INTP1 ;R4的保護(hù)入接口 R4_INTP1對(duì)接 收到的組播流(S1,G1)執(zhí)行RPF檢查,并在RPF檢查通過后,繼續(xù)向下游轉(zhuǎn)發(fā)該組播流。由 于先前主入接口 R4_INTM1上的所有組播流的uRPF接口已經(jīng)修改為保護(hù)入接口 R4_INTP1, 因此此時(shí)從R4_INTP1接收到的組播流(Si,Gl)不會(huì)被丟棄,而是直接正常轉(zhuǎn)發(fā)到下行。發(fā)生了主接口到保護(hù)接口的切換后,R2和R4會(huì)重新進(jìn)行組播出接口的運(yùn)算,即觸 發(fā)SPT樹重建。在SPT重建過程中,R4向RP上游方向R2的出接口發(fā)送Join消息;R2將 R2-R4的新出接口添加到組播(Si,Gl)表項(xiàng)的出接口列表中,SPT重建完成,此時(shí)組播流會(huì) 向新的出接口轉(zhuǎn)發(fā)。R4從R2接收到組播流后會(huì)通過R4-R2之間的保護(hù)鏈路接口發(fā)送I^une 消息通告已經(jīng)成功建立了新的SPT樹,要求剪除保護(hù)鏈路上的流量;R2接收到保護(hù)鏈路上 的I^une消息后將保護(hù)鏈路的出接口 R2_INTP1從組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表 中刪除,不再向保護(hù)鏈路轉(zhuǎn)發(fā)該流量。為了避免在較長(zhǎng)時(shí)間內(nèi)未成功重建SPT的情況下,長(zhǎng)時(shí)間使用保護(hù)鏈路轉(zhuǎn)發(fā)組播 流,從而降低系統(tǒng)可靠性,本發(fā)明實(shí)施例中,R2在將組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列 表中的主鏈路出R2_INTM1替換為與其關(guān)聯(lián)的保護(hù)鏈路出接口 R2_INTP1時(shí),還啟動(dòng)老化定時(shí)器。根據(jù)通常情況下SPT樹重建所需的時(shí)間長(zhǎng)度,該老化定時(shí)器的定時(shí)時(shí)長(zhǎng)設(shè)為不小于 SPT樹重建所需的時(shí)間長(zhǎng)度,并可適當(dāng)大于SPT樹重建所需的時(shí)間長(zhǎng)度。如果該老化定時(shí) 器超時(shí),組播組(Si,Gl)表項(xiàng)仍然沒有重建,即SPT樹還未重建完成,則R2從組播組(Si, Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中刪除保護(hù)鏈路出接口 R2_INTP1,從而不再從保護(hù)鏈路轉(zhuǎn)發(fā)組 播流,并可進(jìn)一步向上游發(fā)起PIM剪枝協(xié)議報(bào)文通知上游設(shè)備刪除與之連接的出接口以中 斷組播流量。為了及時(shí)發(fā)現(xiàn)鏈路故障從而采用上述方式實(shí)現(xiàn)快速鏈路切換,可以在R2-R4的環(huán) 回口上使能BFD檢測(cè),以便通過BFD對(duì)R2和R4之間的三層接口進(jìn)行快速鏈路檢測(cè)。也可以 在R2-R3主接口之間使能BFD檢測(cè),并在R3-R4主接口之間使能BFD檢測(cè)。當(dāng)R3故障時(shí), R2和R4都會(huì)檢測(cè)到會(huì)話DOWN,從而觸發(fā)執(zhí)行上述鏈路保護(hù)和切換流程。參見圖6,為本發(fā)明實(shí)施例中兩臺(tái)路由設(shè)備之間的主鏈路和保護(hù)鏈路均為非直連 鏈路場(chǎng)景下的鏈路保護(hù)和切換流程。如圖6所示,Rl、R2、R3、R4和R5分別為路由設(shè)備,R2和R4之間的主鏈路為R2_ INTM1—R3_INTM1—R3_INTM2—R4_INTM1,該主鏈路為R2和R4間的非直連鏈路,正常情 況下,組播流通過主鏈路轉(zhuǎn)發(fā)。在R2和R3之間的鏈路上使能IPMC接口保護(hù),在R3和R4 之間的接口鏈路上使能IPMC接口保護(hù),即R2和R4之間配置有保護(hù)鏈路R2_INTP1-R5_ INTP1—R5_INTP2—R4_INTP1,該保護(hù)鏈路為R2和R4間的非直連鏈路,可通過靜態(tài)配置方 式進(jìn)行配置;在R2上建立有主出接口 R2_INTM1和保護(hù)出接口 R2_INTP1之間的關(guān)聯(lián)關(guān)系, 在R4上建立有主入接口 R4_INTM1和保護(hù)入接口 R4_INTP1之間的關(guān)聯(lián)關(guān)系,所述關(guān)聯(lián)關(guān)系 可通過靜態(tài)方式配置在相應(yīng)路由設(shè)備上。R5上靜態(tài)配置了保護(hù)鏈路接口 R2_R5之間的接口為R5_INTP1,以及R5-R4之間 的接口 R5_INTP2。在R5上進(jìn)行如下約定R5_INTPX,X為1,2..,為保護(hù)鏈路接口,進(jìn)入的 所有組播流都會(huì)從所有保護(hù)鏈路接口出去,且不進(jìn)行uRpf檢查和TTL修改,報(bào)文原封不動(dòng) 從保護(hù)鏈路接口轉(zhuǎn)發(fā)出去。以正常情況下組播流(S1,G1)從主鏈路R2_INTM1—R4_INTM1轉(zhuǎn)發(fā)為例,當(dāng)檢測(cè)到 R2 和 R4 之間的主鏈路 R2_INTM1—R3_INTM1—R3_INTM2—R4_INTM1 發(fā)生故障時(shí),R2 和 R4 之間的鏈路保護(hù)和切換流程可包括R2將組播組(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中的R2_INTM1接口刪除,將與該接 口關(guān)聯(lián)的R2_INTP1接口加入到該出接口列表中,即,將接口 R2_INTM1替換為與其關(guān)聯(lián)的接 口 R2_INTP1 ;R4 修改組播組(S1,G1)的 uRPF 接口,將(S1,G1)的 Nexthop (下一跳)中的 入接口 R4_INTM1切換到與其關(guān)聯(lián)的保護(hù)接口 R4_INTP1上。在具體實(shí)現(xiàn)時(shí),可在R4上預(yù)先 靜態(tài)配置保護(hù)鏈路事件,R4檢測(cè)到與R2之間的鏈路故障時(shí)觸發(fā)該保護(hù)鏈路事件,R4通過上 述修改組播組(Si,Gl)的uRPF接口的方式響應(yīng)該鏈路保護(hù)事件。當(dāng)有組播流(S1,G1)流入R2后,根據(jù)組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng),該組播流從R2的 保護(hù)出接口 R2_INTP1轉(zhuǎn)發(fā)到R3的入接口 R5_INTP1,該入接口不執(zhí)行uRPF檢查,并將進(jìn)入 的所有組播流向R5的除R5_INTP1以外的所有保護(hù)接口轉(zhuǎn)發(fā),其中一份會(huì)通過R5-R4之間 的出接口 R5_INTP2轉(zhuǎn)發(fā)出去;R4的保護(hù)入接口 R4_INTP1對(duì)接收到的組播流(S1,G1)執(zhí)行 RPF檢查,并在RPF檢查通過后,繼續(xù)向下游轉(zhuǎn)發(fā)該組播流。由于先前主入接口 R4_INTM1上 的所有組播流的uRPF接口已經(jīng)修改為保護(hù)入接口 R4_INTP1,因此此時(shí)從R4_INTP1接收到的組播流(Si,Gl)不會(huì)被丟棄,而是直接正常轉(zhuǎn)發(fā)到下行。發(fā)生了主接口到保護(hù)接口的切換后,R2和R4會(huì)重新進(jìn)行組播出接口的運(yùn)算,即觸 發(fā)SPT樹重建。在SPT重建過程中,R4向RP上游方向R5的出接口(不是保護(hù)鏈路接口 R4_INTP1)發(fā)送Join消息;R5接收該消息后創(chuàng)建(Si,Gl)轉(zhuǎn)發(fā)表項(xiàng)并向R2發(fā)送Join消 息;R2將R2-R5之間的出接口添加到組播(S1,G1)表項(xiàng)的出接口列表中,SPT重建完成,此 時(shí)組播流會(huì)向新的出接口轉(zhuǎn)發(fā)。R4從R5接收到組播流后會(huì)通過R4-R5之間的保護(hù)鏈路發(fā) 送Prime消息通告已經(jīng)成功建立了新的SPT樹,要求剪除保護(hù)鏈路上的流量;R5接收到該 Prune消息后停止向該接口發(fā)送組播流,并向R5-R2之間的保護(hù)鏈路上發(fā)送I^ime消息;R2 接收到保護(hù)鏈路上的I^rime消息后將保護(hù)鏈路的出接口從組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng)的出接 口列表中刪除,不再向保護(hù)鏈路轉(zhuǎn)發(fā)該流量。為了避免在較長(zhǎng)時(shí)間內(nèi)未成功重建SPT的情況下,長(zhǎng)時(shí)間使用保護(hù)鏈路轉(zhuǎn)發(fā)組播 流,從而降低系統(tǒng)可靠性,本發(fā)明實(shí)施例中,R2將組播組(S1,G1)轉(zhuǎn)發(fā)表項(xiàng)的出接口列表中 的主鏈路出R2_INTM1替換為與其關(guān)聯(lián)的保護(hù)鏈路出接口 R2_INTP1時(shí),還啟動(dòng)老化定時(shí)器。 根據(jù)通常情況下SPT樹重建所需的時(shí)間長(zhǎng)度,該老化定時(shí)器的定時(shí)時(shí)長(zhǎng)設(shè)為不小于SPT樹 重建所需的時(shí)間長(zhǎng)度,并可適當(dāng)大于SPT樹重建所需的時(shí)間長(zhǎng)度。如果該老化定時(shí)器超時(shí), 組播組(Si,Gl)表項(xiàng)仍然沒有重建,即SPT樹還未重建完成,則R2從組播組(Si,Gl)轉(zhuǎn)發(fā) 表項(xiàng)的出接口列表中刪除保護(hù)鏈路出接口 R2_INTP1,從而不再從保護(hù)鏈路轉(zhuǎn)發(fā)組播流,并 可進(jìn)一步向上游發(fā)起PIM剪枝協(xié)議報(bào)文通知上游設(shè)備刪除與之連接的出接口以中斷組播 流量。為了及時(shí)發(fā)現(xiàn)鏈路故障從而采用上述方式實(shí)現(xiàn)快速鏈路切換,可以在R2和R4的 環(huán)回口上使能BFD檢測(cè),以便通過BFD對(duì)R2和R4之間的三層接口進(jìn)行快速鏈路檢測(cè)。也 可以在R2-R3主接口之間使能BFD檢測(cè),并在R3-R4主接口之間使能BFD檢測(cè)。當(dāng)R3故障 時(shí),R2和R4都會(huì)檢測(cè)到會(huì)話DOWN,從而觸發(fā)執(zhí)行上述鏈路保護(hù)和切換流程。需要說明的是,以上實(shí)施例中針對(duì)保護(hù)鏈路為非直連鏈路的情況,僅以該非直連 鏈路上包含有一個(gè)中間路由器為例描述,本領(lǐng)域技術(shù)人員應(yīng)該能夠理解,在該非直連鏈路 上存在多個(gè)中間路由器的情況下,其鏈路保護(hù)和切換處理流程與中間路由器為一個(gè)的情況 類似。綜上所述,本發(fā)明實(shí)施例實(shí)現(xiàn)了 IP組播轉(zhuǎn)發(fā)鏈路上的鏈路保護(hù)和接口保護(hù),實(shí)現(xiàn) 了組播流量的快速保護(hù)和平穩(wěn)切換,使得組播流量在其SPT鏈路故障時(shí)盡可能的減少丟 包,為基于Q0S的組播流提供可靠性依據(jù)?;谙嗤募夹g(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了一種可應(yīng)用于上述流程的路由設(shè) 備。參見圖7,為本發(fā)明實(shí)施例提供的路由設(shè)備的結(jié)構(gòu)示意圖。所述路由設(shè)備作為上游路由設(shè)備時(shí),與其下游路由設(shè)備之間配置有主鏈路和對(duì)應(yīng) 的保護(hù)鏈路,該主鏈路在所述路由設(shè)備上的主出接口和保護(hù)鏈路在該路由設(shè)備上的保護(hù)出 接口相關(guān)聯(lián);該路由設(shè)備作為下游路由設(shè)備時(shí),與其上游路由設(shè)備之間配置有主鏈路和對(duì) 應(yīng)的保護(hù)鏈路,該主鏈路在所述路由設(shè)備上的主入接口和保護(hù)鏈路在所述路由設(shè)備上的保 護(hù)入接口相關(guān)聯(lián)。該路由設(shè)備可包括檢測(cè)模塊701和組播模塊702 ;其中檢測(cè)模塊701,用于檢測(cè)本端路由設(shè)備與對(duì)端路由設(shè)備之間的主鏈路的連通性;
在本端路由設(shè)備作為上游路由設(shè)備的情況下,組播模塊702用于當(dāng)檢測(cè)模塊701 檢測(cè)到主鏈路故障時(shí),將發(fā)生故障的主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的所述主鏈 路的主出接口替換為與該主出接口關(guān)聯(lián)的保護(hù)出接口,并當(dāng)接收到所述主鏈路對(duì)應(yīng)的組播 流時(shí)根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)使用保護(hù)鏈路轉(zhuǎn)發(fā)所述組播流;以及,進(jìn)行路徑樹重建并 在重建成功后,當(dāng)接收到所述組播流后根據(jù)路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)所 述組播流,并根據(jù)下游路由設(shè)備發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接 Π ;在本端路由設(shè)備作為下游路由設(shè)備的情況下,組播模塊702用于當(dāng)檢測(cè)模塊701 檢測(cè)到主鏈路故障時(shí),將所述主鏈路的主入接口上的所有組播流的uRPF接口修改為與其 關(guān)聯(lián)的保護(hù)入接口,當(dāng)從所述保護(hù)鏈路接收到組播流后,根據(jù)修改后的uRPF接口進(jìn)行RPF 檢測(cè),并在檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā)所述組播流;以及,發(fā)起并執(zhí)行路徑樹重建。在本端路由設(shè)備作為上游路由設(shè)備的情況下,組播模塊702還可用于,當(dāng)所述檢 測(cè)模塊檢測(cè)到主鏈路故障時(shí)開啟定時(shí)器,所述定時(shí)器的定時(shí)時(shí)長(zhǎng)不小于路徑樹重建所需的 時(shí)長(zhǎng);若定時(shí)器超時(shí)時(shí),路徑樹還未重建成功,則從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接 口。進(jìn)一步的,組播模塊702還可用于,當(dāng)定時(shí)器超時(shí),但路徑樹還未重建成功,則向上游發(fā) 起PIM剪枝協(xié)議報(bào)文,用以通知上游路由設(shè)備刪除與第一路由設(shè)備連接的出接口。在本端路由設(shè)備作為下游路由設(shè)備的情況下,組播模塊702具體用于,向上游路 由設(shè)備的出接口發(fā)送Join消息;在本端路由設(shè)備作為上游路由設(shè)備的情況下,組播模塊 702具體用于,根據(jù)下游路由設(shè)備發(fā)送的Join消息將與下游路由設(shè)備之間的出接口添加到 所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中。在本端路由設(shè)備作為上游路由設(shè)備的情況下,組播模塊702具體用于,根據(jù)路徑 樹重建過程中添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的出接口轉(zhuǎn)發(fā)組播流;以及,在接收 到下游路由設(shè)備通過保護(hù)鏈路發(fā)送的Prime消息后,將所述保護(hù)鏈路的出接口從所述組播 轉(zhuǎn)發(fā)表項(xiàng)出接口列表中刪除;在本端路由設(shè)備作為下游路由設(shè)備的情況下,組播模塊702 具體用于,接收到上游路由設(shè)備在路徑樹重建后發(fā)送的組播流后,通過所述保護(hù)鏈路發(fā)送 Prune消息。上述路由設(shè)備中,檢測(cè)模塊701可以是BFD檢測(cè)模塊,用于通過BFD方式進(jìn)行鏈路 檢測(cè)。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助 軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更 佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的 部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若 干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行 本發(fā)明各個(gè)實(shí)施例所述的方法。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人 員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng) 視本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種鏈路保護(hù)方法,其特征在于,第一路由設(shè)備和其下游的第二路由設(shè)備之間配置 有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,其中,主鏈路在第一路由設(shè)備上的主出接口和保護(hù)鏈路在第 一路由設(shè)備上的保護(hù)出接口相關(guān)聯(lián),主鏈路在第二路由設(shè)備上的主入接口和保護(hù)鏈路在第 二路由設(shè)備上的保護(hù)入接口相關(guān)聯(lián);當(dāng)?shù)谝宦酚稍O(shè)備和第二路由設(shè)備之間的主鏈路故障 時(shí),該方法包括第一路由設(shè)備將發(fā)生故障的主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的所述主鏈路 的主出接口替換為與該主出接口關(guān)聯(lián)的保護(hù)出接口,并當(dāng)接收到所述主鏈路對(duì)應(yīng)的組播流 時(shí)根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)使用保護(hù)鏈路轉(zhuǎn)發(fā)所述組播流;第二路由設(shè)備將所述主鏈路的主入接口上的所有組播流的單播反向路徑轉(zhuǎn)發(fā)uRPF 接口修改為與其關(guān)聯(lián)的保護(hù)入接口,并當(dāng)從所述保護(hù)鏈路接收到組播流后,根據(jù)修改后的 uRPF接口進(jìn)行反向路徑轉(zhuǎn)發(fā)RPF檢測(cè),并在檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā)所述組播流;第二路由設(shè)備觸發(fā)路徑樹重建并在路徑樹重建成功后,第一路由設(shè)備在接收到所述組 播流后根據(jù)路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)所述組播流,并根據(jù)第二路由設(shè)備 發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口。
2.如權(quán)利要求1所述的方法,其特征在于,第一路由設(shè)備和第二路由設(shè)備之間的保護(hù) 鏈路為直連鏈路或非直連鏈路。
3.如權(quán)利要求2所述的方法,其特征在于,所述保護(hù)鏈路為非直連鏈路時(shí),當(dāng)所述保護(hù) 鏈路上的中間路由設(shè)備接收到組播流時(shí),不執(zhí)行uRPF檢查,并將接收到的組播流從除所述 組播流的入接口以外的所有保護(hù)接口轉(zhuǎn)發(fā)。
4.如權(quán)利要求1所述的方法,其特征在于,當(dāng)?shù)谝宦酚稍O(shè)備和第二路由設(shè)備之間的主 鏈路故障時(shí),還包括第一路由設(shè)備開啟定時(shí)器,所述定時(shí)器的定時(shí)時(shí)長(zhǎng)不小于路徑樹重建所需的時(shí)長(zhǎng);若定時(shí)器超時(shí)時(shí),路徑樹還未重建成功,則第一路由設(shè)備從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除 所述保護(hù)出接口。
5.如權(quán)利要求4所述的方法,其特征在于,當(dāng)定時(shí)器超時(shí),但路徑樹還未重建成功,還 包括第一路由設(shè)備向上游發(fā)起協(xié)議無關(guān)組播PIM剪枝協(xié)議報(bào)文,用以通知上游路由設(shè)備刪 除與第一路由設(shè)備連接的出接口。
6.如權(quán)利要求1所述的方法,其特征在于,所述路徑樹重建的過程,包括第二路由設(shè)備向第一路由設(shè)備的出接口發(fā)送Join消息;第一路由設(shè)備根據(jù)所述Join消息將與第二路由設(shè)備之間的出接口添加到所述組播轉(zhuǎn) 發(fā)表項(xiàng)出接口列表中。
7.如權(quán)利要求1所述的方法,其特征在于,第一路由設(shè)備根據(jù)第二路由設(shè)備發(fā)起的剪 枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口,包括第一路由設(shè)備在根據(jù)路徑樹重建過程中添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的出 接口轉(zhuǎn)發(fā)組播流到第二路由設(shè)備后,第二路由設(shè)備通過所述保護(hù)鏈路發(fā)送I^rime消息;第一路由設(shè)備接收到所述I^rime消息后,將所述保護(hù)鏈路的出接口從所述組播轉(zhuǎn)發(fā)表 項(xiàng)出接口列表中刪除。
8.如權(quán)利要求1-6任一項(xiàng)所述的方法,其特征在于,第一路由設(shè)備和第二路由設(shè)備之間的保護(hù)鏈路為直連鏈路時(shí),還包括在第一路由設(shè)備和第二路由設(shè)備之間的接口上使能 雙向轉(zhuǎn)發(fā)檢測(cè)協(xié)議BFD檢測(cè);或/和第一路由設(shè)備和第二路由設(shè)備之間的保護(hù)鏈路為非直連鏈路時(shí),還包括在第一路由設(shè)備和第二路由設(shè)備的環(huán)回口上使能BFD檢測(cè);或者,在第一路由設(shè)備和 所述保護(hù)鏈路上的中間路由設(shè)備的接口之間使能BFD檢測(cè),在所述保護(hù)鏈路上的中間路由 設(shè)備和第二路由設(shè)備之間的接口上使能BFD檢測(cè)。
9.一種路由設(shè)備,其特征在于,所述路由設(shè)備作為上游路由設(shè)備時(shí),與其下游路由設(shè) 備之間配置有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,所述主鏈路在所述路由設(shè)備上的主出接口和保護(hù) 鏈路在該路由設(shè)備上的保護(hù)出接口相關(guān)聯(lián);所述路由設(shè)備作為下游路由設(shè)備時(shí),與其上游 路由設(shè)備之間配置有主鏈路和對(duì)應(yīng)的保護(hù)鏈路,所述主鏈路在所述路由設(shè)備上的主入接口 和保護(hù)鏈路在所述路由設(shè)備上的保護(hù)入接口相關(guān)聯(lián);該路由設(shè)備包括檢測(cè)模塊和組播模 塊;所述檢測(cè)模塊,用于檢測(cè)本端路由設(shè)備與對(duì)端路由設(shè)備之間的主鏈路的連通性;在本端路由設(shè)備作為上游路由設(shè)備的情況下,所述組播模塊用于當(dāng)所述檢測(cè)模塊檢 測(cè)到主鏈路故障時(shí),將發(fā)生故障的主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的所述主鏈路 的主出接口替換為與該主出接口關(guān)聯(lián)的保護(hù)出接口,并當(dāng)接收到所述主鏈路對(duì)應(yīng)的組播流 時(shí)根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)使用保護(hù)鏈路轉(zhuǎn)發(fā)所述組播流;以及,進(jìn)行路徑樹重建并在 重建成功后,當(dāng)接收到所述組播流后根據(jù)路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)所述 組播流,并根據(jù)下游路由設(shè)備發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接 Π ;在本端路由設(shè)備作為下游路由設(shè)備的情況下,所述組播模塊用于當(dāng)所述檢測(cè)模塊檢 測(cè)到主鏈路故障時(shí),將所述主鏈路的主入接口上的所有組播流的uRPF接口修改為與其關(guān) 聯(lián)的保護(hù)入接口,當(dāng)從所述保護(hù)鏈路接收到組播流后,根據(jù)修改后的uRPF接口進(jìn)行RPF檢 測(cè),并在檢測(cè)通過后向下游路由設(shè)備轉(zhuǎn)發(fā)所述組播流;以及,發(fā)起并執(zhí)行路徑樹重建。
10.如權(quán)利要求9所述的路由設(shè)備,其特征在于,在本端路由設(shè)備作為上游路由設(shè)備的 情況下,所述組播模塊還用于,當(dāng)所述檢測(cè)模塊檢測(cè)到主鏈路故障時(shí)開啟定時(shí)器,所述定時(shí) 器的定時(shí)時(shí)長(zhǎng)不小于路徑樹重建所需的時(shí)長(zhǎng);若定時(shí)器超時(shí)時(shí),路徑樹還未重建成功,則從 所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口。
11.如權(quán)利要求10所述的路由設(shè)備,其特征在于,所述組播模塊還用于,當(dāng)定時(shí)器超 時(shí),但路徑樹還未重建成功,則向上游發(fā)起PIM剪枝協(xié)議報(bào)文,用以通知上游路由設(shè)備刪除 與第一路由設(shè)備連接的出接口。
12.如權(quán)利要求9所述的路由設(shè)備,其特征在于,在本端路由設(shè)備作為下游路由設(shè)備的 情況下,所述組播模塊具體用于,向上游路由設(shè)備的出接口發(fā)送Join消息;在本端路由設(shè)備作為上游路由設(shè)備的情況下,所述組播模塊具體用于,根據(jù)下游路由 設(shè)備發(fā)送的Join消息將與下游路由設(shè)備之間的出接口添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列 表中。
13.如權(quán)利要求9所述的路由設(shè)備,其特征在于,在本端路由設(shè)備作為上游路由設(shè)備的 情況下,所述組播模塊具體用于,根據(jù)路徑樹重建過程中添加到所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口 列表中的出接口轉(zhuǎn)發(fā)組播流;以及,在接收到下游路由設(shè)備通過保護(hù)鏈路發(fā)送的I^rime消息后,將所述保護(hù)鏈路的出接口從所述組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中刪除;在本端路由設(shè)備作為下游路由設(shè)備的情況下,所述組播模塊具體用于,接收到上游路 由設(shè)備在路徑樹重建后發(fā)送的組播流后,通過所述保護(hù)鏈路發(fā)送Prime消息。
14.如權(quán)利要求9-13任一項(xiàng)所述的路由設(shè)備,其特征在于,所述檢測(cè)模塊為BFD檢測(cè)模 塊,用于通過BFD方式進(jìn)行鏈路檢測(cè)。
全文摘要
本發(fā)明公開了一種鏈路保護(hù)方法及其設(shè)備,用以解決現(xiàn)有技術(shù)中在轉(zhuǎn)發(fā)樹重建完成之前組播流一直無法正常轉(zhuǎn)發(fā)的問題。該方法中,第一路由設(shè)備和其下游的第二路由設(shè)備之間配置有主鏈路和對(duì)應(yīng)的保護(hù)鏈路;當(dāng)主鏈路故障時(shí),第一路由設(shè)備將該主鏈路對(duì)應(yīng)的組播轉(zhuǎn)發(fā)表項(xiàng)出接口列表中的該主鏈路的主出接口替換為關(guān)聯(lián)的保護(hù)出接口,并根據(jù)更新后的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)組播流;第二路由設(shè)備將該主鏈路的主入接口上的所有組播流的uRPF接口修改為與其關(guān)聯(lián)的保護(hù)入接口;在路徑樹重建成功后,第一路由設(shè)備在接收到所述組播流后根據(jù)路徑樹重建過程所更新的組播轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)所述組播流,并根據(jù)第二路由設(shè)備發(fā)起的剪枝過程從所述組播轉(zhuǎn)發(fā)表項(xiàng)中刪除所述保護(hù)出接口。
文檔編號(hào)H04L12/56GK102111342SQ20111008622
公開日2011年6月29日 申請(qǐng)日期2011年4月7日 優(yōu)先權(quán)日2011年4月7日
發(fā)明者宋小恒, 汪洪遠(yuǎn), 龔鐵柱 申請(qǐng)人:杭州華三通信技術(shù)有限公司