專利名稱:組播路由的切換方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種組播路由的切換方法及裝置。
背景技術(shù):
隨著通信技術(shù)的不斷發(fā)展,IP通信技術(shù)在傳統(tǒng)的單播方式和廣播方式的 基礎(chǔ)上出現(xiàn)了組播方式。IP組播是指在IP網(wǎng)絡(luò)中將數(shù)據(jù)包以盡力傳送
(best-effort)的形式發(fā)送到網(wǎng)絡(luò)中的某個(gè)確定節(jié)點(diǎn)子集,這個(gè)子集稱為組 播組(multicast group) 。 IP組播的基本思想是,源主機(jī)只發(fā)送一份數(shù)據(jù), 這份數(shù)據(jù)中的目的地址為組播組地址;組播組中的所有接收者都可接收到同 樣的數(shù)據(jù)拷貝,并且只有組播組內(nèi)的目標(biāo)主機(jī)可以接收該數(shù)據(jù),網(wǎng)絡(luò)中的其 他主機(jī)不能接收該數(shù)據(jù)。IP組播技術(shù)有效地解決了單點(diǎn)發(fā)送多點(diǎn)接收的問題, 實(shí)現(xiàn)了 IP網(wǎng)絡(luò)中單點(diǎn)到多點(diǎn)的高效數(shù)據(jù)傳送,能夠大量節(jié)約網(wǎng)絡(luò)帶寬、降低 網(wǎng)絡(luò)負(fù)載,因此,IP組播技術(shù)在各個(gè)信息服務(wù)領(lǐng)域中得到了越來越廣泛的應(yīng) 用。
在現(xiàn)有技術(shù)中,稀疏才莫式協(xié)議無關(guān)組播(Protocol Independent Multicast-Parse Mode, PIM-SM )和特定源組播(Source-Specif ic Multicast: SSM)是兩種常用的域內(nèi)組播模式,都是通過建立組播分發(fā)樹來進(jìn)行組播數(shù)據(jù) 包的轉(zhuǎn)發(fā)。在接收端的共享網(wǎng)段上,有多臺(tái)路由器同時(shí)存在的情況下,如果 都向此網(wǎng)段轉(zhuǎn)發(fā)數(shù)據(jù),則選舉出唯——臺(tái)路由器作為此網(wǎng)絡(luò)段的指定路由器 (Designated Router, DR),由該DR負(fù)責(zé)向此網(wǎng)段轉(zhuǎn)發(fā)數(shù)據(jù);在源端的共 享網(wǎng)段上,同樣也選舉出唯一的DR來負(fù)責(zé)向匯聚點(diǎn)(Rendezvous Point, RP ) 發(fā)送注冊(cè)報(bào)文;如果接口都不能使用PIM SM/SSM的情況,通過組管理協(xié)議(Internet Group Management Protocol Internet, IGMP)機(jī)制選舉一個(gè)查 詢器,由它來負(fù)責(zé)向此網(wǎng)段轉(zhuǎn)發(fā)數(shù)據(jù)。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下缺陷 1 )組播源和組播接收者通過二層交換機(jī)和路由器相連,路由器不會(huì)向與 交換機(jī)相連的接口發(fā)布路由,甚至此接口都不配置單播路由協(xié)議。在接收端, 當(dāng)DR失去到源的路由時(shí),DR就不能向源方向發(fā)送加入分發(fā)樹的請(qǐng)求,而其 余的路由器雖然能接收到接收者發(fā)送來的IGMP加入(需要指出的是,此處以 及本發(fā)明的后續(xù)內(nèi)容僅以IPv4為例進(jìn)行說明,本發(fā)明的技術(shù)方案在IPv6中 同樣適用),但由于其不是DR,也不會(huì)向上游發(fā)送加入組播分發(fā)樹的請(qǐng)求, 從而使組播流中斷。同樣,在源端,DR失去到RP的路由,該DR就不能向RP 發(fā)送注冊(cè)報(bào)文,而其余的路由器也因其不是DR,也不會(huì)向RP發(fā)送注冊(cè)報(bào)文, 導(dǎo)致數(shù)據(jù)斷流,用戶無法實(shí)現(xiàn)點(diǎn)播。
2)雖然在現(xiàn)有技術(shù)中,為了避免上述問題,運(yùn)營商可以在用戶側(cè)接口配 置單播協(xié)議,發(fā)布單播路由,DR通過備份DR來學(xué)習(xí)路由,但這樣用戶側(cè)網(wǎng) 絡(luò)將出現(xiàn)單播路由,對(duì)安全造成一定的影響,且無法解決單播路由協(xié)議本身 出現(xiàn)故障的場景。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種組播路由的切換方法及裝置,解決源或匯聚點(diǎn)不 可達(dá)導(dǎo)致的數(shù)據(jù)斷流的問題,并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布 單播路由。
本發(fā)明實(shí)施例提供了一種組播路由的切換方法,包括 判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源或匯聚點(diǎn)是否可達(dá);
若所述主指定路由器的源或匯聚點(diǎn)不可達(dá),則所述主指定路由器向備份 指定路由器發(fā)送指示報(bào)文,根據(jù)所述指示報(bào)文,將所述備份指定路由器切換
為主指定路由器;或者若所述查詢器的源或匯聚點(diǎn)不可達(dá),則所述查詢器向非查詢器發(fā)送指示 報(bào)文,根據(jù)所述指示報(bào)文,將所述非查詢器切換為查詢器。
本發(fā)明實(shí)施例還提供了另 一種組播路由的切換方法,包括
判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源或匯聚點(diǎn)是否可達(dá); 若所述主指定路由器的源或匯聚點(diǎn)不可達(dá),則將有本地接收者加入的下
游接口設(shè)置為上游接口,并通過所述上游接口發(fā)送加入報(bào)文;或者
若所述查詢器的源或匯聚點(diǎn)不可達(dá),則將有本地接收者加入的下游接口
設(shè)置為上游接口,并通過所述上游接口發(fā)送加入報(bào)文。
本發(fā)明實(shí)施例提供了一種組播路由的切換裝置,包括
第一判斷模塊,用于判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源
或匯聚點(diǎn)是否可達(dá);
報(bào)文發(fā)送模塊,用于當(dāng)所述第 一判斷模塊的判斷結(jié)果為主指定路由器的 源或匯聚點(diǎn)不可達(dá)時(shí),向備份指定路由器發(fā)送指示報(bào)文,或者當(dāng)所述第一判 斷^f莫塊的判斷結(jié)果為查詢器的源或匯聚點(diǎn)不可達(dá)時(shí),向所述非查詢器發(fā)送指 示報(bào)文;
切換模塊,用于根據(jù)所述報(bào)文發(fā)送模塊發(fā)送的所述指示報(bào)文,將備份指 定路由器切換為主指定路由器,或?qū)⒎遣樵兤髑袚Q為查詢器。 本發(fā)明實(shí)施例還提供了另 一種組播路由的切換裝置,包括 第二判斷模塊,用于判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源
或匯聚點(diǎn)是否可達(dá);
設(shè)置模塊,用于當(dāng)所述第二判斷模塊的判斷結(jié)果為所述主指定路由器的 源或匯聚點(diǎn)不可達(dá),將有本地接收者加入的下游接口設(shè)置為上游接口,并向 所述上游接口發(fā)送加入報(bào)文,或者所述查詢器的源或匯聚點(diǎn)不可達(dá),將有本 地接收者加入的下游接口設(shè)置為上游接口 ,并向所述上游接口發(fā)送加入報(bào)文。
本發(fā)明實(shí)施例提供了 一種組播路由的切換方法及裝置,通過判斷源或匯 聚點(diǎn)不可達(dá),對(duì)主指定路由器或查詢器進(jìn)行切換,或者改變路由路徑,解決了源或匯聚點(diǎn)不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題,并且不需要在用戶側(cè)接口配置單 播協(xié)議,發(fā)布單播路由。
圖1為本發(fā)明組播路由的切換方法實(shí)施例一的流程圖; 圖2為本發(fā)明組播路由的切換方法實(shí)施例二的流程圖; 圖3為本發(fā)明組播路由的切換方法實(shí)施例三的示意圖; 圖4為本發(fā)明組播路由的切換方法實(shí)施例四的流程圖; 圖5為本發(fā)明組播路由的切換方法實(shí)施例四中指示報(bào)文的報(bào)文格式示意
圖6為本發(fā)明組播路由的切換方法實(shí)施例五的示意圖; 圖7為本發(fā)明組播路由的切換方法實(shí)施例六的流程圖; 圖8為本發(fā)明組播路由的切換裝置實(shí)施例一的結(jié)構(gòu)示意圖; 圖9為本發(fā)明組播路由的切換裝置實(shí)施例二的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面通過附圖和實(shí)施例,對(duì)本發(fā)明實(shí)施例的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明組播路由的切換方法實(shí)施例一的流程圖,如圖l所示,本 實(shí)施例提供的組播路由的切換方法包括
101,判斷主指定路由器的源或匯聚點(diǎn),或查詢器的源或匯聚點(diǎn)是否可達(dá), 如果是,則結(jié)束組播路由的切換流程,否則執(zhí)行102。
其中,在本發(fā)明實(shí)施例中,主指定路由器以DR,查詢器以組管理 (Internet Group Management Protocol, IGMP)查詢器,備份指定路由 器以備份指定路由器(Backup Designed Router, BDR),非查詢器以非 IGMP查詢器為例進(jìn)行說明。本實(shí)施例對(duì)應(yīng)于兩種不同的應(yīng)用環(huán)境,當(dāng)接口配置PIM SM/SSM,則101具體為判斷主指定路由器的源或RP是否可達(dá), 如果主指定路由器的源或RP可達(dá),則結(jié)束組播路由的切換流程,如果主指 定路由器的源或RP不可達(dá),則執(zhí)行102,其中,對(duì)于PIM SSM,則只需判斷 主指定路由器的源是否可達(dá);當(dāng)接口不配置PIM SM/SSM,則101具體為 判斷IGMP查詢器的源或RP是否可達(dá),如果IGMP查詢器的源或RP可達(dá),則 結(jié)束組播路由的切換流程,如果IGMP查詢器的源或RP不可達(dá),則執(zhí)行102。 在判斷主指定路由器或查詢器的某個(gè)源或RP是否可達(dá)時(shí),源或RP不可達(dá) 的情況包括單播協(xié)議出現(xiàn)故障或者指定的單播路由丟失等,當(dāng)出現(xiàn)上述情 況,則判斷該源或RP不可達(dá)。
102, 主指定路由器向備份指定路由器發(fā)送指示報(bào)文,或者查詢器向非查 詢器發(fā)送指示報(bào)文。
路由的切換過程是通過報(bào)文的發(fā)送來啟動(dòng)的,具體地,當(dāng)主指定路由器 的源或匯聚點(diǎn)不可達(dá),備份指定路由器向主指定路由器發(fā)送指示報(bào)文;或者 當(dāng)查詢器的源或匯聚點(diǎn)不可達(dá)時(shí),非查詢器向查詢器發(fā)送指示報(bào)文。
103, 根據(jù)指示報(bào)文,將備份指定路由器切換為主指定路由器,或者將非 查詢器切換為查詢器。
在本發(fā)明實(shí)施例中,備份指定路由器以BDR,非查詢器以非IGMP查詢 器為例進(jìn)行說明。當(dāng)接口配置PIMSM/SSM,則103具體為根據(jù)收到的指 示報(bào)文,將備份指定路由器切換為主指定路由器;當(dāng)接口不配置PIM SM/ SSM, 則103具體為根據(jù)收到的指示報(bào)文,將非組管理查詢器切換為組管理查 詢器。
對(duì)于PIM-SM和PIM-SSM這兩種域內(nèi)組播模式,在轉(zhuǎn)發(fā)組播數(shù)據(jù)包時(shí), 為避免接收端共享網(wǎng)段上的多臺(tái)路由器同時(shí)向此網(wǎng)段轉(zhuǎn)發(fā)數(shù)據(jù),需要在多 臺(tái)路由器中選舉出一臺(tái)路由器作為該網(wǎng)段的DR,由它負(fù)責(zé)此網(wǎng)段的數(shù)據(jù)轉(zhuǎn) 發(fā)。對(duì)于SM,其建立RPT樹的過程為路由器通過IGMP 了解到某個(gè)直連網(wǎng) 段有接收者加入某個(gè)組播組G;接收者DR查找到RP的RPF鄰居(即到RP的單播下一跳,并且是PIM鄰居),向其發(fā)送",G)加入;(、G)沿著從接 收者DR到RP的路徑逐跳擴(kuò)散,沿途路由器都創(chuàng)建相應(yīng)的(*,0項(xiàng),將接收 到加入的報(bào)文的接口加入出接口列表,成為RPT樹的節(jié)點(diǎn);源DR接收到 組播源的數(shù)據(jù),封裝到注冊(cè)報(bào)文,單播發(fā)送給RP; RP接收到注冊(cè)報(bào)文, 解封裝里面的組播數(shù)據(jù)報(bào)文,并沿共享樹轉(zhuǎn)發(fā)。但共享樹并不一定是到源 的最優(yōu)路徑,當(dāng)從RPT上的數(shù)據(jù)超過配置的閾值時(shí),接收者DR發(fā)起從RPT 到SPT的切換過程,其過程為接收者DR查找到源的RPF鄰居(即到源 的單播下一跳,并且是PIM鄰居)并向其發(fā)送(S,G)加入;(S,G)沿著從接 收者DR到源DR的路徑逐跳擴(kuò)散,沿途路由器創(chuàng)建(S,G)項(xiàng),并將接收到 (S,G)加入的接口加入到(S,G)項(xiàng)的出接口列表,沿途路由器成為SPT樹的 節(jié)點(diǎn);源DR沿SPT樹轉(zhuǎn)發(fā)數(shù)據(jù);接收者DR從SPT樹上接收到數(shù)據(jù),向到 RP的RPF鄰居發(fā)送(S,G)RPT剪枝消息,數(shù)據(jù)停止從RPT樹上轉(zhuǎn)發(fā)。對(duì)于 SSM,接收端路由器通過IGMPv3協(xié)議學(xué)習(xí)到源的信息,并且向源發(fā)送(S,G) 加入建立SPT樹進(jìn)行轉(zhuǎn)發(fā)。
具體地,102可以具體為主指定路由器將P頂接口設(shè)置為SILENT狀態(tài), 主指定路由器向備份指定路由器發(fā)送HOLDTIME為0的HELLO報(bào)文;或者查詢 器將PIM接口設(shè)置為SILENT狀態(tài),查詢器向非查詢器發(fā)送HOLDTIME為0的 HELLO報(bào)文。即切換前的主指定路由器不再收發(fā)PIM協(xié)議報(bào)文,由主指定路 由器變?yōu)槠胀酚善髌鳎床辉俪袚?dān)組播組中主指定路由器的轉(zhuǎn)發(fā)數(shù)據(jù)的職 責(zé);或者切換前的查詢器不再收發(fā)PIM協(xié)議報(bào)文,由查詢器變?yōu)榉遣樵兤鳎?即不再承擔(dān)組播組中查詢器的轉(zhuǎn)發(fā)數(shù)據(jù)的職責(zé)。
進(jìn)一步地,103可以具體為備份指定路由器收到指示報(bào)文后,刪除備份 指定路由器的鄰居信息,并通過上游接口發(fā)送加入報(bào)文;或者非查詢器收到 指示報(bào)文后,刪除非查詢器的查詢器信息,并通過上游接口發(fā)送加入報(bào)文。 即備份指定路由器收到指示報(bào)文后,刪除該備份路由器的鄰居信息,將自身 變?yōu)橹髦付酚善?,并通過上游接口發(fā)送加入報(bào)文,加入"t艮文可以為PIM JOIN報(bào)文,新的主指定路由器(即切換前原有的備份指定路由器)通過向上游發(fā) 送加入報(bào)文,將上游數(shù)據(jù)向新的主指定路由器所在的共享網(wǎng)段中轉(zhuǎn)發(fā)?;蛘?非查詢器收到指示報(bào)文后,刪除該非查詢器的鄰居信息,將自身變?yōu)椴樵兤鳎?br>
并通過上游接口發(fā)送加入報(bào)文,加入報(bào)文可以為PIM J0IN報(bào)文,新的查詢器 (即切換前原有的非查詢器)通過向上游發(fā)送加入報(bào)文,將上游數(shù)據(jù)向新的 查詢器所在的共享網(wǎng)段中轉(zhuǎn)發(fā)。
在103之后,還可以包括當(dāng)主指定路由器的源或匯聚點(diǎn)恢復(fù)可達(dá)后, 將切換前的主指定路由器的PIM接口退出SILENT狀態(tài),發(fā)送HELLO報(bào)文,重 新選舉主指定路由器。或者當(dāng)查詢器的源或匯聚點(diǎn)恢復(fù)可達(dá)后,將切換前的 查詢器的PIM接口退出SILENT狀態(tài),發(fā)送HELLO才艮文,重新選舉查詢器。
或者,除上述技術(shù)方案外,102還可以具體為主指定路由器向備份指定 路由器發(fā)送指定路由器操作報(bào)文,在指定路由器操作報(bào)文中攜帶源或匯聚點(diǎn) 的信息;備份指定路由器根據(jù)源或匯聚點(diǎn)的信息查找備份指定路由器中存儲(chǔ) 的組播路由的表項(xiàng)?;蛘卟樵兤飨蚍遣樵兤靼l(fā)送指定路由器操作報(bào)文,在指 定路由器操作報(bào)文中攜帶源或匯聚點(diǎn)的信息;非查詢器根據(jù)源或匯聚點(diǎn)的信 息查找非查詢器中存儲(chǔ)的組播路由的表項(xiàng)。即在備份指定路由器接收到的指 示報(bào)文中攜帶有源或匯聚點(diǎn)的信息,該信息用于指示該源或匯聚點(diǎn)的組播地 址以及對(duì)應(yīng)的組播路由的表項(xiàng)信息,其中包括主指定路由器出現(xiàn)故障的單播 路由對(duì)應(yīng)的源或RP的表項(xiàng)信息,備份指定路由器根據(jù)該信息查找備份指定路 由器存儲(chǔ)的該源或匯聚點(diǎn)組播路由的表項(xiàng),將其中使用該源或匯聚點(diǎn)的組播 路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置為主指定路由器。或者在非查詢器接收到 的指示報(bào)文中攜帶有源或匯聚點(diǎn)的信息,該信息用于指示該源或匯聚點(diǎn)的組 播地址以及對(duì)應(yīng)的組播路由的表項(xiàng)信息,其中包括查詢器中出現(xiàn)故障的單播 路由對(duì)應(yīng)的源或RP的表項(xiàng)信息,非查詢器根據(jù)該信息查找非查詢器中存儲(chǔ)的 該源或匯聚點(diǎn)組播路由的表項(xiàng),將其中使用該源或匯聚點(diǎn)的組播路由的表項(xiàng) 的下游接口的狀態(tài)設(shè)置為查詢器。進(jìn)一步地,103還可以具體為主指定路由器或查詢器向備份指定路由 器或非查詢器發(fā)送指示報(bào)文;備份指定路由器或非查詢器根據(jù)指示報(bào)文,將 備份指定路由器或非查詢器中使用該源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接 口的狀態(tài)設(shè)置為主指定路由器或查詢器,并通過上游接口發(fā)送加入報(bào)文。路 由的切換過程同樣是通過報(bào)文的發(fā)送來啟動(dòng)的,即備份指定路由器向主指定 路由器發(fā)送指示報(bào)文,或者非查詢器向查詢器發(fā)送指示報(bào)文。備份路由器或 非查詢器根據(jù)接收到的指示報(bào)文中攜帶的源或匯聚點(diǎn)的信息,將備份指定路 由器或非查詢器中使用已出現(xiàn)故障的組播路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置 為主指定路由器或查詢器,即用備份指定路由器或非查詢器中的接口來代替 主指定路由器或查詢器中出現(xiàn)故障的組播路由的源或RP所對(duì)應(yīng)的接口 ,而不 是將主指定路由器或查詢器的所有接口均作替換。
在103之后,還可以包括當(dāng)所述源或匯聚點(diǎn)恢復(fù)可達(dá)后,切換前的主 指定路由器向備份指定路由器發(fā)送指定路由器操作報(bào)文,取消備份指定路由 器中使用源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài);或者當(dāng)所述源或 匯聚點(diǎn)恢復(fù)可達(dá)后,切換前的查詢器向所述備份非查詢器發(fā)送所述指定路由 器操作報(bào)文,取消所述非查詢器中使用所述源或匯聚點(diǎn)的組播路由的表項(xiàng)的 下游接口的狀態(tài)。具體地,當(dāng)源或匯聚點(diǎn)恢復(fù)可達(dá)后,主指定路由器向備份 指定路由器發(fā)送指定路由器操作報(bào)文,備份指定路由器根據(jù)指定路由器恢復(fù) 報(bào)文取消備份指定路由器中使用源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的 主指定路由器或查詢器狀態(tài),并刪除出接口?;蛘卟樵兤飨蚍遣樵兤靼l(fā)送指 定路由器操作報(bào)文,非查詢器根據(jù)指定路由器恢復(fù)報(bào)文取消非查詢器中使用 源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的查詢器狀態(tài),并刪除出接口 。
再進(jìn)一步地,指定路由器操作報(bào)文包括第一字段和第二字段,第一字段 用于標(biāo)識(shí)路由類型,例如標(biāo)識(shí)該路由是到源的路由還是到匯聚點(diǎn)的路由,第 二字段用于標(biāo)識(shí)報(bào)文類型,例如標(biāo)識(shí)該報(bào)文具體為指定路由器刪除報(bào)文(DR CANCEL報(bào)文)或者為指定路由器恢復(fù)報(bào)文(DR RESTORE報(bào)文)。更進(jìn)一步地,在101之前,還可以包括才艮據(jù)雙向轉(zhuǎn)發(fā)^企測協(xié)議
(Bidirectional Forwarding Detection, BFD)判斷源或RP是否可達(dá),即才艮 據(jù)BFD檢測源或RP的可達(dá)性。源或RP的可達(dá)性是指源或RP的單播路由正常, 未丟失,或者單播協(xié)議正常,未出現(xiàn)故障。BFD檢測出到源或RP不可達(dá)時(shí), 通知組纟番協(xié)議;組播協(xié)議處理這部分表項(xiàng),利用發(fā)送HOLDTIME為0的HELLO 報(bào)文或者發(fā)送使得該表項(xiàng)的出接口進(jìn)入SILENT狀態(tài),并通知BDR (或非IGMP 查詢器,下同)來負(fù)責(zé)轉(zhuǎn)發(fā);BDR處理相應(yīng)的表項(xiàng),成為DR并負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)。
本實(shí)施例提供了 一種組播路由的切換方法,通過判斷源或匯聚點(diǎn)不可達(dá), 對(duì)主指定路由器或查詢器進(jìn)行切換,解決了源或匯聚點(diǎn)不可達(dá)導(dǎo)致的數(shù)據(jù)斷 流問題,并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布單播路由。
圖2為本發(fā)明組播路由的切換方法實(shí)施例二的流程圖,如圖2所示,本 實(shí)施例提供的組播路由的切換方法是以實(shí)施例一為基礎(chǔ)的具體的技術(shù)方案之 一,包括
201,判斷DR的源或RP是否可達(dá),如果是,則結(jié)束本流程,否則執(zhí)行
202。
在進(jìn)行組播數(shù)據(jù)轉(zhuǎn)發(fā)前,在組播組的多個(gè)路由器中選舉出 一 臺(tái)路由器作 為DR來負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)。根據(jù)BFD檢測該DR的源或RP的可達(dá)性,BFD檢測出 某個(gè)源或RP不可達(dá)時(shí),即判斷該源或RP是否可達(dá),包括單播協(xié)議出現(xiàn)故障 或者指定的單播路由丟失等。
需要指出的是,本實(shí)施例以接口配置PIM SM/SSM的情況為例來進(jìn)行說明, 對(duì)于接口未配置PIMSM/SSM的情況,只是將主指定路由器(即本實(shí)施例中的 DR)用IGMP查詢器,備份指定路由器(即本實(shí)施例中的BDR)用非IGMP查 詢器來代替即可。在本實(shí)施例的后續(xù)流程以及后續(xù)的其它實(shí)施例中情況類似, 不再贅述。
202, DR向BDR發(fā)送HELL(H艮文。
經(jīng)過檢測判斷,該單播協(xié)議出現(xiàn)故障或者某個(gè)源或RP不可達(dá)時(shí),則通過內(nèi)部網(wǎng)關(guān)十辦i義(Interior Gateway Protocol, IGP)與PIM 4關(guān)動(dòng),DR向 BDR發(fā)送HOLDTIME為0的HELLO才艮文,即將PIM接口自動(dòng)置為SILENT狀 態(tài),不再收發(fā)PIM協(xié)議報(bào)文,當(dāng)前DR通過發(fā)送HOLDTIME為0的HELLO報(bào)文 將此事件告知BDR。
203, BDR接收到HELLO報(bào)文后,將自身切換為DR。
BDR根據(jù)DR發(fā)送的HOLDTIME為0的HELLO報(bào)文,刪除自身的鄰居信息, 即刪除BDR原有的鄰居接口,將自己變?yōu)镈R,此時(shí)的當(dāng)前DR為BDR,并通過 上游接口發(fā)送加入報(bào)文,此處具體為PIM JOIN報(bào)文,把數(shù)據(jù)從上游接口引下 來進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
204,當(dāng)該源或匯聚點(diǎn)恢復(fù)可達(dá)后,重新選舉DR。
當(dāng)原有DR的源或RP恢復(fù)可達(dá)后,原有DR的單播路由恢復(fù)正常,原有 DR退出SILENT狀態(tài),再次發(fā)送HELLO報(bào)文,向其鄰居節(jié)點(diǎn)宣告自身的狀態(tài) 信息,組播組中的各成員獲取該信息后,根據(jù)DR的選舉規(guī)則重新選舉DR。
本實(shí)施例提供了一種組播路由的切換方法,當(dāng)某個(gè)源或RP不可達(dá)后, 通過將備份路由器切換為指定路由器,解決了某個(gè)源或RP不可達(dá)導(dǎo)致的 數(shù)據(jù)斷流問題,并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布單播路由, 達(dá)到了保障安全的目的,又能為組播提供冗余備份機(jī)制。
圖3為本發(fā)明組^番路由的切換方法實(shí)施例三的示意圖,如圖3所示,本 實(shí)施例是在上述實(shí)施例二的基礎(chǔ)上,執(zhí)行實(shí)施例二中的201 ~ 204所完成的具 體的實(shí)施過程。
在本實(shí)施例的示意圖中,Source為組播源,User為接受者,RTC/RTD和 接收者相連的接口配置IGMP。所有接口均配置PIMSM, RTA、 RTB、 RTC和RTD 為組播組中的路由器,RTA/RTB/RTC/RTD和用戶側(cè)相連的接口不配置任何單 播協(xié)議,也不向用戶側(cè)發(fā)布單播路由,RTB和RTD分別為其在所在網(wǎng)段的DR。
如圖3所示,在本實(shí)施例的實(shí)施過程中,包含如下幾種具體的場景當(dāng) 源端DR失去到RP的路由,即RP不可達(dá)時(shí),如果只有一個(gè)RP, RTB的接口發(fā)送H0LDTIME為Q的HELLO報(bào)文,進(jìn)入到SILENT狀態(tài),不再4妄收和發(fā)送PIM 協(xié)議才艮文;當(dāng)RTA收到此HELLO才艮文后,刪除鄰居信息,成為DR,添加注冊(cè) 出接口,給RP發(fā)送注冊(cè)報(bào)文;在故障恢復(fù)之后,RTB恢復(fù)正常,退出SILENT 狀態(tài),發(fā)送HELLO報(bào)文,重新進(jìn)行DR選舉。當(dāng)接收端DR失去到RP的路由, 即RP不可達(dá)時(shí),如果通過RPT進(jìn)行轉(zhuǎn)發(fā),且只有一個(gè)RP, RTD的4妾口向RTC 發(fā)送HOLDTIME為0的HELLO報(bào)文;RTC接收到報(bào)文后成為DR,添加出接口 , 給朝向RP的上游發(fā)送PIM JOIN報(bào)文,把數(shù)據(jù)引下來進(jìn)行轉(zhuǎn)發(fā)。如果通過SPT 進(jìn)行轉(zhuǎn)發(fā),且只有一個(gè)組播源,同樣由RTD發(fā)送HOLDTIME為0的HELLO報(bào)文; RTC接收到報(bào)文成為DR,后續(xù)的流程與上述兩個(gè)場景類似。
需要指出的是,對(duì)于所有接口配置PIMSSM, RTC/RTD和接收者相連的接 口配置IGMP的情況,直接通過SPT進(jìn)行轉(zhuǎn)發(fā),不需要RP,當(dāng)只有一個(gè)組播 源時(shí),實(shí)施過程與上述場景類似;類似地,對(duì)于RTC/RTD和接收者相連的接 口只配置IGMP,其他接口均配置PIM SM/SSM的情況,由共享網(wǎng)段上的路由 器選舉出一個(gè)IGMP查詢器來負(fù)責(zé)此網(wǎng)段的數(shù)據(jù)轉(zhuǎn)發(fā)(例如RTD),當(dāng)只有一個(gè) 組播源或者RP時(shí),其實(shí)施過程與上述場景也類似,只是RTD作為IGMP查詢 器而不是DR,在此不再贅述。
本實(shí)施例提供了一種具體的組播路由的切換方法,當(dāng)某個(gè)源或RP不 可達(dá)后,通過將備份路由器切換為指定路由器,解決了源或DR不可達(dá)導(dǎo) 致的數(shù)據(jù)斷流問題,并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布單播路 由,達(dá)到了保障安全的目的,又能為組播提供冗余備份機(jī)制。
圖4為本發(fā)明組播5^由的切換方法實(shí)施例四的流程圖,如圖4所示,本 實(shí)施例提供的組播路由的切換方法是以實(shí)施例一為基礎(chǔ)的具體的技術(shù)方案之 二,包括
401,判斷DR的源或RP是否可達(dá),如果是,則結(jié)束本流程,否則執(zhí)行
402。
根據(jù)BFD檢測該DR的源或RP的可達(dá)性,BFD檢測出某個(gè)源或RP不可達(dá)時(shí),可以具體為單播協(xié)議出現(xiàn)故障或者指定的單播路由丟失等。
需要指出的是,本實(shí)施例以接口配置PIM SM/SSM的情況為例來進(jìn)行說明, 對(duì)于接口未配置PIMSM/SSM的情況,只是將主指定路由器(即本實(shí)施例中的 DR)用IGMP查詢器,備份指定路由器(即本實(shí)施例中的BDR)用非IGMP查 詢器來代替即可。在本實(shí)施例的后續(xù)流程以及后續(xù)的其它實(shí)施例中情況類似, 不再贅述。
402, DR向BDR發(fā)送DR CANCEL/RESTORE沖艮文。
判斷DR的某個(gè)源或RP的單播路由出現(xiàn)故障之后,DR向BDR發(fā)送一個(gè) DR CANCEL/RESTORE才艮文。具體地,圖5為本發(fā)明組播路由的切換方法實(shí) 施例四中指示報(bào)文的格式示意圖,如圖5所示,DR CANCEL/RESTORE報(bào)文類 型為9,攜帶RP或源的單播地址,其中Encoded-Source Address為PIM協(xié) 議中定義。DR CANCEL/RESTORE才艮文包括第一字^:和第二字^a,第一字段用 于標(biāo)識(shí)路由類型,第二字段用于標(biāo)識(shí)報(bào)文類型,具體地,第一字段為圖5中 的SIWIR字段,第二字段為圖5中的Rsrvd字段。當(dāng)S為1時(shí),表示為到源 的路由,當(dāng)S為O時(shí),表示為到RP的路由;當(dāng)Rsrvd為0時(shí),表示該報(bào)文為 DR CANCEL報(bào)文,當(dāng)Rsrvd為1時(shí),表示該報(bào)文為DR RESTORE報(bào)文。
具體地,402中DR向BDR發(fā)送的DR CANCEL/RESTORE才艮文為DR CANCEL 報(bào)文。經(jīng)過檢測判斷,該單播協(xié)議出現(xiàn)故障或者某個(gè)源或RP的單播路由丟失, 則DR向BDR發(fā)送DR CANCEL/RESTORE報(bào)文,并在報(bào)文中攜帶RP信息。
403, BDR根據(jù)接收到的DR CANCEL/RESTORE報(bào)文,將BDR中使用該源或 RP的組播路由的表項(xiàng)的下游接口設(shè)置為DR。
BDR接收到DR CANCEL報(bào)文后,根據(jù)此報(bào)文中攜帶的RP信息在BDR中查 找使用該源或RP的組播路由的表項(xiàng),將BDR中使用已出現(xiàn)故障的組播路由的 表項(xiàng)的下游接口的狀態(tài)設(shè)置為DR,即用BDR中的這些接口來代替DR中出現(xiàn) 故障的組播路由的源或RP所對(duì)應(yīng)的接口 ,而不是將DR的所有接口均作替換。 BDR將下游變?yōu)镈R狀態(tài),添加注冊(cè)出接口或出接口,給朝向源或RP的上游發(fā)送加入報(bào)文,該加入報(bào)文具體為PIM JOIN報(bào)文,把數(shù)據(jù)從上游接口引下來
在BDR所在的共享網(wǎng)段中轉(zhuǎn)發(fā)。
404,當(dāng)源或RP恢復(fù)可達(dá)后,BDR取消表項(xiàng)的DR狀態(tài)。
當(dāng)原有DR的源或RP恢復(fù)可達(dá)后,原有DR的單播路由恢復(fù)正常,原有 DR向再次向BDR發(fā)送DR CANCEL/RESTORE才艮文,404中的DR CANCEL/RESTORE 凈艮文具體為DR RESTORE報(bào)文。BDR接收到DR的通知后,取消表項(xiàng)的DR狀態(tài), 刪除注冊(cè)出接口或刪除出接口,繼續(xù)由原有DR進(jìn)行轉(zhuǎn)發(fā)。
本實(shí)施例提供了一種組播路由的切換方法,當(dāng)某個(gè)源或RP不可達(dá)后, 通過將組播路由的表項(xiàng)的下游接口設(shè)置為指定路由器,解決了某個(gè)源或RP 不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題,并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā) 布單播路由,達(dá)到了保障安全的目的,又能為組播提供冗余備份機(jī)制。
圖6為本發(fā)明組播路由的切換方法實(shí)施例五的示意圖,如圖6所示,本 實(shí)施例是在上述實(shí)施例四的基礎(chǔ)上,執(zhí)行實(shí)施例四中的401 ~ 404所完成的具 體的實(shí)施過程。
在本實(shí)施例的示意圖中,Source為組播源,User為接受者,RTC/RTD和 接收者相連的接口配置IGMP。所有接口均配置PIMSM, RTA、 RTB、 RTC和RTD 為組播組中的路由器,RTA/RTB/RTC/RTD和用戶側(cè)相連的接口不配置任何單 播協(xié)議,也不向用戶側(cè)發(fā)布單播路由,RTB和RTD分別為其在所在網(wǎng)段的DR。
如圖6所示,在本實(shí)施例的實(shí)施過程中,包含如下幾種具體的場景當(dāng) 源端DR失去到RP的路由,即RP不可達(dá)時(shí),如果有多個(gè)RP,且只有其中一 部分RP的單插-路由出現(xiàn)故障,RTB的接口發(fā)送帶有RP信息的DR CANCEL報(bào) 文;當(dāng)RTA收到此報(bào)文后,查找使用此RP的表項(xiàng),將上游接口變?yōu)镈R狀態(tài), 添加注冊(cè)出接口,給RP發(fā)送注冊(cè)報(bào)文;在故障恢復(fù),即RP恢復(fù)可達(dá)之后, RTB發(fā)送DR RESTORE報(bào)文通知RTA, RTA取消表項(xiàng)的DR狀態(tài),刪除注冊(cè)出接 口 。當(dāng)接收端DR失去到RP的路由,即RP不可達(dá)時(shí),如果通過RPT進(jìn)行轉(zhuǎn)發(fā), 且有多個(gè)RP,當(dāng)只有其中一部分RP的單播路由出現(xiàn)故障后,RTD的接口發(fā)送攜帶有RP的DR CANCEL報(bào)文;RTC接收到報(bào)文后,查找使用此RP的表項(xiàng), 將下游接口變?yōu)镈R狀態(tài),添加出接口,給朝向RP的上游發(fā)送PIM J0IN^艮文, 把數(shù)據(jù)引下來進(jìn)行轉(zhuǎn)發(fā)。如果通過SPT進(jìn)行轉(zhuǎn)發(fā),且有多個(gè)組播源,當(dāng)只有 其中一部分RP的單播路由出現(xiàn)故障后,同樣由RTD發(fā)送DR CANCEL報(bào)文;RTC 接收到報(bào)文將下游變?yōu)镈R狀態(tài),后續(xù)的流程與上述兩個(gè)場景類似。
需要指出的是,對(duì)于所有接口配置PIMSSM, RTC/RTD和接收者相連的接 口配置IGMP的情況,直接通過SPT進(jìn)行轉(zhuǎn)發(fā),不需要RP,當(dāng)有多個(gè)組播源 時(shí),且只有其中一部分RP的單播路由出現(xiàn)故障后,實(shí)施過程與上述場景類似; 類似地,對(duì)于RTC/RTD和接收者相連的接口只配置IGMP,其他接口均配置PIM SM/SSM的情況,由共享網(wǎng)段上的路由器選舉出一個(gè)IGMP查詢器來負(fù)責(zé)此網(wǎng) 段的數(shù)據(jù)轉(zhuǎn)發(fā)(例如RTD),當(dāng)有多個(gè)組播源或者RP時(shí),且只有其中一部分RP 的單播路由出現(xiàn)故障后,其實(shí)施過程與上述場景也類似,只是RTD作為IGMP 查詢器而不是DR,在此不再贅述。
本實(shí)施例提供了一種具體的組播路由的切換方法,當(dāng)某個(gè)源或RP不 可達(dá)后,通過將組播路由的表項(xiàng)的下游接口設(shè)置為指定路由器,解決了某 個(gè)源或RP不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題,并且不需要在用戶側(cè)接口配置單 播協(xié)議,發(fā)布單播路由,達(dá)到了保障安全的目的,又能為組播提供冗余備 份機(jī)制。
圖7為本發(fā)明組播路由的切換方法實(shí)施例六的流程圖,如圖7所示,本 實(shí)施例提供的組播路由的切換方法包括
701,判斷主指定路由器源或RP,或者查詢器的源或RP是否可達(dá),如果 是,則結(jié)束組播路由的切換流程,否則執(zhí)行702。
本實(shí)施例同實(shí)施例一類似,對(duì)應(yīng)于兩種不同的應(yīng)用環(huán)境,當(dāng)接口配置 PIMSM/SSM,則701具體為判斷主指定路由器的源或RP是否可達(dá),如果 主指定路由器的源或RP可達(dá),則結(jié)束組播路由的切換流程,如果主指定路 由器的源或RP不可達(dá),則執(zhí)行702,其中,對(duì)于接口配置PIM SSM的情況,只需判斷主指定路由器的源是否可達(dá);當(dāng)接口不配置PIM SM/SSM,則701 具體為判斷查詢器(查詢器可以具體為IGMP查詢器,下同)的源或RP 是否可達(dá),如果查詢器的源或RP可達(dá),則結(jié)束組播路由的切換流程,如果查 詢器的源或RP不可達(dá),則執(zhí)行702。在判斷主指定路由器或查詢器的某個(gè) 源或RP是否可達(dá)時(shí),源或RP不可達(dá)的情況包括單播協(xié)議出現(xiàn)故障或者指 定的單播路由丟失等,當(dāng)出現(xiàn)上述情況,則判斷該源或RP不可達(dá)。
702,將有本地接收者加入的下游接口設(shè)置為上游接口 。
該實(shí)施例對(duì)應(yīng)的情況為當(dāng)?shù)皆椿騌P不可達(dá)時(shí),存在本地接受者的下游接 口,即收到過IGMP的加入,則將該下游接口設(shè)置為上游接口。在將有本地接 收者的下游接口設(shè)置為上游接口后,向該上游接口發(fā)送加入報(bào)文,即發(fā)送PIM JOIN報(bào)文。上游接口 (即有本地接收者的下游接口 )根據(jù)接收到的PIMJOIN 報(bào)文進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),即當(dāng)在路由器上檢測到某個(gè)源或RP不可達(dá)后,由于存在 有本地接收者接入的下游接口 ,則將該路由設(shè)置為缺省路由,將數(shù)據(jù)從該上 游接口上進(jìn)行轉(zhuǎn)發(fā)。
進(jìn)一步地,在701之前,還包括根據(jù)BFD檢測源或RP的可達(dá)性。源或 RP的可達(dá)性是指源或RP的單播路由正常,單播路由未丟失,或者單播協(xié)議 未出現(xiàn)故障,如果某個(gè)源或RP的單播協(xié)議出現(xiàn)故障或者指定的單播路由丟 失,則判斷該源或RP不可達(dá)。
同上述實(shí)施例二 實(shí)施例五類似,本實(shí)施例提供的701 ~ 702在具體實(shí)施 過程中也包含多種應(yīng)用場景的情況。對(duì)于接口配置PIMSM的情況,當(dāng)接收端 DR到RP不可達(dá)時(shí),如果進(jìn)行RPT轉(zhuǎn)發(fā),不管只有一個(gè)RP,還是有多個(gè)RP的 情況,當(dāng)RP不可達(dá)時(shí),如果還有本地接收者,則向有本地接收者的接口發(fā)送 PIM JOIN報(bào)文,將此路由作為缺省路由;當(dāng)接收端DR到源不可達(dá)時(shí),如果 通過SPT進(jìn)行轉(zhuǎn)發(fā),不管只有一個(gè)RP,還是有多個(gè)RP的情況,當(dāng)RP不可達(dá) 時(shí),如果還有本地接收者,則與上述方案類似。對(duì)于接口配置PIM SSM的情 況,不管只有一個(gè)組播源,還是有多個(gè)組播源的情況,當(dāng)源不可達(dá)時(shí),如果還有本地接收者,則與上述方案類似,此處不再贅述。
本實(shí)施例提供了另一種組播路由的切換方法,當(dāng)某個(gè)源或RP不可達(dá) 后,如果存在有本地接收者的接口 ,通過改變路由路徑,解決了某個(gè)源或 RP不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題,并且不需要在用戶側(cè)接口配置單播協(xié)議, 發(fā)布單播路由。
圖8為本發(fā)明組播路由的切換裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖8所示, 本實(shí)施例提供的組播路由的切換裝置包括第一判斷模塊101、報(bào)文發(fā)送模 塊102和切換模塊103,其中,第一判斷模塊101用于判斷主指定路由器的 源或匯聚點(diǎn),或查詢器的源或匯聚點(diǎn)是否可達(dá);報(bào)文發(fā)送模塊102用于當(dāng)?shù)?一判斷模塊101的判斷結(jié)果為主指定路由器的源或匯聚點(diǎn)不可達(dá)時(shí),向備份 指定路由器發(fā)送指示報(bào)文,或者當(dāng)?shù)谝慌袛嗄K101的判斷結(jié)果為查詢器的 源或匯聚點(diǎn)不可達(dá)時(shí),向非查詢器發(fā)送指示報(bào)文;切換模塊103用于根據(jù)報(bào) 文發(fā)送模塊102發(fā)送的指示報(bào)文將備份指定路由器切換為主指定路由器,或 根據(jù)報(bào)文發(fā)送模塊102發(fā)送的指示報(bào)文將非查詢器切換為查詢器。
進(jìn)一步地,切換模塊103可以用于收到報(bào)文發(fā)送模塊102發(fā)送的指示報(bào) 文后,刪除備份指定路由器的鄰居信息,并通過上游接口發(fā)送加入報(bào)文;或 者收到報(bào)文發(fā)送模塊102發(fā)送的指示報(bào)文后,刪除非查詢器的查詢器信息, 并通過上游接口發(fā)送加入4艮文。
更進(jìn)一步地,本實(shí)施例提供的組播路由的切換裝置還可以包括路由恢 復(fù)模塊,用于當(dāng)?shù)谝慌袛嗄K101的判斷結(jié)果為源或匯聚點(diǎn)恢復(fù)可達(dá)后,將 切換前的主路由器的PIM接口退出SILENT狀態(tài);或者當(dāng)?shù)谝慌袛嗄K101的 判斷結(jié)果為源或匯聚點(diǎn)恢復(fù)可達(dá)后,將切換前的查詢器的PIM接口退出 SILENT狀態(tài)。
或者,除上述結(jié)構(gòu)外,本實(shí)施例提供的組播路由的切換裝置中的切換模 塊103還可以具體用于根據(jù)報(bào)文發(fā)送模塊102發(fā)送的指示報(bào)文,將備份指定 路由器中使用源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置為主指定路由器,并通過上游接口發(fā)送加入報(bào)文;或者根據(jù)報(bào)文發(fā)送模塊102發(fā)送的 指示報(bào)文,將非查詢器中使用源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀 態(tài)設(shè)置為查詢器,并通過上游接口發(fā)送加入報(bào)文。
更進(jìn)一步地,本實(shí)施例提供的組播路由的切換裝置還可以包括路由恢 復(fù)模塊,用于當(dāng)所述第一判斷模塊的判斷結(jié)果為源或匯聚點(diǎn)恢復(fù)可達(dá)后,主 指定路由器向備份指定路由器發(fā)送指定路由器操作報(bào)文,取消備份路由器中 使用所述源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài);或者查詢器向非 查詢器發(fā)送指定路由器操作報(bào)文,取消非查詢器中使用所述源或匯聚點(diǎn)的組 播路由的表項(xiàng)的下游接口的狀態(tài)。
本實(shí)施例提供了 一種組播路由的切換裝置,通過設(shè)置第 一 判斷模塊、 報(bào)文發(fā)送模塊和切換模塊,解決了某個(gè)源或RP不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問 題,并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布單播路由,達(dá)到了保障 安全的目的。
圖9為本發(fā)明組播路由的切換裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖9所示, 本實(shí)施例提供的組播路由的切換裝置包括第二判斷模塊201和設(shè)置模塊 202,其中,第二判斷模塊201用于判斷主指定路由器的源或匯聚點(diǎn),或查詢 器的源或匯聚點(diǎn)是否可達(dá);設(shè)置模塊202用于根據(jù)第二判斷模塊201的判斷 結(jié)果為主指定路由器的源或匯聚點(diǎn)不可達(dá),將有本地接收者加入的下游接口 設(shè)置為上游接口,并通過所述上游接口發(fā)送加入報(bào)文;或者當(dāng)所述第二判斷 模塊的判斷結(jié)果為查詢器的源或匯聚點(diǎn)是否不可達(dá),將有本地接收者加入的 下游接口設(shè)置為上游接口 ,并向所述上游接口發(fā)送加入報(bào)文。
本實(shí)施例提供了另外 一種組播路由的切換裝置,通過設(shè)置第二判斷模 塊和設(shè)置模塊,解決了某個(gè)源或RP不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題,并且不 需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布單播路由。
通過上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的組播路由的切換方法 及裝置,通過判斷源或匯聚點(diǎn)不可達(dá),對(duì)主指定路由器或查詢器進(jìn)行切換,或者改變路由路徑,解決了某個(gè)源或匯聚點(diǎn)不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題, 并且不需要在用戶側(cè)接口配置單播協(xié)議,發(fā)布單播路由。
最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其
限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù) 人員應(yīng)當(dāng)理解其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者 對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù) 方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1、一種組播路由的切換方法,其特征在于,包括判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源或匯聚點(diǎn)是否可達(dá);若所述主指定路由器的源或匯聚點(diǎn)不可達(dá),則所述主指定路由器向備份指定路由器發(fā)送指示報(bào)文,根據(jù)所述指示報(bào)文,將所述備份指定路由器切換為主指定路由器;或者若所述查詢器的源或匯聚點(diǎn)不可達(dá),則所述查詢器向非查詢器發(fā)送指示報(bào)文,根據(jù)所述指示報(bào)文,將所述非查詢器切換為查詢器。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主指定路由器向備份 指定路由器發(fā)送指示報(bào)文,或者所述查詢器向非查詢器發(fā)送指示報(bào)文,具體 為所述主指定路由器將PIM接口設(shè)置為SILENT狀態(tài),所述主指定路由器向 所述備份指定路由器發(fā)送H0LDTIME為0的HELLO報(bào)文;或者所述查詢器將PIM接口設(shè)置為SILENT狀態(tài),所述查詢器向非查詢器發(fā)送 H0LDTIME為0的HELLO才艮文。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主指定路由器向備份 指定路由器發(fā)送指示報(bào)文,或者所述查詢器向非查詢器發(fā)送指示報(bào)文,具體 為所述主指定路由器向所述備份指定路由器發(fā)送指定路由器操作報(bào)文,在 所述指定路由器操作報(bào)文中攜帶所述源或匯聚點(diǎn)的信息;所述備份指定路由 器根據(jù)所述源或匯聚點(diǎn)的信息查找所述備份指定路由器中存儲(chǔ)的組播路由的 表項(xiàng);或者所述查詢器向所述非查詢器發(fā)送指定路由器操作報(bào)文,在所述指定路由 器操作報(bào)文中攜帶所述源或匯聚點(diǎn)的信息;所述非查詢器根據(jù)所述源或匯聚點(diǎn)的信息查找所述非查詢器中存儲(chǔ)的組 播路由的表項(xiàng)。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將備份指定路由器切換為主指定路由器,或者所述將非查詢器切換為查詢器,具體為所述備份指定路由器收到所述指示報(bào)文后,刪除所述備份指定路由器的鄰居信息,并通過上游接口發(fā)送加入報(bào)文;或者所述非查詢器收到所述指示報(bào)文后,刪除所述非查詢器的查詢器信息,并通過上游接口發(fā)送加入報(bào)文。
5、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述將備份指定路由器切 換為主指定路由器,或者所述將非查詢器切換為查詢器,具體為所述備份指定路由器根據(jù)所述指示報(bào)文,將所述備份指定路由器中使用 所述源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置為主指定路由器, 并通過上游接口發(fā)送加入報(bào)文;或者所述非查詢器根據(jù)所述指示報(bào)文,將所述非查詢器中使用所述源或匯聚 點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置為查詢器,并通過上游接口發(fā)送 加入才艮文。
6、 根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括當(dāng)所述源或匯聚 點(diǎn)恢復(fù)可達(dá)后,將所述切換前的主指定路由器的PIM接口退出所述SILENT狀 態(tài);或者當(dāng)所述源或匯聚點(diǎn)恢復(fù)可達(dá)后,將所述切換前的查詢器的PIM接口退出 所述SILENT狀態(tài)。
7、 根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括當(dāng)所述源或匯聚 點(diǎn)恢復(fù)可達(dá)后,切換前的主指定路由器向所述備份指定路由器發(fā)送所述指定 路由器操作報(bào)文,取消所述備份指定路由器中使用所述源或匯聚點(diǎn)的組播路 由的表項(xiàng)的下游接口的狀態(tài);或者當(dāng)所述源或匯聚點(diǎn)恢復(fù)可達(dá)后,切換前的查詢器向所述備^^非查詢器發(fā) 送所述指定路由器操作報(bào)文,取消所述非查詢器中使用所述源或匯聚點(diǎn)的組 播路由的表項(xiàng)的下游接口的狀態(tài)。
8、 根據(jù)權(quán)利要求5或7所述的方法,其特征在于,所述指定路由器操作報(bào)文包括第一字段和第二字段,所述第一字段用于標(biāo)識(shí)路由類型,所述第二 字段用于標(biāo)識(shí)報(bào)文類型。
9、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括根據(jù)雙向轉(zhuǎn)發(fā)檢 測協(xié)議檢測所述源或所述匯聚點(diǎn)的可達(dá)性,根據(jù)檢測結(jié)果判斷所述源或匯聚 點(diǎn)是否可達(dá)。
10、 一種組播路由的切換方法,其特征在于,包括 判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源或匯聚點(diǎn)是否可達(dá); 若所述主指定路由器的源或匯聚點(diǎn)不可達(dá),則將有本地接收者加入的下游接口設(shè)置為上游接口,并通過所述上游接口發(fā)送加入纟艮文;或者若所述查詢器的源或匯聚點(diǎn)不可達(dá),則將有本地接收者加入的下游接口 設(shè)置為上游接口,并通過所述上游接口發(fā)送加入報(bào)文。
11、 根據(jù)權(quán)利要求10所述的組播路由的切換方法,其特征在于,還包括 根據(jù)雙向轉(zhuǎn)發(fā)檢測協(xié)議判斷所述源或匯聚點(diǎn)是否可達(dá)。
12、 一種組播路由的切換裝置,其特征在于,包括 第一判斷模塊,用于判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源或匯聚點(diǎn)是否可達(dá);報(bào)文發(fā)送模塊,用于當(dāng)所述第 一判斷模塊的判斷結(jié)果為主指定路由器的 源或匯聚點(diǎn)不可達(dá)時(shí),向備份指定路由器發(fā)送指示報(bào)文,或者當(dāng)所述第一判 斷模塊的判斷結(jié)果為查詢器的源或匯聚點(diǎn)不可達(dá)時(shí),向所述非查詢器發(fā)送指 示報(bào)文;切換模塊,用于根據(jù)所述報(bào)文發(fā)送模塊發(fā)送的所述指示報(bào)文,將備份指 定路由器切換為主指定路由器,或?qū)⒎遣樵兤髑袚Q為查詢器。
13、 根據(jù)權(quán)利要求12所述的組播路由的切換裝置,其特征在于,所述切 換模塊用于收到所述報(bào)文發(fā)送模塊發(fā)送的所述指示報(bào)文后,刪除所述備份指 定路由器的鄰居信息,并通過上游接口發(fā)送加入報(bào)文,或者刪除所述非查詢器的查詢器信息,并通過上游接口發(fā)送加入^^文。
14、 根據(jù)權(quán)利要求12所述的組播路由的切換裝置,其特征在于,所述切 換模塊用于根據(jù)所述報(bào)文發(fā)送模塊發(fā)送的所述指示報(bào)文,將所述備份指定路 由器中使用所述源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置為主指 定路由器,并通過上游接口發(fā)送加入報(bào)文,或者將所述非查詢器中使用所述 源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀態(tài)設(shè)置為查詢器,并通過上游 才妻口發(fā)送加入4艮文。
15、 根據(jù)權(quán)利要求13所述的組播路由的切換裝置,其特征在于,還包括 路由恢復(fù)模塊,用于當(dāng)所述第一判斷模塊的判斷結(jié)果為所述源或匯聚點(diǎn)恢復(fù)可達(dá)后,將所述切換前的主路由器的PIM接口退出所述SILENT狀態(tài),或 者將所述切換前的查詢器的PIM接口退出所述SILENT狀態(tài)。
16、 根據(jù)權(quán)利要求14所述的組播路由的切換裝置,其特征在于,還包括 路由恢復(fù)模塊,用于當(dāng)所述第 一判斷模塊的判斷結(jié)果為所述源或匯聚點(diǎn)恢復(fù)可達(dá)后,所述主指定路由器向所述備份指定路由器發(fā)送指定路由器操作 報(bào)文,取消所述備份指定路由器中使用所述源或匯聚點(diǎn)的組播路由的表項(xiàng)的 下游接口的狀態(tài),或者所述查詢器向所述非查詢器發(fā)送指定路由器操作報(bào)文, 取消所述非查詢器中使用所述源或匯聚點(diǎn)的組播路由的表項(xiàng)的下游接口的狀 態(tài)。
17、 一種組播路由的切換裝置,其特征在于,包括 第二判斷模塊,用于判斷主指定路由器的源或匯聚點(diǎn),或者查詢器的源或匯聚點(diǎn)是否可達(dá);設(shè)置模塊,用于當(dāng)所述第二判斷模塊的判斷結(jié)果為所述主指定路由器的 源或匯聚點(diǎn)不可達(dá),將有本地接收者加入的下游接口設(shè)置為上游接口,并向 所述上游接口發(fā)送加入報(bào)文,或者所述查詢器的源或匯聚點(diǎn)不可達(dá),將有本 地接收者加入的下游接口設(shè)置為上游接口 ,并向所述上游接口發(fā)送加入報(bào)文。
全文摘要
本發(fā)明實(shí)施例公開了一種組播路由的切換方法及裝置,其中組播路由的切換方法包括判斷主指定路由器的源或匯聚點(diǎn),或查詢器的源或匯聚點(diǎn)是否可達(dá),如果否,則所述主指定路由器或者查詢器向備份指定路由器或非查詢器發(fā)送指示報(bào)文,根據(jù)指示報(bào)文,將備份指定路由器或非查詢器切換為主指定路由器或查詢器。其中組播路由的切換裝置包括第一判斷模塊用于判斷主指定路由器或查詢器的源或匯聚點(diǎn)是否可達(dá);報(bào)文發(fā)送模塊,用于當(dāng)所述第一判斷模塊的判斷為否時(shí),向所述備份指定路由器或非查詢器發(fā)送指示報(bào)文;切換模塊,用于將備份指定路由器或非查詢器切換為主指定路由器或查詢器。本發(fā)明實(shí)施例解決了源或匯聚點(diǎn)不可達(dá)導(dǎo)致的數(shù)據(jù)斷流問題。
文檔編號(hào)H04L12/56GK101610200SQ200810115250
公開日2009年12月23日 申請(qǐng)日期2008年6月19日 優(yōu)先權(quán)日2008年6月19日
發(fā)明者段少雄 申請(qǐng)人:華為技術(shù)有限公司