專利名稱:一種組播轉(zhuǎn)發(fā)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種組播轉(zhuǎn)發(fā)的方法和設(shè)備。
背景技術(shù):
作為一種與單播(Unicast)和廣播(Broadcast)并列的通信方式,組播(Multicast)技術(shù)能夠有效地解決單點(diǎn)發(fā)送、多點(diǎn)接收的問題,從而實現(xiàn)了網(wǎng)絡(luò)中點(diǎn)到多點(diǎn)的高效數(shù)據(jù)傳送,能夠節(jié)約大量網(wǎng)絡(luò)帶寬、降低網(wǎng)絡(luò)負(fù)載。如圖1所示,為現(xiàn)有技術(shù)中的組播方式的信息傳輸過程的示意圖。當(dāng)IP網(wǎng)絡(luò)中的某些主機(jī)(即接收端Receiver)需要信息時,若采用組播的方式,組播源(即Source)僅需發(fā)送一份信息,借助組播路由協(xié)議建立組播分發(fā)樹,被傳遞的信息在距離組播源盡可能遠(yuǎn)的網(wǎng)絡(luò)節(jié)點(diǎn)才開始復(fù)制和分發(fā)。通常,把工作在網(wǎng)絡(luò)層的IP組播稱為“三層組播”,相應(yīng)的組播協(xié)議稱為“三層組播協(xié)議”,包括 IGMP (Internet Group Management Protocol,互聯(lián)網(wǎng)組管理協(xié)議)、PIM(Protocol Independent Multicast,協(xié)議無關(guān)組播)、MSDP (Multicast Source DiscoveryProtocol,組播源發(fā)現(xiàn)協(xié)議)等;把工作在數(shù)據(jù)鏈路層的IP (Internet Protocol,網(wǎng)絡(luò)互聯(lián)協(xié)議)組播稱為“二層組播”,相應(yīng)的組播協(xié)議稱為“二層組播協(xié)議”,包括IGMP Snooping(監(jiān)聽)、PIM Snooping 等。三層組播協(xié)議中應(yīng)用最廣泛的協(xié)議是IGMP與PM。IGMP協(xié)議規(guī)定了主機(jī)與三層組播設(shè)備之間建立和維護(hù)組播組成員關(guān)系的機(jī)制。PM協(xié)議運(yùn)行在三層組播設(shè)備之間,用于建立和維護(hù)組播路由,并正確、高效地轉(zhuǎn)發(fā)組播數(shù)據(jù)包。組播路由建立了從一個數(shù)據(jù)源端到多個接收端的無環(huán)(loop-free)數(shù)據(jù)傳輸路徑,即組播分發(fā)樹。二層組播協(xié)議則主要有IGMP Snooping與PM Snooping等協(xié)議。運(yùn)行IGMPSnooping的二層設(shè)備通過對收到的IGMP報文進(jìn)行分析,為端口和MAC (Media AccessControl,媒體接入控制)組播地址建立起映射關(guān)系,并根據(jù)這樣的映射關(guān)系轉(zhuǎn)發(fā)組播數(shù)據(jù)。運(yùn)行PM Snooping的二層設(shè)備通過對收到的PM協(xié)議報文進(jìn)行分析,將有接收需求的端口添加到相應(yīng)的組播轉(zhuǎn)發(fā)表項中,以實現(xiàn)組播報文的精確轉(zhuǎn)發(fā)。在實現(xiàn)本發(fā)明實施例所提出的技術(shù)方案的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下不足:如圖2所示,為現(xiàn)有技術(shù)中的數(shù)據(jù)中心二層組網(wǎng)的結(jié)構(gòu)示意圖。在一個數(shù)據(jù)中心內(nèi)部,如果服務(wù)器集群作為組播數(shù)據(jù)源,三層核心交換機(jī)作為組播源側(cè)的PM DR(Designated Router,指定路由器),那么在組播源與PIM DR之間,還存在著多跳的接入與匯聚的二層設(shè)備,按照現(xiàn)有的協(xié)議及實現(xiàn),組播數(shù)據(jù)流從服務(wù)器發(fā)出來之后,將會在接入交換機(jī)與匯聚交換機(jī)等二層設(shè)備之間廣播,造成數(shù)據(jù)流量的泛濫。即使在這些二層設(shè)備上使能二層組播協(xié)議,根據(jù)IGMP Snooping的工作原理,核心交換機(jī)向匯聚交換機(jī)發(fā)送PM Hello報文,匯聚交換機(jī)維護(hù)二層組播路由器端口,并將PIMHello報文在VLAN (Virtual Local Area Network,虛擬局域網(wǎng))內(nèi)廣播,接入交換機(jī)同樣也根據(jù)PM Hello報文維護(hù)路由器端口,由于組播流量會無條件向路由器端口轉(zhuǎn)發(fā),同樣會造成流量的冗余。另外,按照現(xiàn)有機(jī)制,組播源側(cè)的PM DR不向組播源方向發(fā)送PIM加入剪枝報文,PIM Snooping就無法工作,PIM Snooping根據(jù)PM加入剪枝報文使流量精確轉(zhuǎn)發(fā)的優(yōu)勢就無法體現(xiàn)。同時,如果該組播數(shù)據(jù)源處于活動狀態(tài),那么無論是否有接收者需要點(diǎn)播該源組的數(shù)據(jù),這些數(shù)據(jù)都將無條件被發(fā)送至三層核心交換機(jī),用于創(chuàng)建(S,G)表項,并由PM DR向PIM RP (Rendezvous Point,匯聚點(diǎn))注冊該數(shù)據(jù)源,導(dǎo)致流量時刻都在發(fā)送,占用鏈路帶寬。綜上所述,對于現(xiàn)有的二層組網(wǎng)組播技術(shù),當(dāng)下游用戶對組播源數(shù)據(jù)沒有接收需求的時候,組播源仍然將數(shù)據(jù)源源不斷的發(fā)送出去,造成接入交換機(jī)到組播源側(cè)DR之間的帶寬浪費(fèi);另外,按照現(xiàn)有協(xié)議及實現(xiàn),從接入交換機(jī)轉(zhuǎn)發(fā)出去的組播數(shù)據(jù)報文只能通過廣播的方式到達(dá)組播源側(cè)DR,無法做到精確轉(zhuǎn)發(fā),造成了一定的數(shù)據(jù)泛濫。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種組播轉(zhuǎn)發(fā)的方法和設(shè)備,解決現(xiàn)有二層組網(wǎng)組播技術(shù)中只是通過廣播方式向組播源側(cè)DR發(fā)送組播數(shù)據(jù)報文,從而造成數(shù)據(jù)泛濫和資源浪費(fèi)的問題。為達(dá)到上述目的,本發(fā)明實施例一方面提供了一種組播轉(zhuǎn)發(fā)的方法,所述方法至少包括以下步驟:與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流,并查詢本地是否保存有相對應(yīng)的PIM-Snooping路由表項;如果查詢結(jié)果為否,所述接入交換設(shè)備根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PIM-Snooping路由表項,并停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;當(dāng)所述接入交換設(shè)備接收到下游相鄰路由設(shè)備發(fā)送的與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PM加入報文時,所述接入交換設(shè)備將接收所述PM加入報文的端口,添加為所述未添加下游端口的PIM-Snooping路由表項的下游端口 ;所述接入交換設(shè)備將所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,通過所述下游端口發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流,并查詢本地是否保存有相對應(yīng)的PM-Snooping路由表項之后,還包括:如果查詢結(jié)果為是,所述接入交換設(shè)備判斷所述PIM-Snooping路由表項當(dāng)前是否存在下游端口;如果不存在,所述接入交換設(shè)備停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;如果存在,通過所述下游端口將所述組播數(shù)據(jù)流發(fā)送給相應(yīng)的下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流之后,還包括:所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息,作為保活報文發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備周期性獲取所述組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新;當(dāng)所述接入交換設(shè)備確定未接收到所述組播源所發(fā)送的組播數(shù)據(jù)流的時間超過預(yù)設(shè)的?;顣r間閾值時,所述接入交換設(shè)備停止發(fā)送所述保活報文,并對當(dāng)前已建立的與所述組播源相對應(yīng)的PIM-Snooping路由表項進(jìn)行老化;其中,當(dāng)所述下游相鄰路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的保活時間閾值時,所述下游相鄰路由設(shè)備對本地當(dāng)前已建立的與所述組播源相對應(yīng)的PIM-Snooping路由表項進(jìn)行老化。優(yōu)選的,所述接入交換設(shè)備根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PIM-Snooping路由表項之后,還包括:所述接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期,向下游相鄰路由設(shè)備方向發(fā)送與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PIM Hello報文,以使所述下游相鄰路由設(shè)備方向上使能PIM-Snooping的設(shè)備維護(hù)與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的P頂鄰居信息;當(dāng)所述未添加下游端口的PIM-Snooping路由表項老化時,所述接入交換設(shè)備停止發(fā)送所述PM Hello報文。優(yōu)選的,所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述未添加下游端口的PM-Snooping路由表項的下游端口之后,還包括:當(dāng)所述接入交換設(shè)備接收到下游相鄰路由設(shè)備發(fā)送的與添加了下游端口的所述PIM-Snooping路由表項相對應(yīng)的PIM剪枝報文時,所述接入交換設(shè)備在添加了下游端口的所述PIM-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,并停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。 另一方面,本發(fā)明實施例還提供了 一種接入交換設(shè)備,其特征在于,至少包括:接收模塊,用于接收組播源所發(fā)送的組播數(shù)據(jù)流;查詢模塊,用于查詢本地是否保存有所述接收模塊所接收到的組播數(shù)據(jù)流相對應(yīng)的PIM-Snooping路由表項;建立模塊,用于在所述查詢模塊的查詢結(jié)果為否時,根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PIM-Snooping路由表項;添加模塊,用于當(dāng)所述接收模塊接收到下游相鄰路由設(shè)備發(fā)送的與所述PM-Snooping路由表項相對應(yīng)的PM加入報文時,將接收所述PM加入報文的端口,添加為所述PIM-Snooping路由表項的下游端口 ;傳輸模塊,用于在所述接收模塊接收到與所述建立模塊所建立的未添加下游端口的PIM-Snooping路由表項相對應(yīng)的組播數(shù)據(jù)流時,停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,在所述接收模塊接收到與所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流時,通過所述添加模塊所添加的下游端口發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述傳輸模塊,還用于:在所述查詢模塊的查詢結(jié)果為是時,判斷所述PIM-Snooping路由表項當(dāng)前是否存在下游端口;如果不存在,則停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;如果存在,則通過所述下游端口將所述組播數(shù)據(jù)流發(fā)送給相應(yīng)的下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述接入交換設(shè)備,還包括?;钅K,用于:在接收組播源所發(fā)送的組播數(shù)據(jù)流之后,按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息,作為?;顖笪陌l(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備周期性獲取所述組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新;當(dāng)確定未接收到所述組播源所發(fā)送的組播數(shù)據(jù)流的時間超過預(yù)設(shè)的?;顣r間閾值時,停止發(fā)送所述?;顖笪?,并對當(dāng)前已建立的與所述組播源相對應(yīng)的PM-Snooping路由表項進(jìn)行老化;其中,當(dāng)所述下游相鄰路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的?;顣r間閾值時,所述下游相鄰路由設(shè)備對本地當(dāng)前已建立的與所述組播源相對應(yīng)的PIM-Snooping路由表項進(jìn)行老化。優(yōu)選的,所述傳輸模塊,還用于:在所述建立模塊根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PM-Snooping路由表項之后,按照預(yù)設(shè)的報文發(fā)送周期,向下游相鄰路由設(shè)備方向發(fā)送與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PIMHello報文,以使所述下游相鄰路由設(shè)備方向上使能PIM-Snooping的設(shè)備維護(hù)與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PM鄰居信息;當(dāng)所述建立模塊所建立的所述未添加下游端口的PIM-Snooping路由表項老化時,停止發(fā)送所述PM Hello報文。優(yōu)選的,所述添加模塊,還用于:在將接收所述PM加入報文的端口,添加為所述PM-Snooping路由表項的下游端口之后,當(dāng)所述接收模塊接收到下游相鄰路由設(shè)備發(fā)送的與所述PIM-Snooping路由表項相對應(yīng)的PIM剪枝報文時,在所述PIM-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,并通知所述傳輸模塊停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。另一方面,本發(fā)明實施例還提供了一種組播轉(zhuǎn)發(fā)的方法,所述方法至少包括以下步驟:作為組播源側(cè)指定路由器DR的路由設(shè)備接收與組播源直連的接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期發(fā)送的?;顖笪?,在本地維護(hù)與所述接入交換設(shè)備直連的組播源相對應(yīng)的PIM路由表項,其中,所述?;顖笪木唧w為所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息;當(dāng)所述路由設(shè)備確定所維護(hù)的PIM路由表項添加下游出接口時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所述路由設(shè)備維護(hù)的相應(yīng)PM路由表項相對應(yīng)的PM加入報文,以使所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的P頂路由表項相對應(yīng)的PIM-Snooping路由表項的下游端口 ;所述路由設(shè)備接收所述接入交換設(shè)備通過所述下游端口發(fā)送的與所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,將所述組播數(shù)據(jù)流通過所述下游出接口發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述的方法,還包括:所述路由設(shè)備接收所述接入交換設(shè)備發(fā)送的保活報文,以周期性的獲取相對應(yīng)的組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新,當(dāng)所述路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的保活報文的時間超過預(yù)設(shè)的?;顣r間閾值時,所述路由設(shè)備對本地當(dāng)前已建立的相對應(yīng)的PM路由表項進(jìn)行老化。優(yōu)選的,當(dāng)所述路由設(shè)備確定所維護(hù)的PIM路由表項添加下游出接口時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所述路由設(shè)備維護(hù)的PIM路由表項相對應(yīng)的PIM加入報文,以使所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的P頂路由表項相對應(yīng)的PM-Snooping路由表項的下游端口之后,還包括:當(dāng)所述路由設(shè)備確定所維護(hù)的PIM路由表項相對應(yīng)的下游出接口不存在時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所維護(hù)的PM路由表項相對應(yīng)的PM剪枝報文,以使所述接入交換設(shè)備在與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的PIM-Snooping路由表項中刪除與接收所述PM剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。另一方面,本發(fā)明實施例還提供了 一種路由設(shè)備,可用于組播源側(cè)DR,至少包括:接收模塊,用于接收與組播源直連的接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期發(fā)送的保活報文,其中,所述?;顖笪木唧w為所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息;維護(hù)模塊,用于在所述路由設(shè)備上維護(hù)與所述接入交換設(shè)備直連的組播源相對應(yīng)的PM路由表項;發(fā)送模塊,用于當(dāng)確定所述維護(hù)模塊所維護(hù)的PIM路由表項添加下游出接口時,向所述接入交換設(shè)備發(fā)送與所述維護(hù)模塊所維護(hù)的相應(yīng)PM路由表項相對應(yīng)的PM加入報文,以使所述接入交換設(shè)備將接收所述PM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的相應(yīng)P頂路由表項相對應(yīng)的PM-Snooping路由表項的下游端Π ;傳輸模塊,用于接收所述接入交換設(shè)備通過所述下游端口發(fā)送的與所述發(fā)送模塊所發(fā)送的PIM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,將所述組播數(shù)據(jù)流通過所述下游出接口發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述接收模塊,還用于:接收所述接入交換設(shè)備發(fā)送的?;顖笪模灾芷谛缘墨@取相對應(yīng)的組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新;
當(dāng)確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的保活時間閾值時,通知所述維護(hù)模塊對當(dāng)前已建立的相對應(yīng)的PIM路由表項進(jìn)行老化。優(yōu)選的,所述發(fā)送模塊,還用于:當(dāng)確定所述維護(hù)模塊所維護(hù)的路由表項相對應(yīng)的下游出接口不存在時,向所述接入交換設(shè)備發(fā)送與所述維護(hù)模塊所維護(hù)的該P(yáng)M路由表項相對應(yīng)的PM剪枝報文,以使所述接入交換設(shè)備在與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的PIM-Snooping路由表項中刪除與接收所述P頂剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。與現(xiàn)有技術(shù)相比,本發(fā)明實施例所提出的技術(shù)方案具有以下優(yōu)點(diǎn):通過應(yīng)用本發(fā)明實施例所提出的技術(shù)方案,可以在數(shù)據(jù)源側(cè)組網(wǎng)中的接入交換設(shè)備上使能ΡΙΜ-Snooping,建立未添加下游端口的PIM-Snooping路由表項,并根據(jù)下游相鄰路由設(shè)備發(fā)送的PIM加入/剪枝報文,為該P(yáng)M-Snooping路由表項添加或刪除下游端口,以控制是否向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,使得只有在下游用戶有接收需求的時候,組播數(shù)據(jù)流才被發(fā)送到下游相鄰路由設(shè)備;而如果下游沒有用戶需要接收這個組播數(shù)據(jù)流的時候,該組播數(shù)據(jù)流只會被發(fā)送到接入交換設(shè)備,而不再繼續(xù)向下游相鄰路由設(shè)備方向發(fā)送,從而,達(dá)到節(jié)約網(wǎng)絡(luò)帶寬,避免組播流量泛濫的目的。
圖1為現(xiàn)有技術(shù)中的組播方式的傳信息輸過程的示意圖;圖2為現(xiàn)有技術(shù)中的數(shù)據(jù)中心二層組網(wǎng)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例所提出的一種組播轉(zhuǎn)發(fā)的方法的流程示意圖;圖4為本發(fā)明實施例所提出的一種組播轉(zhuǎn)發(fā)的方法在下游相鄰路由設(shè)備側(cè)的流程不意圖;圖5為本發(fā)明實施例所提出的PIM加入/剪枝報文的示意圖;圖6為本發(fā)明實施例所提出的PIM加入/剪枝報文的局部示意圖;圖7為本發(fā)明實施例所提出的一種接入交換設(shè)備的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例所提出的一種路由設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式如圖3所示,為本發(fā)明所提出的一種組播轉(zhuǎn)發(fā)的方法的流程示意圖,該方法具體包括以下步驟:步驟S301、與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流,并查詢本地是否保存有相對應(yīng)的PM-Snooping路由表項。 如果查詢結(jié)果為否,則執(zhí)彳了步驟S302 ;如果查詢結(jié)果為是,所述接入交換設(shè)備判斷所述PIM-Snooping路由表項當(dāng)前是否存在下游端口;如果不存在,所述接入交換設(shè)備停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;如果存在,通過所述下游端口將所述組播數(shù)據(jù)流發(fā)送給相應(yīng)的下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。需要說明的是,在本步驟中接收到組播數(shù)據(jù)流之后,還包括以下處理過程:所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息,作為保活報文發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備周期性獲取所述組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新。需要進(jìn)行說明的是,此處提及的保活報文的內(nèi)容可以是從組播數(shù)據(jù)流中直接截取的一個或多個數(shù)據(jù)包(例如接收到的組播數(shù)據(jù)流的第一個數(shù)據(jù)包),也可以是對組播數(shù)據(jù)流所提取的信息(例如對組播數(shù)據(jù)流所提取的源組信息),其目的在于使下游相鄰路由設(shè)備確認(rèn)組播源的活動情況,在實際的應(yīng)用場景中,凡是能夠達(dá)到上述技術(shù)效果的技術(shù)方案都可以應(yīng)用于本發(fā)明,這樣的變化并不會影響本發(fā)明的保護(hù)范圍。當(dāng)所述接入交換設(shè)備確定未接收到所述組播源所發(fā)送的組播數(shù)據(jù)流的時間超過預(yù)設(shè)的保活時間閾值時,所述接入交換設(shè)備停止發(fā)送所述?;顖笪?,并對當(dāng)前已建立的與所述組播源相對應(yīng)的PIM-Snooping路由表項進(jìn)行老化。其中,當(dāng)所述下游相鄰路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的保活時間閾值時,所述下游相鄰路由設(shè)備對本地當(dāng)前已建立的與所述組播源相對應(yīng)的PM路由表項進(jìn)行老化。步驟S302、所述接入交換設(shè)備根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PIM-Snooping路由表項,并停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。在具體的應(yīng)用場景中,所述接入交換設(shè)備根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PM-Snooping路由表項之后,還包括:所述接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期,向下游相鄰路由設(shè)備方向發(fā)送與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PIM Hello報文,以使所述下游相鄰路由設(shè)備上維護(hù)與所述未添加下游端口的PM-Snooping路由表項相對應(yīng)的PIM鄰居信息;當(dāng)所述未添加下游端口的PIM-Snooping路由表項老化時,所述接入交換設(shè)備停止發(fā)送所述PM Hello報文。當(dāng)所述接入交換設(shè)備接收到下游相鄰路由設(shè)備發(fā)送的與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PM加入報文時,執(zhí)行步驟S303。步驟S303、所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述未添加下游端口的PIM-Snooping路由表項的下游端口。需要說明的是,所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述未添加下游端口的PM-Snooping路由表項的下游端口之后,還包括:當(dāng)所述接入交換設(shè)備接收到下游相鄰路由設(shè)備發(fā)送的與添加了下游端口的所述PIM-Snooping路由表項相對應(yīng)的PIM剪枝報文時,所述接入交換設(shè)備在添加了下游端口的所述PIM-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。步驟S304、所述接入交換設(shè)備將所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,通過所述下游端口發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。為了實現(xiàn)上述的技術(shù)方案,與現(xiàn)有技術(shù)相比,需要在上述的下游相鄰路由設(shè)備上進(jìn)行相應(yīng)的配置,完成相應(yīng)的向接入交換設(shè)備發(fā)送PM加入/剪枝報文的處理過程,具體的,如圖4所示,為本發(fā)明實施例提出的一種組播轉(zhuǎn)發(fā)的方法在接入交換設(shè)備的下游相鄰路由設(shè)備側(cè)的流程示意圖,具體包括以下步驟:步驟S401、作為組播源側(cè)DR (指定路由器)的路由設(shè)備接收與組播源直連的接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期發(fā)送的?;顖笪?,在本地維護(hù)與所述接入交換設(shè)備上的直連的組播源相對應(yīng)的組播表項,其中,所述?;顖笪木唧w為所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息。當(dāng)所述路由設(shè)備確定所維護(hù)的PIM路由表項添加下游出接口時,進(jìn)一步執(zhí)行步驟S402。步驟S402、所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所述路由設(shè)備維護(hù)的相應(yīng)PIM路由表項相對應(yīng)的PIM加入報文,以使所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的PIM路由表項相對應(yīng)的PIM-Snooping路由表項的下游端口。通過本步驟的處理,在下游存在相應(yīng)的組播數(shù)據(jù)需求的情況下,路由設(shè)備通過發(fā)送PM加入報文使接入交換設(shè)備添加了相應(yīng)的下游端口,從而使組播數(shù)據(jù)流可以順利地向下游傳輸。進(jìn)一步的,考慮到下游的組播數(shù)據(jù)需求的非持續(xù)性,路由設(shè)備在下游不再繼續(xù)存在上述的組播數(shù)據(jù)需求的情況下,需要指示接入交換設(shè)備進(jìn)行相應(yīng)的下游端口的刪除,具體的處理過程如下:當(dāng)所述路由設(shè)備確定所維護(hù)的PIM路由表項相對應(yīng)的下游出接口不存在時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的PM剪枝報文,以使所述接入交換設(shè)備在與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的PIM-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。通過這樣的處理,在下游不再存在組播數(shù)據(jù)需求的情況下,刪除了接入交換設(shè)備的下游端口,使組播數(shù)據(jù)流不會再繼續(xù)向下游轉(zhuǎn)發(fā),避免了數(shù)據(jù)泛濫和資源浪費(fèi)。步驟S403、所述路由設(shè)備接收所述接入交換設(shè)備通過所述下游端口發(fā)送的與所述PIM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。需要說明的是,與前述的步驟S301相對應(yīng),上述的路由設(shè)備作為組播源側(cè)DR需要進(jìn)一步通過保活報文確定組播源的活動狀態(tài),因此,本發(fā)明實施例所提出的技術(shù)方案需要進(jìn)一步執(zhí)行以下的處理流程:所述路由設(shè)備接收所述接入交換設(shè)備發(fā)送的?;顖笪?,以周期性的獲取相對應(yīng)的組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新;當(dāng)所述路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的保活報文的時間超過預(yù)設(shè)的?;顣r間閾值時,所述路由設(shè)備對本地當(dāng)前已建立的相對應(yīng)的PM路由表項進(jìn)行老化。與現(xiàn)有技術(shù)相比,本發(fā)明實施例所提出的技術(shù)方案具有以下優(yōu)點(diǎn):通過應(yīng)用本發(fā)明實施例所提出的技術(shù)方案,可以在數(shù)據(jù)源側(cè)組網(wǎng)中的接入交換機(jī)上使能ΡΙΜ-Snooping,建立未添加下游端口的PIM-Snooping路由表項,并根據(jù)下游相鄰路由設(shè)備發(fā)送的PM加入/剪枝報文,為該P(yáng)M-Snooping路由表項添加或刪除下游端口,以控制是否向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,使得只有在下游用戶有接收需求的時候,組播數(shù)據(jù)流才被發(fā)送到下游相鄰路由設(shè)備;而如果下游沒有用戶需要接收這個組播數(shù)據(jù)流的時候,該組播數(shù)據(jù)流只會被發(fā)送到接入交換設(shè)備,而不再繼續(xù)向下游相鄰路由設(shè)備方向發(fā)送,從而,達(dá)到節(jié)約網(wǎng)絡(luò)帶寬,避免組播流量泛濫的目的。為了進(jìn)一步闡述本發(fā)明的技術(shù)思想,現(xiàn)結(jié)合具體的應(yīng)用場景,對本發(fā)明的技術(shù)方案進(jìn)行說明。為了實現(xiàn)上述的技術(shù)方案,本發(fā)明實施例還提出了一種組播源感知、?;钆c老化機(jī)制,使得組播源側(cè)PIM DR在組播數(shù)據(jù)源處于活動狀態(tài)時能夠獲知組播的源組信息,處于非活動狀態(tài)時又能夠及時老化相關(guān)的信息。對于活動組播源的感知、?;钆c老化機(jī)制進(jìn)行說明如下:首先,在系統(tǒng)中增加一種功能,該功能可以僅在直連組播源的交換機(jī)上配置,其他交換機(jī)上無需配置。當(dāng)直連組播源的接入交換設(shè)備上配置了該活動組播源感知功能時,從組播源收到組播流量后,讓的PM-Snooping模塊周期性從底層抓取一個組播數(shù)據(jù)報文,并將該報文向組播源側(cè)P頂DR方向發(fā)送,使得組播遠(yuǎn)側(cè)PM DR能夠感知組播源的存在,完成其向RP進(jìn)行組播源注冊的功能。具體的處理過程如下:(I)使能ΡΙΜ-Snooping的接入交換設(shè)備上配置了活動組播源感知功能后,從組播源收到收到組播數(shù)據(jù)流時,會根據(jù)流量的源組信息,創(chuàng)建PM-Snooping路由表項,上游端口為直連服務(wù)器的端口 ;同時PM-Snooping表項的下游維護(hù)加入剪枝狀態(tài),即當(dāng)此時沒有接收者時,下游不添加出端口,流量匹配上該表項后如果沒有出端口,則不向外轉(zhuǎn)發(fā)。如果下游存在接收者的時候,下游相鄰路由設(shè)備PIM DR就會向接入交換設(shè)備方向發(fā)送PIM加入報文,使接入交換設(shè)備的ΡΙΜ-Snooping表項添加下游出端口,實現(xiàn)流量精確轉(zhuǎn)發(fā);如果下游接收者不再接收該源組的流量的時候,下游下游相鄰路由設(shè)備PIM DR就會向接入交換設(shè)備發(fā)送PM剪枝報文,將PM-Snooping表項的下游出端口刪除,避免流量泛濫。PM DR發(fā)送加入/剪枝報文的流程將在下文詳細(xì)描述。(2)配置了活動組播源感知功能的接入交換設(shè)備上的PM-Snooping模塊以60s為周期從底層獲取一份組播數(shù)據(jù)報文的拷貝,將其在使能了 PM-Snooping的VLAN內(nèi)廣播。(3)接入交換設(shè)備與PIM DR之間的交換機(jī),如匯聚交換機(jī),需要使能ΡΙΜ-Snooping,但不需配置周期發(fā)送組播數(shù)據(jù)的功能,按照其原有ΡΙΜ-Snooping實現(xiàn),不根據(jù)數(shù)據(jù)報文創(chuàng)建表項。這些交換機(jī)收到該數(shù)據(jù)報文后,直接將該報文在VLAN內(nèi)轉(zhuǎn)發(fā)。(4)作為PM DR的下游相鄰路由設(shè)備收到該組播數(shù)據(jù)報文后,將報文上送至三層PIM模塊,若報文源地址與DR收到該報文的三層接口地址同網(wǎng)段,則正常處理該組播數(shù)據(jù)報文,創(chuàng)建PM路由表項,并完成其向RP進(jìn)行組播源注冊的過程;若報文源地址與接口非同網(wǎng)段,則DR不處理該數(shù)據(jù)報文。(5)以60s為周期,重復(fù)步驟(2)到(4),使PIM DR能周期性獲取組播源的活動狀態(tài),并更新DR維護(hù)的組播源活動定時器。(6)如果組播源不再處于活動狀態(tài),直連源的接入交換設(shè)備的底層一定時間(60s)后上報組播源狀態(tài)變?yōu)榉腔顒?,PM-Snooping模塊停止發(fā)送組播數(shù)據(jù)報文,同時老化本地維護(hù)的PM-Snooping表項。PM DR在一定時間之后沒有收到周期性發(fā)送的源?;顖笪?,也會老化本地維護(hù)的PM路由表項。通過以上步驟,可以確保組播源感知、?;钆c老化機(jī)制能夠正常進(jìn)行,組播數(shù)據(jù)報文被周期性發(fā)送至P頂DR0然后,本發(fā)明實施例所提出的技術(shù)方案中還設(shè)計了另一項功能,使接入交換設(shè)備根據(jù)收到組播流創(chuàng)建PM-Snooping表項后,向PM DR方向發(fā)送一個PM Hello報文,用于其他使能了 PM-Snooping的交換機(jī)維護(hù)PM鄰居信息,來指導(dǎo)PM加入剪枝報文的轉(zhuǎn)發(fā),從而為ΡΙΜ-Snooping表項精確添加出端口,使組播數(shù)據(jù)報文精確轉(zhuǎn)發(fā)。同該功能時還用于使下游相鄰路由設(shè)備PM DR判斷是否從直連組播源的接口向上游發(fā)送PM加入/剪枝報文。該功能與上文描述的周期發(fā)送組播數(shù)據(jù)的功能同時使用,也僅在直連組播源的接入交換設(shè)備上配置,其他交換機(jī)上無需配置。具體的處理步驟如下:(I)直連組播組播源的接入交換設(shè)備上配置了周期發(fā)送Hello報文的功能后,根據(jù)創(chuàng)建ΡΙΜ-Snooping表項,構(gòu)造一個PIM Hello報文,報文源IP地址填寫PIM-Snooping表項的源地址,目的地址為協(xié)議規(guī)定的默認(rèn)地址224.0.0.13。報文DR優(yōu)先級選項填寫0,保證該地址在鏈路上默認(rèn)不會作為DR存在,其余選項字段則按照協(xié)議默認(rèn)值填寫即可。該Hello報文周期性在VLAN內(nèi)廣播發(fā)送。(2)接入交換設(shè)備與PM DR之間的交換機(jī),如匯聚交換機(jī),不需要配置周期發(fā)送PM Hello的功能,按照其原有ΡΙΜ-Snooping實現(xiàn),收到PIM Hello報文后,維護(hù)ΡΙΜ-Snooping鄰居,并在VLAN內(nèi)廣播該報文。PM鄰居信息則用于后續(xù)指導(dǎo)PM加入剪枝報文的轉(zhuǎn)發(fā)。(3)作為PM DR的下游相鄰路由設(shè)備收到該Hello報文后,按規(guī)則正常處理該報文,若報文源地址與DR收到該報文的三層接口地址同網(wǎng)段,則維護(hù)PM鄰居;若報文源地址與接口非同網(wǎng)段,則DR不處理該報文。(4)以30s為周期,重復(fù)步驟(I)到(3),使接入交換設(shè)備與PM DR之間的交換機(jī),以及PM DR設(shè)備正常維護(hù)P頂鄰居狀態(tài)。(5)若組播源不再處于活動狀態(tài),則等PM-Snooping表項老化之后,停止發(fā)送PMHello報文。根據(jù)上文的描述,如果PM DR沒有維護(hù)以組播源為鄰居的時候,則不做額外處理;如果PM DR維護(hù)的鄰居列表中有組播源地址,則表示出現(xiàn)了本文所設(shè)計的使用場景,PIMDR需要根據(jù)下游接收者存在與否,向上游發(fā)送PIM加入或剪枝報文。當(dāng)下游接收者對該源組的數(shù)據(jù)流有(無)接收需求的時候,讓P頂DR向組播源方向發(fā)送PIM加入(剪枝)報文,從而使ΡΙΜ-Snooping按照接收需求添加(刪除)出端口,實現(xiàn)流量的精確轉(zhuǎn)發(fā)。在具體的應(yīng)用場景中,需要定義一個特定bit位來實現(xiàn)這一功能。
如圖5所示,為本發(fā)明實施例所提出的PIM加入/剪枝報文的示意圖,各字段的解釋如下:PIM Ver, Type, Reserved, Checksum 等字段與其他 PIM 報文用法相同。Upstream Neighbor Address:上游鄰居的地址,本報文的目的地。Reserved:保留字段。Num groups:本報文所包含的組個數(shù)。Holdtime:接收者收到本報文后保持加入/剪枝狀態(tài)的時間范圍,以秒為單位。Multicast Group Addressl..m:本報文所要加入或剪枝的組播組地址列表。Number of Joined/Pruned Sources:接收者收到本報文對于某一個組,下游需要加入或剪枝的組播源個數(shù)。Joined/Pruned Source Addressl..η:加入或剪枝的組播源地址列表。這里使用上游鄰居地址字段后面的保留字段中的最高位,如圖6所示,將其置為1,標(biāo)示該P(yáng)頂J/P報文是由三層直連組播源的P頂DR,向組播源方向的二層TRILL網(wǎng)絡(luò)所發(fā)送的特定的加入剪枝報文,用于PM-Snooping表項維護(hù)下游加入剪枝狀態(tài),添加出端口控制組播流量精確轉(zhuǎn)發(fā)。下面的流程圖顯示PM DR在有下游出接口的情況下,向組播源方向發(fā)送上文定義的PM加入報文,組播源與PM DR之間的交換機(jī)添加PM-Snooping出端口,進(jìn)行流量轉(zhuǎn)發(fā)的過程。(I)當(dāng)下游相鄰路由設(shè)備PM DR收到下游加入報文添加了出接口時,三層PM模塊即構(gòu)造發(fā)送上文定義的特定字段置位的PM加入報文,報文上游鄰居填寫組播源的地址,表不該報文是用于組播源與DR之間的交換機(jī)上的ΡΙΜ-Snooping模塊添加表項出端口的PM加入報文。(2)接入交換設(shè)備與PM DR之間的交換機(jī),如匯聚交換機(jī),收到該加入報文后,按照PM-Snooping處理規(guī)則正常處理該報文,創(chuàng)建PM-Snooping表項,將收到該報文的端口添加到表項的出端口列表中,同時讀取報文中的上游鄰居字段,再查找本地維護(hù)的鄰居信息,將該加入報文向?qū)?yīng)的端口轉(zhuǎn)發(fā)。(3)直連組播源的接入交換設(shè)備收到該P(yáng)M加入報文后,將收到該報文的端口添加為PM-Snooping表項的出端口,組播流量即可從出端口沿精確轉(zhuǎn)發(fā)路徑發(fā)送到PM DR0(4) PIM加入報文周期性向組播源方向發(fā)送,用于更新ΡΙΜ-Snooping表項出端口的存在時間,發(fā)送周期為60秒。通過上述步驟可以使下游存在接收者的情況下,組播流量精確轉(zhuǎn)發(fā)至PM DR,避免了廣播泛濫的問題。若P頂DR上由于不存在接收者而刪除了出接口,則向上游發(fā)送PM剪枝報文,上游鄰居與特定字段置位與加入報文相同,用于將PM-Snooping表項所維護(hù)的出接口刪除。具體執(zhí)行步驟如下:(I)下游相鄰路由設(shè)備PIM DR向組播源方向發(fā)送PIM剪枝報文。(2)接入交換設(shè)備與PM DR之間的交換機(jī),如匯聚交換機(jī),收到該加入報文后,按照PM-Snooping處理規(guī)則正常處理該報文,刪除PM-Snooping表項出接口,如果此時表項已沒有其他出接口時,則刪除表項,同時將該報文在VLAN內(nèi)轉(zhuǎn)發(fā)。(3)直連組播源的接入交換設(shè)備收到該P(yáng)M剪枝報文后,識別出該報文的特定字段置位,將收到該報文的端口從PM-Snooping表項的出端口列表中刪除,如果PM-Snooping表項沒有其他出端口時,表項本身依然保留并不刪除,組播流量匹配上該表項時發(fā)現(xiàn)沒有出端口,則不再向外轉(zhuǎn)發(fā)。(4)下游相鄰路由設(shè)備PM DR設(shè)備周期性向組播源方向發(fā)送PM剪枝報文,用于維護(hù)ΡΙΜ-Snooping表項下游出端口的剪枝狀態(tài),發(fā)送周期為60秒。按照上面的流程,通過對PM-Snooping表項刪除出端口,實現(xiàn)流量在有需要時進(jìn)行轉(zhuǎn)發(fā),沒有接收需要時則不轉(zhuǎn)發(fā),實現(xiàn)了流量的精確控制,避免了網(wǎng)絡(luò)帶寬浪費(fèi)與流量冗余。與現(xiàn)有技術(shù)相比,本發(fā)明實施例所提出的技術(shù)方案具有以下優(yōu)點(diǎn):通過應(yīng)用本發(fā)明實施例所提出的技術(shù)方案,可以在數(shù)據(jù)源側(cè)組網(wǎng)中的接入交換機(jī)上使能ΡΙΜ-Snooping,建立未添加下游端口的ΡΙΜ-Snooping路由表項,并根據(jù)下游相鄰路由設(shè)備發(fā)送的PIM加入/剪枝報文,為該P(yáng)M-Snooping路由表項添加或刪除下游端口,以控制是否向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,使得只有在下游用戶有接收需求的時候,組播數(shù)據(jù)流才被發(fā)送到下游相鄰路由設(shè)備;而如果下游沒有用戶需要接收這個組播數(shù)據(jù)流的時候,該組播數(shù)據(jù)流只會被發(fā)送到接入交換設(shè)備,而不再繼續(xù)向下游相鄰路由設(shè)備方向發(fā)送,從而,達(dá)到節(jié)約網(wǎng)絡(luò)帶寬,避免組播流量泛濫的目的。為了實現(xiàn)本發(fā)明的技術(shù)方案,本發(fā)明還提出了一種接入交換設(shè)備,其結(jié)構(gòu)示意圖7所示,包括:接收模塊71,用于接收組播源所發(fā)送的組播數(shù)據(jù)流;查詢模塊72,用于查詢本地是否保存有所述接收模塊71所接收到的組播數(shù)據(jù)流相對應(yīng)的ΡΙΜ-Snooping路由表項;建立模塊73,用于在所述查詢模塊72的查詢結(jié)果為否時,根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的ΡΙΜ-Snooping路由表項;添加模塊74,用于當(dāng)所述接收模塊71接收到下游相鄰路由設(shè)備發(fā)送的與所述PM-Snooping路由表項相對應(yīng)的PM加入報文時,將接收所述PM加入報文的端口,添加為所述ΡΙΜ-Snooping路由表項的下游端口 ;傳輸模塊75,用于在所述接收模塊71接收到與所述建立模塊73所建立的未添加下游端口的ΡΙΜ-Snooping路由表項相對應(yīng)的組播數(shù)據(jù)流時,停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,在所述接收模塊71接收到與所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流時,通過所述添加模塊74所添加的下游端口發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述傳輸模塊75,還用于:在所述查詢模塊72的查詢結(jié)果為是時,判斷所述PM-Snooping路由表項當(dāng)前是否存在下游端口;如果不存在,則停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;如果存在,則通過所述下游端口將所述組播數(shù)據(jù)流發(fā)送給相應(yīng)的下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述接入交換設(shè)備還包括?;钅K76,用于:
在接收組播源所發(fā)送的組播數(shù)據(jù)流之后,按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息,作為?;顖笪陌l(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備周期性獲取所述組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新;當(dāng)確定未接收到所述組播源所發(fā)送的組播數(shù)據(jù)流的時間超過預(yù)設(shè)的?;顣r間閾值時,停止發(fā)送所述?;顖笪?,并對當(dāng)前已建立的與所述組播源相對應(yīng)的PM-Snooping路由表項進(jìn)行老化;其中,當(dāng)所述下游相鄰路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的保活時間閾值時,所述下游相鄰路由設(shè)備對本地當(dāng)前已建立的與所述組播源相對應(yīng)的ΡΙΜ-Snooping路由表項進(jìn)行老化。優(yōu)選的,所述傳輸模塊75,還用于:在所述建立模塊73根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PM-Snooping路由表項之后,按照預(yù)設(shè)的報文發(fā)送周期,向下游相鄰路由設(shè)備方向發(fā)送與所述未添加下游端口的ΡΙΜ-Snooping路由表項相對應(yīng)的PIM Hello報文,以使所述下游相鄰路由設(shè)備方向上使能ΡΙΜ-Snooping的設(shè)備維護(hù)與所述未添加下游端口的ΡΙΜ-Snooping路由表項相對應(yīng)的PM鄰居信息;當(dāng)所述建立模塊73所建立的所述未添加下游端口的ΡΙΜ-Snooping路由表項老化時,停止發(fā)送所述PM Hello報文。優(yōu)選的,所述添加模塊74,還用于:在將接收所述PM加入報文的端口,添加為所述PM-Snooping路由表項的下游端口之后,當(dāng)所述接收模塊71接收到下游相鄰路由設(shè)備發(fā)送的與所述ΡΙΜ-Snooping路由表項相對應(yīng)的PIM剪枝報文時,在所述ΡΙΜ-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,并通知所述傳輸模塊75停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。進(jìn)一步的,本發(fā)明實施例還進(jìn)一步提出了 一種路由設(shè)備,可用于組播源側(cè)DR,其結(jié)構(gòu)示意圖如圖8所示,包括:接收模塊81,用用于接收與組播源直連的接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期發(fā)送的?;顖笪?,其中,所述保活報文具體為所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息;維護(hù)模塊82,用于在所述路由設(shè)備上維護(hù)與所述接入交換設(shè)備直連的組播源相對應(yīng)的PM路由表項;發(fā)送模塊83,用于當(dāng)確定所述維護(hù)模塊所維護(hù)的PIM路由表項添加下游出接口時,向所述接入交換設(shè)備發(fā)送與所述維護(hù)模塊所維護(hù)的相應(yīng)PIM路由表項相對應(yīng)的PIM加入報文,以使所述接入交換設(shè)備將接收所述PM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的相應(yīng)PM路由表項相對應(yīng)的PM-Snooping路由表項的下游端口 ;傳輸模塊84,用于接收所述接入交換設(shè)備通過所述下游端口發(fā)送的與所述發(fā)送模塊83所發(fā)送的PIM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,將所述組播數(shù)據(jù)流通過所述下游出接口發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。優(yōu)選的,所述接收模塊81,還用于:接收所述接入交換設(shè)備發(fā)送的保活報文,以周期性的獲取相對應(yīng)的組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新;當(dāng)確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的保活時間閾值時,通知所述維護(hù)模塊82對當(dāng)前已建立的相對應(yīng)的PIM路由表項進(jìn)行老化。。優(yōu)選的,所述發(fā)送模塊83,還用于:當(dāng)確定所述維護(hù)模塊82所維護(hù)的路由表項相對應(yīng)的下游出接口不存在時,向所述接入交換設(shè)備發(fā)送與所述維護(hù)模塊82所維護(hù)的該P(yáng)IM路由表項相對應(yīng)的PIM剪枝報文,以使所述接入交換設(shè)備在與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的ΡΙΜ-Snooping路由表項中刪除與接收所述PM剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。與現(xiàn)有技術(shù)相比,本發(fā)明實施例所提出的技術(shù)方案具有以下優(yōu)點(diǎn):通過應(yīng)用本發(fā)明實施例所提出的技術(shù)方案,可以在數(shù)據(jù)源側(cè)組網(wǎng)中的接入交換設(shè)備上使能ΡΙΜ-Snooping,建立未添加下游端口的ΡΙΜ-Snooping路由表項,并根據(jù)下游相鄰路由設(shè)備發(fā)送的PIM加入/剪枝報文,為該P(yáng)M-Snooping路由表項添加或刪除下游端口,以控制是否向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,使得只有在下游用戶有接收需求的時候,組播數(shù)據(jù)流才被發(fā)送到下游相鄰路由設(shè)備;而如果下游沒有用戶需要接收這個組播數(shù)據(jù)流的時候,該組播數(shù)據(jù)流只會被發(fā)送到接入交換設(shè)備,而不再繼續(xù)向下游相鄰路由設(shè)備方向發(fā)送,從而,達(dá)到節(jié)約網(wǎng)絡(luò)帶寬,避免組播流量泛濫的目的。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施場景所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進(jìn)行分布于實施場景的裝置中,也可以進(jìn)行相應(yīng)變化位于不用于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。上述本發(fā)明序號僅僅為了描述,不代表實施場景的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施場景,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種組播轉(zhuǎn)發(fā)的方法,其特征在于,所述方法至少包括以下步驟: 與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流,并查詢本地是否保存有相對應(yīng)的協(xié)議無關(guān)組播監(jiān)聽PM-Snooping路由表項; 如果查詢結(jié)果為否,所述接入交換設(shè)備根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PIM-Snooping路由表項,并停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流; 當(dāng)所述接入交換設(shè)備接收到下游相鄰路由設(shè)備發(fā)送的與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的協(xié)議無關(guān)組播PIM加入報文時,所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述未添加下游端口的PIM-Snoop ing路由表項的下游端Π ; 所述接入交換設(shè)備將所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,通過所述下游端口發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。
2.如權(quán)利要求1所述的方法,其特征在于,所述與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流,并查詢本地是否保存有相對應(yīng)的PM-Snooping路由表項之后,還包括: 如果查詢結(jié)果為是,所述接入交換設(shè)備判斷所述PM-Snooping路由表項當(dāng)前是否存在下游端口; 如果不存在,所述接入交換設(shè)備停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流; 如果存在,通過所述下游端口將所述組播數(shù)據(jù)流發(fā)送給相應(yīng)的下游相鄰路由設(shè)備,以使所述下游相鄰 路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。
3.如權(quán)利要求1所述的方法,其特征在于,所述與組播源直連的接入交換設(shè)備接收所述組播源所發(fā)送的組播數(shù)據(jù)流之后,還包括: 所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息,作為保活報文發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備周期性獲取所述組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新; 當(dāng)所述接入交換設(shè)備確定未接收到所述組播源所發(fā)送的組播數(shù)據(jù)流的時間超過預(yù)設(shè)的保活時間閾值時,所述接入交換設(shè)備停止發(fā)送所述?;顖笪?,并對當(dāng)前已建立的與所述組播源相對應(yīng)的PIM-Snooping路由表項進(jìn)行老化; 其中,當(dāng)所述下游相鄰路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的保活時間閾值時,所述下游相鄰路由設(shè)備對本地當(dāng)前已建立的與所述組播源相對應(yīng)的P頂路由表項進(jìn)行老化。
4.如權(quán)利要求1所述的方法,其特征在于,所述接入交換設(shè)備根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PM-Snooping路由表項之后,還包括: 所述接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期,向下游相鄰路由設(shè)備方向發(fā)送與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PIM Hello報文,以使所述下游相鄰路由設(shè)備方向上使能PIM-Snooping的設(shè)備維護(hù)與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PM鄰居信息;當(dāng)所述未添加下游端口的PIM-Snooping路由表項老化時,所述接入交換設(shè)備停止發(fā)送所述PM Hello報文。
5.如權(quán)利要求1所述的方法,其特征在于,所述接入交換設(shè)備將接收所述PIM加入報文的端口,添加為所述未添加下游端口的PM-Snooping路由表項的下游端口之后,還包括: 當(dāng)所述接入交換設(shè)備接收到下游相鄰路由設(shè)備發(fā)送的與添加了下游端口的所述PIM-Snooping路由表項相對應(yīng)的PIM剪枝報文時,所述接入交換設(shè)備在添加了下游端口的所述PIM-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,并停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。
6.一種接入交換設(shè)備,其特征在于,至少包括: 接收模塊,用于接收組播源所發(fā)送的組播數(shù)據(jù)流; 查詢模塊,用于查詢本地是否保存有所述接收模塊所接收到的組播數(shù)據(jù)流相對應(yīng)的PIM-Snooping 路由表項; 建立模塊,用于在所述查詢模塊的查詢結(jié)果為否時,根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PIM-Snooping路由表項; 添加模塊,用于當(dāng)所述接收模塊接收到下游相鄰路由設(shè)備發(fā)送的與所述未添加下游端口的PM-Snooping路由表項相對應(yīng)的PM加入報文時,將接收所述PM加入報文的端口,添加為所述PIM-Snooping路由表項的下游端口 ; 傳輸模塊,用于在所述接收模塊接收到與所述建立模塊所建立的未添加下游端口的PIM-Snooping路由表項相對應(yīng)的組播數(shù)據(jù)流時,停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,在所述接收模塊接收到與所述PM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流時,通過所述添加模塊所添加的下游端口發(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。
7.如權(quán)利要求6所述的接入交換設(shè)備,其特征在于,所述傳輸模塊,還用于: 在所述查詢模塊的查詢結(jié)果為是時,判斷所述PM-Snooping路由表項當(dāng)前是否存在下游端口 ; 如果不存在,則停止向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流; 如果存在,則通過所述下游端口將所述組播數(shù)據(jù)流發(fā)送給相應(yīng)的下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。
8.如權(quán)利要求6所述的接入交換設(shè)備,其特征在于,還包括保活模塊,用于: 在接收組播源所發(fā)送的組播數(shù)據(jù)流之后,按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組 播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息,作為?;顖笪陌l(fā)送給所述下游相鄰路由設(shè)備,以使所述下游相鄰路由設(shè)備周期性獲取所述組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新; 當(dāng)確定未接收到所述組播源所發(fā)送的組播數(shù)據(jù)流的時間超過預(yù)設(shè)的?;顣r間閾值時,停止發(fā)送所述?;顖笪模Ξ?dāng)前已建立的與所述組播源相對應(yīng)的PIM-Snooping路由表項進(jìn)行老化; 其中,當(dāng)所述下游相鄰路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的?;顣r間閾值時,所述下游相鄰路由設(shè)備對本地當(dāng)前已建立的與所述組播源相對應(yīng)的組播表項進(jìn)行老化。
9.如權(quán)利要求6所述的接入交換設(shè)備,其特征在于,所述傳輸模塊,還用于: 在所述建立模塊根據(jù)所述組播數(shù)據(jù)流,建立未添加下游端口的PM-Snooping路由表項之后,按照預(yù)設(shè)的報文發(fā)送周期,向下游相鄰路由設(shè)備方向發(fā)送與所述未添加下游端口的PM-Snooping路由表項相對應(yīng)的PM Hello報文,以使所述下游相鄰路由設(shè)備方向上使能PIM-Snooping的設(shè)備維護(hù)與所述未添加下游端口的PIM-Snooping路由表項相對應(yīng)的PIM鄰居信息; 當(dāng)所述建立模塊所建立的所述未添加下游端口的PIM-Snooping路由表項老化時,停止發(fā)送所述PM Hello報文。
10.如權(quán)利要求6所述的接入交換設(shè)備,其特征在于,所述添加模塊,還用于: 在將接收所述P頂加入報文的端口,添加為所述PM-Snooping路由表項的下游端口之后,當(dāng)所述接收模塊接收到下游相鄰路由設(shè)備發(fā)送的與所述PIM-Snooping路由表項相對應(yīng)的PIM剪枝報文時,在所述PIM-Snooping路由表項中刪除與接收所述PIM剪枝報文的端口相對應(yīng)的下游端口,以使所述傳輸模塊停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。
11.一種組播轉(zhuǎn)發(fā)的方法,其特征在于,所述方法至少包括以下步驟: 作為組播源側(cè)指定路由器DR的路由設(shè)備接收與組播源直連的接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期發(fā)送的保活報文,在本地維護(hù)與所述接入交換設(shè)備直連的組播源相對應(yīng)的PIM路由表項,其中,所述?;顖笪木唧w為所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所 發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息; 當(dāng)所述路由設(shè)備確定所維護(hù)的P頂路由表項添加下游出接口時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所述路由設(shè)備維護(hù)的相應(yīng)PM路由表項相對應(yīng)的PM加入報文,以使所述接入交換設(shè)備將接收所述PM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的P頂路由表項相對應(yīng)的PM-Snooping路由表項的下游端口 ; 所述路由設(shè)備接收所述接入交換設(shè)備通過所述下游端口發(fā)送的與所述P頂加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,將所述組播數(shù)據(jù)流通過所述下游出接口發(fā)送給下游的請求接收所述組播數(shù)據(jù)流的終端設(shè)備。
12.如權(quán)利要求11所述的方法,其特征在于,還包括: 所述路由設(shè)備接收所述接入交換設(shè)備發(fā)送的?;顖笪模灾芷谛缘墨@取相對應(yīng)的組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新, 當(dāng)所述路由設(shè)備確定未接收到所述接入交換設(shè)備所發(fā)送的保活報文的時間超過預(yù)設(shè)的?;顣r間閾值時,所述路由設(shè)備對本地當(dāng)前已建立的相對應(yīng)的PM路由表項進(jìn)行老化。
13.如權(quán)利要求11所述的方法,其特征在于,當(dāng)所述路由設(shè)備確定所維護(hù)的PIM路由表項添加下游出接口時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所述路由設(shè)備維護(hù)的PIM路由表項相對應(yīng)的PIM加入報文,以使所述接入交換設(shè)備將接收所述PM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的PIM路由表項相對應(yīng)的PIM-Snooping路由表項的下游端口之后,還包括: 當(dāng)所述路由設(shè)備確定所維護(hù)的PM路由表項相對應(yīng)的下游出接口不存在時,所述路由設(shè)備向所述接入交換設(shè)備發(fā)送與所維護(hù)的PM路由表項相對應(yīng)的PM剪枝報文,以使所述接入交換設(shè)備在與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的PIM-Snooping路由表項中刪除與接收所述P頂剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。
14.一種路由設(shè)備,可用于組播源側(cè)指定路由器DR,其特征在于,至少包括: 接收模塊,用于接收與組播源直連的接入交換設(shè)備按照預(yù)設(shè)的報文發(fā)送周期發(fā)送的?;顖笪?,其中,所述?;顖笪木唧w為所述接入交換設(shè)備按照預(yù)設(shè)的信息發(fā)送周期,從底層獲取接收到的所述組播源所發(fā)送的組播數(shù)據(jù)流的部分內(nèi)容或所述組播源所發(fā)送的組播數(shù)據(jù)流所對應(yīng)的信息; 維護(hù)模塊,用于在所述路由設(shè)備上維護(hù)與所述接入交換設(shè)備直連的組播源相對應(yīng)的PM路由表項; 發(fā)送模塊,用于當(dāng)確定所述維護(hù)模塊所維護(hù)的PIM路由表項添加下游出接口時,向所述接入交換設(shè)備發(fā)送與所述維護(hù)模塊所維護(hù)的相應(yīng)P頂路由表項相對應(yīng)的P頂加入報文,以使所述接入交換設(shè)備將接收所述PM加入報文的端口,添加為所述接入交換設(shè)備上的與所述路由設(shè)備維護(hù)的相應(yīng)P頂路由表項相對應(yīng)的PIM-Snooping路由表項的下游端口 ; 傳輸模塊,用于接收所述接入交換設(shè)備通過所述下游端口發(fā)送的與所述發(fā)送模塊所發(fā)送的PIM加入報文對應(yīng)的組播源所發(fā)送的組播數(shù)據(jù)流,將所述組播數(shù)據(jù)流通過所述下游出接口發(fā)送給下游的請求接 收所述組播數(shù)據(jù)流的終端設(shè)備。
15.如權(quán)利要求14所述的路由設(shè)備,其特征在于,所述接收模塊,還用于: 接收所述接入交換設(shè)備發(fā)送的?;顖笪模灾芷谛缘墨@取相對應(yīng)的組播源的活動狀態(tài),對所述組播源的活動定時器進(jìn)行更新; 當(dāng)確定未接收到所述接入交換設(shè)備所發(fā)送的?;顖笪牡臅r間超過預(yù)設(shè)的?;顣r間閾值時,通知所述維護(hù)模塊對當(dāng)前已建立的相對應(yīng)的PIM路由表項進(jìn)行老化。
16.如權(quán)利要求14所述的路由設(shè)備,其特征在于,所述發(fā)送模塊,還用于: 當(dāng)確定所述維護(hù)模塊所維護(hù)的路由表項相對應(yīng)的下游出接口不存在時,向所述接入交換設(shè)備發(fā)送與所述維護(hù)模塊所維護(hù)的該P(yáng)IM路由表項相對應(yīng)的PIM剪枝報文,以使所述接入交換設(shè)備在與所述路由設(shè)備維護(hù)的PM路由表項相對應(yīng)的PIM-Snooping路由表項中刪除與接收所述P頂剪枝報文的端口相對應(yīng)的下游端口,以停止通過所述下游端口向下游轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。
全文摘要
本發(fā)明實施例公開了一種組播轉(zhuǎn)發(fā)的方法和設(shè)備,通過應(yīng)用本發(fā)明實施例所提出的技術(shù)方案,可以在數(shù)據(jù)源側(cè)組網(wǎng)中的交換機(jī)上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表項,并根據(jù)下游相鄰路由設(shè)備發(fā)送的PIM加入/剪枝報文,為該P(yáng)IM-Snooping路由表項添加或刪除下游端口,以控制是否向下游轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,使得只有在下游用戶有接收需求的時候,組播數(shù)據(jù)流才被發(fā)送到下游相鄰路由設(shè)備;而如果下游沒有用戶需要接收這個組播數(shù)據(jù)流的時候,該組播數(shù)據(jù)流只會被發(fā)送到接入交換設(shè)備,而不再繼續(xù)向下游相鄰路由設(shè)備方向發(fā)送,從而,達(dá)到節(jié)約網(wǎng)絡(luò)帶寬,避免組播流量泛濫的目的。
文檔編號H04L12/761GK103209134SQ20131014210
公開日2013年7月17日 申請日期2013年4月22日 優(yōu)先權(quán)日2013年4月22日
發(fā)明者柴佳林, 王 琦 申請人:杭州華三通信技術(shù)有限公司