專利名稱::一種節(jié)省分布式網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)帶寬的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及組播轉(zhuǎn)發(fā)軟硬件資源管理領(lǐng)域,尤其涉及一種節(jié)省分布式網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)帶寬的方法。
背景技術(shù):
:隨著Internet的迅速普及和爆炸性發(fā)展,在Internet上產(chǎn)生了許多新的應(yīng)用,其中不少是高帶寬的多媒體應(yīng)用,譬如網(wǎng)絡(luò)視頻會議、網(wǎng)絡(luò)音頻/視頻廣播、多媒體遠程教育等。這就帶來了帶寬的急劇消耗和網(wǎng)絡(luò)擁擠問題。為了緩解網(wǎng)絡(luò)瓶頸,人們提出各種方案,其中一種是采用IPMulticast(組播、多播或多路廣播)技術(shù),它是一種能最大限度利用現(xiàn)有帶寬的技術(shù)。比較而言,IP組播技術(shù)有其獨特的優(yōu)越性,在組播網(wǎng)絡(luò)中,即使用戶數(shù)量成倍增長,主干帶寬不需要隨之增加。IP組播是指在IP網(wǎng)絡(luò)中將數(shù)據(jù)包以盡力傳送(best-effort)的形式發(fā)送到網(wǎng)絡(luò)中的某個確定節(jié)點子集,這個子集稱為組才番組(multicastgroup)。IP組播的基本思想是,源主機只發(fā)送一份數(shù)據(jù),這份數(shù)據(jù)中的目的地址為組播組地址;組播組中的所有接收者都可接收到同樣的數(shù)據(jù)拷貝,并且只有組播組內(nèi)的主機(目標(biāo)主機)可以接收該數(shù)據(jù),網(wǎng)絡(luò)中其它主機不能收到。組播轉(zhuǎn)發(fā)在一般在某個網(wǎng)絡(luò)設(shè)備上是怎么實現(xiàn)的呢?要想接收到組播數(shù)據(jù)報文,首先必須要成為組播組內(nèi)的一個主機。要想成為組播組內(nèi)的一個主才幾,就需要向纟Ji番組發(fā)送igmpv2(InternetGroupManagementProtocol,因凈爭網(wǎng)組管理協(xié)議)成員報告報文,即通常所說的加入報文,請求加入到某個組播組。當(dāng)主機或者某個路由器對這個網(wǎng)絡(luò)設(shè)備發(fā)了igmpv2成員報告報文之后,在這臺網(wǎng)絡(luò)設(shè)備的每個子才莫塊上就會形成一張組播組和其成員端口的對應(yīng)關(guān)系表,在本文中稱其為組播成員關(guān)系表,組播數(shù)據(jù)報文到達各個子模塊之后就會按照這個關(guān)系表進行轉(zhuǎn)發(fā),在分布式網(wǎng)絡(luò)設(shè)備中組播數(shù)據(jù)有時要通過交換矩陣來實現(xiàn)各個子模塊之間的數(shù)據(jù)轉(zhuǎn)發(fā)。但是現(xiàn)有技術(shù)中,在交換矩陣的數(shù)據(jù)報文是直接在所有端口上洪泛到各個子才莫塊的,這樣就會導(dǎo)致一個問題,有些子模塊上根本沒有用戶,但是組播數(shù)據(jù)報文還是會經(jīng)過交換矩陣到那個才莫塊,雖然這個報文會在那個子才莫塊上纟皮丟棄,但是交換矩陣到這個模塊之間鏈路上的帶寬是實實在在的被占用了,這樣很可能會導(dǎo)致這個模塊和交換矩陣之間的其他業(yè)務(wù)收到影響。下面結(jié)合圖1,描述一下現(xiàn)有技術(shù)中組播數(shù)據(jù)轉(zhuǎn)發(fā)的流程,以及存在的一些不合理的地方組播數(shù)據(jù)包到達網(wǎng)絡(luò)設(shè)備后,首先會去查找組播成員關(guān)系表。每種不同的組播數(shù)據(jù)流都會對應(yīng)到不同的組播成員關(guān)系表。如圖1所示,組播路由的源是gei—1/3(子模塊1、端口3),目的在gei—3/5(子模塊3、端口5)和gei_4/6(子模塊4、端口6)。當(dāng)組播數(shù)據(jù)流到達子模塊l端口3后,直接把報文送到交換矩陣上,由交換矩陣把報文分發(fā)到各個子模塊。現(xiàn)有技術(shù)的處理方式是洪泛方式的,使得組播數(shù)據(jù)流會到達其他全部子模塊。但是由于子模塊2上沒有該組播成員關(guān)系表的目的端口,所以到達子才莫塊2上的數(shù)據(jù)流被丟棄了。而子模塊3和子模塊6上面都有該組播成員關(guān)系表的目的端口,數(shù)據(jù)流到達這兩個模塊后,報文就在這兩個模塊上被轉(zhuǎn)發(fā)出去。這樣組播轉(zhuǎn)發(fā)的問題是,子模塊2上并不存在該組播成員關(guān)系表的目的端口,但是同樣也收到了一份報文。在實際應(yīng)用中,分布式的網(wǎng)絡(luò)設(shè)備往往有很多的子模塊,這樣,當(dāng)組播成員關(guān)系表條目不斷增加時,交換矩陣和子模塊之間的通路流量就會很大,浪費了網(wǎng)絡(luò)帶寬;如果組播數(shù)據(jù)流很大,可能會影響到網(wǎng)絡(luò)設(shè)備的其他業(yè)務(wù)的正常運轉(zhuǎn),逸顯然是我們不愿意看到的。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題就是提出一種節(jié)省分布式網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)帶寬的方法,解決現(xiàn)有技術(shù)中由于交換矩陣的組播數(shù)據(jù)直接在所有端口上洪泛到各個子模塊而導(dǎo)致浪費大量網(wǎng)絡(luò)帶寬的問題,提高交換矩陣利用率,節(jié)省網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)消耗的帶寬。為了解決上述技術(shù)問題,本發(fā)明提供一種節(jié)省分布式網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)帶寬的方法,分布式的網(wǎng)絡(luò)設(shè)備進行組播數(shù)據(jù)轉(zhuǎn)發(fā)時,所述網(wǎng)絡(luò)設(shè)備的交換矩陣只將所述組播數(shù)據(jù)轉(zhuǎn)發(fā)給屬于相應(yīng)組播組的子才莫塊。進一步地,所述交換矩陣存有轉(zhuǎn)發(fā)規(guī)則表,所述規(guī)則表記錄了組播組信息以及哪些子模塊屬于該組播組,當(dāng)組播數(shù)據(jù)到達交換矩陣后,交換矩陣根據(jù)轉(zhuǎn)發(fā)規(guī)則表,只將所述組播數(shù)據(jù)發(fā)送給屬于相應(yīng)組播組的子模塊。進一步地,所述方法包括如下步驟(1)子模塊接收到組播源發(fā)送的組播數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)發(fā)給交換矩陣;(2)交換矩陣根據(jù)轉(zhuǎn)發(fā)規(guī)則表將所述組播數(shù)據(jù)轉(zhuǎn)發(fā)給屬于相應(yīng)組播組的子模塊;(3)步驟(2)中的子模塊根據(jù)組播成員關(guān)系表將數(shù)據(jù)轉(zhuǎn)發(fā)給最終的用戶。進一步地,所述轉(zhuǎn)發(fā)規(guī)則表通過位圖形式,記錄組播組與子模塊的對應(yīng)關(guān)系。進一步地,所述位圖形式為通過子;f莫塊的對應(yīng)位為0或1來表示該子模塊是否屬于相應(yīng)的組播組。進一步地,所述轉(zhuǎn)發(fā)規(guī)則表通過出接口列表記錄組播組與子模塊的對應(yīng)關(guān)系。進一步地,所述轉(zhuǎn)發(fā)規(guī)則表中的組播組信息通過(S、G、V)形式表示。進一步地,所述轉(zhuǎn)發(fā)規(guī)則表中的組播組信息通過組播索引表示。本發(fā)明提出,分布式的網(wǎng)絡(luò)設(shè)備的交換矩陣進行組播數(shù)據(jù)轉(zhuǎn)發(fā)時,只向目的模塊轉(zhuǎn)發(fā),而不是直接發(fā)送到所有的子模塊上,這樣能夠提高交換矩陣利用率,節(jié)省網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)消耗的帶寬。圖l是現(xiàn)有技術(shù)中交換矩陣對組播數(shù)據(jù)轉(zhuǎn)發(fā)的示意圖;圖2是本發(fā)明實施例的組播數(shù)據(jù)轉(zhuǎn)發(fā)流程圖3是本發(fā)明應(yīng)用實例的交換矩陣對組播數(shù)據(jù)轉(zhuǎn)發(fā)示意圖。具體實施例方式本發(fā)明的核心思想是分布式的網(wǎng)絡(luò)設(shè)備進行組播數(shù)據(jù)轉(zhuǎn)發(fā)時,交換矩陣只向目的子^^莫塊轉(zhuǎn)發(fā),而不是簡單的洪泛到所有的子才莫塊。這樣就節(jié)省了大量的網(wǎng)絡(luò)帶寬。下面結(jié)合附圖及具體實施例對本發(fā)明進行詳細說明。在實際操作中,在交換矩陣上設(shè)置組播報文的轉(zhuǎn)發(fā)規(guī)則,讓到達交換矩陣的組播報文只向我們所期望到達的目的端口行進。在本發(fā)明實施例中,在交換矩陣上存放有"轉(zhuǎn)發(fā)規(guī)則表",該規(guī)則表記錄了組播組信息以及哪些子才莫塊屬于該組播組,當(dāng)組播數(shù)據(jù)到達交換矩陣后,交換矩陣根據(jù)"轉(zhuǎn)發(fā)規(guī)則表",只將所迷組播數(shù)據(jù)發(fā)送給屬于相應(yīng)組播組的子模塊。其中,所述"轉(zhuǎn)發(fā)規(guī)則表"可以通過位圖形式,記錄組播組與子4莫塊的對應(yīng)關(guān)系。所述位圖形式為通過子模塊的對應(yīng)位為0或1來表示該子模塊是否屬于相應(yīng)的組l番組。如圖2所示,本發(fā)明實施例的組播數(shù)據(jù)轉(zhuǎn)發(fā)流程包括如下步驟步驟201,交換子模塊接收到組播源發(fā)送的組播數(shù)據(jù)流,將該數(shù)據(jù)轉(zhuǎn)發(fā)給交換矩陣;步驟202,交換矩陣根據(jù)"轉(zhuǎn)發(fā)規(guī)則表"中目的子模塊位圖選擇并轉(zhuǎn)發(fā)給出口子模塊,所述出口子模塊即目的子模塊,為組播數(shù)據(jù)相應(yīng)組播組的子模塊;步驟203,數(shù)據(jù)轉(zhuǎn)發(fā)到子模塊之后,再根據(jù)子模塊上的組播成員關(guān)系表中出端口位圖選擇數(shù)據(jù)出口,將數(shù)據(jù)轉(zhuǎn)發(fā)給最終的用戶。下面結(jié)合圖3,以一具體應(yīng)用實例進一步描述如圖3中所示,分布式網(wǎng)絡(luò)設(shè)備共有四個交換子模塊l、2、3、4和一個交換矩陣。按照組播轉(zhuǎn)發(fā)的實現(xiàn)原理,要想接受到組播數(shù)據(jù)就必須先加入該組,子模塊3上的端口5發(fā)加入報文,子模塊3會在4^莫塊建立一張組播成員關(guān)系表,并將端口位圖寫入本地組播成員關(guān)系表,同時在交換矩陣上設(shè)置一張全局的"轉(zhuǎn)發(fā)規(guī)則表,,,這張規(guī)則表記錄了組播組和轉(zhuǎn)發(fā)到各個子模塊的位圖,即共有哪些子模塊是屬于該組播組的。在交換矩陣中維護的"轉(zhuǎn)發(fā)規(guī)則表"的子模塊位圖信息只需要4bits,子模塊3端口5加入了組播組,交換矩陣的"轉(zhuǎn)發(fā)規(guī)則表"的表項如下組播組信息位圖(S、G、V)0100(S、G、V)記錄了每個組播組信息,其中S(Source)指組播源,G(Group)指組播組,V(vlan,即virtuallan)表示虛擬扃域網(wǎng),該信息是通過子模塊和交換矩陣的信息交互傳到交換矩陣上,規(guī)則表中的1表示子模塊3是該組播路由的成員。在本應(yīng)用實例中,轉(zhuǎn)發(fā)規(guī)則表中位圖表示方式如下從最右邊開始往左,分別表示子模塊l,子模塊2,子模塊3,子模塊4,對應(yīng)位如果是0,表示適合這個轉(zhuǎn)發(fā)規(guī)則的數(shù)據(jù)流不會去對應(yīng)的子模塊;如果對應(yīng)位是1,則表示適合這個轉(zhuǎn)發(fā)規(guī)則的數(shù)據(jù)流需要去對應(yīng)的子模塊。同理,當(dāng)子模塊4端口6加入到組播組時,"轉(zhuǎn)發(fā)規(guī)則表"變?yōu)榻M播組信息位圖(S、G、V)1100表l交換矩陣轉(zhuǎn)發(fā)規(guī)則表<table>tableseeoriginaldocumentpage7</column></row><table>如表1所示,就是圖3中的交換矩陣上的一個轉(zhuǎn)發(fā)規(guī)則。在組播轉(zhuǎn)發(fā)時,當(dāng)子模塊1端口3的組播數(shù)據(jù)到達交換矩陣時,通過查找該組對應(yīng)的"轉(zhuǎn)發(fā)規(guī)則表",得到該組對應(yīng)的子模塊轉(zhuǎn)發(fā)位圖1100,即子模塊3和子模塊4都是該組播組的成員,組播數(shù)據(jù)將會通過連接交換矩陣和子才莫塊的通路流向子模塊3和子模塊4,當(dāng)子模塊3和子模塊4收到組播數(shù)據(jù)流時就會查找本地的組播成員關(guān)系表,找到該組播組的具體端口,將組播數(shù)據(jù)發(fā)送出去?,F(xiàn)在的分布式網(wǎng)絡(luò)設(shè)備中往往有很多交換子模塊,以前的方式既占用了大量內(nèi)部帶寬也增加了交換矩陣和子4莫塊的處理負荷,采用本發(fā)明之后的方法能節(jié)省大量內(nèi)部網(wǎng)絡(luò)帶寬,同時也會大大提高交換矩陣的處理能力。另外,上迷轉(zhuǎn)發(fā)規(guī)則表中的組播組信息不僅局限于(S、G、V),任何能唯一表示一條組播數(shù)據(jù)流的信息均能構(gòu)成組播組信息。例如有些網(wǎng)絡(luò)設(shè)備是用一個組播索引表示一個組播組的,而且能唯一表示,這種情況也屬于本專利保護范圍。上述轉(zhuǎn)發(fā)規(guī)則表中的位圖主要的目的是表示數(shù)據(jù)流要去向的具體子模塊,不僅僅局限于這種位圖表示,例如一些出接口列表也可以,但這也都屬于本專利的保護范圍。當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。權(quán)利要求1、一種節(jié)省分布式網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)帶寬的方法,其特征在于,分布式的網(wǎng)絡(luò)設(shè)備進行組播數(shù)據(jù)轉(zhuǎn)發(fā)時,所述網(wǎng)絡(luò)設(shè)備的交換矩陣只將所述組播數(shù)據(jù)轉(zhuǎn)發(fā)給屬于相應(yīng)組播組的子模塊。2、如權(quán)利要求l所述的方法,其特征在于,所述交換矩陣存有轉(zhuǎn)發(fā)規(guī)則表,所述規(guī)則表記錄了組播組信息以及哪些子模塊屬于該組播組,當(dāng)組播數(shù)據(jù)到達交換矩陣后,交換矩陣根據(jù)轉(zhuǎn)發(fā)規(guī)則表,只將所述組播數(shù)據(jù)發(fā)送給屬于相應(yīng)組播組的子模塊。3、如權(quán)利要求2所述的方法,其特征在于,所述方法包括如下步驟(1)子模塊接收到組播源發(fā)送的組播數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)發(fā)給交換矩陣;(2)交換矩陣根據(jù)轉(zhuǎn)發(fā)規(guī)則表將所述組播數(shù)據(jù)轉(zhuǎn)發(fā)給屬于相應(yīng)組播組的子模塊;(3)步驟(2)中的子模塊根據(jù)組播成員關(guān)系表將數(shù)據(jù)轉(zhuǎn)發(fā)給最終的用戶。4、如權(quán)利要求2或3所述的方法,其特征在于,所述轉(zhuǎn)發(fā)規(guī)則表通過位圖形式,記錄組播組與子模塊的對應(yīng)關(guān)系。5、如權(quán)利要求4所述的方法,其特征在于,所述位圖形式為通過子才莫塊的對應(yīng)位為0或1來表示該子模塊是否屬于相應(yīng)的組播組。6、如權(quán)利要求2或3所述的方法,其特征在于,所述轉(zhuǎn)發(fā)規(guī)則表通過出接口列表記錄組播組與子才莫塊的對應(yīng)關(guān)系。7、如權(quán)利要求2或3所述的方法,其特征在于,所述轉(zhuǎn)發(fā)規(guī)則表中的組播組信息通過(S、G、V)形式表示。8、如權(quán)利要求2或3所述的方法,其特征在于,所述轉(zhuǎn)發(fā)規(guī)則表中的組播組信息通過組播索引表示。全文摘要本發(fā)明公開了一種節(jié)省分布式網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)帶寬的方法,分布式的網(wǎng)絡(luò)設(shè)備進行組播數(shù)據(jù)轉(zhuǎn)發(fā)時,所述網(wǎng)絡(luò)設(shè)備的交換矩陣只將所述組播數(shù)據(jù)轉(zhuǎn)發(fā)給屬于相應(yīng)組播組的子模塊。本發(fā)明能夠提高交換矩陣利用率,節(jié)省網(wǎng)絡(luò)設(shè)備組播轉(zhuǎn)發(fā)消耗的帶寬。文檔編號H04L12/56GK101355509SQ20081021058公開日2009年1月28日申請日期2008年9月2日優(yōu)先權(quán)日2008年9月2日發(fā)明者蔡青松申請人:中興通訊股份有限公司