專利名稱:一種組播業(yè)務(wù)實現(xiàn)方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域的組播技術(shù),尤其涉及一種組播業(yè)務(wù)實現(xiàn)方法及其設(shè)備。
背景技術(shù):
視頻點播業(yè)務(wù)中的實況點播業(yè)務(wù)存在多方點播者同時觀看某一攝像機(jī)場景的需求。顯然,IP組播是解決這一需求的很好途徑。圖I示出了一種典型的組網(wǎng),其中的路由器上啟用了 PIM(Protocol IndependentMulticast,協(xié)議無關(guān)組播)協(xié)議。如果兩臺監(jiān)控主機(jī)(點播客戶端)和電視墻要同時點播同 一個業(yè)務(wù)終端的視頻流,那么,攝像機(jī)只需要出一路組播流,路由器Rtr-I復(fù)制出兩份組播流,路由器Rtr-3復(fù)制出兩份組播流。如此,相對于單播的實況點播,攝像機(jī)的壓力就小了很多,不用負(fù)責(zé)流的復(fù)制,網(wǎng)絡(luò)設(shè)備根據(jù)接收者的需求在合適的節(jié)點復(fù)制組播流,網(wǎng)絡(luò)流量壓力也小了很多。業(yè)務(wù)終端的安全等級相對較高,需要有一定權(quán)限的客戶端才能點播業(yè)務(wù)終端的視頻流,而權(quán)限級別低的客戶端不能點播對應(yīng)的業(yè)務(wù)終端的視頻流。在視頻點播的組播業(yè)務(wù)實現(xiàn)過程中,雖然可以通過管理服務(wù)器在監(jiān)控業(yè)務(wù)關(guān)系建立時,通過比較業(yè)務(wù)終端和客戶端的權(quán)限等級信息,限制低權(quán)限的客戶端點播高安全等級的業(yè)務(wù)終端,但是,低權(quán)限的客戶端可以通過偵聽高權(quán)限客戶端發(fā)送的IGMP (InternetGroup Management Protocol,互聯(lián)網(wǎng)組管理協(xié)議)報文,獲取到高安全等級的業(yè)務(wù)終端對應(yīng)的組播組,從而自身構(gòu)造對應(yīng)組播組的IGMP成員報告報文,實現(xiàn)接收高安全等級的業(yè)務(wù)終端的非法目的。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種組播業(yè)務(wù)實現(xiàn)方法及其設(shè)備,用以提高組播業(yè)務(wù)的安全性。本發(fā)明實施例提供的組播業(yè)務(wù)實現(xiàn)方法,包括
組播接收側(cè)指定路由器DR在接收到Internet組管理協(xié)議IGMP成員報告報文后,獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口上,所述對應(yīng)出接口為收到所述IGMP成員報告報文的接口 ;
所述組播接收側(cè)DR接收到相應(yīng)組播數(shù)據(jù)報文后,若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播相關(guān)路由表項生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,并根據(jù)生成的相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文;其中,生成相應(yīng)的組播轉(zhuǎn)發(fā)表項的過程包括獲取所述組播數(shù)據(jù)報文中攜帶的組播組的業(yè)務(wù)等級信息并將其設(shè)置在相應(yīng)的組播路由表項中,比較所述業(yè)務(wù)等級信息和相應(yīng)組播路由表項中出接口上設(shè)置的權(quán)限等級信息,并將權(quán)限等級不低于業(yè)務(wù)等級的出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中。
本發(fā)明實施例提供的路由交換設(shè)備,用于組播接收側(cè)DR,該路由交換設(shè)備包括表處理模塊、轉(zhuǎn)發(fā)處理模塊,其中
表處理模塊,用于在本設(shè)備接收到Internet組管理協(xié)議IGMP成員報告報文后,獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口上,所述對應(yīng)出接口為收到所述IGMP成員報告報文的接口 ;以及,根據(jù)所述轉(zhuǎn)發(fā)處理模塊的指示,生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,以及根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,其中,生成相應(yīng)的組播轉(zhuǎn)發(fā)表項的過程包括獲取組播數(shù)據(jù)報文中攜帶的組播組的業(yè)務(wù)等級信息并將其設(shè)置在相應(yīng)的組播路由表項中,比較所述業(yè)務(wù)等級信息和相應(yīng)組播路由表項中出接口上設(shè)置的權(quán)限等級信息,并將權(quán)限等級不低于業(yè)務(wù)等級的出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中;
轉(zhuǎn)發(fā)處理模塊,用于在接收到相應(yīng)組播數(shù)據(jù)報文后,若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則指示所 述表處理模塊根據(jù)相應(yīng)的組播相關(guān)路由表項生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,并根據(jù)生成的相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。本發(fā)明實施例提供的二層交換設(shè)備,用于組播接收客戶端和組播接收側(cè)DR之間,與組播接收客戶端直連并使能了 IGMP-Snooping,該二層交換設(shè)備包括
IGMP-Snooping表處理模塊,用于在本設(shè)備偵聽到組播接收客戶端的互聯(lián)網(wǎng)組管理協(xié)議IGMP成員報告報文后,執(zhí)行
獲取其中攜帶的組播接收客戶端的權(quán)限等級信息;
根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP-Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較所述IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng)IGMP-Snooping表項;
轉(zhuǎn)發(fā)處理模塊,用于在本設(shè)備從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的業(yè)務(wù)等級信息,根據(jù)所述組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若所述相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項;若所述相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)所述相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。本發(fā)明的上述實施例,一方面,在IGMP成員報告中添加了組播接收客戶端的權(quán)限等級信息,以使組播接收側(cè)DR在相應(yīng)組播相關(guān)路由表項中設(shè)置出接口的權(quán)限等級;另一方面,在組播數(shù)據(jù)報文中添加了組播業(yè)務(wù)的業(yè)務(wù)等級信息,進(jìn)而可使組播接收側(cè)DR根據(jù)組播業(yè)務(wù)等級和客戶端權(quán)限等級,僅將組播數(shù)據(jù)報文從權(quán)限等級不低于相應(yīng)業(yè)務(wù)等級的出接口轉(zhuǎn)發(fā),即,將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給其權(quán)限等級不低于相應(yīng)業(yè)務(wù)等級的客戶端,保證了組播業(yè)務(wù)的安全性。
圖I為現(xiàn)有技術(shù)中視頻點播業(yè)務(wù)組網(wǎng)不意 圖2為本發(fā) 明實施例一中組播接收客戶端與組播源建立組播業(yè)務(wù)關(guān)系的流程示意圖; 圖3為本發(fā)明實施例一中組播數(shù)據(jù)報文轉(zhuǎn)發(fā)流程示意 圖4為本發(fā)明實施例二中組播接收客戶端與組播源建立組播業(yè)務(wù)關(guān)系的流程示意圖; 圖5為本發(fā)明實施例二中組播數(shù)據(jù)報文轉(zhuǎn)發(fā)流程示意 圖6為本發(fā)明實施例中的組播業(yè)務(wù)系統(tǒng)組網(wǎng)示意 圖7為本發(fā)明實施例提供的路由交換設(shè)備的結(jié)構(gòu)示意 圖8為本發(fā)明實施例提供的二層交換設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式針對現(xiàn)有技術(shù)存在的上述問題,本發(fā)明實施例提供了一種提高組播業(yè)務(wù)安全性的組播業(yè)務(wù)實現(xiàn)方案。下面結(jié)合附圖對本發(fā)明實施例進(jìn)行詳細(xì)描述。實施例一
本實施例描述了組播業(yè)務(wù)實現(xiàn)流程,應(yīng)用于采用了組播路由協(xié)議的系統(tǒng)架構(gòu)。該系統(tǒng)架構(gòu)中的路由器上啟用了 P頂協(xié)議,組播接收客戶端設(shè)備與組播接收側(cè)DR (DesignatedRouter,指定路由器)上啟用了 IGMP協(xié)議。組播接收客戶端設(shè)備上配置有權(quán)限等級(即組播業(yè)務(wù)的權(quán)限等級,以下同),組播源上配置有業(yè)務(wù)等級(即組播業(yè)務(wù)的業(yè)務(wù)等級,以下同)。當(dāng)組播接收客戶端欲建立與組播源的組播業(yè)務(wù)關(guān)系時,如圖2所述,其組播業(yè)務(wù)建立流程可包括
步驟201,組播接收客戶端發(fā)送IGMP成員報告報文以請求加入組播組,該報文中攜帶該組播接收客戶端的權(quán)限等級信息。具體實施時,當(dāng)組播接收客戶端欲建立與組播源的組播業(yè)務(wù)關(guān)系時,首先從該業(yè)務(wù)系統(tǒng)架構(gòu)中的管理服務(wù)器獲取組播源的組播地址(或組播組),然后發(fā)送對應(yīng)組播地址的IGMP成員報告報文,并在報文中攜帶該客戶端的權(quán)限等級信息。步驟202,組播接收側(cè)DR收到攜帶有客戶端權(quán)限等級信息的IGMP成員報告報文后,在所請求加入的組播組對應(yīng)的PM (*,G)表項的出接口中,設(shè)置相應(yīng)出接口的權(quán)限等級為該客戶端權(quán)限等級,所述相應(yīng)出接口是指接收該IGMP成員報告報文的接口。具體實施時,組播接收側(cè)DR收到IGMP成員報告報文后,若判斷針對所請求加入的組播組還未建立有PM (*,G)表項,則首先生成PM (*,G)表項,其中G表示所請求加入的組播組,*表示任意組播源,該表項的出接口為該組播接收側(cè)DR接收該IGMP成員報告報文的接口,該組播接收側(cè)DR在該表項中的該出接口上添加該客戶端的權(quán)限等級信息;若判斷針對所請求加入的組播組已經(jīng)建立有P頂(*,G)表項,則將接收該IGMP成員報告報文的接口添加到該表項的出接口中,并在該出接口上添加該客戶端的權(quán)限等級信息。步驟203,組播接收側(cè)DR通過向組播源方向發(fā)送PM (*,G)加入報文,建立組播接收側(cè)DR到組播源側(cè)之間的組播轉(zhuǎn)發(fā)路徑。具體實施時,可采用現(xiàn)有方式實現(xiàn)該組播轉(zhuǎn)發(fā)路徑的建立過程。例如,組播接收側(cè)DR逐跳向組播源方向發(fā)送PM (*,G)加入報文,從該組播接收側(cè)DR到RP所經(jīng)過的路由器就形成了 RPT (Rendezvous Point Tree,共享樹或匯集樹)分支(RPT以RP為根,以DR為葉子),這些路由器都在其組播轉(zhuǎn)發(fā)表中生成了(*,G)表項;RP接收到該PM (*,G)加入報文后,向組播源方向發(fā)送PM (S,G)加入報文,從RP到組播源所經(jīng)過的路由器就形成了 SPT(Shortest Path Tree,最短路徑樹)分支,這 些路由器都在其組播轉(zhuǎn)發(fā)表中生成(S,G)表項。組播數(shù)據(jù)報文可從組播源經(jīng)STP達(dá)到RP,再經(jīng)RPT到達(dá)組播接收側(cè)DR。當(dāng)然,還可以采用其它方式建立組播源到組播接收側(cè)DR的組播轉(zhuǎn)發(fā)路徑,本發(fā)明實施例對此不做限制。進(jìn)一步的,若組播接收側(cè)DR的同一個接口下收到多個客戶端發(fā)送的IGMP成員報告報文,則以收到的權(quán)限等級最高的信息作為PIM (*,G)表項中該出接口的權(quán)限等級信息。具體的,當(dāng)組播接收側(cè)DR從接口 I接收到IGMP成員報告報文后,將該報文中攜帶的權(quán)限等級4作為PIM (*,G)表項中出接口 I的權(quán)限等級,后續(xù)從接口 I再次接收到IGMP成員報告報文,若該報文中攜帶的權(quán)限等級為5,則將PM (*,G)表項的出接口 I的業(yè)務(wù)權(quán)限等級更新為5 ;若再次接收到的IGMP成員報告報文中攜帶的權(quán)限等級為3,則不更新PIM (*,G)表項中出接口I的權(quán)限等級。本實施例給出了組播接收側(cè)DR收到IGMP成員報告報文后的一種具體實現(xiàn)過程,該過程可包括
組播接收側(cè)DR從接收到的IGMP成員報告報文中獲取組播接收客戶端的權(quán)限等級后,根據(jù)該IGMP成員報告報文的組播地址、接收接口,匹配相應(yīng)的IGMP表項;
若未匹配到相應(yīng)IGMP表項,說明該接口第一次接收到該組播組的IGMP成員報告報文,則根據(jù)該IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和發(fā)包序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;當(dāng)存在對應(yīng)PM (*,G)表項時,在該PM (*,G)表項中添加對應(yīng)的出接口并設(shè)置組播接收客戶端的權(quán)限等級并同步到相應(yīng)組播路由表項中,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新(刷新過程可包括比較該組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中。其中,組播轉(zhuǎn)發(fā)表項的生成過程以及組播路由表項中的業(yè)務(wù)等級的設(shè)置過程,請見后續(xù)描述);當(dāng)不存在對應(yīng)P頂(*,G)表項時,生成相應(yīng)的PIM (*,G)表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級;
若匹配到相應(yīng)IGMP表項,說明該接口不是第一次接收到該組播組的IGMP成員報告報文,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果該兩個源IP地址不相同,則比較從IGMP成員報告報文中獲取的組播接收客戶端的權(quán)限等級/[目息與匹配到的IGMP表項中的權(quán)限等級彳目息,并在如者聞于后者時,將_■者權(quán)限等級聞?wù)咚鶎?yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,并將高的權(quán)限等級更新到相應(yīng)PIM(*,G)表項中對應(yīng)的出接口上,以使相應(yīng)PM (*,G)表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致,并同步到組播路由表項;如果該兩個源IP地址相同,則比較IGMP成員報告報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄該IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為該IGMP成員報告報文的發(fā)包序列號,并更新該IGMP表項的老化時間,這樣,可以防止他人偽造報文的攻擊。當(dāng)組播源發(fā)送組播數(shù)據(jù)報文時,將業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文,以使組播接收側(cè)DR在生成組播轉(zhuǎn)發(fā)表項時,僅將權(quán)限等級高于或等于相應(yīng)業(yè)務(wù)等級的出接口添加到組播路由轉(zhuǎn)發(fā)表項中,從而避免將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給業(yè)務(wù)權(quán)限等級低的組播接收客戶端。本發(fā)明實施例中,組播數(shù)據(jù)報文轉(zhuǎn)發(fā)流程的一種具體實現(xiàn)可如圖3所示,包括 步驟301,組播源發(fā)送組播數(shù)據(jù)報文,在組播數(shù)據(jù)報文中攜帶該組播源的業(yè)務(wù)等級信
肩、O
具體實施時,可以將業(yè)務(wù)等級信息配置到組播數(shù)據(jù)報文的DSCP (DifferentiatedServices Code Point,差分服務(wù)代碼點)字段。此種情況下,需要在組播組網(wǎng)中的路由器上,配置組播數(shù)據(jù)報文DSCP權(quán)限映射(即定義DSCP值所對應(yīng)的PHB(Per-Hop-Behavior,每下一跳行為)),以防止組播數(shù)據(jù)報文與其他報文在出端口擁塞時搶占高優(yōu)先隊列,或者被網(wǎng)絡(luò)設(shè)備配置的QoS (Quality of Service,服務(wù)質(zhì)量)策略更改DSCP值。優(yōu)選的,可以在組播IP報文頭中增加自定義選項,用來表示業(yè)務(wù)等級。步驟302,組播數(shù)據(jù)報文沿組播轉(zhuǎn)發(fā)路徑到達(dá)組播接收側(cè)DR后,接收側(cè)DR查詢組播轉(zhuǎn)發(fā)表,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則轉(zhuǎn)入步驟303 ;若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則轉(zhuǎn)入步驟304。步驟303,組播接收側(cè)DR生成組播轉(zhuǎn)發(fā)表項,然后轉(zhuǎn)入步驟304。具體實施時,組播接收側(cè)DR若未匹配到相應(yīng)組播轉(zhuǎn)發(fā)表項,則先根據(jù)相應(yīng)PIM(*,G)表項生成對應(yīng)組播路由表項,在對應(yīng)的組播路由表項中,添加該業(yè)務(wù)等級信息(如可在組播路由表項中設(shè)置一標(biāo)識,用于表明相應(yīng)組播源S的業(yè)務(wù)等級),并同步相同組的PIM(*,G)表項的客戶端的權(quán)限等級信息的出接口信息到組播路由表項,然后根據(jù)該組播路由表項生成組播轉(zhuǎn)發(fā)表項。在生成組播轉(zhuǎn)發(fā)表項時,組播接收側(cè)DR比較該組播路由表項的業(yè)務(wù)等級信息和該表項出接口中設(shè)置的組播接收客戶端的權(quán)限等級信息,若客戶端權(quán)限等級不低于業(yè)務(wù)等級,則將對應(yīng)出接口添加到組播轉(zhuǎn)發(fā)表中,否則不添加對應(yīng)出接口到組播轉(zhuǎn)發(fā)表項中。步驟304,組播接收側(cè)DR根據(jù)組播轉(zhuǎn)發(fā)表項進(jìn)行組播數(shù)據(jù)報文轉(zhuǎn)發(fā)處理。具體實施時,組播接收側(cè)DR按照現(xiàn)有方式,根據(jù)組播轉(zhuǎn)發(fā)表項中的出接口,將組播數(shù)據(jù)報文復(fù)制到各出接口處轉(zhuǎn)發(fā)。通過以上流程可以看出,一方面,組播接收客戶端在IGMP成員報告中添加了該客戶端的權(quán)限等級,以使組播接收側(cè)DR在相應(yīng)組播路由表項中設(shè)置出接口的權(quán)限等級;另一方面,組播源在組播數(shù)據(jù)報文中添加了業(yè)務(wù)等級;進(jìn)而可使組播接收側(cè)DR在生成組播轉(zhuǎn)發(fā)表項時,僅將相應(yīng)組播路由表項中權(quán)限等級不低于相應(yīng)業(yè)務(wù)等級的出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項中,從而僅將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給不低于相應(yīng)業(yè)務(wù)等級的客戶端,保證了組播業(yè)務(wù)的安全性。在組播系統(tǒng)架構(gòu)中,組播接收側(cè)DR可連接二層交換設(shè)備,如二層交換機(jī)(以下以二層交換機(jī)為例進(jìn)行說明),通過該二層交換機(jī)連接多個組播接收客戶端,以便將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給多個組播接收客戶端。在該系統(tǒng)架構(gòu)下,該二層交換機(jī)既可以通過二層廣播方式將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給其所連接的所有組播接收客戶端,也可以通過IGMP-Snooping(互聯(lián)網(wǎng)管理協(xié)議窺探)方式將組播轉(zhuǎn)發(fā)報文轉(zhuǎn)發(fā)給指定組播接收客戶端。針對上述系統(tǒng)架構(gòu),本發(fā)明實施例優(yōu)選的,在二層交換機(jī)上使能IGMP-Snooping,并進(jìn)一步對IGMP-Snooping進(jìn)行升級。具體的當(dāng)二層交換機(jī)偵聽到客戶端發(fā)送的IGMP成員報告報文后,獲取報文中攜帶的客戶端權(quán)限等級信息,然后,根據(jù)該IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP-Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較該IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄該IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)該IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng) IGMP-Snooping表項。當(dāng)二層交換機(jī)從其路由器端口(即連接組播接收側(cè)DR的端口)接收到組播數(shù)據(jù)報文后,獲取組播數(shù)據(jù)報文中攜帶的業(yè)務(wù)等級信息,根據(jù)該組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項;若相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文。具體實現(xiàn)時,二層交換機(jī)在獲取組播數(shù)據(jù)報文中攜帶的業(yè)務(wù)等級信息后,可將其添加到相應(yīng)IGMP-Snooping表項中,以便進(jìn)行比較??紤]到組播接收客戶端在構(gòu)造IGMP成員報告報文時,可能會攜帶高等級的權(quán)限等級信息,低權(quán)限等級的客戶端在偵聽高權(quán)限等級的客戶端發(fā)送的IGMP成員報告報文時,可能會復(fù)制報文中的權(quán)限等級信息,甚至直接置為最高位,因此為了提高安全性,本發(fā)明實施例可對IGMP成員報告報文中攜帶的權(quán)限等級信息進(jìn)行加密處理。下面結(jié)合實施例二,對采用加密權(quán)限等級信息的技術(shù)方案進(jìn)行詳細(xì)描述。實施例二
本實施例描述了組播業(yè)務(wù)實現(xiàn)流程,應(yīng)用于采用了組播路由協(xié)議的系統(tǒng)架構(gòu)。該系統(tǒng)架構(gòu)中的路由器上啟用了 P頂協(xié)議,組播接收客戶端設(shè)備與組播接收側(cè)DR上啟用了 IGMP協(xié)議。組播接收客戶端設(shè)備上配置有權(quán)限等級,組播源上配置有業(yè)務(wù)等級。組播接收客戶端設(shè)備上還配置有與組播地址(或組播組)對應(yīng)的密鑰,具體的,當(dāng)管理服務(wù)器為組播接收客戶端分配組播地址時,生成相應(yīng)密鑰,并連同組播地址傳遞給組播接收客戶端。當(dāng)組播接收客戶端欲建立與組播源的組播業(yè)務(wù)關(guān)系時,如圖4所述,其組播業(yè)務(wù)建立流程可包括
步驟401,組播接收客戶端發(fā)送IGMP成員報告報文以請求加入組播組,該報文中攜帶該組播接收客戶端的權(quán)限等級信息和該報文的發(fā)包序列號,該權(quán)限等級信息和報文發(fā)包序列號使用相應(yīng)組播組對應(yīng)的密鑰進(jìn)行了加密處理。具體實施時,當(dāng)組播接收客戶端欲建立與組播源的組播業(yè)務(wù)關(guān)系時,首先從該業(yè)務(wù)系統(tǒng)架構(gòu)中的管理服務(wù)器獲取組播源的組播地址和對應(yīng)該組播地址的密鑰,利用該密鑰加密客戶端的權(quán)限等級信息和該IGMP成員報告報文的發(fā)包序列號,然后將加密信息攜帶于給對應(yīng)組播地址的IGMP成員報告報文中發(fā)送。其中,客戶端發(fā)送IGMP成員報告報文時,需要遞增報文發(fā)包序列號。步驟402,組播接收側(cè)DR收到攜帶有客戶端權(quán)限等級信息的IGMP成員報告報文后,若還未獲取到組播地址對應(yīng)的密鑰,則轉(zhuǎn)入步驟403 ;若已獲取到組播地址對應(yīng)的密鑰,則轉(zhuǎn)入步驟404。步驟403,組播接收側(cè)DR生成相應(yīng)組播路由表項,記錄該加密信息,然后轉(zhuǎn)入步驟405。具體實施時,組播接收側(cè)DR由于目前還沒有客戶端所請求加入的組播組對應(yīng)的密鑰,無法解密出報文中攜帶的客戶端權(quán)限等級信息,因此執(zhí)行以下步驟根據(jù)該IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項,若未匹配到相應(yīng)IGMP表項,則生成相應(yīng)IGMP表項,其中記錄有組播地址、源IP地址、以及接口地址等信息,對應(yīng)于該IGMP成員報告報文的組播組、源IP地址和接收接口,記錄加密的權(quán)限等級信息和發(fā)包序列號,并生成PM (*,G)表項(其中包括所請求加入的組播組(組播地址)以及接收到該IGMP成員 報告報文的接口),或在PIM (*,G)表項中添加對應(yīng)的出接口(在存在對應(yīng)組播的PIM (*,G)表項時)。若匹配到相應(yīng)IGMP表項,則用該IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號。步驟404,組播接收側(cè)DR利用對應(yīng)密鑰解密得到IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息和報文發(fā)包序列號,并根據(jù)報文發(fā)包序列號判斷該IGMP成員報告報文合法后,生成PM (*,G)表項,并設(shè)置表項中的出接口權(quán)限等級為本次接收到的IGMP成員報文中攜帶的客戶端權(quán)限等級。然后轉(zhuǎn)入步驟405。具體實施時,組播接收側(cè)DR在收到IGMP成員報告報文后通常會生成或更新IGMP表項,該表項中記錄組播地址、源IP地址、對應(yīng)的IP地址以及接口地址等信息。本實施例中,組播接收側(cè)DR還可在IGMP表項中添加發(fā)包序列號,以用于根據(jù)發(fā)包序列號判斷IGMP成員報告報文的合法性。還可以在IGMP表項中增加客戶端權(quán)限等級。具體的,組播接收側(cè)DR利用對應(yīng)密鑰解密得到IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息和報文發(fā)包序列號后,根據(jù)該IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項查詢相應(yīng)IGMP表項,查詢結(jié)果以及后續(xù)處理可能存在幾種情況之一
情況一匹配到相應(yīng)IGMP表項
此種情況下,比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較解密得到的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)PIM(*,G)表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較解密得到的報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為解密得到的發(fā)包序列號,并更新老化時間。情況二 未匹配到相應(yīng)IGMP表項
此種情況下,根據(jù)該IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和解密得到的發(fā)包序列號及權(quán)限等級生成相應(yīng)IGMP表項;在PM (*,G)表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級并同步到組播路由表項,并對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新(包括比較所述組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中),或者生成相應(yīng)的PM (*,G)表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息。為了進(jìn)一步提高安全性,優(yōu)選的,組播接收客戶端在發(fā)送IGMP成員報告報文時,將自己的IP地址用相應(yīng)組播組對應(yīng)的密鑰加密后攜帶于報文的載荷部分,當(dāng)接收側(cè)DR收到IGMP成員報告報文后,首先解密得到載荷部分的IP地址,再將其與報文頭中的源IP地址比較,若相同,則認(rèn)為該報文合法,然后按照上述操作進(jìn)行處理;若不相同,則認(rèn)為非法,并丟棄該報文。在IGMP成員報告報文被非法客戶端截獲后由非法客戶端發(fā)送該IGMP成員報告報文的情況下,該IGMP成員報告報文頭部的源IP地址與報文載荷部分的源IP地址通常不會相同(載荷部分的源IP地址經(jīng)過加密,無法被非法客戶端獲知),因此通過上述方式可以一定程度上識別客戶端的合法性。步驟405,組播接收側(cè)DR向上游發(fā)送PM (*,G)加入報文。其中,在步驟403之·后,組播接收側(cè)DR通過向組播源方向發(fā)送PM (*,G)加入報文,建立組播接收側(cè)DR到組播源側(cè)之間的組播轉(zhuǎn)發(fā)路徑,該步驟的具體實現(xiàn)同圖2中的步驟203,在此不再贅述;在步驟404之后,組播接收側(cè)DR通過向組播源方向發(fā)送PM (*,G)加入報文,刷新轉(zhuǎn)發(fā)路徑上相應(yīng)表項的老化時間。當(dāng)組播源發(fā)送組播數(shù)據(jù)報文時,將業(yè)務(wù)等級信息和對應(yīng)組播地址的密鑰攜帶于組播數(shù)據(jù)報文,以使組播接收側(cè)DR根據(jù)該密鑰解密之前接收到的客戶端權(quán)限等級信息,并在生成組播轉(zhuǎn)發(fā)表項時,僅將權(quán)限等級高于或等于相應(yīng)業(yè)務(wù)等級的出接口添加到組播轉(zhuǎn)發(fā)表項中,從而避免將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給業(yè)務(wù)權(quán)限等級低的組播接收客戶端。本發(fā)明實施例中,組播數(shù)據(jù)報文轉(zhuǎn)發(fā)流程的一種具體實現(xiàn)可如圖5所示,包括 步驟501,組播源發(fā)送組播數(shù)據(jù)報文,在組播數(shù)據(jù)報文中攜帶該組播源的業(yè)務(wù)等級信息
和對應(yīng)組播地址的密鑰信息。具體實施時,組播源可以將業(yè)務(wù)等級信息和對應(yīng)組播地址的密鑰信息攜帶于IP頭中自定義的選項中。步驟502,組播數(shù)據(jù)報文沿組播轉(zhuǎn)發(fā)路徑到達(dá)組播接收側(cè)DR后,接收側(cè)DR查詢組播轉(zhuǎn)發(fā)表,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則轉(zhuǎn)入步驟503 ;若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則轉(zhuǎn)入步驟505。步驟503 504,組播接收側(cè)DR生成組播轉(zhuǎn)發(fā)表項,然后轉(zhuǎn)入步驟505。具體實施時,組播接收側(cè)DR收到組播源發(fā)送過來的組播數(shù)據(jù)報文后,獲取組播數(shù)據(jù)報文中攜帶的業(yè)務(wù)等級信息和密鑰,查詢相應(yīng)PM (*,G)表項,若該表項中的對應(yīng)出接口的客戶端權(quán)限等級和相應(yīng)發(fā)包序列號還未解密,則利用該密鑰對該權(quán)限等級和發(fā)包序列號進(jìn)行解密,并將解密得到的權(quán)限等級添加到相應(yīng)PM (*,G)表項的對應(yīng)出接口上并同步到組播路由表項,將解密得到的發(fā)包序列號添加到相應(yīng)IGMP表項中;并進(jìn)一步將該業(yè)務(wù)等級信息作為相應(yīng)組播路由表項的業(yè)務(wù)等級信息添加到相應(yīng)組播路由表項中,并根據(jù)組播路由表項刷新相應(yīng)組播轉(zhuǎn)發(fā)表項或生成相應(yīng)組播轉(zhuǎn)發(fā)表項。組播接收側(cè)DR在根據(jù)組播路由表項生成組播轉(zhuǎn)發(fā)表項時,比較組播路由表項的業(yè)務(wù)等級信息和出接口的權(quán)限等級信息,在生成的組播轉(zhuǎn)發(fā)表中,只有權(quán)限等級高于或等于業(yè)務(wù)等級的出接口才會被添加到對應(yīng)表項的出接口中。步驟505,組播接收側(cè)DR根據(jù)組播轉(zhuǎn)發(fā)表項進(jìn)行組播數(shù)據(jù)報文轉(zhuǎn)發(fā)處理。具體實施時,組播接收側(cè)DR按照現(xiàn)有方式,根據(jù)組播轉(zhuǎn)發(fā)表項中的出接口,將組播數(shù)據(jù)報文復(fù)制到各出接口處轉(zhuǎn)發(fā)。通過以上流程可以看出,組播接收客戶端在IGMP成員報告中添加了該客戶端的權(quán)限等級并進(jìn)行了加密處理,密鑰信息隨同組播數(shù)據(jù)報文發(fā)送到組播接收側(cè)DR,從而使組播接收側(cè)DR解密得到客戶端權(quán)限等級信息后,根據(jù)組播業(yè)務(wù)的等級和客戶端的權(quán)限等級進(jìn)行組播數(shù)據(jù)報文轉(zhuǎn)發(fā)控制,提高了組播業(yè)務(wù)的安全性。另外,通過將IGMP成員報告報文的發(fā)包序列號連同客戶端的權(quán)限等級信息一起加密,使組播接收側(cè)進(jìn)一步可根據(jù)發(fā)包序列號識別合法與非法組播客戶端,從而進(jìn)一步提高組播業(yè)務(wù)的安全性。在組播系統(tǒng)架構(gòu)中,組播接收側(cè)DR可連接二層交換機(jī),通過該二層交換機(jī)連接多個組播接收客戶端。針對上述系統(tǒng)架構(gòu),本發(fā)明實施例優(yōu)選的,在二層交換機(jī)上使能 當(dāng)二層交換機(jī)偵聽到客戶端發(fā)送的IGMP成員報告報文后,與組播接收側(cè)DR類似,二層交換機(jī)可生成IGMP表項或類似表項,以記錄組播組、接口、源IP地址、發(fā)包序列號、客戶端權(quán)限等級等信息。具體的,二層交換機(jī)偵聽到組播接收客戶端的IGMP成員報告報文后,在已從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下執(zhí)行以下步驟
使用相應(yīng)密鑰解密得到該IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息和該報文的發(fā)包序列號;然后,根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP -Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較所述IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng)IGMP-Snooping表項。二層交換機(jī)在獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟
根據(jù)該IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP -Snooping表項;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)該IGMP成員報告報文的組播地址、接收端口生成相應(yīng)IGMP-Snooping表項,并對應(yīng)于所述IGMP成員報告報文的組播地址和接收端口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹配到相應(yīng)IGMP-Snooping表項,則用該IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號。當(dāng)二層交換機(jī)從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的業(yè)務(wù)等級信息和相應(yīng)組播組對應(yīng)的密鑰,根據(jù)該組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項,若相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文。其中,若查詢到的相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息還未解密,則首先使用從所述組播數(shù)據(jù)報文中獲取到的密鑰解密相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息和發(fā)包序列號,將解密得到的權(quán)限等級信息設(shè)置到相應(yīng)IGMP-Snooping表項的相應(yīng)成員端口上和相應(yīng)IGMP-Snooping表項中,將解密得到的發(fā)包序列號設(shè)置在相應(yīng)IGMP-Snooping表項中。為了更清楚的描述本發(fā)明實施例,下面以圖6所示的系統(tǒng)架構(gòu)為例,描述本發(fā)明實施例的具體實現(xiàn)過程。如圖6所示,業(yè)務(wù)終端是組播源,路由器R1 R3上啟用了 PM 協(xié)議。R2是客戶端I直連的DR,R3是客戶端2連接的DR,R3通過二層交換機(jī)SI連接客戶端2和客戶端3,Rl是業(yè)務(wù)終端I直連的DR。管理服務(wù)器為業(yè)務(wù)終端I配置權(quán)限5,為客戶端I配置權(quán)限6,為客戶端2配置權(quán)限5,為客戶端3配置權(quán)限4 ;管理服務(wù)器為業(yè)務(wù)終端I分配組播地址Gl??蛻舳薎建立與業(yè)務(wù)終端I的業(yè)務(wù)關(guān)系時,從管理服務(wù)器端獲取到業(yè)務(wù)終端的組播地址G1,發(fā)送關(guān)于Gl的IGMP成員報告報文,其中攜帶了客戶端的權(quán)限等級信息6。R2收到攜帶客戶端I權(quán)限6的關(guān)于Gl的IGMP成員報告報文后,在PIM(*,Gl)表項的出接口中添加客戶端I的權(quán)限等級信息6。業(yè)務(wù)終端I根據(jù)管理服務(wù)器的請求,發(fā)送組播數(shù)據(jù)(SI,Gl),該組播數(shù)據(jù)報文的IP頭中增加有自定義選項,對應(yīng)業(yè)務(wù)終端I的權(quán)限5。R2收到業(yè)務(wù)終端I發(fā)送過來的組播數(shù)據(jù)后,根據(jù)相應(yīng)的PM(*,G)表項生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,獲取組播數(shù)據(jù)報文中的業(yè)務(wù)等級信息5,在對應(yīng)的組播路由表項中,添加表項的業(yè)務(wù)等級信息5 ;然后比較組播路由表項的業(yè)務(wù)等級信息5和出接口的權(quán)限等級信息6,將連接客戶端I的接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中,組播數(shù)據(jù)根據(jù)組播轉(zhuǎn)發(fā)表項進(jìn)行轉(zhuǎn)發(fā)。組播接收側(cè)DR (R3)收到客戶端3發(fā)送的關(guān)于Gl的IGMP成員報告報文后按照前述方式處理,在建立組播轉(zhuǎn)發(fā)表項時,發(fā)現(xiàn)出接口的權(quán)限等級信息4低于業(yè)務(wù)等級信息5,則不添加對應(yīng)出接口到組播轉(zhuǎn)發(fā)表項中。組播接收側(cè)DR(R3)的同一個接口收到客戶端2和客戶端3發(fā)送的關(guān)于Gl的IGMP成員報告報文后,R3選取權(quán)限等級最高的客戶端2的權(quán)限等級信息5作為PIM (*,G1)表項的出接口權(quán)限等級信息。交換機(jī)SI偵聽到客戶端2和3發(fā)送IGMP成員報告報文后,獲取報文中的權(quán)限等級信息,添加到IGMP-Snooping表項的成員端口上,連接客戶端2的成員端口權(quán)限等級信息為5,連接客戶端3的成員端口權(quán)限等級信息為4,同時在接收到組播數(shù)據(jù)時,根據(jù)組播數(shù)據(jù)的IP頭攜帶的自定義選項,獲取組播數(shù)據(jù)報文中的業(yè)務(wù)等級信息5,添加到IGMP-Snooping表項上,交換機(jī)比較表項的業(yè)務(wù)等級信息和成員端口的權(quán)限等級信息,選擇向成員端口的權(quán)限等級信息高于或等于業(yè)務(wù)等級的連接客戶端2的成員端口轉(zhuǎn)發(fā)組播數(shù)據(jù)。以上描述的流程中,組播接收客戶端發(fā)送的IGMP成員報告報文中攜帶的客戶端權(quán)限等級信息均未加密。下面描述的流程中,組播接收客戶端在對客戶端權(quán)限等級信息進(jìn)行加密處理后攜帶于IGMP成員報告報文發(fā)送。其中,管理服務(wù)器為業(yè)務(wù)終端I分配組播地址Gl時,生成密鑰PW1,連同組播地址傳遞給業(yè)務(wù)終端I。
當(dāng)客戶端I建立與業(yè)務(wù)終端I的業(yè)務(wù)關(guān)系時,從管理服務(wù)器端獲取到業(yè)務(wù)終端的組播地址Gl和對應(yīng)該組播組的密鑰PW1,利用該密鑰PWl加密客戶端的權(quán)限等級信息6和報文發(fā)包序列號(假設(shè)初始為1),將加密后的權(quán)限等級信息和發(fā)包序列號攜帶于IGMP成員報告報文發(fā)送??蛻舳死^續(xù)發(fā)送IGMP成員報告報文時,需要遞增報文發(fā)包序列號(遞增后為2)。組播接收側(cè)DR (R2)收到攜帶客戶端I權(quán)限等級信息6的關(guān)于Gl的IGMP成員報告報文后,由于沒有密鑰信息,先生成普通的PIM (*,Gl)表項(其中包括所請求加入的組播組(組播地址)以及接收到該IGMP成員報告報文的接口),向上游發(fā)起PIM加入報文,同時記錄加密后的權(quán)限等級信息和報文發(fā)包序列號。組播接收側(cè)DR (R2)收到業(yè)務(wù)終端I發(fā)送過來的組播數(shù)據(jù)后,獲取組播數(shù)據(jù)報文 中的業(yè)務(wù)等級信息5和密鑰PWl,刷新對應(yīng)PIM表項,在對應(yīng)的PIM表項中,添加業(yè)務(wù)等級信息5 ;然后利用獲取到的密鑰PW1,解密客戶端I的權(quán)限等級信息和報文發(fā)包序列號,記錄報文發(fā)包序列號和IGMP成員報告報文的源IP地址(IP_C1)到IGMP表項中,刷新PM (*,Gl)表項和組播路由表項,將客戶端I的權(quán)限等級信息6添加到PIM (*,Gl)表項和組播路由表項的出接口中,比較組播路由表項的業(yè)務(wù)等級信息和出接口的權(quán)限等級信息,在生成的組播轉(zhuǎn)發(fā)表中,只有權(quán)限高于或等于業(yè)務(wù)等級的出接口才會被添加到對應(yīng)組播轉(zhuǎn)發(fā)表項的出接口中,組播數(shù)據(jù)根據(jù)組播轉(zhuǎn)發(fā)表項進(jìn)行轉(zhuǎn)發(fā)?;谙嗤募夹g(shù)構(gòu)思,本發(fā)明實施例還提供了一種路由交換設(shè)備和二層交換設(shè)備(如二層交換機(jī))。參見圖7,為本發(fā)明實施例提供的路由交換設(shè)備的結(jié)構(gòu)示意圖,該設(shè)備作為指定路由器應(yīng)用于組播接收側(cè),該設(shè)備可包括表處理模塊701、轉(zhuǎn)發(fā)處理模塊702,其中
表處理模塊701,用于在本設(shè)備接收到IGMP成員報告報文后,獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項(如PM (*,G)表項)中的對應(yīng)出接口上,所述對應(yīng)出接口為收到所述IGMP成員報告報文的接口 ;以及,根據(jù)轉(zhuǎn)發(fā)處理模塊702的指示,生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,以及根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,其中,生成相應(yīng)的組播轉(zhuǎn)發(fā)表項的過程包括獲取組播數(shù)據(jù)報文中攜帶的組播組的業(yè)務(wù)等級信息并將其設(shè)置在相應(yīng)的組播路由表項中,比較所述業(yè)務(wù)等級信息和相應(yīng)組播路由表項中出接口上設(shè)置的權(quán)限等級信息,并將權(quán)限等級不低于業(yè)務(wù)等級的出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中;轉(zhuǎn)發(fā)處理模塊702,用于在接收到相應(yīng)組播數(shù)據(jù)報文后,若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則指示表處理模塊701根據(jù)相應(yīng)的組播相關(guān)路由表項生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,并根據(jù)表處理模塊701生成的相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。具體的,表處理模塊701的處理過程可包括從接收到的IGMP成員報告報文中獲取組播接收客戶端的權(quán)限等級信息;根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項;
若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和發(fā)包序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;在組播相關(guān)路由表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級信息并同步到組播路由表項,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新,或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息;其中,對相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新具體包括比較所述組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中;
若匹配到相應(yīng)IGMP表項,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較從IGMP成員報告報文中獲取的組播接收客戶端的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較IGMP成員報告報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為新得到的發(fā)包序列號,并更新老化時間。 具體的,所述IGMP成員報告報文中所攜帶的組播接收客戶端的權(quán)限等級信息是經(jīng)過相應(yīng)組播組對應(yīng)的密鑰加密處理的,與權(quán)限等級信息一同加密的還有所述IGMP成員報告報文的發(fā)包序列號;組播數(shù)據(jù)報文中還攜帶有相應(yīng)組播組對應(yīng)的密鑰,相應(yīng)的
表處理模塊701可在本設(shè)備從所述IGMP成員報告報文獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在已經(jīng)從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的權(quán)限等級信息和發(fā)包序列號;根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項;若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和解密得到的發(fā)包序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;在組播相關(guān)路由表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級信息并同步到組播路由表項,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新,或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息;其中,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新具體為,比較所述組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中;
若匹配到相應(yīng)IGMP表項,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較解密得到的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較解密得到的報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為解密得到的發(fā)包序列號,并更新老化時間?;蛘撸硖幚砟K701可在本設(shè)備獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項;若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址生成相應(yīng)IGMP表項,在組播相關(guān)路由表項中添加對應(yīng)的出接口或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)的出接口,并對應(yīng)于所述IGMP成員報告報文的組播組、源IP地址和接收接口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹配到相應(yīng)IGMP表項,則用所述IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號;
表處理模塊701還用于在本設(shè)備接收到相應(yīng)組播數(shù)據(jù)報文后,獲取所述組播數(shù)據(jù)報文中攜帶的密鑰,使用獲取到的密鑰解密得到相應(yīng)組播組、接收接口和源IP地址對應(yīng)的權(quán)限等級信息和發(fā)包序列號,并將解密后的權(quán)限等級信息設(shè)置在相應(yīng)組播相關(guān)路由表項的對應(yīng)出接口上并同步到組播路由表項,將解密得到的發(fā)包序列號添加到相應(yīng)IGMP表項中,刷新相應(yīng)組播轉(zhuǎn)發(fā)表項或生成相應(yīng)組播轉(zhuǎn)發(fā)表項。
進(jìn)一步的,表處理模塊701還用于在根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口匹配相應(yīng)的IGMP表項之前,使用相應(yīng)組播組對應(yīng)的密鑰解密得到所述IGMP成員報告報文載荷部分?jǐn)y帶的IP地址,并比較解密得到的IP地址與所述IGMP成員報告報文頭部中的源IP地址是否相同;若兩者不相同,則丟棄本次接收到的IGMP成員報告報文;其中,所述IGMP成員報告報文載荷部分的IP地址是組播接收客戶端將自己的IP地址用相應(yīng)組播組對應(yīng)的密鑰加密后攜帶于IGMP成員報告報文中的。具體的,所述業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文的組播IP報文頭中的DSCP字段;或者,所述業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文的組播IP報文頭中的擴(kuò)展選項。參見圖8,為本發(fā)明實施例提供的一種二層交換機(jī),該交換機(jī)連接于組播接收客戶端和上述作為組播接收側(cè)DR的路由交換設(shè)備之間,且該二層交換機(jī)與組播接收客戶端直連并使能了 IGMP-Snooping,該交換機(jī)可應(yīng)用于前述未采用加密方案的組播轉(zhuǎn)發(fā)過程。該交換機(jī)可包括=IGMP-Snooping表處理模塊801和轉(zhuǎn)發(fā)處理模塊802,其中
IGMP-Snooping表處理模塊801,用于在本設(shè)備偵聽到組播接收客戶端的IGMP成員報告報文后,執(zhí)行
獲取其中攜帶的組播接收客戶端的權(quán)限等級信息;
根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP-Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較所述IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng)IGMP-Snooping表項;
轉(zhuǎn)發(fā)處理模塊802,用于在本設(shè)備從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的業(yè)務(wù)等級信息,根據(jù)所述組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若所述相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項;若所述相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)所述相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。進(jìn)一步的,該二層交換機(jī)還可以應(yīng)用于前述實施例二的流程,此種情況下 IGMP-Snooping表處理模塊801在本設(shè)備偵聽到攜帶加密的組播接收客戶端的權(quán)限等
級信息和發(fā)包序列號的組播接收客戶端的IGMP成員報告報文后,在已從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,通過以下方式獲取其中攜帶的組播接收客戶端的權(quán)限等級信息使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息,并進(jìn)一步使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的報文的發(fā)包序列號。或者,IGMP-Snooping表處理模塊801在本設(shè)備偵聽到組播接收客戶端的IGMP成員報告報文,并獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP -Snooping表項;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口生成相應(yīng)IGMP-Snooping表項,對應(yīng)于所述IGMP成員報告報文的組播地址和接收端口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹 配到相應(yīng)IGMP-Snooping表項,則用所述IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號。相應(yīng)的,轉(zhuǎn)發(fā)處理模塊802在本設(shè)備從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的相應(yīng)組播組對應(yīng)的密鑰;以及,若查詢到的相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息還未解密,則首先指示所述IGMP-Snooping表處理模塊使用從所述組播數(shù)據(jù)報文中獲取到的密鑰解密相應(yīng)IGMP-Snoop ing表項的成員端口上的權(quán)限等級信息和發(fā)包序列號,將解密得到的權(quán)限等級信息設(shè)置到相應(yīng)IGMP-Snooping表項的相應(yīng)成員端口上和相應(yīng)IGMP-Snoop ing表項中,將解密得到的發(fā)包序列號設(shè)置在相應(yīng)IGMP-Snooping 表項中。需要說明的是,在IPV6體系中,本發(fā)明實施例中的IGMP協(xié)議可由MUXMulticastListener Discover,組播偵聽發(fā)現(xiàn))協(xié)議代替,即,組播接收端可通過MLD協(xié)議發(fā)送請求加入組播組的報文,但實現(xiàn)原理與本發(fā)明實施例的實現(xiàn)原理相同。還需要說明的是,本發(fā)明的上述實施例是以組播路由協(xié)議的系統(tǒng)架構(gòu)采用PIM協(xié)議為例描述的,相應(yīng)的協(xié)議表項稱為PM表項,但本領(lǐng)域技術(shù)人員可以理解,還可以采用類似PM協(xié)議的其它組播相關(guān)路由協(xié)議,為了與組播路由表項、組播轉(zhuǎn)發(fā)表項相區(qū)別,可以將該其它組播相關(guān)協(xié)議的表項稱為組播相關(guān)路由表項。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種組播業(yè)務(wù)實現(xiàn)方法,其特征在于,該方法包括 組播接收側(cè)指定路由器DR在接收到Internet組管理協(xié)議IGMP成員報告報文后,獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口上,所述對應(yīng)出接口為收到所述IGMP成員報告報文的接口 ; 所述組播接收側(cè)DR接收到相應(yīng)組播數(shù)據(jù)報文后,若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播相關(guān)路由表項生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,并根據(jù)生成的相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文;其中,生成相應(yīng)的組播轉(zhuǎn)發(fā)表項的過程包括獲取所述組播數(shù)據(jù)報文中攜帶的組播組的業(yè)務(wù)等級信息并將其設(shè)置在相應(yīng)的組播路由表項中,比較所述業(yè)務(wù)等級信息和相應(yīng)組播路由表項中出接口上設(shè)置的權(quán)限等級信息,并將權(quán)限等級不低于業(yè)務(wù)等級的出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中。
2.如權(quán)利要求I所述的方法,其特征在于,所述獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口上,具體包括 所述組播接收側(cè)DR從接收到的IGMP成員報告報文中獲取組播接收客戶端的權(quán)限等級信息; 根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項; 若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和發(fā)包序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;在組播相關(guān)路由表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級信息并同步到組播路由表項,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新,或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息;其中,對相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新具體包括比較所述組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中; 若匹配到相應(yīng)IGMP表項,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較從IGMP成員報告報文中獲取的組播接收客戶端的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較IGMP成員報告報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為新得到的發(fā)包序列號,并更新老化時間。
3.如權(quán)利要求I所述的方法,其特征在于,組播接收側(cè)DR與組播接收客戶端之間還連接有二層交換機(jī),且該二層交換機(jī)與組播接收客戶端直連并使能了 IGMP-Snooping,該方法還包括 所述二層交換機(jī)偵聽到組播接收客戶端的IGMP成員報告報文后,獲取其中攜帶的組播接收客戶端的權(quán)限等級信息; 根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP-Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較所述IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng)IGMP-Snooping表項; 所述二層交換機(jī)從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的業(yè)務(wù)等級信息,根據(jù)所述組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若所述相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項;若所述相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)所述相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。
4.如權(quán)利要求I所述的方法,其特征在于,IGMP成員報告報文中所攜帶的組播接收客戶端的權(quán)限等級信息是經(jīng)過相應(yīng)組播組對應(yīng)的密鑰加密處理的,與權(quán)限等級信息一同加密的還有所述IGMP成員報告報文的發(fā)包序列號;組播數(shù)據(jù)報文中還攜帶有相應(yīng)組播組對應(yīng)的密鑰; 所述獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口上,具體包括 所述組播接收側(cè)DR在從所述IGMP成員報告報文獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在已經(jīng)從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟 使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的權(quán)限等級信息和發(fā)包序列號; 根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項; 若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和解密得到的發(fā)包序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;在組播相關(guān)路由表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級信息并同步到組播路由表項,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新,或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息;其中,對相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新具體包括比較所述組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中; 若匹配到相應(yīng)IGMP表項,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較解密得到的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較解密得到的報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為解密得到的發(fā)包序列號,并更新老化時間; 所述組播接收側(cè)DR在獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟 根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項;若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址生成相應(yīng)IGMP表項,在組播相關(guān)路由表項中添加對應(yīng)的出接口或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)的出接口,并對應(yīng)于所述IGMP成員報告報文的組播組、源IP地址和接收接口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹配到相應(yīng)IGMP表項,則用所述IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號; 所述組播接收側(cè)DR在接收到相應(yīng)組播數(shù)據(jù)報文后,還包括 獲取所述組播數(shù)據(jù)報文中攜帶的密鑰,使用獲取到的密鑰解密得到相應(yīng)組播組、接收接口和源IP地址對應(yīng)的權(quán)限等級信息和發(fā)包序列號,并將解密后的權(quán)限等級信息設(shè)置在相應(yīng)組播相關(guān)路由表項的對應(yīng)出接口上并同步到組播路由表項,將解密得到的發(fā)包序列號添加到相應(yīng)IGMP表項中,刷新相應(yīng)組播轉(zhuǎn)發(fā)表項或生成相應(yīng)組播轉(zhuǎn)發(fā)表項。
5.如權(quán)利要求4所述的方法,其特征在于,所述組播接收側(cè)DR根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口匹配相應(yīng)的IGMP表項之前,還包括 所述組播接收側(cè)DR使用相應(yīng)組播組對應(yīng)的密鑰解密得到所述IGMP成員報告報文載荷部分?jǐn)y帶的IP地址,并比較解密得到的IP地址與所述IGMP成員報告報文頭部中的源IP地址是否相同;若兩者不相同,則丟棄本次接收到的IGMP成員報告報文;其中,所述IGMP成員報告報文載荷部分的IP地址是組播接收客戶端將自己的IP地址用相應(yīng)組播組對應(yīng)的密鑰加密后攜帶于IGMP成員報告報文中的。
6.如權(quán)利要求4所述的方法,其特征在于,組播接收側(cè)DR與組播接收客戶端之間還連接有二層交換機(jī),且該二層交換機(jī)與組播接收客戶端直連并使能了 IGMP-Snooping,該方法還包括 所述二層交換機(jī)偵聽到組播接收客戶端的IGMP成員報告報文后,在已從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下執(zhí)行以下步驟 使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息和該報文的發(fā)包序列號; 根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP -Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較所述IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng)IGMP-Snooping表項; 所述二層交換機(jī)在獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP -Snooping表項;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口生成相應(yīng)IGMP-Snooping表項,并對應(yīng)于所述IGMP成員報告報文的組播地址和接收端口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹配到相應(yīng)IGMP-Snooping表項,則用所述IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號; 所述二層交換機(jī)從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的業(yè)務(wù)等級信息和相應(yīng)組播組對應(yīng)的密鑰,根據(jù)所述組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若所述相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項;若所述相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)所述相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文;其中,若查詢到的相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息還未解密,則首先使用從所述組播數(shù)據(jù)報文中獲取到的密鑰解密相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息和發(fā)包序列號,將解密得到的權(quán)限等級信息設(shè)置到相應(yīng)IGMP-Snooping表項的相應(yīng)成員端口上和相應(yīng)IGMP-Snooping表項中,將解密得到的發(fā)包序列號設(shè)置在相應(yīng)IGMP-Snooping表項中。
7.如權(quán)利要求1-6之一所述的方法,其特征在于,所述業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文的組播IP報文頭中的差分服務(wù)代碼點DSCP字段;或者,所述業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文的組播IP報文頭中的擴(kuò)展選項。
8.—種路由交換設(shè)備,用于組播接收側(cè)指定路由器DR,其特征在于,包括表處理模塊、轉(zhuǎn)發(fā)處理模塊,其中 表處理模塊,用于在本設(shè)備接收到Internet組管理協(xié)議IGMP成員報告報文后,獲取其中攜帶的組播接收客戶端的權(quán)限等級信息,并將其設(shè)置在相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口上,所述對應(yīng)出接口為收到所述IGMP成員報告報文的接口 ;以及,根據(jù)所述轉(zhuǎn)發(fā)處理模塊的指示,生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,以及根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,其中,生成相應(yīng)的組播轉(zhuǎn)發(fā)表項的過程包括獲取組播數(shù)據(jù)報文中攜帶的組播組的業(yè)務(wù)等級信息并將其設(shè)置在相應(yīng)的組播路由表項中,比較所述業(yè)務(wù)等級信息和相應(yīng)組播路由表項中出接口上設(shè)置的權(quán)限等級信息,并將權(quán)限等級不低于業(yè)務(wù)等級的出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中; 轉(zhuǎn)發(fā)處理模塊,用于在接收到相應(yīng)組播數(shù)據(jù)報文后,若查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則指示所述表處理模塊根據(jù)相應(yīng)的組播相關(guān)路由表項生成相應(yīng)的出接口設(shè)置有組播接收客戶端的權(quán)限等級信息的組播路由表項,根據(jù)該組播路由表項生成相應(yīng)的組播轉(zhuǎn)發(fā)表項,并根據(jù)生成的相應(yīng)的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,所述表處理模塊具體用于 從接收到的IGMP成員報告報文中獲取組播接收客戶端的權(quán)限等級信息; 根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項;若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和發(fā)包 序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;在組播相關(guān)路由表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級信息并同步到組播路由表項,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新,或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息;其中,對相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新具體包括比較所述組播路由表項中的業(yè)務(wù)等級信息 和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中; 若匹配到相應(yīng)IGMP表項,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較從IGMP成員報告報文中獲取的組播接收客戶端的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較IGMP成員報告報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為新得到的發(fā)包序列號,并更新老化時間。
10.如權(quán)利要求8所述的設(shè)備,其特征在于,IGMP成員報告報文中所攜帶的組播接收客戶端的權(quán)限等級信息是經(jīng)過相應(yīng)組播組對應(yīng)的密鑰加密處理的,與權(quán)限等級信息一同加密的還有所述IGMP成員報告報文的發(fā)包序列號;組播數(shù)據(jù)報文中還攜帶有相應(yīng)組播組對應(yīng)的密鑰; 所述表處理模塊具體用于,在本設(shè)備從所述IGMP成員報告報文獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在已經(jīng)從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟 使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的權(quán)限等級信息和發(fā)包序列號; 根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項; 若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址和解密得到的發(fā)包序列號及權(quán)限等級信息生成相應(yīng)IGMP表項;在組播相關(guān)路由表項中添加對應(yīng)的出接口,設(shè)置組播接收客戶端的權(quán)限等級信息并同步到組播路由表項,對已生成的相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新,或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)出接口及設(shè)置組播接收客戶端的權(quán)限等級信息;其中,對相應(yīng)組播轉(zhuǎn)發(fā)表項進(jìn)行刷新具體包括比較所述組播路由表項中的業(yè)務(wù)等級信息和所添加的出接口上設(shè)置的權(quán)限等級信息,若該權(quán)限等級不低于該業(yè)務(wù)等級,則將該出接口添加到相應(yīng)組播轉(zhuǎn)發(fā)表項的出接口列表中; 若匹配到相應(yīng)IGMP表項,則比較該IGMP表項的源IP地址與IGMP成員報告報文的源IP地址是否相同,如果不相同,則比較解密得到的權(quán)限等級信息與匹配到的IGMP表項中的權(quán)限等級信息,將二者權(quán)限等級高者所對應(yīng)的源IP地址和權(quán)限等級更新到該IGMP表項中,將相應(yīng)組播相關(guān)路由表項中的對應(yīng)出接口的組播接收客戶端的權(quán)限等級信息與該IGMP表項中的權(quán)限等級信息保持一致并同步到組播路由表項;如果相同,則比較解密得到的報文發(fā)包序列號與相應(yīng)IGMP表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP表項中的發(fā)包序列號更新為解密得到的發(fā)包序列號,并更新老化時間; 或者,所述表處理模塊具體用于,在本設(shè)備獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,執(zhí)行以下步驟 根據(jù)所述IGMP成員報告報文的組播地址、接收接口匹配相應(yīng)的IGMP表項;若未匹配到相應(yīng)IGMP表項,則根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口、源IP地址生成相應(yīng)IGMP表項,在組播相關(guān)路由表項中添加對應(yīng)的出接口或者生成相應(yīng)的組播相關(guān)路由表項并添加對應(yīng)的出接口,并對應(yīng)于所述IGMP成員報告報文的組播組、源IP地址和接收接口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹配到相應(yīng)IGMP表項,則用所述IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號; 所述表處理模塊還用于,在本設(shè)備接收到相應(yīng)組播數(shù)據(jù)報文后,獲取所述組播數(shù)據(jù)報文中攜帶的密鑰,使用獲取到的密鑰解密得到相應(yīng)組播組、接收接口和源IP地址對應(yīng)的權(quán)限等級信息和發(fā)包序列號,并將解密后的權(quán)限等級信息設(shè)置在相應(yīng)組播相關(guān)路由表項的對應(yīng)出接口上并同步到組播路由表項,將解密得到的發(fā)包序列號添加到相應(yīng)IGMP表項中,刷新相應(yīng)組播轉(zhuǎn)發(fā)表項或生成相應(yīng)組播轉(zhuǎn)發(fā)表項。
11.如權(quán)利要求10所述的設(shè)備,其特征在于,所述表處理模塊還用于,在根據(jù)所述IGMP成員報告報文對應(yīng)的組播組、接收接口匹配相應(yīng)的IGMP表項之前,使用相應(yīng)組播組對應(yīng)的密鑰解密得到所述IGMP成員報告報文載荷部分?jǐn)y帶的IP地址,并比較解密得到的IP地址與所述IGMP成員報告報文頭部中的源IP地址是否相同;若兩者不相同,則丟棄本次接收到的IGMP成員報告報文;其中,所述IGMP成員報告報文載荷部分的IP地址是組播接收客戶端將自己的IP地址用相應(yīng)組播組對應(yīng)的密鑰加密后攜帶于IGMP成員報告報文中的。
12.如權(quán)利要求8-11之一所述的設(shè)備,其特征在于,所述業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文的組播IP報文頭中的差分服務(wù)代碼點DSCP字段;或者,所述業(yè)務(wù)等級信息攜帶于組播數(shù)據(jù)報文的組播IP報文頭中的擴(kuò)展選項。
13.—種二層交換設(shè)備,用于組播接收客戶端和組播接收側(cè)指定路由器DR之間,與組播接收客戶端直連并使能了互聯(lián)網(wǎng)組管理協(xié)議窺探IGMP-Snooping,其特征在于,該二層交換設(shè)備包括 IGMP-Snooping表處理模塊,用于在本設(shè)備偵聽到組播接收客戶端的互聯(lián)網(wǎng)組管理協(xié)議IGMP成員報告報文后,執(zhí)行 獲取其中攜帶的組播接收客戶端的權(quán)限等級信息; 根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP-Snooping表項;若匹配到相應(yīng)IGMP-Snooping表項,則比較所述IGMP成員報告報文的發(fā)包序列號與相應(yīng)IGMP-Snooping表項中的發(fā)包序列號,若前者不大于后者,則丟棄所述IGMP成員報告報文,否則,將相應(yīng)IGMP-Snooping表項中的發(fā)包序列號更新為所述IGMP成員報告報文的發(fā)包序列號;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口、發(fā)包序列號以及所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息生成相應(yīng)IGMP-Snooping表項; 轉(zhuǎn)發(fā)處理模塊,用于在本設(shè)備從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的業(yè)務(wù)等級信息,根據(jù)所述組播數(shù)據(jù)報文的組播組查詢相應(yīng)IGMP-Snooping表項,若所述相應(yīng)IGMP-Snooping表項中沒有設(shè)置有業(yè)務(wù)等級信息,則比較該業(yè)務(wù)等級信息與該相應(yīng)IGMP-Snooping表項的成員端口的權(quán)限等級信息,若前者不高于后者,則在該相應(yīng)IGMP-Snooping表項中設(shè)置該業(yè)務(wù)等級信息,并從該相應(yīng)IGMP-Snooping表項的成員端口轉(zhuǎn)發(fā)該組播數(shù)據(jù)報文,若前者高于后者,則刪除該相應(yīng)IGMP-Snooping表項;若所述相應(yīng)IGMP-Snooping表項中設(shè)置有業(yè)務(wù)等級信息,則根據(jù)所述相應(yīng)IGMP-Snooping表項轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文。
14.如權(quán)利要求13所述的二層交換設(shè)備,其特征在于,所述IGMP-Snooping表處理模塊進(jìn)一步用于 在本設(shè)備偵聽到攜帶加密的組播接收客戶端的權(quán)限等級信息和發(fā)包序列號的組播接收客戶端的互聯(lián)網(wǎng)組管理協(xié)議IGMP成員報告報文后,在已從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,通過以下方式獲取其中攜帶的組播接收客戶端的權(quán)限等級信息使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的組播接收客戶端的權(quán)限等級信息,并進(jìn)一步使用相應(yīng)密鑰解密得到所述IGMP成員報告報文中攜帶的報文的發(fā)包序列號; 或者,在本設(shè)備偵聽到組播接收客戶端的IGMP成員報告報文,并獲取到加密的權(quán)限等級信息和發(fā)包序列號后,在還未從組播數(shù)據(jù)報文中獲取到相應(yīng)組播組對應(yīng)的密鑰的情況下,根據(jù)所述IGMP成員報告報文的組播地址和接收端口匹配相應(yīng)的IGMP -Snooping表項;若未匹配到相應(yīng)IGMP-Snooping表項,則根據(jù)所述IGMP成員報告報文的組播地址、接收端口生成相應(yīng)IGMP-Snooping表項,對應(yīng)于所述IGMP成員報告報文的組播地址和接收端口,記錄加密的權(quán)限等級信息和發(fā)包序列號;若匹配到相應(yīng)IGMP-Snooping表項,則用所述IGMP成員報告報文中攜帶的加密的權(quán)限等級信息和發(fā)包序列號更新所記錄的相應(yīng)的加密的權(quán)限等級信息和發(fā)包序列號; 轉(zhuǎn)發(fā)處理模塊進(jìn)一步用于,在本設(shè)備從組播接收側(cè)DR接收到組播數(shù)據(jù)報文后,獲取其中攜帶的相應(yīng)組播組對應(yīng)的密鑰;以及,若查詢到的相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息還未解密,則首先指示所述IGMP-Snooping表處理模塊使用從所述組播數(shù)據(jù)報文中獲取到的密鑰解密相應(yīng)IGMP-Snooping表項的成員端口上的權(quán)限等級信息和發(fā)包序列號,將解密得到的權(quán)限等級信息設(shè)置到相應(yīng)IGMP-Snooping表項的相應(yīng)成員端口上和相應(yīng)IGMP-Snooping表項中,將解密得到的發(fā)包序列號設(shè)置在相應(yīng)IGMP-Snooping表項中。
全文摘要
本發(fā)明公開了一種組播業(yè)務(wù)實現(xiàn)方法及其設(shè)備,本發(fā)明中,一方面,在IGMP成員報告中添加了組播接收客戶端的權(quán)限等級信息,以使組播接收側(cè)DR在相應(yīng)PIM表項中設(shè)置出接口的權(quán)限等級;另一方面,在組播數(shù)據(jù)報文中添加了組播業(yè)務(wù)的業(yè)務(wù)等級信息,進(jìn)而可使組播接收側(cè)DR根據(jù)組播業(yè)務(wù)等級和客戶端權(quán)限等級,僅將組播數(shù)據(jù)報文從權(quán)限等級不低于相應(yīng)業(yè)務(wù)等級的出接口轉(zhuǎn)發(fā),即,將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給其權(quán)限等級不低于相應(yīng)業(yè)務(wù)等級的客戶端,保證了組播業(yè)務(wù)的安全性。
文檔編號H04N21/647GK102905199SQ20121036834
公開日2013年1月30日 申請日期2012年9月28日 優(yōu)先權(quán)日2012年9月28日
發(fā)明者林鵬程, 周迪 申請人:杭州華三通信技術(shù)有限公司