專利名稱:在接入設(shè)備中管理組播業(yè)務(wù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在網(wǎng)絡(luò)中管理組播業(yè)務(wù)的方法,尤其涉及在通訊網(wǎng)的邊緣-接入設(shè)備中對組播業(yè)務(wù)的管理。
背景技術(shù):
IGMP Snooping(Internet Group Management Protocol Snooping網(wǎng)際網(wǎng)組管理協(xié)議偵聽)能夠在二層網(wǎng)絡(luò)設(shè)備上“偵聽”主機(jī)和組播路由設(shè)備間的IGMP協(xié)議報(bào)文,對用戶的組播請求進(jìn)行跟蹤。盡管IGMP Snooping通過動態(tài)配置設(shè)備端口限制組播數(shù)據(jù)僅向特定的端口轉(zhuǎn)發(fā),控制組播數(shù)據(jù)在網(wǎng)絡(luò)設(shè)備上不再通過向VLAN(Virtual Local Area Network虛擬局域網(wǎng))中洪泛的方式發(fā)送給用戶。但隨著組播業(yè)務(wù)對于接入設(shè)備在組播業(yè)務(wù)安全、業(yè)務(wù)傳輸效率、業(yè)務(wù)切換低延遲、QoS(Quality of Service服務(wù)質(zhì)量)實(shí)施、易于管理以及多樣組網(wǎng)等方面需求的提高,現(xiàn)有IGMP Snooping的實(shí)現(xiàn)方法都顯現(xiàn)出一些不足。
首先,通常IGMP Snooping的實(shí)現(xiàn)是基于組播用戶側(cè)端口與組播網(wǎng)絡(luò)側(cè)端口同屬一個(gè)組播VLAN中的,也就是用戶的單播業(yè)務(wù)與組播業(yè)務(wù)將使用公共通道進(jìn)行傳輸,這使得網(wǎng)絡(luò)設(shè)備難以為具有較高質(zhì)量需要的組播業(yè)務(wù)數(shù)據(jù)提供有效的QoS保障。此外,組播用戶對組播VLAN可能的惡意訪問也給組播業(yè)務(wù)網(wǎng)絡(luò)帶來了潛在安全隱患。而且,組播用戶需要加入組播VLAN中才能接收組播業(yè)務(wù)的方式,限制了接入設(shè)備上的組播用戶只能通過動態(tài)方式請求特定的組播業(yè)務(wù)數(shù)據(jù),否則對于未知組播數(shù)據(jù)將可能向組播VLAN中的其它非請求用戶洪泛,這為實(shí)施組播業(yè)務(wù)向組播用戶靠近帶來了困難,增加了網(wǎng)絡(luò)設(shè)備控制用戶組播請求處理的延遲的難度。其次,如果用戶需要分布在不同的VLAN中并且申請了組播業(yè)務(wù),那么上聯(lián)組播設(shè)備必須針對各個(gè)VLAN進(jìn)行組播業(yè)務(wù)數(shù)據(jù)的復(fù)制,使得本應(yīng)僅對下行網(wǎng)絡(luò)設(shè)備復(fù)制一次的數(shù)據(jù)不得不進(jìn)行多次復(fù)制、分發(fā),無疑加重了組播路由設(shè)備的負(fù)擔(dān)、降低了其綜合處理能力,影響了為用戶提供高質(zhì)量服務(wù)。第三,IGMP Snooping實(shí)際上承擔(dān)著對用戶組播請求的識別、處理和資源分配的任務(wù),是用戶組播請求的直接管理者,但現(xiàn)有實(shí)現(xiàn)技術(shù)對組播成員的管理都采取“不加以區(qū)分的接受和處理”的態(tài)度,這很難適應(yīng)開展組播業(yè)務(wù)時(shí)在網(wǎng)絡(luò)邊緣組成員管理得需要。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種在接入設(shè)備中管理組播業(yè)務(wù)的方法,用于解決現(xiàn)有IGMP Snooping實(shí)現(xiàn)技術(shù)中存在業(yè)務(wù)安全隱患、切換延遲難控制和業(yè)務(wù)QoS難實(shí)施等缺點(diǎn),也同時(shí)解決了現(xiàn)有技術(shù)中組播業(yè)務(wù)不易管理、業(yè)務(wù)復(fù)制效率低和組網(wǎng)單一的問題。
為達(dá)到上述目的,本發(fā)明提供了一種在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,包括如下步驟步驟一,為組播業(yè)務(wù)建立一個(gè)或多個(gè)獨(dú)立的基礎(chǔ)虛擬局域網(wǎng),基礎(chǔ)虛擬局域網(wǎng)中的組播業(yè)務(wù)端口僅包括網(wǎng)絡(luò)側(cè)的組播業(yè)務(wù)端口,不包括用戶側(cè)端口;步驟二,通過組播虛擬局域網(wǎng)創(chuàng)建模塊建立與基礎(chǔ)虛擬局域網(wǎng)對應(yīng)的一個(gè)或多個(gè)包括有所述組播虛擬局域網(wǎng)的用戶、所述組播虛擬局域網(wǎng)管理的組播業(yè)務(wù)范圍和與所述組播虛擬局域網(wǎng)對應(yīng)的基礎(chǔ)虛擬局域網(wǎng)的標(biāo)識的對應(yīng)信息;步驟三,通過組訪問控制模塊為每個(gè)用戶側(cè)端口建立一個(gè)控制列表,并且建立用于遍歷所述控制列表的控制規(guī)則;步驟四,接收IGMP協(xié)議報(bào)文,并將所述報(bào)文的報(bào)文相關(guān)信息傳遞給所述控制模塊,所述控制模塊按照所述控制規(guī)則并通過一個(gè)控制過程來遍歷相應(yīng)用戶的控制列表,并返回控制結(jié)果;步驟五,根據(jù)所述控制結(jié)果判斷所述用戶是否通過了組訪問控制,是則執(zhí)行步驟六,否則轉(zhuǎn)到步驟四;步驟六,將所述IGMP協(xié)議報(bào)文和所述報(bào)文相關(guān)信息傳遞給IGMP協(xié)議處理模塊,所述處理模塊根據(jù)所述報(bào)文的類型以及所述報(bào)文的獲取端口對所述報(bào)文進(jìn)行相應(yīng)處理;步驟七,將包含組地址、組播虛擬局域網(wǎng)標(biāo)識和接收端口信息的用戶請求傳遞給組播轉(zhuǎn)發(fā)表設(shè)置模塊,所述設(shè)置模塊對以所述組播虛擬局域網(wǎng)標(biāo)識和所述組地址進(jìn)行索引的組播轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行用戶端口的添加或刪除操作。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,在所述步驟四中,所述報(bào)文相關(guān)信息包括報(bào)文的接收端口、虛擬局域網(wǎng)標(biāo)識和組地址信息。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,在所述步驟六中,所述報(bào)文的類型為查詢、報(bào)告或離開,所述端口為用戶側(cè)端口或網(wǎng)絡(luò)側(cè)端口。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,在所述步驟六中,對于用戶側(cè)接收到的報(bào)文的進(jìn)行如下處理對于查詢類型報(bào)文直接丟棄;對于報(bào)告類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再根據(jù)所述組播虛擬局域網(wǎng)的配置信息,在所述組播虛擬局域網(wǎng)中增加該用戶請求組播組的記錄,并將所述報(bào)文向所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā),之后執(zhí)行步驟七;對于離開類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再根據(jù)所述組播虛擬局域網(wǎng)的配置信息,在所述組播虛擬局域網(wǎng)中刪除該用戶請求組播組的記錄,并將所述報(bào)文向所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā),之后執(zhí)行步驟七。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,在所述步驟六中,對于網(wǎng)絡(luò)側(cè)接收到的報(bào)文的進(jìn)行如下處理對于查詢類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再將所述報(bào)文向所有屬于對應(yīng)所述組播虛擬局域網(wǎng)的用戶端口和所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā);對于報(bào)告類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再將所述報(bào)文向?qū)?yīng)所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā);對于離開類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再將所述報(bào)文向?qū)?yīng)所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā)。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,在所述步驟七中,所述設(shè)置模塊添加用戶端口的操作包括步驟a,獲取所述轉(zhuǎn)發(fā)表項(xiàng)的內(nèi)容;步驟b,添加用戶端口;步驟c,添加所有屬于組播虛擬局域網(wǎng)的網(wǎng)絡(luò)側(cè)端口;步驟d,寫入組播轉(zhuǎn)發(fā)表。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,在所述步驟七中,所述設(shè)置模塊刪除用戶端口的操作包括步驟A,獲取所述轉(zhuǎn)發(fā)表項(xiàng)的內(nèi)容;步驟B,刪除用戶端口;步驟C,判斷當(dāng)前轉(zhuǎn)發(fā)表項(xiàng)是否還有用戶端口,是轉(zhuǎn)步驟E,否則轉(zhuǎn)步驟D;步驟D,刪除該組播轉(zhuǎn)發(fā)表項(xiàng)并結(jié)束流程;步驟E,寫入組播轉(zhuǎn)發(fā)表,結(jié)束流程。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,所述組播虛擬局域網(wǎng)通過接入服務(wù)器或者直接向網(wǎng)絡(luò)的接入設(shè)備發(fā)送組播業(yè)務(wù)數(shù)據(jù)。
上述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特點(diǎn)在于,所述接入設(shè)備之間為鏈型或環(huán)形組網(wǎng)。
本發(fā)明的技術(shù)效果在于與現(xiàn)有技術(shù)相比,采用本發(fā)明所述方法能夠使接入設(shè)備有效的支持組播業(yè)務(wù)直接送抵的模式,使組播業(yè)務(wù)的數(shù)據(jù)和控制點(diǎn)更加向用戶靠近,提高了對組播業(yè)務(wù)切換延遲的控制,同時(shí)本方法也提高了對組播業(yè)務(wù)的可管理性。而且,在不影響為用戶提供組播業(yè)務(wù)的同時(shí)使用獨(dú)立的VLAN有效的隔離的用戶與組播業(yè)務(wù)網(wǎng)絡(luò),提高了接入設(shè)備管理組播業(yè)務(wù)的安全性。也可以在接入設(shè)備實(shí)施針對該獨(dú)立VLAN的高優(yōu)先轉(zhuǎn)發(fā)策略,從而方便地實(shí)施組播業(yè)務(wù)的QoS。此外,采用本發(fā)明系統(tǒng)和實(shí)現(xiàn)方法還能夠增強(qiáng)接入設(shè)備適應(yīng)多種組網(wǎng)方式需要的能力。
下面結(jié)合附圖進(jìn)一步詳細(xì)說明本發(fā)明的具體實(shí)施例。
圖1是本方法的主體流程圖;圖2是MVLAN的創(chuàng)建模塊流程圖;圖3是組播組訪問控制模塊流程圖;圖4a是IGMP協(xié)議處理模塊的用戶側(cè)對Query類型報(bào)文處理流程圖;圖4b是IGMP協(xié)議處理模塊的用戶側(cè)對Report類型報(bào)文處理流程圖;圖4c是IGMP協(xié)議處理模塊的用戶側(cè)對Leave類型報(bào)文處理流程圖;圖5a是IGMP協(xié)議處理模塊的網(wǎng)絡(luò)側(cè)對Query類型報(bào)文處理流程圖;圖5b是IGMP協(xié)議處理模塊的網(wǎng)絡(luò)側(cè)對Report類型報(bào)文處理流程圖;圖5c是IGMP協(xié)議處理模塊的網(wǎng)絡(luò)側(cè)對Leave類型報(bào)文處理流程圖;圖6是典型的組播轉(zhuǎn)發(fā)表的結(jié)構(gòu)示意圖;圖7a是組播轉(zhuǎn)發(fā)表的設(shè)置模塊添加用戶端口的流程圖;圖7b是組播轉(zhuǎn)發(fā)表的設(shè)置模塊刪除用戶端口的流程圖;圖8a是本方法提供的典型組網(wǎng)應(yīng)用示意圖,是組播業(yè)務(wù)直接送抵接入設(shè)備的應(yīng)用示意圖;圖8b是本方法提供的典型組網(wǎng)應(yīng)用示意圖,是組播業(yè)務(wù)送抵接入服務(wù)器,接入設(shè)備向接入服務(wù)器動態(tài)請求的應(yīng)用示意圖;圖9a是本方法提供的鏈型組網(wǎng)拓?fù)涫疽鈭D;圖9b是本方法提供的環(huán)型組網(wǎng)拓?fù)涫疽鈭D。
具體實(shí)施例方式
如圖1所示,本發(fā)明一種在接入設(shè)備中管理組播業(yè)務(wù)的方法,包括如下步驟步驟101,為組播業(yè)務(wù)建立一個(gè)或多個(gè)獨(dú)立的基礎(chǔ)VLAN,基礎(chǔ)VLAN中僅包括網(wǎng)絡(luò)側(cè)的組播業(yè)務(wù)端口,不包括用戶側(cè)端口;步驟102,通過MVLAN(Multicast Virtual Local Area Network組播虛擬局域網(wǎng))創(chuàng)建模塊建立與基礎(chǔ)VLAN對應(yīng)的一個(gè)或多個(gè)MVLAN信息;這些信息包括與MVLAN對應(yīng)基礎(chǔ)VLAN的標(biāo)識,MVLAN管理的組播業(yè)務(wù)范圍和該MVLAN的用戶等。
步驟103,通過組訪問控制模塊為每個(gè)用戶側(cè)端口建立一個(gè)控制列表,以及建立用于遍歷控制列表的控制規(guī)則;步驟104,接收IGMP協(xié)議報(bào)文,并將報(bào)文的接收端口、VLAN標(biāo)識和組地址等信息傳遞給組訪問控制模塊。該模塊按照步驟三的規(guī)則由控制過程遍歷相應(yīng)用戶的控制列表,并最終返回控制結(jié)果;步驟105,如果結(jié)果表明用戶通過了組訪問控制則進(jìn)行步驟106,否則繼續(xù)步驟104。
步驟106,將IGMP報(bào)文和報(bào)文相關(guān)信息傳遞給IGMP協(xié)議處理模塊。該模塊根據(jù)報(bào)文的Query(查詢)、Report(報(bào)告)或Leave(離開)的類型以及報(bào)文從用戶側(cè)或網(wǎng)絡(luò)側(cè)端口獲取的不同進(jìn)行不同的處理。
步驟107,判斷是否為用戶側(cè)組請求,是則轉(zhuǎn)步驟108,否則轉(zhuǎn)步驟104。
步驟108,將用戶請求的有關(guān)信息(如組地址、MVLAN標(biāo)識和接收端口等)傳遞給組播轉(zhuǎn)發(fā)表設(shè)置模塊,由該模塊對以MVLAN標(biāo)識和組地址索引的組播轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行用戶端口的添加或刪除操作,并轉(zhuǎn)步驟104。盡管MVLAN將用戶側(cè)端口與組播業(yè)務(wù)網(wǎng)絡(luò)側(cè)端口進(jìn)行了隔離,但設(shè)置模塊仍能將不屬于MVLAN的用戶端口從相應(yīng)轉(zhuǎn)發(fā)表項(xiàng)中添加或刪除。設(shè)置模塊在添加用戶端口時(shí)將所有屬于MVLAN的網(wǎng)絡(luò)側(cè)端口同時(shí)加入表項(xiàng);在刪除用戶端口后若表項(xiàng)中不存在其它用戶側(cè)端口則認(rèn)為該表項(xiàng)已無成員而刪除。
以下結(jié)合其它附圖對包括MVLAN的創(chuàng)建模塊、組播組訪問控制模塊、IGMP協(xié)議處理模塊和組播轉(zhuǎn)發(fā)表設(shè)置模塊在內(nèi)的流程各部分做詳細(xì)的描述。
MVLAN是被指定用于承載和傳輸組播業(yè)務(wù)和組播協(xié)議的VLAN及其管理結(jié)構(gòu)。如圖2所示,MVLAN的創(chuàng)建過程分為基礎(chǔ)VLAN的創(chuàng)建201和MVLAN的確立202兩個(gè)子過程,以及保存MVLAN信息到數(shù)據(jù)庫203。無論是組播業(yè)務(wù)數(shù)據(jù)還是普通業(yè)務(wù)數(shù)據(jù)都受到VLAN劃分的限制,某個(gè)VLAN中的數(shù)據(jù)默認(rèn)應(yīng)只在該VLAN中轉(zhuǎn)發(fā),除非對有關(guān)轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行特殊設(shè)置。一個(gè)MVLAN的創(chuàng)建模塊首先需要創(chuàng)建一個(gè)特定的基礎(chǔ)VLAN,在該VLAN中組播業(yè)務(wù)和協(xié)議是主要的或唯一的傳輸內(nèi)容。典型的這個(gè)基礎(chǔ)VLAN的創(chuàng)建通常是由手動配置生成的,但也可以動態(tài)創(chuàng)建(比如根據(jù)網(wǎng)絡(luò)側(cè)的IGMP Query報(bào)文或組播路由報(bào)文的VLAN標(biāo)簽創(chuàng)建)?;A(chǔ)VLAN創(chuàng)建后最終形成一組與之相關(guān)的數(shù)據(jù),這些數(shù)據(jù)包括基礎(chǔ)VLAN的ID(Identifier標(biāo)識),屬于該VLAN的端口以及各個(gè)端口在這個(gè)基礎(chǔ)VLAN中的TAG(標(biāo)簽)屬性。本發(fā)明中組播基礎(chǔ)VLAN只包含有網(wǎng)絡(luò)側(cè)端口,即不包含發(fā)出組播請求并等待接收組播業(yè)務(wù)數(shù)據(jù)的用戶端口。MVLAN創(chuàng)建的第二個(gè)過程就是在基礎(chǔ)VLAN之上確立相應(yīng)的MVLAN。同樣,典型的可以由手動配置生成的但也可以如上相應(yīng)地動態(tài)生成。這一子過程為支持組成員管理和組播業(yè)務(wù)建立了一組專用數(shù)據(jù)信息并進(jìn)行保存(如MVLAN信息數(shù)據(jù)庫)。這些信息包括MVLAN所對應(yīng)基礎(chǔ)VLAN的ID,希望從該MVLAN中接收組播業(yè)務(wù)的用戶端口(用戶端口可以靜態(tài)配置也可以通過用戶發(fā)送的IGMP請求動態(tài)學(xué)習(xí))以及該MVLAN能提供哪些服務(wù)(即組地址)地址等信息。創(chuàng)建好的MVLAN有關(guān)信息將被最終保存并提供給后續(xù)的IGMP協(xié)議處理模塊使用。當(dāng)然在需要時(shí)可以通過本模塊對MVLAN信息數(shù)據(jù)庫中的內(nèi)容進(jìn)行更新。
組播組訪問控制是指網(wǎng)絡(luò)設(shè)備能通過某種方式控制用戶可以訪問的組播業(yè)務(wù)資源。如圖3所示,本發(fā)明的組播組訪問控制模塊由組播組控制列表301、列表訪問的控制規(guī)則302和控制過程303組成。組播組訪問控制列表是為每個(gè)用戶端口建立的用于保存該端口用戶組播訪問權(quán)限的數(shù)據(jù)結(jié)構(gòu)。典型的訪問列表中含有該用戶端口能夠訪問哪些組播組業(yè)務(wù)的IP地址以及該端口下用戶不能訪問的組播組IP地址的信息,也可以包括用戶在什么時(shí)間可以訪問等其它信息。典型的訪問列表可以是手工配置的,但也通過其它(如通過認(rèn)證授權(quán)服務(wù)器獲取或特殊協(xié)議直接從特殊服務(wù)器獲取)方式動態(tài)地生成和更新。控制規(guī)則是檢查訪問控制列表時(shí)遵循的約定順序和裁決方法,典型的可以采用最先匹配的規(guī)則(即找到最近一條設(shè)置的該組的控制項(xiàng)便認(rèn)為找到匹配項(xiàng)),但也可以采用最后匹配等其它規(guī)則。組播組訪問控制過程實(shí)質(zhì)也就是當(dāng)用戶提出接收某個(gè)組播業(yè)務(wù)請求時(shí)根據(jù)用戶請求信息和用戶自身的信息按照訪問規(guī)則檢查控制列表并最終返回是否允許為用戶提供該業(yè)務(wù)的結(jié)果。在本發(fā)明所提供的組播業(yè)務(wù)管理方法中,用戶組播請求必須首先接受訪問控制模塊的處理,只有通過了訪問控制的用戶請求才能有之后的IGMP協(xié)議模塊處理。
IGMP協(xié)議報(bào)文是組播組管理的標(biāo)準(zhǔn)協(xié)議,定義了組播組成員管理的報(bào)文格式和含義。IGMP報(bào)文包括Query、Report和Leave三種類型。用戶希望接收某個(gè)組播組業(yè)務(wù)時(shí),需要使用Report來請求數(shù)據(jù)。但這三種類型的報(bào)文在接入設(shè)備的用戶側(cè)和網(wǎng)絡(luò)側(cè)都可能出現(xiàn)。本發(fā)明中的IGMP協(xié)議處理模塊包括用戶側(cè)IGMP報(bào)文處理和網(wǎng)絡(luò)側(cè)IGMP報(bào)文處理兩個(gè)子過程。Query報(bào)文通常是組播路由或代理設(shè)備發(fā)送的,用于查詢是否存在任何或特定組成員。接入網(wǎng)設(shè)備的用戶側(cè)通常是組播業(yè)務(wù)的最終用戶,所以如圖4a所示,包括接收步驟411和丟棄步驟412,本發(fā)明對于從用戶側(cè)接收到的Query報(bào)文不作處理和轉(zhuǎn)發(fā)。
如圖4b所示,是用戶側(cè)對Report類型報(bào)文處理流程步驟421,收到用戶的Report報(bào)文并通過了組播組訪問控制模塊,步驟422,IGMP協(xié)議處理模塊首先根據(jù)組播組請求的特征(如組IP地址等)訪問MVLAN信息數(shù)據(jù)庫,以確定一個(gè)有效的MVLAN。
步驟423,如果可以確定則在該MVLAN的信息數(shù)據(jù)庫中記錄該組播組以及該用戶申請了該組播組的信息。在記錄過程中若沒有該組則首先創(chuàng)建該組,否則在已存在的記錄中添加用戶端口。
步驟424,最后根據(jù)MVLAN信息數(shù)據(jù)庫中有關(guān)參數(shù),決定是否將該用戶的Report報(bào)文向網(wǎng)絡(luò)側(cè)轉(zhuǎn)發(fā)。如果轉(zhuǎn)發(fā)則轉(zhuǎn)發(fā)的方法是將屬于該MVLAN所對應(yīng)基礎(chǔ)VLAN的所有端口作為目的端口,如果其中某些端口被聚合在一起則僅選擇其之一進(jìn)行轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)的同時(shí)處理模塊根據(jù)端口在基礎(chǔ)VLAN中的TAG情況決定是否為轉(zhuǎn)發(fā)的IGMP報(bào)文攜帶MVLAN的特征信息。
步驟425,最后通過組播轉(zhuǎn)發(fā)表設(shè)置模塊設(shè)置接入系統(tǒng)的組播轉(zhuǎn)發(fā)表項(xiàng)。
如圖4c對于用戶側(cè)Leave報(bào)文的處理與Report類似,只是在通過控制模塊后,如果MVLAN的配置允許用戶立刻離開組播組,則將該端口從MVLAN信息數(shù)據(jù)庫中刪除,然后通過組播轉(zhuǎn)發(fā)表設(shè)置模塊清除該組中用戶的端口位。
如圖5a、5b、5c所示,在網(wǎng)絡(luò)側(cè)接收到Query,IGMP報(bào)文處理模塊將該報(bào)文向所有MVLAN中已知的組播業(yè)務(wù)用戶端口和MVLAN對應(yīng)基礎(chǔ)VLAN中的其它端口轉(zhuǎn)發(fā)。當(dāng)在網(wǎng)絡(luò)側(cè)接受到Report和Leave報(bào)文時(shí),這兩類報(bào)文的信息就將不記錄如MVLAN信息數(shù)據(jù)庫也不據(jù)此對組播轉(zhuǎn)發(fā)表進(jìn)行設(shè)置,處理模塊僅將這兩類報(bào)文向MVLAN對應(yīng)基礎(chǔ)VLAN中的所有其它端口轉(zhuǎn)發(fā)。
網(wǎng)絡(luò)接入設(shè)備通過專用的交換引擎完成數(shù)據(jù)報(bào)文的交換,也為組播數(shù)據(jù)的轉(zhuǎn)發(fā)提供特定的轉(zhuǎn)發(fā)表。如圖6是典型的組播轉(zhuǎn)發(fā)表的結(jié)構(gòu)示意圖;所示該轉(zhuǎn)發(fā)表通常以組播MAC地址601和VLAN ID 602作為索引,表項(xiàng)包括端口位圖603和UNTAG(非標(biāo)簽)端口位圖604。
如圖7a、7b所示,本發(fā)明對組播轉(zhuǎn)發(fā)表的設(shè)置模塊包括添加端口過程和刪除端口過程。
圖7a中添加端口過程包括步驟701獲取當(dāng)前轉(zhuǎn)發(fā)表項(xiàng)的內(nèi)容;步驟702添加用戶端口;步驟703添加MVLAN對應(yīng)基礎(chǔ)VLAN中的端口;步驟704寫入組播轉(zhuǎn)發(fā)表。
在添加端口過程702中如果不存在該組播組則使用組播組MAC和MVLAN的ID作為索引創(chuàng)建一條空表項(xiàng),以同樣的索引獲取該表項(xiàng)并存儲在臨時(shí)結(jié)構(gòu)中,然后將用戶端口加入到該表項(xiàng)的端口位圖中,同時(shí)也將MVLAN中的其它端口加入到該表項(xiàng)的端口位圖中,最后將該表項(xiàng)寫回到組播轉(zhuǎn)發(fā)表中。
圖7b中刪除端口過程包括步驟711獲取當(dāng)前轉(zhuǎn)發(fā)表項(xiàng)的內(nèi)容;步驟712刪除用戶端口;步驟713判斷當(dāng)前轉(zhuǎn)發(fā)表項(xiàng)是否已經(jīng)沒有用戶端口,沒有用戶端口轉(zhuǎn)步驟714,有用戶端口轉(zhuǎn)步驟715;步驟714刪除該組播轉(zhuǎn)發(fā)表項(xiàng);步驟715寫入組播轉(zhuǎn)發(fā)表。
在刪除端口過程中,首先從組播轉(zhuǎn)發(fā)表中以組播MAC和MVLAN的ID作為索引獲取該表項(xiàng)并存放在臨時(shí)結(jié)構(gòu)中。從表項(xiàng)中清除相應(yīng)的用戶端口位,然后檢查位圖中是否只有MVLAN中的端口,如果是則說明沒有用戶在該MVLAN的該組播組中則將該表項(xiàng)從組播轉(zhuǎn)發(fā)表中清除,否則將處理完的臨時(shí)表項(xiàng)寫回組播轉(zhuǎn)發(fā)表中。從組播表設(shè)置過程可以看出,設(shè)入表項(xiàng)的用戶端口并不屬于MVLAN,但在設(shè)置成功后組播業(yè)務(wù)數(shù)據(jù)在MVLAN中到達(dá)接入設(shè)備后就可以根據(jù)轉(zhuǎn)發(fā)表項(xiàng)的設(shè)置轉(zhuǎn)發(fā)給請求該業(yè)務(wù)的用戶。而MVLAN對用戶是相對透明的,用戶不能隨意訪問MVLAN,而用戶的組播請求在MVLAN的控制下提供。
本發(fā)明在設(shè)置用戶端口的同時(shí)對MVLAN對應(yīng)基礎(chǔ)VLAN中端口的設(shè)置使得組播業(yè)務(wù)數(shù)據(jù)可以在MVLAN中發(fā)送,提供了對多種組網(wǎng)方式的支持。而且,本發(fā)明中對于網(wǎng)絡(luò)側(cè)IGMP協(xié)議處理過程也直接決定了可以實(shí)現(xiàn)多種組網(wǎng)方式的能力,如圖8a、8b為兩種典型組網(wǎng)應(yīng)用,組播業(yè)務(wù)數(shù)據(jù)802可以直接送到接入設(shè)備,也可以通過服務(wù)器轉(zhuǎn)送,不影響普通業(yè)務(wù)數(shù)據(jù)801。
圖9a、9b所示為本發(fā)明方法的其它組網(wǎng)拓?fù)浣Y(jié)構(gòu),可以鏈型組網(wǎng)也可以環(huán)形組網(wǎng)。
以上所述僅為本發(fā)明的較佳實(shí)施例,并非用來限定本發(fā)明的實(shí)施范圍;凡是依本發(fā)明所作的等效變化與修改,都被本發(fā)明的專利范圍所涵蓋。
權(quán)利要求
1.一種在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,包括如下步驟步驟一,為組播業(yè)務(wù)建立一個(gè)或多個(gè)獨(dú)立的基礎(chǔ)虛擬局域網(wǎng),基礎(chǔ)虛擬局域網(wǎng)中的組播業(yè)務(wù)端口僅包括網(wǎng)絡(luò)側(cè)的組播業(yè)務(wù)端口;步驟二,通過組播虛擬局域網(wǎng)創(chuàng)建模塊建立與基礎(chǔ)虛擬局域網(wǎng)對應(yīng)的一個(gè)或多個(gè)包括有所述組播虛擬局域網(wǎng)的用戶、所述組播虛擬局域網(wǎng)管理的組播業(yè)務(wù)范圍和與所述組播虛擬局域網(wǎng)對應(yīng)的基礎(chǔ)虛擬局域網(wǎng)的標(biāo)識的對應(yīng)信息;步驟三,通過組訪問控制模塊為每個(gè)用戶側(cè)端口建立一個(gè)控制列表,并且建立用于遍歷所述控制列表的控制規(guī)則;步驟四,接收IGMP協(xié)議報(bào)文,并將所述報(bào)文的報(bào)文相關(guān)信息傳遞給所述控制模塊,所述控制模塊按照所述控制規(guī)則并通過一個(gè)控制過程來遍歷相應(yīng)用戶的控制列表,并返回控制結(jié)果;步驟五,根據(jù)所述控制結(jié)果判斷所述用戶是否通過了組訪問控制,是則執(zhí)行步驟六,否則轉(zhuǎn)到步驟四;步驟六,將所述IGMP協(xié)議報(bào)文和所述報(bào)文相關(guān)信息傳遞給IGMP協(xié)議處理模塊,所述處理模塊根據(jù)所述報(bào)文的類型以及所述報(bào)文的獲取端口對所述報(bào)文進(jìn)行相應(yīng)處理;步驟七,將包含組地址、組播虛擬局域網(wǎng)標(biāo)識和接收端口信息的用戶請求傳遞給組播轉(zhuǎn)發(fā)表設(shè)置模塊,所述設(shè)置模塊對以所述組播虛擬局域網(wǎng)標(biāo)識和所述組地址進(jìn)行索引的組播轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行用戶端口的添加或刪除操作。
2.根據(jù)權(quán)利要求1所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,在所述步驟四中,所述報(bào)文相關(guān)信息包括報(bào)文的接收端口、虛擬局域網(wǎng)標(biāo)識和組地址信息。
3.根據(jù)權(quán)利要求1或2所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,在所述步驟六中,所述報(bào)文的類型為查詢、報(bào)告或離開,所述端口為用戶側(cè)端口或網(wǎng)絡(luò)側(cè)端口。
4.根據(jù)權(quán)利要求3所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,在所述步驟六中,對于用戶側(cè)接收到的報(bào)文的進(jìn)行如下處理對于查詢類型報(bào)文直接丟棄;對于報(bào)告類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再根據(jù)所述組播虛擬局域網(wǎng)的配置信息,在所述組播虛擬局域網(wǎng)中增加該用戶請求組播組的記錄,并將所述報(bào)文向所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā),之后執(zhí)行步驟七;對于離開類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再根據(jù)所述組播虛擬局域網(wǎng)的配置信息,在所述組播虛擬局域網(wǎng)中刪除該用戶請求組播組的記錄,并將所述報(bào)文向所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā),之后執(zhí)行步驟七。
5.根據(jù)權(quán)利要求4所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,在所述步驟六中,對于網(wǎng)絡(luò)側(cè)接收到的報(bào)文的進(jìn)行如下處理對于查詢類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再將所述報(bào)文向所有屬于對應(yīng)所述組播虛擬局域網(wǎng)的用戶端口和所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā);對于報(bào)告類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再將所述報(bào)文向?qū)?yīng)所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā);對于離開類型報(bào)文,首先由所述報(bào)文的報(bào)文相關(guān)信息確定相應(yīng)的組播虛擬局域網(wǎng),再將所述報(bào)文向?qū)?yīng)所述組播虛擬局域網(wǎng)中的所有端口轉(zhuǎn)發(fā)。
6.根據(jù)權(quán)利要求3所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,在所述步驟七中,所述設(shè)置模塊添加用戶端口的操作包括步驟a,獲取所述轉(zhuǎn)發(fā)表項(xiàng)的內(nèi)容;步驟b,添加用戶端口;步驟c,添加所有屬于組播虛擬局域網(wǎng)的網(wǎng)絡(luò)側(cè)端口;步驟d,寫入組播轉(zhuǎn)發(fā)表。
7.根據(jù)權(quán)利要求3所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,在所述步驟七中,所述設(shè)置模塊刪除用戶端口的操作包括步驟A,獲取所述轉(zhuǎn)發(fā)表項(xiàng)的內(nèi)容;步驟B,刪除用戶端口;步驟C,判斷當(dāng)前轉(zhuǎn)發(fā)表項(xiàng)是否還有用戶端口,是轉(zhuǎn)步驟E,否則轉(zhuǎn)步驟D;步驟D,刪除該組播轉(zhuǎn)發(fā)表項(xiàng)并結(jié)束流程;步驟E,寫入組播轉(zhuǎn)發(fā)表,結(jié)束流程。
8.根據(jù)權(quán)利要求3所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,所述組播虛擬局域網(wǎng)通過接入服務(wù)器或者直接向網(wǎng)絡(luò)的接入設(shè)備發(fā)送組播業(yè)務(wù)數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的在接入設(shè)備中管理組播業(yè)務(wù)的方法,其特征在于,所述接入設(shè)備之間為鏈型或環(huán)形組網(wǎng)。
全文摘要
本發(fā)明公開了一種在接入設(shè)備中管理組播業(yè)務(wù)的方法,包括為組播業(yè)務(wù)建立一個(gè)或多個(gè)獨(dú)立的基礎(chǔ)虛擬局域網(wǎng);通過組播虛擬局域網(wǎng)創(chuàng)建模塊建立與基礎(chǔ)虛擬局域網(wǎng)對應(yīng)的一個(gè)或多個(gè)對應(yīng)信息;通過組訪問控制模塊為每個(gè)用戶側(cè)端口建立一個(gè)控制列表和控制規(guī)則;接收IGMP協(xié)議報(bào)文,控制模塊按照控制規(guī)則遍歷相應(yīng)用戶的控制列表,并返回控制結(jié)果;如果所述用戶是通過了組訪問控制,將所述報(bào)文和報(bào)文相關(guān)信息傳遞處理模塊,處理模塊對報(bào)文進(jìn)行相應(yīng)處理;設(shè)置模塊對組播轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行用戶端口的添加或刪除操作。本發(fā)明克服了現(xiàn)有技術(shù)存在安全隱患、切換延遲難控制和業(yè)務(wù)質(zhì)量難實(shí)施等缺點(diǎn)。
文檔編號H04L12/56GK1735050SQ200410009420
公開日2006年2月15日 申請日期2004年8月11日 優(yōu)先權(quán)日2004年8月11日
發(fā)明者楊文軍, 呂朋偉 申請人:中興通訊股份有限公司