專利名稱:一種組播數(shù)據(jù)的傳輸方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種組播數(shù)據(jù)的傳輸方法和設(shè)備。
背景技術(shù):
隨著IPTV(Internet Protocol Television,交互式網(wǎng)絡(luò)電視)、視頻會議等網(wǎng)絡(luò) 業(yè)務(wù)的開展,組播業(yè)務(wù)在現(xiàn)有網(wǎng)絡(luò)上越來越受到廣泛的應(yīng)用,作為與單播和廣播并列的通 信方式,組播技術(shù)能夠有效地解決單點發(fā)送、多點接收的問題,從而實現(xiàn)了網(wǎng)絡(luò)中點到多點 的高效數(shù)據(jù)傳送,節(jié)約大量網(wǎng)絡(luò)帶寬、降低網(wǎng)絡(luò)負載?,F(xiàn)有組播一般采用PIM(Protocol Independent Multicast,協(xié)議無關(guān)組播)協(xié)議, 對于大型組播網(wǎng)絡(luò),部署 PIM SM(Protocol Independent Multicast-SparseMode,協(xié)議無 關(guān)組播-稀疏模式)協(xié)議最為普遍,PIM-SM屬于稀疏模式的組播路由協(xié)議,使用“拉(Pull) 模式”傳送組播數(shù)據(jù),適用于組播組成員分布相對分散、范圍較廣的大中型網(wǎng)絡(luò)。此外,現(xiàn)有 應(yīng)用中,BIDIR (Bidirectional,雙向)PIM協(xié)議也有著比較廣泛的應(yīng)用前景。在PIM-SM中,運行PIM-SM協(xié)議的路由器周期性發(fā)送Hello消息,發(fā)現(xiàn)鄰接的PIM 路由器,并負責(zé)在多路訪問網(wǎng)絡(luò)中進行DR(DeSignated Router,指定路由器)選舉。DR負 責(zé)為與其直連的組成員向組播樹根節(jié)點方向發(fā)送加入/剪枝消息,或?qū)⒅边B組播源的數(shù)據(jù) 轉(zhuǎn)發(fā)到組播分發(fā)樹。其中,PIM-SM通過建立組播分發(fā)樹來進行組播數(shù)據(jù)包的轉(zhuǎn)發(fā),該組播分發(fā)樹分為 以組G的RP為根的共享樹和以組播源為根的最短路徑樹,PIM-SM可通過顯式的加入/剪 枝機制來完成組播分發(fā)樹的建立與維護。另外,PIM-SM中還涉及RP(Rendezvous Point,匯集點)的選擇機制,具體的,在 PIM-SM域內(nèi)配置一個或多個候選自舉路由器(Candidate-BSR),并使用一定規(guī)則從中選出 自舉路由器(BSR),PIM-SM域中還配置有候選RP路由器(Candidate-RP),該候選RP將包 含了地址及可服務(wù)的組播組等信息的報文單播發(fā)送給BSR,由BSR定期生成包括一系列候 選RP以及相應(yīng)組地址的自舉消息,該自舉消息在整個PIM-SM域中逐跳發(fā)送,路由器接收并 保存該自舉消息?;谏鲜龊蜻xRP,當(dāng)DR從直連主機接收到IGMPGnternet GroupManagement Protocol,互聯(lián)網(wǎng)組管理協(xié)議)加入報文,如果該DR沒有相應(yīng)組的路由項,則使用hash算 法將組地址映射到一個候選RP,然后向RP方向逐跳組播加入/剪枝消息。當(dāng)DR從直連主 機接收到組播數(shù)據(jù)包,如果該DR沒有相應(yīng)組的路由項,則使用hash算法將組地址映射到一 個候選RP,然后將組播數(shù)據(jù)封裝在注冊消息中單播發(fā)送到RP。BIDIR PIM是PIM SM的變種,組播流只會沿著相應(yīng)組的雙向共享樹傳遞,路由器 上只會出現(xiàn)(*,G)組播表項,該雙向共享樹以相應(yīng)組的RP地址為根,形成非環(huán)的樹狀拓撲。 組成員的加入過程需要通過Join (加入)報文來顯式加入,來自組播源的組播流會被路由 器無條件轉(zhuǎn)發(fā)到RP,然后沿著樹的各個分支流送往相應(yīng)組的接收者。另外,BIDIR PIM用于單個PIM域的多對多的應(yīng)用,組播源可以任意多,與PIM-SM相比,BIDIR PIM節(jié)省了 PIM-SM的源注冊過程,從而使得所有路由器僅依靠(*,G)表項來 進行組播流的轉(zhuǎn)發(fā),而不需要為特定組播源單獨建立狀態(tài),如圖1所示的單向共享樹與源 樹的示意圖和圖2所示的雙向共享樹的示意圖。具體的,在BIDIR PIM中,為了避免組播流出現(xiàn)環(huán)路,引入了一種新的 DF(Designated forwarder,指定轉(zhuǎn)發(fā)者)選舉機制,以建立一棵以RP為根的不會成環(huán)的 樹。在每一個網(wǎng)段和點對點鏈路上,所有路由器均參與DF選舉過程,該過程在特定網(wǎng)段或 點對點鏈路上為每一個RP選舉出一個路由器作為DF,DF負責(zé)向RP轉(zhuǎn)發(fā)從該網(wǎng)段的接口上 接收到的組播流。DF選舉過程基于單播路由表,具有到達RP的最佳單播路由的路由器會成為DF,從 而保證只有一份組播流會被轉(zhuǎn)發(fā)到RP。在為每個RP選舉DF時,會出現(xiàn)同一網(wǎng)段上存在多 個DF的可能,每一個DF分別為一個RP服務(wù);此外,一個特定的路由器會在不同的接口上被 選舉為DF。進一步的,存在接收者的網(wǎng)段上,只有被選舉為DF的路由器才會將接收到IGMP加 入報文的接口加入到出接口列表,并向RP發(fā)送(*,G)加入消息。當(dāng)一個下游路由器需要加 入共享樹時,其發(fā)送加入消息的RPF鄰居是該接口網(wǎng)段上的DF ;路由器收到加入/離開消 息時,如果該路由器不是消息接口網(wǎng)段上的DF,則忽略該消息;否則更新共享樹。BIDIR PIM域中的路由器只會創(chuàng)建(*,G)表項,(*,G)的出接口列表包括路由器 被選舉為DF網(wǎng)段上的接口,收到IGMP加入消息或PIM加入消息的接口。如果路由器處于 只有發(fā)送者沒有接收者的共享樹分支上,則會創(chuàng)建(*,G)表項,出接口列表為空。如果報文 來自于RPF接口,則該報文按照(*,G)表項的出接口列表進行轉(zhuǎn)發(fā);否則,只有DF可向RP 轉(zhuǎn)發(fā)來自DF所在接口的報文,并將報文按照(*,G)表項的出接口列表進行轉(zhuǎn)發(fā),其他路由 器丟棄來自非RPF接口的報文。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題BIDIR PIM具有很好的應(yīng)用前景,適用于多對多的組播應(yīng)用服務(wù),然而在部署 BIDIR P頂協(xié)議時,要求網(wǎng)絡(luò)中所有的路由器都支持該BIDIR PIM協(xié)議,從而導(dǎo)致BIDIR PIM 協(xié)議的應(yīng)用范圍受到了很大的限制。在實際使用過程中,有的路由器只能支持PIM SM協(xié)議,有的路由器可以支持BIDIR PIM協(xié)議,而現(xiàn)有技術(shù)中并沒有對PIM SM協(xié)議和BIDIR PIM協(xié)議進行很好的兼容,使BIWR PIM協(xié)議不能廣泛應(yīng)用,在具有大量組播源的場景中,由于(S,G)表項過多導(dǎo)致路由器的規(guī) 格受到了很大的限制。
發(fā)明內(nèi)容
本發(fā)明提供一種組播數(shù)據(jù)的傳輸方法和設(shè)備,以將PIM SM域中的組播數(shù)據(jù)傳輸給 BIDIR PIM域的接收者。為了達到上述目的,本發(fā)明提出了一種組播數(shù)據(jù)的傳輸方法,應(yīng)用于包括BIDIR PIM域和PIM SM域的組播網(wǎng)絡(luò)中,BIWR PIM域中與PIM SM域中第一設(shè)備連接的第二設(shè)備 上使能PIM SM協(xié)議,且所述第二設(shè)備為PIM SM域中的匯聚點,該方法包括以下步驟所述第二設(shè)備接收來自PIM SM域中組播源的指定路由器的注冊消息,并從所述注 冊消息中獲得組播源的地址信息和組播源對應(yīng)第一組播組的地址信息;
所述第二設(shè)備經(jīng)過所述第一設(shè)備向所述指定路由器發(fā)送攜帶組播源的地址信息 和第一組播組的地址信息的(S,G)加入報文,所述(S,G)加入報文經(jīng)過的設(shè)備建立(S,G) 表項;所述第二設(shè)備從所述第一設(shè)備接收來自組播源的第一組播組對應(yīng)的組播數(shù)據(jù),所 述組播數(shù)據(jù)根據(jù)所述(S,G)加入報文所經(jīng)過的設(shè)備建立的(S,G)表項路由到所述第二設(shè) 備;所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或者,所述第二 設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、以及BIDIRPIM域中的接收者。本發(fā)明提出了一種組播數(shù)據(jù)的傳輸設(shè)備,應(yīng)用于包括BIDIR PIM域和PIMSM域的 組播網(wǎng)絡(luò)中,所述傳輸設(shè)備為BIDIR PIM域中與PIM SM域中第一設(shè)備連接的第二設(shè)備,且 所述第二設(shè)備上使能PIM SM協(xié)議,并作為PIM SM域中的匯聚點,該傳輸設(shè)備包括注冊消息接收模塊,用于接收來自PM SM域中組播源的指定路由器的注冊消息;地址信息獲得模塊,用于從所述注冊消息中獲得組播源的地址信息和組播源對應(yīng) 第一組播組的地址信息;加入報文發(fā)送模塊,用于經(jīng)過所述第一設(shè)備向所述指定路由器發(fā)送攜帶組播源的 地址信息和第一組播組的地址信息的(S,G)加入報文;組播數(shù)據(jù)接收模塊,用于從所述第一設(shè)備接收來自組播源的第一組播組對應(yīng)的組 播數(shù)據(jù);組播數(shù)據(jù)發(fā)送模塊,用于將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或者, 將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、以及BIDIR PIM域中的接收者。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點通過在BIDIR PIM域中與PIMSM域中第一 設(shè)備連接的第二設(shè)備上使能PIM SM協(xié)議,且將第二設(shè)備設(shè)置為PIM SM域中的匯聚點,可以 通過第二設(shè)備將PIM SM域中的組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的接收者,并將BIDIR PIM 域中的組播數(shù)據(jù)發(fā)送給PIMSM域中的接收者;實現(xiàn)了 BIDIR PIM和PIM SM的平滑對接,使 得BIDIR PIM協(xié)議可得到廣泛的應(yīng)用。
圖1為現(xiàn)有技術(shù)中單向共享樹與源樹的示意圖;圖2為現(xiàn)有技術(shù)中雙向共享樹的示意圖;圖3為本發(fā)明一種應(yīng)用場景下提出的組網(wǎng)模式圖;圖4為本發(fā)明實施例一提出的一種組播數(shù)據(jù)的傳輸方法流程圖;圖5為本發(fā)明實施例二提出的一種組播數(shù)據(jù)的傳輸方法流程圖;圖6為本發(fā)明實施例三提出的一種組播數(shù)據(jù)的傳輸設(shè)備結(jié)構(gòu)圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明實施例進行詳細說明。本發(fā)明實施例一種應(yīng)用場景下提出的組播數(shù)據(jù)的傳輸方法,應(yīng)用于包含BIWR PIM域和PIM SM域的組播網(wǎng)絡(luò)中,如圖3所示,為本發(fā)明實施例應(yīng)用場景的組網(wǎng)示意圖, R1、R2、R3、R4、R5為BIDIR PIM域中三層設(shè)備(可以為路由器或者三層交換機),Clientl、Client3、組播服務(wù)器krverl為BIDIR PIM域中的應(yīng)用設(shè)備,S1、S2、S3、S4為PIM SM域中 三層設(shè)備(可以為路由器或者三層交換機),Client2、組播服務(wù)器%1^吐2為PIMSM域中 的應(yīng)用設(shè)備,為了方便描述,本發(fā)明實施例中各三層設(shè)備以路由器為例進行說明。本發(fā)明實施例中,組播服務(wù)器Serverf為組播組G2提供組播數(shù)據(jù),組播服務(wù)器 Serverl為組播組Gl提供組播數(shù)據(jù)?;谏鲜鼋M網(wǎng)情況,本發(fā)明實施例的配置階段情況如下A、在Rl上使能PIM-SM協(xié)議,基于PIM-SM協(xié)議,運行PIM-SM的路由器(R1、S1、S2、 S3、S4)會周期性發(fā)送PIM Hello消息,以發(fā)現(xiàn)鄰接的PIM路由器。具體的,Rl通過發(fā)送PIM Hello消息,Rl將Sl作為自身的PIM SM鄰居,記錄Rl 上指向Sl的出接口信息;同樣的,Sl將Rl作為自身的PIMSM鄰居,記錄Sl上指向Rl的出 接口信息;對S2、S3、S4等設(shè)備類似,例如,Sl將S3、S2作為自身的PIM SM鄰居,在此不再 詳加贅述。在Rl上使能BIDIR PIM協(xié)議,BIWR PIM協(xié)議的鄰居發(fā)現(xiàn)機制與PIMSM協(xié)議類似, 不同的是,BIWR PIM協(xié)議在PIM Hello消息中引入了 Bidir-Capable選項,該選項用于路 由器聲明自己具有參與BIDIR PIM協(xié)議運行的能力,因此,基于BIDIR PIM協(xié)議,運行BIDIR PIM的路由器(Rl、R2、R3、R4)會周期性發(fā)送PIM Hello消息,且Rl將R2、R4作為自身的 BIDIR鄰居,以此類推,R2將Rl、R3作為自身的BIWR鄰居,在此不再詳加贅述。B、在PIM-SM域中,可以配置多個候選的C-BSR,并按照一定的規(guī)則從多個候選的 C-BSR中選舉一個BSR, BSR是PIM-SM域的管理核心,一個PIM-SM域內(nèi)只能有一個BSR。本發(fā)明實施例中,需要將Rl手工配置為PIM-SM域中所有組播組的 C-RP (Candidate Rendezvous Point,候選匯聚點),在多個候選的C-BSR選舉BSR的過程 中,Rl可獲知網(wǎng)絡(luò)中哪個路由器為BSR,之后Rl將自身的信息(如地址信息、可提供的組播 組信息等)單播給BSR,BSR可將Rl的信息廣播給PIM-SM域中所有路由器(Si、S2、S3、S4 等);之后,由于本發(fā)明實施例中只配置Rl為所有組播組的C-RP,則PIM-SM域中所有路由 器均可保存Rl的信息,且知道Rl為PIM-SM域的RP。在BIDIR PIM域中,基于現(xiàn)有的BIDIR PIM協(xié)議,各路由器(R1、R2、R3、R4、R5)之 間可選舉出BIDIR PIM域的RP,本發(fā)明實施例中以R2為例,則BIDIR PIM域中各個路由器 會記錄R2為RP的相關(guān)信息。實施例一基于上述組網(wǎng)情況和配置情況,如圖4所示,組播源(組播服務(wù)器krverf)在 PIM-SM域,接收者(Clientl、Client3)在BIDIR PIM域時,相應(yīng)的數(shù)據(jù)傳輸過程包括步驟101,PIM_SM域中,指定路由器S3收到組播服務(wù)器Serverf發(fā)送的組播組G2 的組播數(shù)據(jù)時,指定路由器S3通過注冊消息將組播數(shù)據(jù)封裝成單播報文,并將封裝后的單 播注冊消息發(fā)送到組播組G2的匯聚點Rl。步驟102,當(dāng)匯聚點Rl收到該注冊消息后,向組播服務(wù)器krverf逐跳發(fā)送(S, G2)加入報文。其中,上述注冊消息中攜帶了組播服務(wù)的地址信息和組播組的地 址信息(組播組G2的地址信息);因此Rl可將組播服務(wù)器Serverf的地址作為目的地址 向組播服務(wù)器Serverf發(fā)送(S,G》加入報文(S為組播服務(wù)器krverf的地址,G2為組播 組G2的地址)。
具體的,在Rl上到達組播服務(wù)器krver2的單播路由中,有指向Sl的出接口,而 且通過PIM Hello消息維護的鄰居表項中,也有上述指向Sl的出接口,則Rl可通過指向Sl 的出接口將(S,G2)加入報文發(fā)送給Sl ;Sl根據(jù)(S,G2)加入報文建立(S,G)表項,該(S, G)表項出接口指向Rl。同樣的,在Sl上到達組播服務(wù)器krverf的單播路由中,有指向S3的出接口,而 且S3上維護的鄰居表項中也有上述指向S3的出接口,則S1可通過指向S3的出接口將(S, G2)加入報文發(fā)送給S3 ;S3根據(jù)(S,G》加入報文建立(S,G)表項,該(S,G)表項出接口指 向Si。進一步的,由于S3為組播服務(wù)!krverf的指定路由器,當(dāng)S3接收到(S,G2)加入 報文后,不再向其他路由器發(fā)送(S,G》加入報文。這樣,從匯聚點Rl到組播服務(wù)!krverf 所經(jīng)過的路由器形成了 SPT(最短路徑樹)的分支,分支上的路由器在其轉(zhuǎn)發(fā)表中生成了 (S,G)表項。步驟103,組播服務(wù)器Serverf發(fā)出的組播數(shù)據(jù)沿著已建立好的SPT到達匯聚點 Rl。具體的,組播服務(wù)器Serverf將組播數(shù)據(jù)發(fā)送給指定路由器S3,由于S3已建立 (S,G)表項,當(dāng)S3接收到來自組播服務(wù)!krverf的組播數(shù)據(jù)后,可匹配到對應(yīng)的(S,G) 表項,且(S,G)表項的出接口指向Si,則S3將通過該出接口將組播數(shù)據(jù)發(fā)送給Sl ;之后,當(dāng) Sl接收到來自S3的組播數(shù)據(jù)后,可匹配到對應(yīng)的(S,G)表項,且(S,G)表項的出接口指向 R1,則Sl將通過該出接口將組播數(shù)據(jù)發(fā)送給R1。需要注意的是,上述步驟101-103為PIM-SM域中組播數(shù)據(jù)傳輸至匯聚點Rl的過 程,本發(fā)明實施例中,由于該Rl上還使能了 BIDIR PIM協(xié)議,而且BIDIR PIM域中的匯聚點 為R2,則該方法還包括步驟104,Rl將組播數(shù)據(jù)發(fā)送給R2。在PIM-SM域中,Rl作為匯聚點可接收到來自 組播服務(wù)器Server2的組播數(shù)據(jù);在BIDIR PIM域中,由于匯聚點為R2,在Rl上到達R2的 單播路由中,有指向R2的出接口,且通過PIM Hel Io消息維護的鄰居表項中,也有上述指向 R2的出接口,則Rl可通過指向R2的出接口將組播數(shù)據(jù)發(fā)送給R2。需要注意的是,當(dāng)Rl接收到來自組播服務(wù)器krverf的組播數(shù)據(jù)后,還需要匹配 自身的(*,G)表項,如果可匹配到組播組G2對應(yīng)的(*,G)表項,則通過(*,G)表項的出接 口將組播數(shù)據(jù)轉(zhuǎn)發(fā)出去。例如,Rl在接收到組播數(shù)據(jù)之前,接收到來自R4的(*,G2)加入 報文時,則Rl將建立組播組G2的(*,G)表項,且(*,G)表項的出接口指向R4,此時Rl匹 配(*,G)表項后可通過指向R4的出接口將組播數(shù)據(jù)發(fā)送給R4。具體的,當(dāng)Clientl需要接收來自組播服務(wù)器krverf的組播數(shù)據(jù)時,加入組播服 務(wù)器Serverf對應(yīng)的組播組G2。其中,Clientl通過IGMP加入報文通知自身的指定轉(zhuǎn)發(fā)者 R4,該Clientl想加入組播組G2。當(dāng)R4接收到IGMP加入報文后,獲知組播組G2的信息, 建立(*,G)表項,出接口指向Clientl,并向BIDIR PIM域中匯聚點R2發(fā)送(*,G2)加入報文。由于R4上到達R2的單播路由中,有指向Rl的出接口,且通過PIMHello消息維護 的鄰居表項中也有上述指向Rl的出接口,則R4可通過指向Rl的出接口將(*,G2)加入報 文發(fā)送給Rl,由Rl根據(jù)(*,G2)加入報文建立(*,G)表項,出接口指向R4。
由于Rl上到達R2的單播路由中,有指向R2的出接口,且通過PIMHello消息維護 的鄰居表項中也有上述指向R2的出接口,則Rl可通過指向R2的出接口將(*,G2)加入報 文發(fā)送給R2,由R2根據(jù)(*,G2)加入報文建立(*,G)表項,出接口指向Rl。因此,Rl在接收到組播數(shù)據(jù)后,可匹配到出接口指向R4的(*,G)表項,并根據(jù)該 出接口指向R4的(*,G)表項將組播數(shù)據(jù)發(fā)送給R4 ;R4接收到來自Rl的組播數(shù)據(jù)后,可匹 配到出接口指向Clientl的(*,G)表項,并根據(jù)出接口指向Clientl的(*,G)表項將組播 數(shù)據(jù)發(fā)送給Clientl。步驟105,R2將組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的接收者Client3。本步驟之前,當(dāng)Client3需要接收來自組播服務(wù)器Serverf的組播數(shù)據(jù)時,加入組 播服務(wù)器Server2對應(yīng)的組播組G2。其中,Client3通過IGMP加入報文通知自身的指定轉(zhuǎn) 發(fā)者R5,該Client3想加入組播組G2。當(dāng)R5接收到IGMP加入報文后,獲知組播組G2的信 息,建立(*,G)表項,出接口指向Client3,并向BIDIR PIM域中的匯聚點R2發(fā)送(*,G2) 加入報文。具體的,由于R5上到達R2的單播路由中有指向R2的出接口,且通過PIM Hello 消息維護的鄰居表項中也有上述指向R2的出接口,則R5可通過指向R2的出接口將(*,G2) 加入報文發(fā)送給R2,由R2根據(jù)(*,G2)加入報文建立(*,G)表項,出接口指向R5。本步驟中,當(dāng)R2接收到來自Rl的組播數(shù)據(jù)后,可匹配到出接口指向R5的(*,G) 表項,并根據(jù)該出接口指向R5的(*,G)表項將組播數(shù)據(jù)發(fā)送給R5。當(dāng)R5接收到來自R2的 組播數(shù)據(jù)后,可匹配到出接口指向Client3的(*,G)表項,并根據(jù)該出接口指向Client3的 (*,G)表項將組播數(shù)據(jù)發(fā)送給Client3。本發(fā)明實施例中,當(dāng)R2接收到來自Rl的組播數(shù)據(jù)后,如果沒有匹配到組播組G2 對應(yīng)的(*,G)表項,則R2丟棄接收到的組播數(shù)據(jù)。需要注意的是,現(xiàn)有技術(shù)中,針對步驟102,當(dāng)匯聚點Rl收到來自指定路由器S3的 注冊報文后,如果Rl通過匹配自身的(*,G)表項獲知組播組G2沒有接收者時(即Rl上沒 有組播組G2的(*,G)表項),則Rl向組播服務(wù)的指定路由器S3發(fā)送注冊停止 報文。本發(fā)明實施例中,當(dāng)匯聚點Rl收到來自指定路由器S3的注冊報文后,即使Rl通 過匹配自身的(*,G)表項獲知組播組G2沒有接收者時,也不會向組播服務(wù)的指 定路由器S3發(fā)送注冊停止報文。實施例二基于上述組網(wǎng)情況和配置情況,如圖5所示,組播源(組播服務(wù)器krverl)在 BIDIR PIM域,接收者(Client2)在PIM-SM域時,相應(yīng)的數(shù)據(jù)傳輸過程包括步驟201,在BIDIR PIM域中,組播服務(wù)器krverl向其對應(yīng)的指定轉(zhuǎn)發(fā)者R3發(fā)送 組播數(shù)據(jù),該組播數(shù)據(jù)的組播組地址為Gl。步驟202,R3將組播數(shù)據(jù)發(fā)送給匯聚點R2。在BIDIR PIM域中,由于匯聚點為R2, 在R3上到達R2的單播路由中,有指向R2的出接口,且通過PIM Hello消息維護的鄰居表 項中,也有上述指向R2的出接口,則R3可通過指向R2的出接口將組播數(shù)據(jù)發(fā)送給R2。另外,當(dāng)R3接收到組播數(shù)據(jù)后,可根據(jù)組播組地址Gl建立(*,G)表項,且該(*, G)表項中出接口為RPF接口(RPF接口為指向匯聚點R2的接口,即R3上指向R2方向的接Π )。步驟203,R2匹配自身的(*,G)表項,如果可匹配到組播組Gl對應(yīng)的(*,G)表項, 則通過(*,G)表項的出接口將組播數(shù)據(jù)轉(zhuǎn)發(fā)出去。本步驟之前,如果有接收者向R2發(fā)送給(*,Gl)加入報文,則R2上會建立組播組 Gl對應(yīng)的(*,G)表項,從而在本步驟中可通過(*,G)表項的出接口轉(zhuǎn)發(fā)該組播數(shù)據(jù)。本發(fā)明實施例中,以PIM-SM域中有接收者Client2需要加入組播組Gl為例進行 說明,則步驟203之前,當(dāng)Client2需要接收來自組播服務(wù)器krverl的組播數(shù)據(jù)時,加入組播服務(wù)器 Serverl對應(yīng)的組播組Gl。其中,Client2通過IGMP加入報文通知自身的指定路由器S4, 該Client2想加入組播組Gl。當(dāng)S4接收到IGMP加入報文后,獲知組播組Gl的信息,建立 (*,G)表項,出接口指向Client2,并向PIM-SM域中的匯聚點Rl發(fā)送(*,Gl)加入報文,其 中攜帶組播組Gl的地址信息。具體的,由于S4上到達Rl的單播路由中,有指向S2的出接口,且通過PIM Hello 消息維護的鄰居表項中,也有上述指向S2的出接口,則S4可通過指向S2的出接口將(*, Gl)加入報文發(fā)送給S2,由S2根據(jù)(*,Gl)加入報文建立(*,G)表項,出接口指向S4。由于S2上到達Rl的單播路由中,有指向Sl的出接口,且通過PIMHello消息維護 的鄰居表項中,也有上述指向Sl的出接口,則S2可通過指向Sl的出接口將(*,G1)加入報 文發(fā)送給Si,由Sl根據(jù)(*,G1)加入報文建立(*,G)表項,出接口指向S2。由于Sl上到達Rl的單播路由中,有指向Rl的出接口,且通過PIMHello消息維護 的鄰居表項中,也有上述指向Rl的出接口,則Sl可通過指向Rl的出接口將(*,Gl)加入 報文發(fā)送給R1,本發(fā)明實施例中,當(dāng)Rl接收到(*,G1)加入報文后,對于需要加入的組播組 Gl,分為以下情況(1)如果Rl中存在組播組Gl對應(yīng)的(*,G)表項,且該(*,G)表項中包含了至少 一個非RPF接口(RPF接口為指向匯聚點R2的接口,即Rl上指向R2方向的接口)的出接 口(如Rl上指向R4的出接口),則表明之前已經(jīng)有對應(yīng)的(*,G1)加入報文向匯聚點R2發(fā) 起過加入過程(如針對Clientl的加入過程),此時,Rl在該組播組Gl對應(yīng)的(*,G)表項 中添加一個新的指向Sl的出接口即可。(2)如果Rl中存在組播組Gl對應(yīng)的(*,G)表項,且該(*,G)表項中出接口只為 RPF接口,則表明之前已經(jīng)向匯聚點R2發(fā)送過對應(yīng)組播組Gl的組播數(shù)據(jù)(如Rl接收到來 自BIDIR PIM域中其他路由器的組播數(shù)據(jù),并將該組播數(shù)據(jù)發(fā)送給R2的過程中,會建立(*, G)表項,且(*,G)表項的出接口為Rl上指向R2方向的接口),此時,Rl在該組播組Gl對應(yīng) 的(*,G)表項中添加一個指向Sl的出接口,并向R2發(fā)送基于BIDIR PIM協(xié)議的(*,G1)加 入報文。為了區(qū)分方便,本發(fā)明實施例中,可稱來自PIM SM域的Sl的(*,Gl)加入報文為 PIM SM(*,G1)加入報文,稱向R2發(fā)送的基于BIDIR PIM協(xié)議的(*,Gl)加入報文為BIDIR PIM (*,G)加入報文。(3)如果Rl中存在組播組Gl對應(yīng)的(*,G)表項,且該(*,G)表項中存在指向Sl 的出接口,則(*,G)加入報文的加入過程結(jié)束。(4)如果Rl中不存在組播組Gl對應(yīng)的(*,G)表項,則表明之前沒有對應(yīng)的(*, Gl)加入報文向匯聚點R2發(fā)起過加入過程,此時,Rl根據(jù)來自Sl的(*,Gl)加入報文建立(*,G)表項,出接口指向Si,并向R2發(fā)送基于BIDIR PIM協(xié)議的(*,Gl)加入報文。本發(fā)明實施例中,Rl向R2發(fā)送基于BIDIR PIM協(xié)議的(*,Gl)加入報文的過程, 具體為當(dāng)Rl接收到基于PIM SM協(xié)議的(*,Gl)加入報文后,Rl的CPU (軟件層)根據(jù)協(xié) 議類型(PIM SM協(xié)議)將(*,G1)加入報文發(fā)送給組播模塊的PIM SM模塊,由PIM SM模塊 解析出要加入的組地址Gl的信息,并將組地址Gl的信息發(fā)送到組播模塊的BIDIR PIM模 塊,由BIDIRPIM模塊根據(jù)組地址Gl的信息生成基于BIDIR PIM協(xié)議的(*,Gl)加入報文。之后,在BIDIR PIM域中,由于匯聚點為R2,在Rl上到達R2的單播路由中,有指 向R2的出接口,且通過PIM Hello消息維護的鄰居表項中,也有上述指向R2的出接口,則 Rl可通過指向R2的出接口將基于BIDIRPIM協(xié)議的(*,G1)加入報文發(fā)送給R2 ;由R2根據(jù) (*,G1)加入報文建立組播組Gl的(*,G)表項,且該(*,G)表項的出接口指向R1。基于上述(*,G)表項的建立過程,步驟203中,如果R2匹配到出接口指向Rl的 (*,G)表項,則R2根據(jù)(*,G)表項的出接口將組播數(shù)據(jù)發(fā)送給R1。步驟204,Rl接收到來自R2的組播數(shù)據(jù)后,匹配組播組Gl對應(yīng)的(*,G)表項,并 通過匹配到的(*,G)表項的出接口將組播數(shù)據(jù)發(fā)送給Si。其中,在Client2的(*,Gl)加 入報文的加入過程中,Rl上會建立出接口指向Sl的(*,G)表項,因此Rl可匹配到組播組 Gl對應(yīng)的(*,G)表項,并通過(*,G)表項的出接口將組播數(shù)據(jù)發(fā)送給Si。步驟205,Sl接收到來自Rl的組播數(shù)據(jù)后,匹配組播組Gl對應(yīng)的(*,G)表項,將 匹配到的(*,G)表項修改為(S,G)表項,并通過(S,G)表項的出接口將組播數(shù)據(jù)發(fā)送給S2。 其中,S為組播源(組播服務(wù)器krverl)的地址,可以從組播數(shù)據(jù)中獲知。在Client2的(*,Gl)加入報文的加入過程中,Sl上會建立出接口指向S2的(*, G)表項,因此Sl可匹配到組播組Gl對應(yīng)的(*,G)表項,將(*,G)表項修改為(S,G)表項, 且(S,G)表項的出接口指向S2,并通過(S,G)表項的出接口將組播數(shù)據(jù)發(fā)送給S2。步驟206,S2接收到來自Sl的組播數(shù)據(jù)后,匹配組播組Gl對應(yīng)的(*,G)表項,將 匹配到的(*,G)表項修改為(S,G)表項,并通過(S,G)表項的出接口將組播數(shù)據(jù)發(fā)送給S4。S4接收到來自S2的組播數(shù)據(jù)后,匹配組播組Gl對應(yīng)的(*,G)表項,將匹配到的 (*,G)表項修改為(S,G)表項,并通過(S,G)表項的出接口將組播數(shù)據(jù)發(fā)送給Client2。其中,S2、S4與Sl的處理過程類似,在此不再詳加贅述。需要注意的是,基于上述實施例二,當(dāng)Client2加入組播組Gl后,如果Client2不 再需要來自組播服務(wù)器Serverl的組播數(shù)據(jù)時,則Client2會退出組播組Gl,相應(yīng)的過程包 括Client2通過IGMP離開報文通知自身的指定路由器S4,該Client2想退出組播組 Gl。當(dāng)S4接收到IGMP離開報文后,可獲知組播組Gl的信息,如果組播組Gl對應(yīng)(S,G)表 項只有指向Client2的出接口,則S4刪除組播組Gl對應(yīng)(S,G)表項,而且由于S4上到達 Rl的單播路由中有指向S2的出接口,且鄰居表項中也有上述指向S2的出接口,則S4可通 過指向S2的出接口將(S,Gl)剪枝報文發(fā)送給S2 ;如果組播組Gl對應(yīng)(S,G)表項不是只 有指向Client2的出接口,則S4刪除組播組Gl對應(yīng)(S,G)表項中的指向Client2的出接 口,結(jié)束流程。類似的,如果S2接收到(S,Gl)剪枝報文,且組播組Gl對應(yīng)(S,G)表項只有指向S4的出接口,則S2刪除組播組Gl對應(yīng)(S,G)表項,并將(S,Gl)剪枝報文發(fā)送給Sl ;如果 Sl接收到(S,Gl)剪枝報文,且組播組Gl對應(yīng)(S,G)表項只有指向S2的出接口,則Sl刪 除組播組Gl對應(yīng)(S,G)表項,并將(S,Gl)剪枝報文發(fā)送給R1。當(dāng)Rl接收到基于PIM SM協(xié)議的(S,Gl)剪枝報文后,對于需要退出的組播組Gl, Rl的CPU (軟件層)根據(jù)協(xié)議類型(PIM SM協(xié)議)將(S,Gl)剪枝報文發(fā)送給組播模塊的 PIM SM模塊,由PIM SM模塊解析出要退出的組地址Gl的信息,并將組地址Gl的信息發(fā)送 到組播模塊的BIDIR PIM模塊,由BIDIR PIM模塊根據(jù)組地址Gl的信息生成基于BIDIRPIM 協(xié)議的(*,G1)剪枝報文。根據(jù)該(*,G1)剪枝報文,如果組播組Gl對應(yīng)(*,G)表項只有指向Sl的出接口, 則Rl刪除組播組Gl對應(yīng)(*,G)表項;如果組播組Gl對應(yīng)(*,G)表項不是只有指向Sl的 出接口(如還有指向R4的出接口),則Rl刪除組播組Gl對應(yīng)(*,G)表項中的指向Sl的 出接口。進一步的,如果Rl上還存在組播組Gl對應(yīng)(*,G)表項,則Rl不會發(fā)送(*,G1)剪 枝報文給R2。如果Rl刪除了組播組Gl對應(yīng)(*,G)表項時,由于Rl上到達R2的單播路由 中,有指向R2的出接口,且鄰居表項中也有上述指向R2的出接口,則Rl可通過指向R2的 出接口將(*,G1)剪枝報文發(fā)送給R2。之后,根據(jù)(*,G1)剪枝報文,如果R2上的組播組Gl對應(yīng)(*,G)表項只有指向Rl 的出接口,則R2刪除組播組Gl對應(yīng)(*,G)表項,如果R2上的組播組Gl對應(yīng)(*,G)表項不 是只有指向Rl的出接口,則R2刪除組播組Gl對應(yīng)(*,G)表項中指向Rl的出接口,結(jié)束流程。另外,需要注意的是,基于現(xiàn)有的PIM-SM協(xié)議,當(dāng)S4建立了(S,G)表項,獲知組播 源的地址后,可不再通過共享樹RPT接收組播數(shù)據(jù),即不通過匯聚點Rl接收組播數(shù)據(jù);而通 過最短路徑樹SPT接收組播數(shù)據(jù)。具體的,S4可發(fā)起從RPT向SPT的切換,S4向組播服務(wù)器Server2逐跳發(fā)送(S, G2)加入報文,并最終到達組播服務(wù)器krverf的指定路由器S3。其中,S4向S3發(fā)送(S, G2)加入報文,由S3生成(S,G)表項,出接口指向S4,從而建立SPT分支。之后,組播服務(wù) 器krverf向S3發(fā)送組播數(shù)據(jù),S3根據(jù)(S,G)表項可匹配到指向S4的出接口,并通過該 出接口將組播數(shù)據(jù)發(fā)送給S4;之后,S4根據(jù)(S,G)表項匹配到指向Client2的出接口,并 通過該出接口將組播數(shù)據(jù)發(fā)送給Cl ient2。由上可以看出,當(dāng)不采用共享樹發(fā)送組播數(shù)據(jù)時,Rl無法接收到來自組播服務(wù)器 krverf的組播數(shù)據(jù);也就無法將組播數(shù)據(jù)發(fā)送至BIDIR PIM域中。因此,本發(fā)明實施例中, 需要使得PIM-SM域中的路由器只能通過共享樹進行數(shù)據(jù)傳輸,而不進行RPT向SPT的切換 過程。具體的,在現(xiàn)有運行PIM-SM的路由器上,可配置是否允許RPT向SPT的切換過程; 而本發(fā)明實施例中,通過配置不允許RPT向SPT切換,從而使得各個路由器通過共享樹進行 數(shù)據(jù)傳輸,繼而使得匯聚點Rl —直可以接收到來自組播服務(wù)器Serverf的組播數(shù)據(jù)。另外,為了實現(xiàn)不允許RPT向SPT切換的過程,還可以在進行RPF檢查時要求(S, G)表項的RPF接口指向R1,使得PIM-SM域中的接收者只接收來自Rl的組播數(shù)據(jù)。實施例三
基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例還提出了一種組播數(shù)據(jù)的傳輸設(shè) 備,應(yīng)用于包括BIDIR PIM域和PIM SM域的組播網(wǎng)絡(luò)中,所述傳輸設(shè)備為BIDIR PIM域中 與PIM SM域中第一設(shè)備連接的第二設(shè)備,且所述第二設(shè)備上使能PIM SM協(xié)議,并作為PIM SM域中的匯聚點,如圖6所示,該傳輸設(shè)備包括注冊消息接收模塊11,用于接收來自PIM SM域中組播源的指定路由器的注冊消 息;地址信息獲得模塊12,用于從所述注冊消息中獲得組播源的地址信息和組播源對 應(yīng)第一組播組的地址信息;加入報文發(fā)送模塊13,用于經(jīng)過所述第一設(shè)備向所述指定路由器發(fā)送攜帶組播源 的地址信息和第一組播組的地址信息的(S,G)加入報文;組播數(shù)據(jù)接收模塊14,用于從所述第一設(shè)備接收來自組播源的第一組播組對應(yīng)的 組播數(shù)據(jù);組播數(shù)據(jù)發(fā)送模塊15,用于將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或 者,將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、以及BIDIRPIM域中的接收者。所述組播數(shù)據(jù)發(fā)送模塊15,具體用于如果第一組播組對應(yīng)的(*,G)表項中存在指 向BIDIR PIM域中設(shè)備的非RPF接口的第一出接口,將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中 的匯聚點,并通過所述第一出接口將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的接收者;否則, 將所述組播數(shù)據(jù)發(fā)送給BIDIRPIM域中的匯聚點。本發(fā)明實施例中,該設(shè)備還包括加入報文接收模塊16,用于從所述第一設(shè)備接收來自PIM SM域中接收者的指定 路由器的PIM SM(*,G)加入報文,所述PIM SM(*,G)加入報文中攜帶第二組播組的地址信 息;(*,G)表項處理模塊17,用于當(dāng)存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表 項中存在指向所述第一設(shè)備的出接口時,確定PIMSM(*,G)加入報文的加入過程結(jié)束;當(dāng)存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中存在指向BIDIR PIM域 中設(shè)備的非RPF接口的出接口時,在所述第二組播組對應(yīng)的(*,G)表項中添加指向所述第 一設(shè)備的出接口;當(dāng)存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中出接口只為RPF接口時, 在第二組播組對應(yīng)的(*,G)表項中添加指向所述第一設(shè)備的出接口,并向BIDIR PIM域中 的匯聚點發(fā)送BIDIR PIM (*,G)加入報文;當(dāng)不存在第二組播組對應(yīng)的(*,G)表項時,建立第二組播組對應(yīng)的(*,G)表項,且 (*,G)表項的出接口指向所述第一設(shè)備,并向BIDIRPIM域中的匯聚點發(fā)送BIDIR PIM(*,G) 加入報文。本發(fā)明實施例中,該設(shè)備還包括PIM SM模塊18和BIDIR PIM模塊19,所述PIM SM模塊18,用于從PIM SM(*,G)加入報文中解析第二組播組的地址信 息;并將第二組播組的地址信息發(fā)送給所述BIDIR PIM模塊;所述BIDIR PIM模塊19,用于根據(jù)第二組播組的地址信息生成BIDIRPIM (*,G)加 入報文;所述(*,G)表項處理模塊17,具體用于向BIDIR PIM域中的匯聚點發(fā)送BIWRPIM (*,G)加入報文。所述組播數(shù)據(jù)接收模塊14,還用于從BIDIR PIM域中的匯聚點接收來自BIWR PIM域中組播源的攜帶第二組播組地址信息的組播數(shù)據(jù);所述組播數(shù)據(jù)發(fā)送模塊15,還用于當(dāng)?shù)诙M播組對應(yīng)的(*,G)表項中存在指向所 述第一設(shè)備的第三出接口時,通過所述第三出接口將所述組播數(shù)據(jù)發(fā)送給所述第一設(shè)備, 經(jīng)過所述第一設(shè)備將所述組播數(shù)據(jù)發(fā)送給PIMSM域中接收者。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通 過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā) 明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲 介質(zhì)(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可 以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流 程并不一定是實施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分 布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上 述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng) 域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。
權(quán)利要求
1.一種組播數(shù)據(jù)的傳輸方法,應(yīng)用于包括BIDIR PIM域和PIM SM域的組播網(wǎng)絡(luò)中,其 特征在于,BIWR PIM域中與PIM SM域中第一設(shè)備連接的第二設(shè)備上使能PIM SM協(xié)議,且 所述第二設(shè)備為PIM SM域中的匯聚點,該方法包括以下步驟所述第二設(shè)備接收來自PIM SM域中組播源的指定路由器的注冊消息,并從所述注冊消 息中獲得組播源的地址信息和組播源對應(yīng)第一組播組的地址信息;所述第二設(shè)備經(jīng)過所述第一設(shè)備向所述指定路由器發(fā)送攜帶組播源的地址信息和第 一組播組的地址信息的(S,G)加入報文,所述(S,G)加入報文經(jīng)過的設(shè)備建立(S,G)表項; 所述第二設(shè)備從所述第一設(shè)備接收來自組播源的第一組播組對應(yīng)的組播數(shù)據(jù),所述組 播數(shù)據(jù)根據(jù)所述(S,G)加入報文所經(jīng)過的設(shè)備建立的(S,G)表項路由到所述第二設(shè)備;所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或者,所述第二設(shè)備 將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、以及BIDIRPIM域中的接收者。
2.如權(quán)利要求1所述的方法,其特征在于,所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或者,所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、 以及BIDIR PIM域中的接收者,具體包括如果所述第二設(shè)備上的第一組播組對應(yīng)的(*,G)表項中存在指向BIDIR PIM域中設(shè)備 的非RPF接口的第一出接口,所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚 點,并通過所述第一出接口將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的接收者;否則,所述第 二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給 BIDIR PIM域中的匯聚點,之后還包括如果所述BIDIR PIM域中的匯聚點上的第一組播組對應(yīng)的(*,G)表項中存在指向所述 第二設(shè)備之外其他設(shè)備的第二出接口,所述BIDIR PIM域中的匯聚點通過所述第二出接口 將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的接收者;否則,所述BIDIR PIM域中的匯聚點丟棄 所述組播數(shù)據(jù)。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括所述第二設(shè)備從所述第一設(shè)備接收來自PIM SM域中接收者的指定路由器的PIM SM(*, G)加入報文,所述PIM SM(*,G)加入報文中攜帶第二組播組的地址信息;如果所述第二設(shè)備上存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中存在指向 所述第一設(shè)備的出接口,則PIM SM(*,G)加入報文的加入過程結(jié)束;如果所述第二設(shè)備上存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中存在指向 BIDIR PIM域中設(shè)備的非RPF接口的出接口,所述第二設(shè)備在所述第二組播組對應(yīng)的(*,G) 表項中添加指向所述第一設(shè)備的出接口;如果所述第二設(shè)備上存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中出接口只 為RPF接口,則所述第二設(shè)備在第二組播組對應(yīng)的(*,G)表項中添加指向所述第一設(shè)備的 出接口,并向BIDIR PIM域中的匯聚點發(fā)送BIDIR PIM(*,G)加入報文;如果所述第二設(shè)備上不存在第二組播組對應(yīng)的(*,G)表項,所述第二設(shè)備建立第二組 播組對應(yīng)的(*,G)表項,且(*,G)表項的出接口指向所述第一設(shè)備,并向BIDIR PIM域中的 匯聚點發(fā)送BIDIR PIM(*,G)加入報文。
5.如權(quán)利要求4所述的方法,其特征在于,所述第二設(shè)備向BIDIRPIM域中的匯聚點發(fā)送BIDIR PIM(*,G)加入報文,具體包括所述第二設(shè)備接收到PIM SM(*,G)加入報文后,第二設(shè)備的PIM SM模塊從PIM SM(*, G)加入報文中解析出第二組播組的地址信息;所述PIM SM模塊將第二組播組的地址信息發(fā)送給第二設(shè)備的BIDIRPIM模塊,所述 BIDIR PIM模塊根據(jù)第二組播組的地址信息生成BIDIRPIM (*,G)加入報文; 所述第二設(shè)備向BIDIR PIM域中的匯聚點發(fā)送BIDIR PIM(*,G)加入報文。
6.如權(quán)利要求4所述的方法,其特征在于,所述方法進一步包括所述第二設(shè)備從BIDIR PIM域中的匯聚點接收來自BIDIR PIM域中組播源的攜帶第二 組播組地址信息的組播數(shù)據(jù);如果所述第二設(shè)備上的第二組播組對應(yīng)的(*,G)表項中存在指向所述第一設(shè)備的第 三出接口,所述第二設(shè)備通過所述第三出接口將所述組播數(shù)據(jù)發(fā)送給所述第一設(shè)備,經(jīng)過 所述第一設(shè)備將所述組播數(shù)據(jù)發(fā)送給PIM SM域中接收者。
7.一種組播數(shù)據(jù)的傳輸設(shè)備,應(yīng)用于包括BIDIR PIM域和PIM SM域的組播網(wǎng)絡(luò)中,其 特征在于,所述傳輸設(shè)備為BIDIR PIM域中與PIM SM域中第一設(shè)備連接的第二設(shè)備,且所 述第二設(shè)備上使能PIM SM協(xié)議,并作為PIMSM域中的匯聚點,該傳輸設(shè)備包括注冊消息接收模塊,用于接收來自PIM SM域中組播源的指定路由器的注冊消息; 地址信息獲得模塊,用于從所述注冊消息中獲得組播源的地址信息和組播源對應(yīng)第一 組播組的地址信息;加入報文發(fā)送模塊,用于經(jīng)過所述第一設(shè)備向所述指定路由器發(fā)送攜帶組播源的地址 信息和第一組播組的地址信息的(S,G)加入報文;組播數(shù)據(jù)接收模塊,用于從所述第一設(shè)備接收來自組播源的第一組播組對應(yīng)的組播數(shù)據(jù);組播數(shù)據(jù)發(fā)送模塊,用于將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或者,將所 述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、以及BIDIR PIM域中的接收者。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述組播數(shù)據(jù)發(fā)送模塊,具體用于如果第一組播組對應(yīng)的(*,G)表項中存在指向 BIDIR PIM域中設(shè)備的非RPF接口的第一出接口,將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的 匯聚點,并通過所述第一出接口將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的接收者;否則,將 所述組播數(shù)據(jù)發(fā)送給BIDIRPIM域中的匯聚點。
9.如權(quán)利要求7所述的設(shè)備,其特征在于,該設(shè)備還包括加入報文接收模塊,用于從所述第一設(shè)備接收來自PIM SM域中接收者的指定路由器的 PIM SM(*,G)加入報文,所述PIM SM(*,G)加入報文中攜帶第二組播組的地址信息;(*,G)表項處理模塊,用于當(dāng)存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中存 在指向所述第一設(shè)備的出接口時,確定PIM SM(*,G)加入報文的加入過程結(jié)束;當(dāng)存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中存在指向BIDIR PIM域中設(shè) 備的非RPF接口的出接口時,在所述第二組播組對應(yīng)的(*,G)表項中添加指向所述第一設(shè) 備的出接口;當(dāng)存在第二組播組對應(yīng)的(*,G)表項,且該(*,G)表項中出接口只為RPF接口時,在第 二組播組對應(yīng)的(*,G)表項中添加指向所述第一設(shè)備的出接口,并向BIDIR PIM域中的匯聚點發(fā)送BIDIR PIM (*,G)加入報文;當(dāng)不存在第二組播組對應(yīng)的(*,G)表項時,建立第二組播組對應(yīng)的(*,G)表項,且(*, G)表項的出接口指向所述第一設(shè)備,并向BIDIRPIM域中的匯聚點發(fā)送BIDIR PIM(*,G)加 入報文。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,該設(shè)備還包括PIMSM模塊和BIDIR PIM模塊,所述PIM SM模塊,用于從PIM SM(*,G)加入報文中解析第二組播組的地址信息;并將 第二組播組的地址信息發(fā)送給所述BIDIR PIM模塊;所述BIDIR PIM模塊,用于根據(jù)第二組播組的地址信息生成BIDIRPIM(*,G)加入報文; 所述(*,G)表項處理模塊,具體用于向BIDIR PIM域中的匯聚點發(fā)送BIDIR PIM(*,G) 加入報文。
11.如權(quán)利要求9所述的設(shè)備,其特征在于,所述組播數(shù)據(jù)接收模塊,還用于從BIDIR PIM域中的匯聚點接收來自BIDIR PIM域中 組播源的攜帶第二組播組地址信息的組播數(shù)據(jù);所述組播數(shù)據(jù)發(fā)送模塊,還用于當(dāng)?shù)诙M播組對應(yīng)的(*,G)表項中存在指向所述第一 設(shè)備的第三出接口時,通過所述第三出接口將所述組播數(shù)據(jù)發(fā)送給所述第一設(shè)備,經(jīng)過所 述第一設(shè)備將所述組播數(shù)據(jù)發(fā)送給PIM SM域中接收者。
全文摘要
本發(fā)明公開了一種組播數(shù)據(jù)的傳輸方法和設(shè)備,該方法包括第二設(shè)備接收來自PIM SM域中組播源的指定路由器的注冊消息,并從所述注冊消息中獲得組播源的地址信息和組播源對應(yīng)第一組播組的地址信息;所述第二設(shè)備經(jīng)過所述第一設(shè)備向所述指定路由器發(fā)送攜帶組播源的地址信息和第一組播組的地址信息的(S,G)加入報文;所述第二設(shè)備從所述第一設(shè)備接收來自組播源的第一組播組對應(yīng)的組播數(shù)據(jù);所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點;或者,所述第二設(shè)備將所述組播數(shù)據(jù)發(fā)送給BIDIR PIM域中的匯聚點、以及BIDIR PIM域中的接收者。本發(fā)明中,使得BIDIR PIM協(xié)議可得到廣泛的應(yīng)用。
文檔編號H04L12/56GK102111279SQ20111004739
公開日2011年6月29日 申請日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者游君平 申請人:杭州華三通信技術(shù)有限公司