專利名稱:一種控制組播數(shù)據(jù)流的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及組播數(shù)據(jù)流控制技術(shù)領(lǐng)域,具體涉及一種控制組播數(shù)據(jù)流的方 法及裝置。
背景技術(shù):
因特網(wǎng)組管理協(xié)議(IGMP, Internet Group Management Protocol)在主機(jī) 和路由器之間提供必要的用于組成員關(guān)系維護(hù)的消息機(jī)制。當(dāng)組播主機(jī)希望加入指定的組播組并且開始接收組消息時,它們就發(fā)送 IGMP消息以通知本地的組播路由器。路由器通過IGMP獲得主機(jī)的信息,并 在每一個端口上維護(hù)與該端口直接相連的組播組成員關(guān)系表。組播主機(jī)也可以 用因特網(wǎng)組管理協(xié)議版本2 (IGMPv2, Internet Group Management Protocol Version2)定義的一些擴(kuò)展消息機(jī)制向本地的組播路由器發(fā)送消息,例如可以 發(fā)送IGMPv2離開組消息表示主機(jī)對接收組播組消息不再感興趣,希望離開IP 組播組?,F(xiàn)在大多數(shù)的網(wǎng)絡(luò)設(shè)備都使用IGMPv2標(biāo)準(zhǔn),下面就圖1、圖2和圖3簡 單說明組播主機(jī)通過IGMPv2加入和離開組播組的過程。首先是加入過程,如圖1所示,成員加入一個組播組不用等待路由器發(fā)出 成員關(guān)系查詢報文時再響應(yīng)加入,可以直接發(fā)送一個IGMPv2成員報告消息就 可以直接加入這個組了 ,這樣在組內(nèi)沒有其它成員的情況下縮短了主機(jī)加入組 播組的延遲。其次是離開過程,離開過程還要分兩種,分別通過圖2和圖3來說明。 第一種離開過程如圖2所示,主機(jī)1離開組播組的步驟如下(al)主機(jī)1向組播組路由器(224.0.0.2),發(fā)送IGMPv2離開組消息以 便通知子網(wǎng)中的所有路由器它正在離開組;(a2) IGMP查詢路由器(本例中假定為三層交換機(jī))收到來自主機(jī)1的離 開組消息時,發(fā)送一個特定組查詢消息以確定當(dāng)前子網(wǎng)中,該組是否還有主枳j為接收者;(a3)由于主機(jī)2仍然是組224.1.1.1的成員,因此它收到該特定組查詢 消息后,對IGMPv2特定組查詢消息做出響應(yīng),激發(fā)了一個224.L1.1的加入 報文以便通知子網(wǎng)中的路由器仍有組成員存在。第二種離開過程如圖3所示,主機(jī)2是組224丄1.1的最后一個成員,現(xiàn) 在主機(jī)2也想離開組,主機(jī)2離開組的步驟如下(bl)主機(jī)2向組播組路由器(224.0.0.2 )發(fā)送IGMPv2離開組消息,以 便通知子網(wǎng)中的所有路由器它正在離開組;(b2)路由器(本例中假定為三層交換機(jī))收到主機(jī)2發(fā)送的離開IGMPv2 組消息,并且發(fā)送特定組查詢消息以便確定當(dāng)前子網(wǎng)中是否有主機(jī)屬于 224.1.1.1;(b3)由于現(xiàn)在子網(wǎng)中已經(jīng)沒有一個組224丄1.1的成員了,因此沒有主 機(jī)對于該特定組查詢消息做出響應(yīng),路由器則刪除該端口相連的組播組成員關(guān) 系表。在上述的加入過程之后和最后一個用戶離開之前,三層交換機(jī)生成接入端 口的虛擬局域網(wǎng)標(biāo)識(VLAN ID, Virtual Local Area Network ID)和組播媒 體接入控制(MAC, Multimedia Access Control)地址到收到該IGMPv2加入 報文的物理端口的映射關(guān)系表,即生成包含:虛擬局域網(wǎng)標(biāo)識、組播組地址 信息及出口端口信息的組播組成員關(guān)系表。其中,該出口端口信息可通過包 含至少一個出口端口的出口端口位圖(port bitmap)來表示,如Ox 1000000 即是一個出口端口位圖的示例,該示例為16進(jìn)制的位圖。再舉一例子進(jìn)行說 明例如位圖為0x813,轉(zhuǎn)化為二進(jìn)制就是100000010011b,這就表示有四個端 口,從右邊往左就是端口1,端口2,端口5,端口12。由于二進(jìn)制本來就只有0和1, 可預(yù)先設(shè)定利用0、 1的取值來表示相對應(yīng)的端口是否在組播組成員關(guān)系表里, 如1可表示該端口在該成員關(guān)系表中,0可表示不在該成員關(guān)系表中。在生成 該映射關(guān)系表后,三層交換機(jī)根據(jù)該映射關(guān)系表進(jìn)行組播報文的轉(zhuǎn)發(fā)。然而, 當(dāng)組播組中沒有用戶時,例如在第 一個用戶加入組播組之前和組播組最后一 個用戶離開之后,三層交換機(jī)是沒有維護(hù)這個組播組的成員關(guān)系表的,這個
時候如果VLAN內(nèi)收到一個這樣的組播數(shù)據(jù)包是應(yīng)該被洪泛,還是被丟棄? 首先可以知道的是這樣的組播數(shù)據(jù)包不能輕易的被丟棄,因為在現(xiàn)實網(wǎng)絡(luò) 中,很多協(xié)議報文用的都是組播的MAC地址,例如OSPF協(xié)議報文的目的 MAC地址是0x01005e000005,這樣的組播報文是不會有對應(yīng)的組播組成員 關(guān)系表的,但是這樣的報文是不能被丟棄的,必須要被洪泛。舉例說明,如 圖4所示,三層交換機(jī)在兩個路由器之間做二層透傳,兩個路由器都起 OSPF(Open Shortest Path First)通告路由,這樣三層交換機(jī)就做了 一個透傳 OSPF協(xié)議包的作用,這個時候組播數(shù)據(jù)包是必須被洪泛的。那么,在沒有用戶發(fā)送IGMPv2加入消息加入組播組前或者全部用戶都離 開組播組后,組播數(shù)據(jù)在VLAN中洪泛。如圖5所示,當(dāng)沒有任何用戶發(fā) IGMPv2加入消息的時候,三層交換機(jī)不形成任何組播組成員關(guān)系表,收到組 播數(shù)據(jù)包后,組播數(shù)據(jù)在VLAN中洪泛;當(dāng)組播組中最后一個用戶發(fā)送 IGMPv2離開消息后,三層交換機(jī)把對應(yīng)組播組成員關(guān)系表的成員端口刪除, 由于是最后一個用戶離開了 ,所以還要繼續(xù)刪除這個組播組成員關(guān)系表,這樣, 收到組播數(shù)據(jù)包后,組播數(shù)據(jù)流又在VLAN中洪泛(flood) 了。當(dāng)有一個用戶要加入組播組并發(fā)送IGMPv2加入消息后,三層交換機(jī)形成 對應(yīng)的組播組成員關(guān)系表,并把這個用戶端口加到成員關(guān)系表的出端口中,這 樣組播數(shù)據(jù)包就能正常轉(zhuǎn)發(fā)到這個端口上,組播數(shù)據(jù)不會在VLAN中洪泛。用洪泛來處理一些以組播MAC承載的協(xié)議報文,是一個比較方便有效的 方法,但是三層交換機(jī)很難區(qū)分到這個組播MAC地址到底是組播數(shù)據(jù)報文, 還是承載其他協(xié)議的特殊報文,所以導(dǎo)致了普通的組播數(shù)據(jù)報文也在VLAN 中洪泛。組播數(shù)據(jù)才艮文在VLAN中洪泛具有4艮多缺點(diǎn)。例如,如果這一個組播組 承載的是一個IPTV(Interactive Personal Television,交互式網(wǎng)絡(luò)電一見)的組,潘頻 道, 一個頻道的視頻流都通過這個組轉(zhuǎn)發(fā)出去,但是由于沒有形成轉(zhuǎn)發(fā)的成員 關(guān)系表,整個視頻流在VLAN中洪泛,導(dǎo)致下游用戶都可以接收到,很顯然 下游用戶不需要點(diǎn)播就可以收看這個頻道的電視,這是不允許的。而且如果頻 道很多的話,有很大的流量沖擊用戶的機(jī)頂盒,會導(dǎo)致機(jī)頂盒壓力太大,也會 影響正常的收看,這樣的組播業(yè)務(wù)已經(jīng)不能實現(xiàn)用戶加入后才能接收流量,用 戶離開后不再接收流量的原則了 。 發(fā)明內(nèi)容本發(fā)明的目的是提供一種控制組播數(shù)據(jù)流的方法及裝置,解決現(xiàn)有技術(shù)中 當(dāng)組播組中沒有任何用戶時,到達(dá)交換設(shè)備的組播數(shù)據(jù)流會洪泛到用戶接口上 的技術(shù)問題。為了實現(xiàn)上述目的,本發(fā)明提供了一種控制組播數(shù)據(jù)流的方法,其中,包括如下步驟步驟一,當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,所述交換設(shè)備判斷自身是否已存 在組播組成員關(guān)系表;如是,則執(zhí)行步驟二;否則,執(zhí)行步驟三;步驟二,所述交換設(shè)備按照所述已存在的組播組成員關(guān)系表中的出口端口 信息轉(zhuǎn)發(fā)所述組插_數(shù)據(jù)流,并結(jié)束流程;步驟三,所述交換設(shè)備生成出口端口為無效值或為空的組播組成員關(guān)系 表,并根據(jù)所述生成的組播組成員關(guān)系表中的出口端口信息不轉(zhuǎn)發(fā)所述組播數(shù) 據(jù)流。所述的方法,其中,所述步驟二還包括,所述交換設(shè)備判斷所述已存在的 組播組成員關(guān)系表中的出口端口是否為有效值;如是,則所述交換設(shè)備將所述 組播數(shù)據(jù)流轉(zhuǎn)發(fā)至所述有效值對應(yīng)的出口端口;否則,所述交換設(shè)備不轉(zhuǎn)發(fā)所 述組播數(shù)據(jù)流。所述的方法,其中,所述組播數(shù)據(jù)流為二層組播數(shù)據(jù)流或三層組播數(shù)據(jù)流。 所述的方法,其中,還包括所述交換設(shè)備在網(wǎng)絡(luò)的端口上配置訪問控制 列表的步驟;和,在所述組播數(shù)據(jù)流到達(dá)所述交換設(shè)備后,所述交換設(shè)備判斷 自身是否已存在組播組成員關(guān)系表之前,所述交換設(shè)備根據(jù)所述訪問控制列表 判斷所述組播數(shù)據(jù)流是否應(yīng)丟棄的步驟。所述的方法,其中,還包括當(dāng)所述已存在的組播組成員關(guān)系表的出口端 口為無效值時,如果有用戶加入所述組播組成員關(guān)系表所對應(yīng)的組播組,則所 述交換設(shè)備將所述組播組成員關(guān)系表的出口端口信息修改為所述用戶對應(yīng)的 出口端口;當(dāng)所述已存在的組播組成員關(guān)系表的出口端口為空時,如果有用戶 加入所述組播組成員關(guān)系表所對應(yīng)的組播組,則所述交換設(shè)備將所述用戶對應(yīng)
的出口端口直接加入到所述組播組成員關(guān)系表。所述的方法,其中,還包括當(dāng)所述組播組成員關(guān)系表所對應(yīng)的組播組中 的最后一個用戶離開所述組播組時,所述交換設(shè)備將所述組播組成員關(guān)系表的 出口端口 ^"改為無效值或^^改為空。所述的方法,其中,當(dāng)所述交換設(shè)備上存在的組播組成員關(guān)系表的出口端 口為無效值或為空時,還包括判斷所述組播數(shù)據(jù)流是否在預(yù)定長的時間長度 內(nèi)不再發(fā)送到所述交換設(shè)備;如是,則所述交換設(shè)備刪除所述出口端口為無效 值或為空的組播組成員關(guān)系表。本發(fā)明還公開了一種控制組播數(shù)據(jù)流的裝置,包括交換設(shè)備,其中,所述 交換設(shè)備包括組播管理模塊,用于當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,判斷在所述交換設(shè)備 上是否已存在組播組成員關(guān)系表;如是,則按照所述已存在的組播組成員關(guān)系 表中出口端口信息轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;否則,在所述交換設(shè)備上生成出口端口為無效值或為空的組播組成員關(guān)系表,并且不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。 所述的裝置,其中,所述組播管理模塊還包括出口端口判斷模塊,用于判斷所述已存在的組播組成員關(guān)系表中的出口端 口是否為有效值;如是,則將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)至所述有效值對應(yīng)的出口端 口;否則,不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。所述的裝置,其中,所述組播管理模塊還包括出口端口修改模塊,用于當(dāng)所述交換設(shè)備上存在的組播組成員關(guān)系表中 的出口端口為空或無效值且有用戶加入組播組時,根據(jù)所述用戶對應(yīng)的出口端 口修改所述組播組成員關(guān)系表的出口端口;和/或,當(dāng)組播組中的最后一個成 員離開所述組播組時,將所述組播組成員關(guān)系表的出口端口修改為無效值或修 改為空。本發(fā)明的技術(shù)效果在于本發(fā)明在現(xiàn)有技術(shù)的用戶加入組播組時,交換設(shè)備生成組播組成員關(guān)系表 的基礎(chǔ)上,進(jìn)一步利用組播數(shù)據(jù)流來驅(qū)動組播組成員關(guān)系表的形成,由此,當(dāng) 組播數(shù)據(jù)流到達(dá)交換設(shè)備后,即使此時組播組中沒有任何用戶時,交換設(shè)備仍 然形成組播組成員關(guān)系表,且該組播組成員關(guān)系表中的出口端口為無效值或為
空,且根據(jù)該為無效值或為空的出口端口 ,交換設(shè)備不轉(zhuǎn)發(fā)組播數(shù)據(jù)流,從而, 利用本發(fā)明的方法或裝置,在以太網(wǎng)組播業(yè)務(wù)的環(huán)境中,避免了在沒有用戶加 入組播組之前或全部用戶都離開組播組之后,組播數(shù)據(jù)流洪泛到用戶接口上, 提高了網(wǎng)絡(luò)環(huán)境中對于組播數(shù)據(jù)報文在局域網(wǎng)中洪泛的控制和保護(hù),提升了交 換機(jī)的性能。
圖1為現(xiàn)有技術(shù)中用戶加入組播組的示意圖;圖2為現(xiàn)有技術(shù)中非最后一個用戶發(fā)送離開報文離開組播組的示意圖; 圖3為現(xiàn)有技術(shù)中最后一個用戶發(fā)送離開報文離開組播組的示意圖; 圖4為現(xiàn)有技術(shù)中三層交換機(jī)在兩臺路由器之間啦夂二層透傳的示意圖; 圖5為現(xiàn)有技術(shù)中交換設(shè)備在用戶加入或最后一個用戶離開后對組播數(shù) 據(jù)流進(jìn)行轉(zhuǎn)發(fā)的過程示意圖;圖6為本發(fā)明實施例一的控制組播數(shù)據(jù)流方法的流程示意圖; 圖7為本發(fā)明實施例二的控制組播數(shù)據(jù)流方法的流程示意圖; 圖8為本發(fā)明實施例三的控制組播數(shù)據(jù)流方法的流程示意圖; 圖9為本發(fā)明實施例的控制組播數(shù)據(jù)流方法的過程示意圖; 圖10為本發(fā)明一實施例的控制組播數(shù)據(jù)流裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實 施例對本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明在現(xiàn)有技術(shù)的用戶加入組播組時,交換設(shè)備生成組播組成員關(guān)系表 的基礎(chǔ)上,進(jìn)一步利用組播數(shù)據(jù)流來驅(qū)動組播組成員關(guān)系表的形成,可實現(xiàn)當(dāng) 組播數(shù)據(jù)流到達(dá)交換設(shè)備后,即使此時組播組中沒有任何用戶時,交換設(shè)備仍 然形成組播組成員關(guān)系表,并通過該組播組成員關(guān)系表來防止組播報文在局域 網(wǎng)中洪泛。圖6為本發(fā)明實施例一的控制組播數(shù)據(jù)流方法的流程示意圖。如圖6,本 發(fā)明實施例一的控制組播數(shù)據(jù)流方法包括如下步驟
步驟601,當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,交換設(shè)備判斷自身是否已存在 組播組成員關(guān)系表;如是,則執(zhí)行步驟602;否則,執(zhí)行步驟603;步驟602,交換設(shè)備按照已存在的組播組成員關(guān)系表中的出口端口信息轉(zhuǎn) 發(fā)組播數(shù)據(jù)流,并結(jié)束該流程;步驟603,交換設(shè)備在其上生成出口端口為無效值或為空的組播組成員關(guān) 系表,然后執(zhí)行步驟604;步驟604,交換設(shè)備按照該組播組成員關(guān)系表的出口端口信息,不轉(zhuǎn)發(fā)該 組播數(shù)據(jù)流。在具體實現(xiàn)中,在步驟601之前,還可包括交換設(shè)備獲得整個組網(wǎng)環(huán)境 中所使用的組播組信息,并將不屬于預(yù)先設(shè)定的組網(wǎng)環(huán)境規(guī)劃中的組播組直接 丟棄掉的步驟。在該實施例中,該組播組成員關(guān)系表可包括組播組地址信息、VLAN信 息標(biāo)識及該組播組的出口端口信息,其中VLAN信息包括VLAN的標(biāo)識信息。 其中,組播數(shù)據(jù)流可以為二層組播數(shù)據(jù)流或三層組播數(shù)據(jù)流;當(dāng)所述組播數(shù)據(jù) 流為二層組播數(shù)據(jù)流時,所述組播組成員關(guān)系表包括目的媒體接入控制 (MAC)地址信息、源虛擬局域網(wǎng)信息和出口端口信息;當(dāng)所述組播數(shù)據(jù)流 為三層組播數(shù)據(jù)流時,所述組播組成員關(guān)系表包括源IP信息、目的IP信息、 源虛擬局域網(wǎng)信息和出口端口信息。在該實施例中,在步驟602中,當(dāng)該已存在的組播組成員關(guān)系表中包含的 出口端口為有效值時,交換設(shè)備將該組播數(shù)據(jù)流轉(zhuǎn)發(fā)到該有效值對應(yīng)的出口端 口;否則,當(dāng)出口端口為空或為無效值時,交換設(shè)備不轉(zhuǎn)發(fā)該組播數(shù)據(jù)流。其 中,如已經(jīng)有用戶加入該組播組,則在交換設(shè)備中已存在的是出口端口為有效 值的組播組成員關(guān)系表,該有效值指示組播數(shù)據(jù)流確切的出口端口。當(dāng)該出口 端口為無效值或為空時,該出口端口信息不指示任何出口端口,交換設(shè)備將不 轉(zhuǎn)發(fā)該到達(dá)的組播數(shù)據(jù)流。具體地,可參照圖7所示的本發(fā)明實施例二的方法 流程示意圖。利用該實施例的方法,當(dāng)組播組中沒有用戶時,例如在第一個用戶加入組 播組之前,或組播組中最后一個用戶離開組播組后,如果有組播數(shù)據(jù)流到達(dá)交 換設(shè)備,交換設(shè)備將在其上生成出口端口為無效值或為空的組播組成員關(guān)系
表,根據(jù)該關(guān)系表,交換設(shè)備將不轉(zhuǎn)發(fā)該到達(dá)的組播數(shù)據(jù)流,由此避免了組播 數(shù)據(jù)流的洪泛。在該出口端口為無效值或為空的組播組成員關(guān)系表存在的過程 中,如組播數(shù)據(jù)流繼續(xù)到達(dá)交換設(shè)備,則交換設(shè)備仍舊按照該存在的組播組成員關(guān)系表的出口端口信息,不轉(zhuǎn)發(fā)該繼續(xù)到達(dá)的交換設(shè)備。圖9為本發(fā)明實施 例的過程示意圖。如圖9,當(dāng)組播組中沒有用戶時,交換設(shè)備將不再將到達(dá)交 換設(shè)備的組播數(shù)據(jù)流進(jìn)行轉(zhuǎn)發(fā)。在該實施例中,當(dāng)交換設(shè)備中存在的組播組成員關(guān)系表的出口端口為無效 值或為空時,如果有用戶加入該組播組,則交換設(shè)備只需將該組播組成員關(guān)系 表的無效的出口端口值l奮改為所述用戶對應(yīng)的出口端口值,或?qū)⒃撚脩魧?yīng)的 出口端口值直接加入該組播組成員關(guān)系表,直接加入的處理適用于原出口端口 為空的情況。在該實施例中,當(dāng)交換設(shè)備中存在的組播組成員關(guān)系表的出口端口為無效 或為空時,如果組播數(shù)據(jù)流在預(yù)定長的時間長度內(nèi)不再發(fā)送組播數(shù)據(jù)流到交換 設(shè)備上,可將該組播組成員關(guān)系表刪除,以釋放該成員關(guān)系表占用的軟硬件資 源。在具體實現(xiàn)中,交換設(shè)備可通過其上設(shè)置的組播管理模塊來實現(xiàn)組播組成 員關(guān)系表的生成、修改、和/或刪除。圖7為本發(fā)明實施例二的控制組播數(shù)據(jù)流方法的流程示意圖。如圖7,本 發(fā)明實施例二的控制組播數(shù)據(jù)流的方法包括如下步驟步驟701,當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,交換設(shè)備判斷自身是否已存在 組播組成員關(guān)系表;如是,則執(zhí)行步驟702;否則,執(zhí)行步驟704;步驟702,交換設(shè)備判斷該已存在的組播組成員關(guān)系表中的出口端口是否 為無效值或為空;如是,則執(zhí)行步驟705;否則,執(zhí)行步驟703;步驟703,交換設(shè)備按照該組播組成員關(guān)系表中有效的出口端口,進(jìn)行組 播數(shù)據(jù)流的轉(zhuǎn)發(fā),并結(jié)束該流程;步驟704,交換設(shè)備在其上生成出口端口為無效值或為空的組播組成員關(guān) 系表,然后執(zhí)行步驟705;步驟705,交換設(shè)備按照該組播組成員關(guān)系表的出口端口信息,不轉(zhuǎn)發(fā)該 組播-數(shù)據(jù)流。
圖8為本發(fā)明實施例三的控制組播數(shù)據(jù)流方法的流程示意圖。該實施例三 主要描述當(dāng)組播組中的用戶離開組播組后,控制組播數(shù)據(jù)流的方法。在本發(fā)明 的實施例中,由于當(dāng)?shù)谝粋€用戶加入組播組時,交換設(shè)備上即生成組4番組成員 關(guān)系表,且當(dāng)其它用戶繼續(xù)加入組播組時,交換設(shè)備將在該組播組成員關(guān)系表 的出口端口信息處增加該其它用戶對應(yīng)的出口端口,因此,當(dāng)組^番組中存在用 戶時,交換設(shè)備上必然已存在該組播組的成員關(guān)系表。如圖8,本發(fā)明實施例 三的控制組播數(shù)據(jù)流方法包括如下步驟步驟801,當(dāng)用戶離開組播組時,刪除組播組成員關(guān)系表中該用戶對應(yīng)的 出口端口信息,如出口端口位圖(或稱出接口位圖)中該用戶對應(yīng)的出口端口信息;步驟802,當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,交換設(shè)備判斷其上存在的組播 組成員關(guān)系表的出口端口是否為空,如判斷出口端口位圖是否為空;如是,則 執(zhí)行步驟804;否則,執(zhí)行步驟803;步驟803,按照該組播組成員關(guān)系表中還存在的出口端口,如按照出口端 口位圖中還包含的出口端口,轉(zhuǎn)發(fā)組播數(shù)據(jù)流,然后結(jié)束該流程;步驟804,交換設(shè)備不轉(zhuǎn)發(fā)該到達(dá)的組播數(shù)據(jù)流;步驟805,交換設(shè)備判斷在預(yù)定長的時間段內(nèi)是否還有組播組數(shù)據(jù)流到達(dá) 交換設(shè)備;如是,則結(jié)束該流程,否則,執(zhí)行步驟806;步驟806,交換設(shè)備刪除該出口端口為空的組播組成員關(guān)系表,釋放該關(guān) 系表占用的軟硬件資源;具體地,交換設(shè)備可通過設(shè)置在其上的組播管理模板 刪除該組播組成員關(guān)系表。在利用本發(fā)明的方法對組播數(shù)據(jù)流的洪泛進(jìn)行控制之前,可先通過在組網(wǎng) 環(huán)境內(nèi)的端口上預(yù)先配置的訪問控制列表(ACL, Access Control List)來對到 達(dá)交換設(shè)備的組播數(shù)據(jù)流進(jìn)行過濾。這樣,交換設(shè)備把沒有在ACL上配置的 組播組數(shù)據(jù)流在端口上直接丟棄,然后再根據(jù)本發(fā)明的方法來進(jìn)行防止洪泛的 控制,為組播數(shù)據(jù)業(yè)務(wù)秩序提供了進(jìn)一步的保證,也為通過成員關(guān)系表防止洪 泛減輕了負(fù)擔(dān)。例如,交換設(shè)備從端口收到了 100個組播數(shù)據(jù)流,但其中只有 20條為ACL中設(shè)置的需要接收的,則交換機(jī)直接丟棄其余80條數(shù)據(jù)流,而 剩下的20條中有可能只有IO條設(shè)置了防止洪泛,可見,通過設(shè)置ACL可以
提高效率,進(jìn)一步提高交換設(shè)備的性能。本發(fā)明還公開了一種控制組播數(shù)據(jù)流的裝置。圖10為本發(fā)明一實施例的控制裝置的結(jié)構(gòu)示意圖。如圖10,本發(fā)明一實施例的控制裝置包括交換設(shè) 備IOI,其特征在于,所述交換設(shè)備101包括組播管理模塊102,用于當(dāng)組 播數(shù)據(jù)流到達(dá)交換設(shè)備時,判斷在所述交換設(shè)備上是否已存在組播組成員關(guān)系 表;如是,則按照所述已存在的組播組成員關(guān)系表中出口端口信息轉(zhuǎn)發(fā)所述組 播數(shù)據(jù)流;否則,在所述交換設(shè)備上生成出口端口為無效值或為空的組播組成 員關(guān)系表,并且不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。進(jìn)一步地,在本發(fā)明實施例的裝置中,該組播管理模塊還包括出口端口判斷模塊,用于判斷所述已存在的組播組成員關(guān)系表中的出口端口是否為有效值;如是,則將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)至所述有效值對應(yīng)的出口端 口;否則,不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。進(jìn)一步地,在本發(fā)明實施例的裝置中,該組播管理模塊還包括 出口端口修改模塊,用于當(dāng)所述交換設(shè)備上存在的組播組成員關(guān)系表中的 出口端口為空或無效值且有用戶加入組播組時,根據(jù)所述用戶對應(yīng)的出口端口 修改所述組播組成員關(guān)系表的出口端口,和/或,當(dāng)組播組中的最后一個成員 離開所述組播組時,將所述組播組成員關(guān)系表的出口端口修改為無效值或修改 為空。對于交換設(shè)備,在本發(fā)明的實施例中以三層交換機(jī)為例進(jìn)行說明,但顯然, 本發(fā)明適用于任何以太網(wǎng)交換機(jī)。由以上的技術(shù)方案可見,通過生成沒有出口端口或保護(hù)無效出口端口的組 播成員關(guān)系表,可防止組播數(shù)據(jù)流在VLAN中洪泛,提高了網(wǎng)絡(luò)環(huán)境中對于 組播數(shù)據(jù)報文在局域網(wǎng)中洪泛的控制和保護(hù),提升了交換機(jī)的性能,能更好地 滿足現(xiàn)在IPTV技術(shù)的要求。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通 技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾, 這些改進(jìn)和潤飾也應(yīng)^f見為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種控制組播數(shù)據(jù)流的方法,其特征在于,包括如下步驟步驟一,當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,所述交換設(shè)備判斷自身是否已存在組播組成員關(guān)系表;如是,則執(zhí)行步驟二;否則,執(zhí)行步驟三;步驟二,所述交換設(shè)備按照所述已存在的組播組成員關(guān)系表中的出口端口信息轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,并結(jié)束流程;步驟三,所述交換設(shè)備生成出口端口為無效值或為空的組播組成員關(guān)系表,并根據(jù)所述生成的組播組成員關(guān)系表中的出口端口信息不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟二還包括,所述 交換設(shè)備判斷所述已存在的組播組成員關(guān)系表中的出口端口是否為有效值;如 是,則所述交換設(shè)備將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)至所述有效值對應(yīng)的出口端口;否 則,所述交換設(shè)備不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述組播數(shù)據(jù)流為二 層組播數(shù)據(jù)流或三層組播數(shù)據(jù)流。
4. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,還包括所述交換設(shè) 備在網(wǎng)絡(luò)的端口上配置訪問控制列表的步驟;和,在所述組4番數(shù)據(jù)流到達(dá)所述 交換設(shè)備后,所述交換設(shè)備判斷自身是否已存在組播組成員關(guān)系表之前,所述 交換設(shè)備根據(jù)所述訪問控制列表判斷所述組播數(shù)據(jù)流是否應(yīng)丟棄的步驟。
5. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,還包括當(dāng)所述已存 在的組播組成員關(guān)系表的出口端口為無效值時,如果有用戶加入所述組播組成 員關(guān)系表所對應(yīng)的組播組,則所述交換設(shè)備將所述組播組成員關(guān)系表的出口端 口信息修改為所述用戶對應(yīng)的出口端口 ;當(dāng)所述已存在的組播組成員關(guān)系表的 出口端口為空時,如果有用戶加入所述組播組成員關(guān)系表所對應(yīng)的組播組,則 所述交換設(shè)備將所述用戶對應(yīng)的出口端口直接加入到所述組播組成員關(guān)系表。
6. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,還包括當(dāng)所述組播 組成員關(guān)系表所對應(yīng)的組播組中的最后一個用戶離開所述組播組時,所述交換 設(shè)備將所述組播組成員關(guān)系表的出口端口修改為無效值或修改為空。
7. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,當(dāng)所述交換設(shè)備上存 在的組播組成員關(guān)系表的出口端口為無效值或為空時,還包括判斷所述組4番 數(shù)據(jù)流是否在預(yù)定長的時間長度內(nèi)不再發(fā)送到所述交換設(shè)備;如是,則所述交 換設(shè)備刪除所述出口端口為無效值或為空的組播組成員關(guān)系表。
8. —種控制組播數(shù)據(jù)流的裝置,包括交換設(shè)備,其特征在于,所述交換設(shè) 備包括組播管理模塊,用于當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,判斷在所述交換設(shè)備 上是否已存在組播組成員關(guān)系表;如是,則按照所述已存在的組播組成員關(guān)系 表中出口端口信息轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流;否則,在所述交換設(shè)備上生成出口端口為無效值或為空的組播組成員關(guān)系表,并且不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述組播管理模塊還包括 出口端口判斷模塊,用于判斷所述已存在的組播組成員關(guān)系表中的出口端口是否為有效值;如是,則將所述組播數(shù)據(jù)流轉(zhuǎn)發(fā)至所述有效值對應(yīng)的出口端 口;否則,不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。
10. 根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述組播管理模塊還 包括出口端口修改模塊,用于當(dāng)所述交換設(shè)備上存在的組播組成員關(guān)系表中 的出口端口為空或無效值且有用戶加入組播組時,根據(jù)所述用戶對應(yīng)的出口端 口修改所述組播組成員關(guān)系表的出口端口;和/或,當(dāng)組播組中的最后一個成 員離開所述組播組時,將所述組播組成員關(guān)系表的出口端口修改為無效值或修 改為空。
全文摘要
本發(fā)明提供了一種控制組播數(shù)據(jù)流的方法及裝置,該方法包括步驟一,當(dāng)組播數(shù)據(jù)流到達(dá)交換設(shè)備時,所述交換設(shè)備判斷自身是否已存在組播組成員關(guān)系表;如是,則執(zhí)行步驟二;否則,執(zhí)行步驟三;步驟二,所述交換設(shè)備按照所述已存在的組播組成員關(guān)系表中的出口端口信息轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流,并結(jié)束流程;步驟三,所述交換設(shè)備在其上生成出口端口為無效值或為空的組播組成員關(guān)系表,并根據(jù)所述生成的組播組成員關(guān)系表中的出口端口信息不轉(zhuǎn)發(fā)所述組播數(shù)據(jù)流。本發(fā)明的裝置,包括交換設(shè)備,且該交換設(shè)備包括用于實現(xiàn)洪泛控制的組播管理模塊。本發(fā)明的方法或裝置,當(dāng)組播組中沒有任何用戶時,可避免到達(dá)交換設(shè)備的組播數(shù)據(jù)流洪泛到用戶接口上。
文檔編號H04L29/06GK101119311SQ20071012170
公開日2008年2月6日 申請日期2007年9月12日 優(yōu)先權(quán)日2007年9月12日
發(fā)明者房海霞, 峰 高 申請人:中興通訊股份有限公司