專利名稱:一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體涉及一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的方法和裝置。
背景技術(shù):
IP組播技術(shù)實(shí)現(xiàn)了 IP網(wǎng)絡(luò)中點(diǎn)到多點(diǎn)的高效數(shù)據(jù)傳送,因?yàn)榻M播能夠有效地節(jié) 約網(wǎng)絡(luò)帶寬,降低網(wǎng)絡(luò)負(fù)載,所以在實(shí)時(shí)數(shù)據(jù)傳送、多媒體會(huì)議、數(shù)據(jù)拷貝、游戲和仿真等諸 多方面都有廣泛的應(yīng)用。在三層組播網(wǎng)絡(luò)中,用于維護(hù)組播組和組播成員關(guān)系的協(xié)議有兩種IPv4(互聯(lián) 網(wǎng)協(xié)議第4版)中的IGMP(Internet Group Management Protocol,因特網(wǎng)組管理協(xié)議) 和IPv6 (互聯(lián)網(wǎng)協(xié)議第6版)中的MLD (Multicast ListenerDiscovery,組播偵聽者發(fā)現(xiàn) 協(xié)議)。IGMP和MLD是在網(wǎng)絡(luò)層實(shí)現(xiàn)的組播,稱為三層組播成員管理協(xié)議,運(yùn)行在三層網(wǎng)絡(luò) 設(shè)備上,用于對(duì)終端的組播用戶加入和離開組播組進(jìn)行管理,在三層網(wǎng)絡(luò)設(shè)備上創(chuàng)建和維 護(hù)三層組播轉(zhuǎn)發(fā)表。相應(yīng)地,在二層組播網(wǎng)絡(luò)中對(duì)應(yīng)為IGMP snooping(因特網(wǎng)組管理協(xié)議 窺探)和MLD snooping (組播偵聽者發(fā)現(xiàn)協(xié)議窺探),分別是在數(shù)據(jù)鏈路層實(shí)現(xiàn)的組播,稱 為二層組播,運(yùn)行在二層網(wǎng)絡(luò)設(shè)備上,對(duì)組播用戶和組播路由器之間的IGMP或MLD報(bào)文進(jìn) 行窺探,根據(jù)窺探到的加入或離開報(bào)文,在二層網(wǎng)絡(luò)設(shè)備上創(chuàng)建和維護(hù)二層組播轉(zhuǎn)發(fā)表。通 過二層組播轉(zhuǎn)發(fā)表,可以建立組播組與VLAN(Virtual Local Area Network,虛擬局域網(wǎng)) 內(nèi)具體成員端口的關(guān)系,當(dāng)VLAN內(nèi)有用戶端口發(fā)送加入報(bào)文加入指定組播組時(shí),只需要將 該組播數(shù)據(jù)流復(fù)制到需要接收該組播組的用戶對(duì)應(yīng)的端口,從而實(shí)現(xiàn)了組播業(yè)務(wù);通過與 VLAN內(nèi)具體成員端口綁定,防止了組播數(shù)據(jù)流在VLAN內(nèi)的洪泛。IGMP snooping協(xié)議和 MLD snooping協(xié)議解決了組播數(shù)據(jù)流在二層網(wǎng)絡(luò)設(shè)備上廣播的問題,實(shí)現(xiàn)了按需復(fù)制組播 數(shù)據(jù)流。隨著互聯(lián)網(wǎng)的普及,越來越多的人開始使用互聯(lián)網(wǎng),IPv4的網(wǎng)絡(luò)地址也即將耗完, 為了解決這個(gè)問題,出現(xiàn)了可以提供更多網(wǎng)絡(luò)地址的IPv6協(xié)議,并且以IPv6為核心的下一 代互聯(lián)網(wǎng)協(xié)議已經(jīng)從研究階段走向?qū)嵱?。雖然IPv6協(xié)議出現(xiàn)的目的是替代IPv4協(xié)議,但 是目前大多數(shù)的網(wǎng)絡(luò)資源還是基于IPv4的;因此,短期內(nèi)IPv6還不能完全替換IPv4,互聯(lián) 網(wǎng)上兩種協(xié)議必定會(huì)在很長(zhǎng)的一段時(shí)間內(nèi)共存,直到IPv6完全取代IPv4。為了解決IPv4 和IPv6協(xié)議互通的問題,已經(jīng)有相當(dāng)多的過渡技術(shù)被提出來,包括各種NAT(網(wǎng)絡(luò)地址轉(zhuǎn) 發(fā))、隧道、雙棧技術(shù)。其中,雙棧技術(shù)是應(yīng)用比較廣泛的一種技術(shù),即在網(wǎng)絡(luò)設(shè)備上同時(shí)支 持IPv4和IPv6兩個(gè)協(xié)議棧,以完成IPv4網(wǎng)絡(luò)設(shè)備和IPv6網(wǎng)絡(luò)設(shè)備之間的通信。目前,通常采用的技術(shù)是針對(duì)IGMP snooping和MLD snooping分別維護(hù)各自的 二層組播轉(zhuǎn)發(fā)表。每個(gè)二層組播轉(zhuǎn)發(fā)表分別對(duì)應(yīng)各自的二層組播轉(zhuǎn)發(fā)索引表。在添加 IGMP snooping的組播條目時(shí),從IGMP snooping獨(dú)享的二層組播轉(zhuǎn)發(fā)索引表中申請(qǐng)一個(gè) 索引并分配給組播條目,再將組播條目添加到IGMPsnooping的組播轉(zhuǎn)發(fā)表中。在添加MLD snooping的組播條目時(shí),從MLDsnooping獨(dú)享的轉(zhuǎn)發(fā)索引表中申請(qǐng)一個(gè)索引并分配給組播 條目,再將組播條目添加到MLD snooping的組播轉(zhuǎn)發(fā)表中。在刪除組播條目時(shí),分別從各自的二層組播轉(zhuǎn)發(fā)表中刪除組播條目,并將索引分別釋放到對(duì)應(yīng)的轉(zhuǎn)發(fā)索引表中。當(dāng)系統(tǒng)支持IPv4和IPv6雙協(xié)議棧時(shí),需要為IGMP snooping和MLDsnooping分 別預(yù)留存儲(chǔ)空間,即需要維護(hù)兩個(gè)二層組播轉(zhuǎn)發(fā)表,設(shè)備要為兩個(gè)二層組播轉(zhuǎn)發(fā)表分別預(yù) 留存儲(chǔ)空間,限制每個(gè)二層組播轉(zhuǎn)發(fā)表的容量。由于網(wǎng)絡(luò)設(shè)備的應(yīng)用場(chǎng)景不同,因此無(wú)法提 供一個(gè)合理的二層組播轉(zhuǎn)發(fā)表的分配方案,以滿足所有應(yīng)用場(chǎng)景中IGMP snooping和MLD snooping的需求。所以,二層組播轉(zhuǎn)發(fā)表就很難得到充分的利用。最極端的情況是,支持 IPv4和IPv6雙協(xié)議棧的網(wǎng)絡(luò)設(shè)備上只有IGMP snooping的組播條目,而根本就沒有MLD snooping的組播條目,那么預(yù)留給MLD snooping的二層組播轉(zhuǎn)發(fā)表的存儲(chǔ)資源就要全部 浪費(fèi);反之,如果網(wǎng)絡(luò)設(shè)備上只有MLD snooping的組播條目,那么預(yù)留給IGMP snooping的 二層組播轉(zhuǎn)發(fā)表的存儲(chǔ)資源也要全部浪費(fèi)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的方法和裝 置,以支持IPv4和IPv6 二層組播在雙棧設(shè)備上共存,提高設(shè)備資源的利用率。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的方法,該方法包括配置因特網(wǎng)組管理協(xié)議窺探IGMP snooping以及組播偵聽者發(fā)現(xiàn)協(xié)議窺探MLD snooping的二層組播轉(zhuǎn)發(fā)表的表項(xiàng)參數(shù),使IGMP snooping和MLDsnooping共享二層組播 轉(zhuǎn)發(fā)表;并為IGMP snooping和MLD snooping維護(hù)統(tǒng)一的共享二層組播轉(zhuǎn)發(fā)索引表;根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn)發(fā)索引表,統(tǒng)一管理涉及IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)。配置所述表項(xiàng)參數(shù)的過程包括通過配置命令,在支持雙棧網(wǎng)絡(luò)的設(shè)備上配置IGMP snooping的二層組播轉(zhuǎn)發(fā)表 的容量,以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量;所述配置命令適用于不同的應(yīng)用場(chǎng)景中,需要對(duì)IGMP snooping和MLDsnooping 的二層組播轉(zhuǎn)發(fā)表的容量進(jìn)行限制,使IGMP snooping和MLDsnooping動(dòng)態(tài)共享二層組播 轉(zhuǎn)發(fā)表。維護(hù)所述共享二層組播轉(zhuǎn)發(fā)索引表的方法包括以下至少之一保存、分配、釋放索 引。分配所述索引的過程包括從空閑索引鏈表頭取空閑索引分配給組播條目,為已 分配的索引填充組播虛擬局域網(wǎng)VLAN和組播IP地址,并從空閑鏈表中刪除,為已分配的索 引設(shè)置使用標(biāo)記后放入使用鏈表中;釋放所述索引的過程包括將要回收的索引信息清空,包括組播VLAN和組播地 址;為已回收的索引設(shè)置空閑標(biāo)記并從使用鏈表中刪除,將已回收的索引插入空閑鏈表中。配置IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量的過程包括通過配置命令指定IGMP snooping或MLD snooping占用的二層組播轉(zhuǎn)發(fā)表的容 量;沒有進(jìn)行命令配置時(shí),兩者動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表;或者,在沒有進(jìn)行命令配置時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是同時(shí)支持的IGMPsnooping 和MLD snooping的組播條目數(shù)之和;當(dāng)沒有MLD snooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是IGMP snooping所支持的最大組播條目數(shù);當(dāng)沒有IGMPsnooping時(shí),二層組播轉(zhuǎn)發(fā)表的容 量就是MLD snooping所支持的最大組播條目數(shù)。一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的裝置,該裝置包括共享轉(zhuǎn)發(fā)表維護(hù)單元、共享索 引維護(hù)單元、二層組播轉(zhuǎn)發(fā)單元;其中,所述共享轉(zhuǎn)發(fā)表維護(hù)單元,用于配置IGMP snooping以及MLD snooping的二層組 播轉(zhuǎn)發(fā)表的表項(xiàng)參數(shù),使IGMP snooping和MLD snooping共享二層組播轉(zhuǎn)發(fā)表;所述共享索引維護(hù)單元,用于為IGMP snooping和MLD snooping維護(hù)統(tǒng)一的共享 二層組播轉(zhuǎn)發(fā)索引表;所述二層組播轉(zhuǎn)發(fā)單元,用于根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn) 發(fā)索引表,統(tǒng)一管理涉及IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)。所述共享轉(zhuǎn)發(fā)表維護(hù)單元在配置所述表項(xiàng)參數(shù)時(shí),用于通過配置命令,在支持雙棧網(wǎng)絡(luò)的設(shè)備上配置IGMP snooping的二層組播轉(zhuǎn)發(fā)表 的容量,以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量;所述配置命令適用于不同的應(yīng)用場(chǎng)景中,需要對(duì)IGMP snooping和MLDsnooping 的二層組播轉(zhuǎn)發(fā)表的容量進(jìn)行限制;通過合理的配置,使IGMPsnooping和MLD snooping動(dòng)
態(tài)共享二層組播轉(zhuǎn)發(fā)表。所述共享索引維護(hù)單元在維護(hù)所述共享二層組播轉(zhuǎn)發(fā)索引表時(shí),用于進(jìn)行以下操 作的至少之一保存、分配、釋放索引。所述共享索引維護(hù)單元在分配所述索引時(shí),用于從空閑索引鏈表頭取空閑索引 分配給組播條目,為已分配的索引填充組播VLAN和組播IP地址,并從空閑鏈表中刪除,為 已分配的索引設(shè)置使用標(biāo)記后放入使用鏈表中;所述共享索引維護(hù)單元在釋放所述索引時(shí),用于將要回收的索引信息清空,包括 組播VLAN和組播地址;為已回收的索引設(shè)置空閑標(biāo)記并從使用鏈表中刪除,將已回收的索 引插入空閑鏈表中。 所述共享轉(zhuǎn)發(fā)表維護(hù)單元包括容量配置單元;所述容量配置單元在配置IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)表 的容量時(shí),用于通過配置命令指定IGMP snooping或MLD snooping占用的二層組播轉(zhuǎn)發(fā)表的容 量;沒有進(jìn)行命令配置時(shí),兩者動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表;或者,在沒有進(jìn)行命令配置時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是同時(shí)支持的IGMPsnooping 和MLD snooping的組播條目數(shù)之和;當(dāng)沒有MLD snooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是 IGMP snooping所支持的最大組播條目數(shù);當(dāng)沒有IGMPsnooping時(shí),二層組播轉(zhuǎn)發(fā)表的容 量就是MLD snooping所支持的最大組播條目數(shù)。本發(fā)明方法和裝置,可以支持IPv4和IPv6 二層組播在雙棧設(shè)備上共存,提高設(shè)備 資源的利用率。
圖1為IPv4組播地址到組播MAC地址的映射關(guān)系示意圖;圖2為IPv6組播地址到組播MAC地址的映射關(guān)系示意圖3為現(xiàn)有技術(shù)中IPv4 二層組播對(duì)轉(zhuǎn)發(fā)表的使用方法示意圖;圖4為現(xiàn)有技術(shù)中Ipv6 二層組播對(duì)轉(zhuǎn)發(fā)表的使用方法示意圖;圖5為本發(fā)明一實(shí)施例的實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)例的IPv4/IPv6 二層組播對(duì)轉(zhuǎn)發(fā)表的使用方法示意圖;圖7為本發(fā)明一實(shí)施例的實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的流程圖;圖8為本發(fā)明實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的流程簡(jiǎn)圖;圖9為本發(fā)明一實(shí)施例的實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的裝置圖。
具體實(shí)施例方式需要說明的是,IPv6協(xié)議中的MAC沒有變化,也就是說128位的組播IPv6地址 也是映射為48位的MAC地址,它們之間的映射關(guān)系是組播MAC地址的前16位固定為 0x3333,將組播IPv6地址的后32位直接映射到組播MAC地址的后32位,IPv4組播地址和 IPv6組播地址與組播MAC地址之間的映射關(guān)系分別如圖1和圖2所示。既然IPv4組播地 址和Pv6組播地址都映射為48位的MAC地址,而且映射的組播MAC地址的前綴不同,不會(huì) 存在沖突問題,而在二層網(wǎng)絡(luò)設(shè)備上只會(huì)根據(jù)MAC地址轉(zhuǎn)發(fā);那么,IPv4組播地址和Pv6組 播地址就可以共享同一張組播MAC轉(zhuǎn)發(fā)表(即二層組播轉(zhuǎn)發(fā)表),該表可以包括組播條目 索引、組播VLAN信息、組播源信息、組播組地址、組播用戶端口信息及其之間的關(guān)系等。當(dāng) IPv4組播地址和Pv6組播地址動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表時(shí),還必須采用統(tǒng)一的索引管理機(jī) 制,為IPv4和IPv6 二層組播條目分配全局唯一的索引,供二層組播轉(zhuǎn)發(fā)表使用??傮w而言,為了實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表,總體操作思路如下1)通過配置命令,在支持雙棧網(wǎng)絡(luò)的設(shè)備上配置IGMP snooping的二層組播轉(zhuǎn)發(fā) 表的容量,以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量,兩者之和應(yīng)該為二層組播轉(zhuǎn)發(fā)表 的最大容量。該命令適用于不同的應(yīng)用場(chǎng)景中,需要對(duì)IGMP snooping和MLD snooping 的二層組播轉(zhuǎn)發(fā)表的容量進(jìn)行限制。并且,通過合理的配置,可以使IGMP snooping和MLD snooping動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表。2)在支持雙棧網(wǎng)絡(luò)的設(shè)備上,需要為IGMP snooping和MLD snooping提供共享二 層組播轉(zhuǎn)發(fā)索引表,用于為兩者的組播條目分配全局唯一的索引,供二層組播轉(zhuǎn)發(fā)表使用。3)在支持雙棧網(wǎng)絡(luò)的設(shè)備上,為IGMP snooping和MLD snooping提供共享二層組 播轉(zhuǎn)發(fā)索引表管理機(jī)制,對(duì)分配的共享二層組播轉(zhuǎn)發(fā)索引表進(jìn)行管理,包括共享二層組播 轉(zhuǎn)發(fā)索引表的存儲(chǔ)、分配和釋放等。如當(dāng)添加二層組播條目時(shí),從共享二層組播轉(zhuǎn)發(fā)索引表中分配一個(gè)空閑索引,并 根據(jù)分配的索引將組播條目添加到二層組播轉(zhuǎn)發(fā)表中;以及, 當(dāng)刪除二層組播條目時(shí),將組播條目占用的索引釋放。通常,所述二層組播轉(zhuǎn)發(fā)表的容量可以通過以下幾種方式確定(1)通過配置命令指定IGMP snooping或MLD snooping占用的二層組播轉(zhuǎn)發(fā)表的 容量;沒有進(jìn)行命令配置時(shí),兩者是動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表的。(2)在沒有進(jìn)行命令配置時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是同時(shí)支持的 IGMPsnooping和MLD snooping的組播條目數(shù)之和。當(dāng)沒有MLD snooping時(shí),二層組播轉(zhuǎn) 發(fā)表的容量就是IGMP snooping所支持的最大組播條目數(shù);當(dāng)沒有IGMPsnooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是MLD snooping所支持的最大組播條目數(shù)。參見圖3,圖3為現(xiàn)有技術(shù)中IPv4 二層組播對(duì)轉(zhuǎn)發(fā)表的使用方法示意圖。其中,添 加IPv4 二層組播條目時(shí),從獨(dú)享的二層組播轉(zhuǎn)發(fā)索引表中分配索引給組播條目并添加到 二層組播轉(zhuǎn)發(fā)表中;刪除IPv4 二層組播條目時(shí),從二層組播轉(zhuǎn)發(fā)表中刪除組播條目,并將 組播條目占用的索引釋放。參見圖4,圖4為現(xiàn)有技術(shù)中Ipv6 二層組播對(duì)轉(zhuǎn)發(fā)表的使用方法示意圖。其中,添 加IPv6 二層組播條目時(shí),從獨(dú)享的二層組播轉(zhuǎn)發(fā)索引表中分配索引給組播條目并添加到 二層組播轉(zhuǎn)發(fā)表中;刪除IPv6 二層組播條目時(shí),從二層組播轉(zhuǎn)發(fā)表中刪除組播條目,并將 組播條目占用的索引釋放。從圖3、圖4中可以看出,在現(xiàn)有技術(shù)中,IPv4和IPv6獨(dú)享各自的二層組播轉(zhuǎn)發(fā)索 引表,無(wú)法充分地利用存儲(chǔ)空間,而且靈活性也不高。基于前述的本發(fā)明操作思路,與現(xiàn)有技術(shù)相比,本發(fā)明通過提供共享二層組播轉(zhuǎn) 發(fā)索引表對(duì)二層組播轉(zhuǎn)發(fā)表的索引進(jìn)行管理,從而實(shí)現(xiàn)IGMP snooping和MLD snooping動(dòng) 態(tài)共享二層組播轉(zhuǎn)發(fā)表,并且達(dá)到以下目的(1)能夠減少二層組播轉(zhuǎn)發(fā)表對(duì)存儲(chǔ)資源的占用,降低設(shè)備的硬件成本,提高設(shè)備 所支持的IGMP snooping和MLD snooping 二層組播轉(zhuǎn)發(fā)表的容量,而且降低了設(shè)備資源維 護(hù)的復(fù)雜性。(2)設(shè)備能夠根據(jù)不同的應(yīng)用場(chǎng)景,自動(dòng)地調(diào)整IPv4和IPv6二層組播轉(zhuǎn)發(fā)表的容 量。當(dāng)需要添加更多的IPv4 二層組播條目時(shí),設(shè)備能夠支持更多的IPv4 二層組播條目;當(dāng) 需要添加更多的IPv6 二層組播條目時(shí),設(shè)備能夠支持更多的IPv6 二層組播條目。(3)設(shè)備維護(hù)人員可以根據(jù)實(shí)際需要對(duì)設(shè)備所能支持的IPv4和IPv6 二層組播轉(zhuǎn) 發(fā)表的容量進(jìn)行人為的配置,而不需要更新設(shè)備的軟件;能夠?qū)崿F(xiàn)對(duì)設(shè)備更加簡(jiǎn)單,安全地 管理和配置。下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。參見圖5,圖5為本發(fā)明一實(shí)施例的實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的網(wǎng)絡(luò)結(jié)構(gòu)示意圖, 圖5所示的網(wǎng)絡(luò)包括IPv4組播數(shù)據(jù)流服務(wù)器501、IPv6組播數(shù)據(jù)流服務(wù)器502、路由器503、 二層網(wǎng)絡(luò)設(shè)備504、作為Ipv4組播用戶的IPv4主機(jī)505和作為Ipv6組播用戶的IPv6主 機(jī)506。其中,路由器503同時(shí)和IPv4組播數(shù)據(jù)流服務(wù)器501以及IPv6組播數(shù)據(jù)流服務(wù)器 502直連,路由器503和二層網(wǎng)絡(luò)設(shè)備504直連,IPv4主機(jī)505和IPv6主機(jī)506都與二層 網(wǎng)絡(luò)設(shè)備504相連。此時(shí),如果IPv4主機(jī)50和IPv6主機(jī)506同時(shí)發(fā)起組播請(qǐng)求,那么就 要求二層網(wǎng)絡(luò)設(shè)備能同時(shí)處理用戶主機(jī)發(fā)起的IGMP請(qǐng)求報(bào)文和MLD請(qǐng)求報(bào)文。參見圖6,圖6為本發(fā)明實(shí)例的IPv4/IPv6 二層組播對(duì)轉(zhuǎn)發(fā)表的使用方法示意圖, 具體的使用方法將在圖7中描述;并且,該方法通過IPv4和IPv6 二層組播共享二層組播轉(zhuǎn) 發(fā)表,極大地提高了設(shè)備資源的利用率,降低了設(shè)備資源維護(hù)的復(fù)雜性。參見圖7,圖7為本發(fā)明一實(shí)施例的實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的流程圖,該流程包 括以下步驟步驟701 所述共享二層組播轉(zhuǎn)發(fā)索引表可以采用有序鏈表,按照索引值從小到 大的順序排列(即越靠近鏈表頭的節(jié)點(diǎn)索引值越小);并且,可以采用索引空閑鏈表和索引 使用鏈表機(jī)制,分別記錄未使用和已經(jīng)使用的索引。如果需要分配索引,進(jìn)入步驟702 ;如
8果需要釋放索引,進(jìn)入步驟706。步驟702 當(dāng)需要新增組播條目時(shí),需要啟動(dòng)共享二層組播轉(zhuǎn)發(fā)索引表的索引分 配流程,為新增的組播條目分配索引。步驟703 從空閑索引鏈表頭取一個(gè)空閑索引分配給組播條目,如將空閑鏈表頭 節(jié)點(diǎn)的索引分配給組播條目,由于索引鏈表是按照索引從小到大的順序排列的,因此,分配 的索引就為未使用的最小的索引。步驟704 為已分配的索引填充組播VLAN和組播IP地址等信息,并從空閑鏈表中 刪除。步驟705 為已分配的索引設(shè)置使用標(biāo)記后放入使用鏈表中。步驟706 當(dāng)需要?jiǎng)h除組播條目時(shí),需要啟動(dòng)共享二層組播轉(zhuǎn)發(fā)索引表的索引釋 放流程,將組播條目占用的索引釋放。步驟707 將要回收的索引信息清空,包括組播VLAN和組播地址等。步驟708 為已回收的索引設(shè)置空閑標(biāo)記并從使用鏈表中刪除。步驟709 將已回收的索引按從小到大的順序插入空閑鏈表中。上述索引的分配和釋放原則,保證了每次分配的索引是尚未分配的最小值,能有 效利用空閑索引。結(jié)合前述操作思路以及圖7,可以將本發(fā)明實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的操作思路 表示如圖8所示。參見圖8,圖8為本發(fā)明實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的流程簡(jiǎn)圖,該流程包 括以下步驟步驟810:配置IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的表項(xiàng)參數(shù), 使IGMP snooping和MLD snooping共享二層組播轉(zhuǎn)發(fā)表。步驟820 為IGMP snooping和MLD snooping維護(hù)統(tǒng)一的共享二層組播轉(zhuǎn)發(fā)索引表。步驟830 根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn)發(fā)索引表,統(tǒng)一管 理涉及IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)。為了保證上述操作能夠順利實(shí)現(xiàn),可以進(jìn)行如圖9所示的設(shè)置。參見圖9,圖9為 本發(fā)明一實(shí)施例的實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的裝置圖,該裝置包括可以兩兩相連的共享轉(zhuǎn) 發(fā)表維護(hù)單元、共享索引維護(hù)單元、二層組播轉(zhuǎn)發(fā)單元。其中,共享轉(zhuǎn)發(fā)表維護(hù)單元中可以 設(shè)置有容量配置單元;共享索引維護(hù)單元中可以設(shè)置有相連的共享索引分配單元、共享索 引存儲(chǔ)單元、共享索引釋放單元。圖9中,共享索引存儲(chǔ)單元用于存儲(chǔ)雙棧網(wǎng)絡(luò)設(shè)備上的IGMP snooping和MLD snooping的二層組播轉(zhuǎn)發(fā)表索引,通過提供的共享二層組播轉(zhuǎn)發(fā)索引表實(shí)現(xiàn)。共享索引分配單元用于在針對(duì)IGMP snooping或MLD snooping新建組播條目時(shí), 從共享二層組播轉(zhuǎn)發(fā)索引表中為新建的組播條目分配索引。共享索引釋放單元用于在針對(duì)IGMP snooping或MLD snooping刪除組播條目時(shí), 將組播條目占用的索引釋放。共享轉(zhuǎn)發(fā)表維護(hù)單元用于在雙棧網(wǎng)絡(luò)設(shè)備上為IGMP snooping和MLDsnooping指 定所支持的二層組播轉(zhuǎn)發(fā)表的最大條目數(shù),并能顯示相關(guān)配置,該命令僅用于支持雙棧的 網(wǎng)絡(luò)設(shè)備。具體而言,涉及二層組播轉(zhuǎn)發(fā)表容量的設(shè)置可以由共享轉(zhuǎn)發(fā)表維護(hù)單元中的容量配置單元實(shí)現(xiàn)。具體應(yīng)用時(shí),共享轉(zhuǎn)發(fā)表維護(hù)單元能夠配置IGMP snooping以及MLDsnooping的 二層組播轉(zhuǎn)發(fā)表的表項(xiàng)參數(shù),使IGMP snooping和MLD snooping共享二層組播轉(zhuǎn)發(fā)表。共享索引維護(hù)單元能夠?yàn)镮GMP snooping和MLD snooping維護(hù)統(tǒng)一的共享二層 組播轉(zhuǎn)發(fā)索引表,具體的維護(hù)操作可能包括前述的分配、釋放、保存等處理。二層組播轉(zhuǎn)發(fā)單元能夠根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn)發(fā)索 引表,統(tǒng)一管理涉及IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)。綜上所述可見,可以在二層網(wǎng)絡(luò)設(shè)備上采用IPv4和IPv6動(dòng)態(tài)共享二層組播轉(zhuǎn) 發(fā)表,物理上不區(qū)分IPv4和IPv6 二層組播轉(zhuǎn)發(fā)表,即不對(duì)每個(gè)二層組播轉(zhuǎn)發(fā)表的容量限 制,只限制總體用于二層組播的存儲(chǔ)空間。如設(shè)備在沒有MLDsnooping時(shí)最多支持IGMP snooping的組播條目數(shù),或者在沒有IGMP snooping時(shí)最多支持MLD snooping的組播條目 數(shù),或者設(shè)置能同時(shí)支持的IGMPsnooping和MLD snooping的組播條目數(shù)??傮w容量由分 配給IGMP snooping和MLD snooping共享的二層組播轉(zhuǎn)發(fā)表的大小所決定,提高了設(shè)備資 源的利用率。如果需要對(duì)IGMP snooping和MLD snooping各自的二層組播轉(zhuǎn)發(fā)表的容量 進(jìn)行限制,可以通過命令進(jìn)行配置,增加了設(shè)備的靈活性??傮w而言,在IPv4和IPv6雙協(xié)議棧的網(wǎng)絡(luò)環(huán)境下,通過共享二層組播轉(zhuǎn)發(fā)索引表 對(duì)二層組播轉(zhuǎn)發(fā)表的索引進(jìn)行管理,從而實(shí)現(xiàn)IGMP snooping和MLDsnooping動(dòng)態(tài)共享二 層組播轉(zhuǎn)發(fā)表,進(jìn)而實(shí)現(xiàn)IPv4和IPv6 二層組播的共存。保證了在雙協(xié)議棧網(wǎng)絡(luò)中,IPv4 和IPv6 二層組播業(yè)務(wù)的正常運(yùn)行,具有良好的設(shè)備兼容性;在實(shí)現(xiàn)IPv4和IPv6 二層組播 共存的同時(shí),可以有效提高設(shè)備資源的利用率,降低設(shè)備維護(hù)的復(fù)雜度。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
權(quán)利要求
一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的方法,其特征在于,該方法包括配置因特網(wǎng)組管理協(xié)議窺探IGMP snooping以及組播偵聽者發(fā)現(xiàn)協(xié)議窺探MLD snooping的二層組播轉(zhuǎn)發(fā)表的表項(xiàng)參數(shù),使IGMP snooping和MLDsnooping共享二層組播轉(zhuǎn)發(fā)表;并為IGMP snooping和MLD snooping維護(hù)統(tǒng)一的共享二層組播轉(zhuǎn)發(fā)索引表;根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn)發(fā)索引表,統(tǒng)一管理涉及IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,配置所述表項(xiàng)參數(shù)的過程包括通過配置命令,在支持雙棧網(wǎng)絡(luò)的設(shè)備上配置IGMP snooping的二層組播轉(zhuǎn)發(fā)表的容 量,以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量;所述配置命令適用于不同的應(yīng)用場(chǎng)景中,需要對(duì)IGMP snooping和MLDsnooping的二 層組播轉(zhuǎn)發(fā)表的容量進(jìn)行限制,使IGMP snooping和MLDsnooping動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā) 表。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,維護(hù)所述共享二層組播轉(zhuǎn)發(fā)索引表的方 法包括以下至少之一保存、分配、釋放索引。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于分配所述索引的過程包括從空閑索引鏈表頭取空閑索引分配給組播條目,為已分配 的索引填充組播虛擬局域網(wǎng)VLAN和組播IP地址,并從空閑鏈表中刪除,為已分配的索引設(shè) 置使用標(biāo)記后放入使用鏈表中;釋放所述索引的過程包括將要回收的索引信息清空,包括組播VLAN和組播地址;為 已回收的索引設(shè)置空閑標(biāo)記并從使用鏈表中刪除,將已回收的索引插入空閑鏈表中。
5.根據(jù)權(quán)利要求2至4任一項(xiàng)所述的方法,其特征在于,配置IGMPsnooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量的過程包括通過配置命令指定IGMP snooping或MLD snooping占用的二層組播轉(zhuǎn)發(fā)表的容量;沒 有進(jìn)行命令配置時(shí),兩者動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表;或者,在沒有進(jìn)行命令配置時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是同時(shí)支持的IGMPsnooping和MLD snooping的組播條目數(shù)之和;當(dāng)沒有MLD snooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是IGMP snooping所支持的最大組播條目數(shù);當(dāng)沒有IGMPsnooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是 MLD snooping所支持的最大組播條目數(shù)。
6.一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的裝置,其特征在于,該裝置包括共享轉(zhuǎn)發(fā)表維護(hù)單 元、共享索引維護(hù)單元、二層組播轉(zhuǎn)發(fā)單元;其中,所述共享轉(zhuǎn)發(fā)表維護(hù)單元,用于配置IGMP snooping以及MLD snooping的二層組播轉(zhuǎn) 發(fā)表的表項(xiàng)參數(shù),使IGMP snooping和MLD snooping共享二層組播轉(zhuǎn)發(fā)表;所述共享索引維護(hù)單元,用于為IGMP snooping和MLD snooping維護(hù)統(tǒng)一的共享二層 組播轉(zhuǎn)發(fā)索引表;所述二層組播轉(zhuǎn)發(fā)單元,用于根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn)發(fā)索 引表,統(tǒng)一管理涉及IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述共享轉(zhuǎn)發(fā)表維護(hù)單元在配置所述表 項(xiàng)參數(shù)時(shí),用于通過配置命令,在支持雙棧網(wǎng)絡(luò)的設(shè)備上配置IGMP snooping的二層組播轉(zhuǎn)發(fā)表的容量,以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容量;所述配置命令適用于不同的應(yīng)用場(chǎng)景中,需要對(duì)IGMP snooping和MLDsnooping的二 層組播轉(zhuǎn)發(fā)表的容量進(jìn)行限制;通過合理的配置,使IGMPsnooping和MLD snooping動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述共享索引維護(hù)單元在維護(hù)所述共享 二層組播轉(zhuǎn)發(fā)索引表時(shí),用于進(jìn)行以下操作的至少之一保存、分配、釋放索引。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于所述共享索引維護(hù)單元在分配所述索引時(shí),用于從空閑索引鏈表頭取空閑索引分配 給組播條目,為已分配的索引填充組播VLAN和組播IP地址,并從空閑鏈表中刪除,為已分 配的索引設(shè)置使用標(biāo)記后放入使用鏈表中;所述共享索引維護(hù)單元在釋放所述索引時(shí),用于將要回收的索引信息清空,包括組播 VLAN和組播地址;為已回收的索引設(shè)置空閑標(biāo)記并從使用鏈表中刪除,將已回收的索引插 入空閑鏈表中。
10.根據(jù)權(quán)利要求7至9任一項(xiàng)所述的裝置,其特征在于,所述共享轉(zhuǎn)發(fā)表維護(hù)單元包 括容量配置單元;所述容量配置單元在配置IGMP snooping以及MLD snooping的二層組播轉(zhuǎn)發(fā)表的容 量時(shí),用于通過配置命令指定IGMP snooping或MLD snooping占用的二層組播轉(zhuǎn)發(fā)表的容量;沒 有進(jìn)行命令配置時(shí),兩者動(dòng)態(tài)共享二層組播轉(zhuǎn)發(fā)表;或者,在沒有進(jìn)行命令配置時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是同時(shí)支持的IGMPsnooping和MLD snooping的組播條目數(shù)之和;當(dāng)沒有MLD snooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是IGMP snooping所支持的最大組播條目數(shù);當(dāng)沒有IGMPsnooping時(shí),二層組播轉(zhuǎn)發(fā)表的容量就是 MLD snooping所支持的最大組播條目數(shù)。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)共享二層組播轉(zhuǎn)發(fā)表的方法和裝置,均可配置因特網(wǎng)組管理協(xié)議窺探以及組播偵聽者發(fā)現(xiàn)協(xié)議窺探的二層組播轉(zhuǎn)發(fā)表的表項(xiàng)參數(shù),使因特網(wǎng)組管理協(xié)議窺探和組播偵聽者發(fā)現(xiàn)協(xié)議窺探共享二層組播轉(zhuǎn)發(fā)表;并為因特網(wǎng)組管理協(xié)議窺探和組播偵聽者發(fā)現(xiàn)協(xié)議窺探維護(hù)統(tǒng)一的共享二層組播轉(zhuǎn)發(fā)索引表;根據(jù)所配置的二層組播轉(zhuǎn)發(fā)表以及共享二層組播轉(zhuǎn)發(fā)索引表,統(tǒng)一管理涉及因特網(wǎng)組管理協(xié)議窺探以及組播偵聽者發(fā)現(xiàn)協(xié)議窺探的二層組播轉(zhuǎn)發(fā)。本發(fā)明方法和裝置,可以支持IPv4和IPv6二層組播在雙棧設(shè)備上共存,提高設(shè)備資源的利用率。
文檔編號(hào)H04L12/56GK101977140SQ20101027750
公開日2011年2月16日 申請(qǐng)日期2010年9月7日 優(yōu)先權(quán)日2010年9月7日
發(fā)明者陳維花 申請(qǐng)人:中興通訊系統(tǒng)有限公司