專利名稱:一種快速接入組播用戶的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于組播轉(zhuǎn)發(fā)技術(shù)領(lǐng)域,特別涉及一種用于包括主控和多個(gè)線卡的 分布式系統(tǒng)中快速接入組播用戶的方法。
背景技術(shù):
因特網(wǎng)組管理協(xié)議(Internet Group Management Protocol, IGMP )負(fù)責(zé)所 連網(wǎng)絡(luò)組成員關(guān)系的收集和維護(hù)。IGMP作為基本的信令機(jī)制,通知子網(wǎng)中的 路由器某個(gè)主機(jī)渴望成為某個(gè)組播組的成員,在主機(jī)和組播路由器之間建立并 維護(hù)這些組成員關(guān)系。當(dāng)一個(gè)組播主機(jī)成員希望加入指定的組播組并且期望接 收組播流量時(shí),就發(fā)送IGMP消息以通知本地的組播路由器。組播路由器通過 IGMP獲得主機(jī)的信息,并根據(jù)獲得的信息建立和維護(hù)組播成員關(guān)系表。
對于以太網(wǎng)路由交換機(jī)來說,接收到從某網(wǎng)絡(luò)設(shè)備下發(fā)的組播數(shù)據(jù)流,會 向3層出"l妄口所在虛擬局域網(wǎng)(vlan)轉(zhuǎn)發(fā),直"l妻在vlan內(nèi)洪泛。為了有效的 控制組播流量在vlan內(nèi)擴(kuò)散,引入了組播竊聽(Igmp snooping)技術(shù)。Igmp sno叩ing是交換機(jī)二層功能的一項(xiàng)特性,可以限制IP組播流量的轉(zhuǎn)發(fā)。IGMP 協(xié)議運(yùn)行在網(wǎng)絡(luò)層,而IGMP Snooping運(yùn)行在鏈路層。Igmp Snooping對主機(jī) 和路由器之間的IGMP協(xié)議通信進(jìn)行監(jiān)聽,使交換機(jī)在轉(zhuǎn)發(fā)組播數(shù)據(jù)包前學(xué)習(xí) 到哪些端口屬于組播成員,可以得到組播轉(zhuǎn)發(fā)。這樣,組播包只會按照組播成 員關(guān)系表轉(zhuǎn)發(fā)到這些成員端口,而不是所有端口,從而限制交換機(jī)上組播包擴(kuò) 散,避免不必要的網(wǎng)絡(luò)帶寬浪費(fèi),提高交換機(jī)的利用率。
目前,組播處理方式有兩種分布式處理一在線卡(又稱為堆疊設(shè)備)上 竊聽到用戶加入才艮文(IGMP加入消息)后,首先在線卡上處理并形成表項(xiàng), 將表項(xiàng)直接寫入到本線卡的組播成員關(guān)系表中,然后再由線卡將表項(xiàng)同步到主 控(又稱為主設(shè)備)中,主控再將該表項(xiàng)同步到其他線卡中;集中式處理一線 卡竊聽到IGMP報(bào)文后,將該IGMP報(bào)文發(fā)送到主控,由主控形成表項(xiàng)并同步 到線卡,線卡再將表項(xiàng)寫入到各自的組播成員關(guān)系表中。分布式處理的好處是:
降低了主控的負(fù)擔(dān),并且可以大大的縮短用戶的點(diǎn)播時(shí)間,提升用戶接入速度。
下面結(jié)合一個(gè)基本實(shí)例,介紹igmp snooping用戶加入基本功能。圖1為 分布式系統(tǒng)的組網(wǎng)示意閨。如圖l所示,上游為組播路由器,中間設(shè)備為以太 網(wǎng)路由交換機(jī)(包括主控和線卡1、線卡2),用戶端為主機(jī)。主機(jī)1和主2 在同一個(gè)網(wǎng)4殳,與線卡1相連端口分別為端口 a、 b,而端口a、 b、 c、 d都屬 于vlan 100。
主機(jī)1期望接收組224.1.1.1的組播數(shù)據(jù)流,首先會發(fā)送igmp report (igmp 加入)報(bào)文到組播路由器,這個(gè)時(shí)候線卡1會監(jiān)聽到主機(jī)1發(fā)送了組224丄1.1 的組加入消息vlan 100,端口號為a,線卡1分配一個(gè)索引(index )給vlan 100 內(nèi)的組224丄U,并創(chuàng)建組播成員關(guān)系表,并將表項(xiàng)通過主控同步到線卡2 的組播成員關(guān)系表中。
線卡1在端口 c上接收組^番組地址為224.1.1.1的組4番數(shù)據(jù)流,此時(shí)主機(jī)1 便可正常接收流量了 。當(dāng)主機(jī)2也請求接收vlan 100內(nèi)的組224.1.1.1的流量 時(shí),同樣會發(fā)送igmp report報(bào)文,線卡1從端口 b竊聽到報(bào)文,;險(xiǎn)查組播成 員關(guān)系表,得知已經(jīng)有vlan 100內(nèi)的組224丄1.1的組用戶存在,此時(shí)只需將 端口b添加到組播成員關(guān)系表的出接口位圖中,如此,主機(jī)2也可收到組播流 量。
從上述描述中可以得知,當(dāng)用戶添加時(shí),線卡會分配索引(組播轉(zhuǎn)發(fā)索引) 給vlan的組。其中,索引的作用簡單描述為在某一個(gè)線卡上組播數(shù)據(jù)流來 了,根據(jù)組播的MAC地址+vlanid(vlan標(biāo)識)查組播成員關(guān)系表,查到以后, 在此線卡里按照出口的端口位圖來轉(zhuǎn)發(fā);但是其他線卡也有出口表,也要需要 進(jìn)行組播轉(zhuǎn)發(fā),這時(shí)到其他線卡帶的是組4番轉(zhuǎn)發(fā)索引。組播流到達(dá)其他線卡后, 直接按照組播轉(zhuǎn)發(fā)索引來查組播成員關(guān)系表,而不是按照MAC地址+vlan id 來查表了。
索引的計(jì)算需要滿足發(fā)生沖突的概率盡量小,所以需要選取較好的算法。 計(jì)算索引時(shí), 一般選取組播組地址和vlanid做為關(guān)鍵字來進(jìn)行hash運(yùn)算,如 果計(jì)算出來的索引在空閑隊(duì)列(未被使用),則分配給該組播組使用;如果計(jì) 算出來的索引已經(jīng)被使用,則需要采用其他方式分配索引。
當(dāng) 一個(gè)機(jī)架上的多個(gè)線卡容量極限不同,用戶在其中 一個(gè)線卡上加入后會
有什么現(xiàn)象呢?以一個(gè)igmp snooping用戶接入的例子來"說明。
繼續(xù)參照圖1,以太網(wǎng)路由交換機(jī)上有2種線卡,線卡1的組播容量為 1024,線卡2的組4番容量為256,路由交換機(jī)上跑igmp snooping業(yè)務(wù)。
線卡1從端口 1竊聽到主機(jī)1發(fā)送的igmp report報(bào)文,此時(shí),線卡1根 據(jù)igmp report報(bào)文中攜帶的igmp信息判斷為請求加入報(bào)文vlan id為100, 組地址為224丄1.1,然后根據(jù)hash算法計(jì)算出相應(yīng)索引為500,形成組播成員 關(guān)系表項(xiàng)(index 500, mac 01005e010101 , vlan 100),并將此表項(xiàng)通過主控同 步到線卡2的組播成員關(guān)系表中去,不同的是,線卡l還會將端口 l添加到線 卡1的組成員關(guān)系表中,而線卡2上此時(shí)沒有用戶加入所以組播成員關(guān)系表的 出口位圖為空。
由于線卡2容量僅為線卡1的1/4,根據(jù)上面描述的索引計(jì)算方法可知, 索引分配與線卡容量相關(guān),而hash算法是固定的,這樣會出現(xiàn)一種現(xiàn)象線 卡1上根據(jù)自身容量算出來的索引在線卡2容量范圍之外,所以線卡1分配的 索引同步到線卡2時(shí)會導(dǎo)致同步不成功,線卡2上無法形成相應(yīng)表項(xiàng),此為索 引沖突的表現(xiàn)之一。
線卡2從端口 d接收到vlan 100的組地址為224.1.1.1的組播數(shù)據(jù)流時(shí), 流量應(yīng)該通過索引查找到線卡1的組播成員關(guān)系表,將流量直接轉(zhuǎn)發(fā)到線卡1 的端口 l上。但是,由于線卡2上沒有相應(yīng)的組播成員關(guān)系表項(xiàng),所以轉(zhuǎn)發(fā)失 敗。用戶需要再次加入乃至多次加入并結(jié)合當(dāng)前線卡上容量情況,才可能在加 入后正確纟妄收流量。
因此,需要通過一種方式來回避上述問題,以提高用戶接入速率。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種快速接入組播用戶的方法,在組播 業(yè)務(wù)采取分布式處理時(shí),更合理的創(chuàng)建線卡上組播成員關(guān)系表,防止具有不同
組播容量的各種線卡共機(jī)架跑組播業(yè)務(wù)時(shí),由于組播轉(zhuǎn)發(fā)索引沖突引起的組播 流量轉(zhuǎn)發(fā)失敗或冗余現(xiàn)象,使組播用戶能夠快速接入。 為解決上述技術(shù)問題,本發(fā)明提供技術(shù)方案如下
一種快速接入組播用戶的方法,用于包括主控和多個(gè)線卡的分布式系統(tǒng) 中,包括如下步驟
在主控和每個(gè)線卡中建立組播容量對比表,所述組播容量對比表的每個(gè)表
項(xiàng)包括線卡標(biāo)識、線卡的組播容量值和組播容量是否可用標(biāo)志;
線卡竊聽到用戶發(fā)送的IGMP加入消息,且確定需要在本線卡的組播成員
關(guān)系表中增加表項(xiàng)時(shí),從本線卡的組播容量對比表中獲取可用的最小組播容量
值,根據(jù)所述可用的最小組播容量值以及用戶請求加入的組播組地址、VLAN
標(biāo)識獲取組播轉(zhuǎn)發(fā)索引;
所述竊聽到IGMP加入消息的線卡將所述組播轉(zhuǎn)發(fā)索引、組播組地址、
VLAN標(biāo)識和接收所述IGMP加入消息的端口信息添加到本線卡的組播成員
關(guān)系表中,并將所述組播轉(zhuǎn)發(fā)索引、組播組地址、VLAN標(biāo)識通過主控同步到
其他線卡的組播成員關(guān)系表中。
上述的方法,其中,所述建立組播容量對比表包括各線卡發(fā)送包括線卡
標(biāo)識、線卡的組播容量值和組播容量是否可用標(biāo)志的消息到主控,主控根據(jù)接
收到的消息建立組播容量對比表,并將建立的組播容量對比表信息發(fā)送到各線卡。
上述的方法,其中,所述獲取組播轉(zhuǎn)發(fā)索引包括將組播組地址和VLAN 標(biāo)識作為關(guān)鍵字,并依照所述可用的最小組播容量值,用hash算法計(jì)算組播 轉(zhuǎn)發(fā)索引。
上述的方法,其中,還包括具有可用的最小組播容量值的線卡達(dá)到容量 范圍時(shí),更新其組播容量對比表中的組播容量是否可用標(biāo)志,并將該更新信息 通過主控同步到其他線卡的組播容量對比表中。
上述的方法,其中,各線卡定時(shí)發(fā)送包括線卡標(biāo)識、線卡的組播容量值和 組播容量是否可用標(biāo)志的消息到主控;主控根據(jù)接收到的消息建立或者更新組 播容量對比表,并將建立或更新的組播容量對比表信息發(fā)送到各線卡。
上述的方法,其中,還包括主控在定時(shí)時(shí)間內(nèi)沒有接收到線卡發(fā)送的消 息,確定線卡離線,則刪除組播容量對比表中該離線線卡的相關(guān)信息,并將更 新的組播容量對比表信息發(fā)送到其他線卡。
上述的方法,其中,還包括線卡上線后,發(fā)送包括線卡標(biāo)識、線卡的組 播容量值和組播容量是否可用標(biāo)志的消息到主控,主控根據(jù)接收到的消息更新 組播容量對比表,并將更新的組播容量對比表信息發(fā)送到各線卡。
采用本發(fā)明的方法后,在組播業(yè)務(wù)采取分布式處理時(shí),能夠給線卡上用戶 分配更合理的組播轉(zhuǎn)發(fā)索引,緩解具有不同組播容量的各種線卡共機(jī)架跑組播 業(yè)務(wù)時(shí),由于索引沖突引起的組播流量轉(zhuǎn)發(fā)失敗或冗余現(xiàn)象,使組播用戶能夠 快速接入,提升交換機(jī)的性能。
圖1為分布式系統(tǒng)的組網(wǎng)示意圖2為本發(fā)明實(shí)施例的快速接入組播用戶的方法流程圖。
具體實(shí)施例方式
本發(fā)明的關(guān)鍵在于,在主控(主設(shè)備)和線卡(堆疊設(shè)備)間互相傳送攜 帶組播容量值的消息,從而實(shí)現(xiàn)在主控和線卡上各維護(hù)一張組播容量對比表, 使具有組播容量各異的線卡共機(jī)架跑組播業(yè)務(wù)時(shí),能夠根據(jù)線卡上組播容量 對比表信息通過hash算法更合理分配組播轉(zhuǎn)發(fā)索引,避免由于組播轉(zhuǎn)發(fā)索引 沖突引起的組播流量轉(zhuǎn)發(fā)失敗或冗余,造成組播用戶不能及時(shí)接入的問題。
參照圖l和圖2,本發(fā)明實(shí)施例的快速接入組播用戶的方法,用于包括主 控和多個(gè)線卡的分布式系統(tǒng)中,所述方法主要包括如下步驟
步驟201:在主控和每個(gè)線卡中建立組播容量對比表;
通過添加線卡到主控和主控到線卡的消息(消息內(nèi)攜帶本地組播容量對比 表信息),"f吏每個(gè)線卡知道機(jī)架上各線卡組播容量信息,同時(shí)在每個(gè)線卡和主 控都維護(hù)一張組播容量對比表,所述組播容量對比表的每個(gè)表項(xiàng)包括線卡標(biāo) 識,線卡的組播容量值,組播容量是否可用標(biāo)志flag (flag可以為y或n, y 代表相應(yīng)的組播容量值可以用于hash算法來計(jì)算索引,n代表相應(yīng)的組播容量 值不能再用于hash算法來計(jì)算索引)。具體地,各線卡發(fā)送包括線卡標(biāo)識、線 卡的組播容量值和flag的消息到主控,主控根據(jù)接收到的消息建立組播容量對 比表,并將建立的組播容量對比表信息發(fā)送到各線卡。
為了使消息能更準(zhǔn)確的在各個(gè)線卡和主控間傳送,可以通過添加線卡到主 控和主控到線卡的定時(shí)同步消息來解決,保證消息不會因?yàn)橄到y(tǒng)忙碌而丟失, 提供安全保證。具體地,各線卡定時(shí)發(fā)送包括線卡標(biāo)識、線卡的組播容量值和 組播容量是否可用標(biāo)志的消息到主控;主控根據(jù)接收到的消息建立或者更新組 播容量對比表,并將建立或更新的組播容量對比表信息發(fā)送到各線卡。
以圖1中的以太網(wǎng)路由交換機(jī)為例,線卡1的組播容量為1024,線卡2 的組播容量為256,則在主控、線卡l、線卡2中建立組播容量對比表,初始 時(shí),該對比表中包括有兩個(gè)表項(xiàng)(線卡l, 1024, y),(線卡2, 256, y)。
步驟202:線卡竊聽到用戶發(fā)送的IGMP加入消息,且確定需要在本線卡 的組播成員關(guān)系表中增加表項(xiàng)時(shí),從本線卡的組播容量對比表中獲取可用的最 小組播容量值,根據(jù)所述可用的最小組播容量值以及用戶請求加入的組播組地 址、VLAN標(biāo)識獲取組播轉(zhuǎn)發(fā)索? 1;
用戶接入時(shí),例如,線卡1從端口 1竊聽到主機(jī)1發(fā)送的igmp report報(bào) 文,線卡1根據(jù)igmp report報(bào)文中攜帶的igmp信息判斷為請求加入報(bào)文vlan id為100,組播組地址為224.1.1.1。此時(shí),線卡1的組播成員關(guān)系表中還沒有 vlan 100內(nèi)的組224.1.1.1的表項(xiàng),且線卡1的組播容量尚未用盡,則根據(jù)hash 算法計(jì)算出相應(yīng)的索引,并在組播成員關(guān)系表中增加相應(yīng)表項(xiàng)。
具體地,線卡1首先從組播容量對比表中查詢到當(dāng)前可用的最小組播容量 值為256,則將組播組地址和VLAN標(biāo)識作為關(guān)鍵字,并依照所述可用的最小 組播容量值256,用hash算法計(jì)算索引,判斷計(jì)算得到的索引是否已經(jīng)被使用, 若是,將hash表的空閑鏈的鏈?zhǔn)讓?yīng)的索引作為組播轉(zhuǎn)發(fā)索引;否則,將所 述計(jì)算得到的索引作為組播轉(zhuǎn)發(fā)索引。由于在hash運(yùn)算時(shí),引入了最小組播 容量值參數(shù),得到的索引就一定在當(dāng)前可用的最小組^"容量值范圍之內(nèi),如此, 能夠盡量避免索引的沖突。
步驟203:所述竊聽到IGMP加入消息的線卡將所述組播轉(zhuǎn)發(fā)索引、組播 組地址、VLAN標(biāo)識和4妄收所述IGMP加入消息的端口信息添加到本線卡的組 播成員關(guān)系表中,并將所述組播轉(zhuǎn)發(fā)索引、組播組地址、VLAN標(biāo)識通過主控 同步到其他線卡的組播成員關(guān)系表中;
假設(shè)步驟202中得到的索引值為200,則在線卡1中形成組播成員關(guān)系表 項(xiàng)(index200, mac 01005e010101 , vlan 100,端口 1),在線卡2中形成紐i番 成員關(guān)系表項(xiàng)(index 200, mac 01005e010101, vlan 100)。
步驟204:具有可用的最小組播容量值的線卡達(dá)到容量范圍時(shí),更新其組 播容量對比表中的組播容量是否可用標(biāo)志,并將該更新信息通過主控同步到其 他線卡的組播容量對比表中。
用戶不斷從線卡1或線卡2上加入,每加入一個(gè)用戶,就用掉一個(gè)索引值, 當(dāng)加入的用戶數(shù)達(dá)到256時(shí),線卡2的組播容量達(dá)到極限。此時(shí),線卡2將組 播容量對比表中的表項(xiàng)(線卡2, 256, y)更新為(線卡2, 256, n),線卡2 上不再允許用戶加入,并將表項(xiàng)(線卡2, 256, n)通過主控同步到線卡l中。
線卡1上再有用戶加入時(shí),線卡1首先從組播容量對比表中查詢到當(dāng)前可 用的最小組播容量值為1024,并按照步驟202中的方法計(jì)算索引,此時(shí),得 到的索引在當(dāng)前最小組播容量1024范圍之內(nèi)。
需要說明的是,在線卡2的容量用盡時(shí),線卡l將新生成的表項(xiàng)同步到線 卡2時(shí)也會失敗。但是,采用本發(fā)明的方法至少可以避免在線卡2的容量沒用 盡時(shí),線卡1計(jì)算出的索引無法同步到線卡2上的現(xiàn)象,盡量避免了索引的沖
下面舉例說明本發(fā)明在特定情況下的詳細(xì)實(shí)施方法。 情況l:機(jī)架重啟
當(dāng)機(jī)架上線卡復(fù)位后主動發(fā)送消息(線卡標(biāo)識,組播容量值,flag: y)給 主控。主控在確認(rèn)收到各個(gè)線卡發(fā)來的消息后,建立一張組播容量對比表,再 將對比表的內(nèi)容封裝在消息中發(fā)給各個(gè)線卡,線卡收到主控發(fā)送的此類消息后 保存下來,將此信息收集在自己的組播容量對比表內(nèi),用于hash算法使用。 線卡上有用戶請求接入時(shí),首先從組播容量對比表中獲取可用的最小組播容量 值,依照當(dāng)前最小組播容量值來計(jì)算索引,若最小容量線卡上達(dá)到滿用戶,那 么此線卡不再允許添加,此時(shí)自身將對比表中此容量值flag置為n,同時(shí)發(fā)送 消息給主控,主控通知其他各個(gè)線卡更新對比表。若其他線卡還需添加新用戶, 可以再根據(jù)更新后的對比表查詢次小組播容量值用于hash算法,以此類推。
情況2:機(jī)架上某線卡離線
主控在定時(shí)時(shí)間內(nèi)沒有接收到線卡發(fā)送的消息,確定線卡離線,根據(jù)線卡 標(biāo)識匹配組播容量對比表,刪除此線卡的相關(guān)信息,再依照最新的組播容量對 比表,將更新過的內(nèi)容封裝在消息中發(fā)送給各個(gè)線卡。
若拔走的線卡組播容量值就是整機(jī)架中容量最小的,線卡上已經(jīng)分配一哈組 的索引不再變化,新加入用戶時(shí),需根據(jù)更新后組播容量對比表獲取可用的最 小容量值用于hash計(jì)算分配索引給組。具有當(dāng)前最小組播容量的線卡達(dá)到容
量范圍后則不再允許添加,此時(shí)自身將對比表中此容量值flag至為n,同時(shí)發(fā) 送消息給主控,主控通知其他各個(gè)線卡更新對比表。若其他線卡還需添加新用 戶,可以再根據(jù)更新后的對比表查詢次小組播容量值用于hash算法,以此類推。
若拔走的線卡組播容量值非整機(jī)架中容量最小的,線卡上已經(jīng)分配給組的 索引不再變化。
情況3:機(jī)架上某線卡上線
當(dāng)線卡復(fù)位后會主動發(fā)送消息(包含線卡標(biāo)識,組播容量值,flag: y)給 主控,主控收到新的消息后,查看消息中線卡標(biāo)識字段,如果組播容量對比表 中沒有該線卡標(biāo)識,則主動刷新組播容量對比表,再發(fā)送消息給各個(gè)線卡,更 新本地表信息。
若插入的線卡容量值小于當(dāng)前最小容量值,線卡上已經(jīng)分配給組的索引不 再變化,新加入用戶時(shí),需根據(jù)更新后的組播容量對比表獲取可用的最小容量 值用于hash計(jì)算分配索引給組。對于此塊線卡,自身組4番容量為最小的,所 以若計(jì)算的索引為空閑隊(duì)列值則直接分配給組,若再也無法計(jì)算出屬于空閑隊(duì) 列的索引分配給組,此時(shí)已經(jīng)達(dá)到此線卡滿用戶狀態(tài),則不再允許添加,此時(shí) 自身將對比表中此容量值flag至為n,同時(shí)發(fā)送消息給主控,主控通知其他各 個(gè)線卡更新對比表。若其他線卡還需添加新用戶,可以再根據(jù)更新后的對比表 查詢次小組播容量值用于hash算法,以此類推。
若插入的線卡容量值大于當(dāng)前最小容量值,線卡上已經(jīng)分配給組的索引不 再變化。
由以上述技術(shù)方案可見,通過添加線卡到主控和主控到線卡的消息,并在 各個(gè)主控和線卡上維護(hù)一張組播容量對比表(線卡標(biāo)識,組播容量值,flag), 通過選擇合理的容量值用于hash算法,可以防止由于組播容量值各異的線卡 共機(jī)架跑組播引起的索引沖突。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情
這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
例如,本發(fā)明中交換設(shè)備僅以三層交換機(jī)為例,本發(fā)明適用于任何以太網(wǎng)
設(shè)備,且適用于多種不同組播容量的線卡共機(jī)架跑組播業(yè)務(wù)的情況。
另外,本發(fā)明沒有局限于某種特定的消息,也不局限于維護(hù)的對比表內(nèi)某 些特定屬性。只要線卡發(fā)送消息給主控使得主控和每塊線卡都維護(hù)一張組^番容
量對比表,且線卡上根據(jù)此對比表信息能夠?qū)崟r(shí)獲取到最小容量值并用于hash 計(jì)算,通過這種方法促進(jìn)組播用戶快速接入,那么就屬于本發(fā)明保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種快速接入組播用戶的方法,用于包括主控和多個(gè)線卡的分布式系統(tǒng)中,其特征在于,包括如下步驟在主控和每個(gè)線卡中建立組播容量對比表,所述組播容量對比表的每個(gè)表項(xiàng)包括線卡標(biāo)識、線卡的組播容量值和組播容量是否可用標(biāo)志;線卡竊聽到用戶發(fā)送的IGMP加入消息,且確定需要在本線卡的組播成員關(guān)系表中增加表項(xiàng)時(shí),從本線卡的組播容量對比表中獲取可用的最小組播容量值,根據(jù)所述可用的最小組播容量值以及用戶請求加入的組播組地址、VLAN標(biāo)識獲取組播轉(zhuǎn)發(fā)索引;所述竊聽到IGMP加入消息的線卡將所述組播轉(zhuǎn)發(fā)索引、組播組地址、VLAN標(biāo)識和接收所述IGMP加入消息的端口信息添加到本線卡的組播成員關(guān)系表中,并將所述組播轉(zhuǎn)發(fā)索引、組播組地址、VLAN標(biāo)識通過主控同步到其他線卡的組播成員關(guān)系表中。
2. 如權(quán)利要求1所述的方法,其特征在于所述建立組播容量對比表包括各線卡發(fā)送包括線卡標(biāo)識、線卡的組播容 量值和組播容量是否可用標(biāo)志的消息到主控,主控根據(jù)接收到的消息建立組4番 容量對比表,并將建立的組播容量對比表信息發(fā)送到各線卡。
3. 如權(quán)利要求l所述的方法,其特征在于所述獲取組播轉(zhuǎn)發(fā)索引包括將組播組地址和VLAN標(biāo)識作為關(guān)鍵字, 并依照所述可用的最小組播容量值,用hash算法計(jì)算組播轉(zhuǎn)發(fā)索引。
4. 如權(quán)利要求3所述的方法,其特征在于,還包括具有可用的最小組播容量值的線卡達(dá)到容量范圍時(shí),更新其組播容量對比 表中的組播容量是否可用標(biāo)志,并將該更新信息通過主控同步到其他線卡的組 播容量對比表中。
5. 如權(quán)利要求4所述的方法,其特征在于各線卡定時(shí)發(fā)送包括線卡標(biāo)識、線卡的組播容量值和組播容量是否可用標(biāo) 志的消息到主控;主控根據(jù)接收到的消息建立或者更新組播容量對比表,并將建立或更新的 組播容量對比表信息發(fā)送到各線卡。
6. 如權(quán)利要求5所述的方法,其特征在于,還包括 主控在定時(shí)時(shí)間內(nèi)沒有接收到線卡發(fā)送的消息,確定線卡離線,則刪除組播容量對比表中該離線線卡的相關(guān)信息,并將更新的組播容量對比表信息發(fā)送 到其他線卡。
7. 如權(quán)利要求6所述的方法,其特征在于,還包括線卡上線后,發(fā)送包括線卡標(biāo)識、線卡的組播容量值和組播容量是否可用 標(biāo)志的消息到主控,主控根據(jù)接收到的消息更新組播容量對比表,并將更新的 組播容量對比表信息發(fā)送到各線卡。
全文摘要
本發(fā)明提供一種快速接入組播用戶的方法,包括在主控和每個(gè)線卡中建立組播容量對比表;線卡竊聽到用戶發(fā)送的IGMP加入消息時(shí),從本線卡的組播容量對比表中獲取可用的最小組播容量值,根據(jù)所述可用的最小組播容量值以及用戶請求加入的組播組地址、VLAN標(biāo)識獲取組播轉(zhuǎn)發(fā)索引;所述線卡將所述組播轉(zhuǎn)發(fā)索引、組播組地址、VLAN標(biāo)識和端口信息添加到本線卡的組播成員關(guān)系表中,并將所述組播轉(zhuǎn)發(fā)索引、組播組地址、VLAN標(biāo)識通過主控同步到其他線卡的組播成員關(guān)系表中。依照本發(fā)明,能夠更合理的創(chuàng)建線卡上組播成員關(guān)系表,防止具有不同組播容量的各種線卡共機(jī)架跑組播業(yè)務(wù)時(shí),由于組播轉(zhuǎn)發(fā)索引沖突引起的組播流量轉(zhuǎn)發(fā)失敗或冗余現(xiàn)象,使組播用戶能夠快速接入。
文檔編號H04L12/18GK101364889SQ200810222889
公開日2009年2月11日 申請日期2008年9月24日 優(yōu)先權(quán)日2008年9月24日
發(fā)明者鸞 王 申請人:中興通訊股份有限公司