專(zhuān)利名稱(chēng):采用硬件擴(kuò)展方式在epon上實(shí)現(xiàn)ipv6組播過(guò)濾的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明渉及在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過(guò)濾的方法及裝置。 背承技術(shù)
在網(wǎng)絡(luò)俾輸過(guò)程中,IP組播(將相同的信息包同時(shí)傳送給多個(gè)目的地)比單播(向每個(gè) 目的地單獨(dú)發(fā)送一份)的效率高得多。如果網(wǎng)絡(luò)中沒(méi)有某種類(lèi)型組播控制,網(wǎng)絡(luò)將會(huì)把組播 作為廣播處理,這意味著目的地網(wǎng)絡(luò)上的所有主機(jī)都必須處理發(fā)送給該網(wǎng)絡(luò)的所有組播。在 組播應(yīng)用類(lèi)型較多的環(huán)境中,這可能需要能夠搶奪網(wǎng)絡(luò)上所有主機(jī)CPU周期的性能,極大的 影響網(wǎng)絡(luò)的傳輸性能。
IGMP snooping (互連網(wǎng)組管理協(xié)議偵聽(tīng),IPv4組播偵聽(tīng)的技術(shù))和MLD snooping ( IPV6 組播協(xié)議偵聽(tīng))技術(shù)就是為了解決二層設(shè)備在端口上過(guò)濾該端口不需要的組播數(shù)據(jù)包,防止 組播包泛濫,節(jié)省端口有效帶寬問(wèn)題而產(chǎn)生的技術(shù)。
IGMP Snooping是一個(gè)用于組播組的管理和控制的技術(shù)。它使用IGMP報(bào)文。IGMP協(xié)議 運(yùn)行在網(wǎng)絡(luò)層,而IGMP Snooping運(yùn)行在鏈路層。如
圖1所示,1GMP Snooping允許交換 : 聽(tīng)主機(jī)(主機(jī)l、主機(jī)2、主機(jī)3)和路由器4之間的IGMP會(huì)話(huà)。當(dāng)交換機(jī)監(jiān)聽(tīng)到主機(jī)3發(fā)往 路由器4的加入某個(gè)組的IGMP報(bào)告(r印ort)后,交換機(jī)將該主機(jī)3連接的端口編號(hào)加入到 這個(gè)組的轉(zhuǎn)發(fā)列表(交換機(jī)將根據(jù)這個(gè)轉(zhuǎn)發(fā)列表中包含的交換機(jī)的端口對(duì)應(yīng)的組播組地址, 來(lái)決定從路由器發(fā)來(lái)的某個(gè)特定組播地址的數(shù)據(jù)從哪個(gè)端口上轉(zhuǎn)發(fā)出去)中,同樣,當(dāng)交換 機(jī)收聽(tīng)到IGMP離開(kāi)(leave)消息,它就將主機(jī)3連接的端口編號(hào)從轉(zhuǎn)發(fā)列表中刪除。如果 一段時(shí)間內(nèi)沒(méi)有成員的報(bào)告,交換機(jī)也會(huì)將端口從組中刪除。當(dāng)IGMP Sno叩ing啟動(dòng)之后, 組換路由器周期地向所有VLAN發(fā)送IGMP査詢(xún)報(bào)文,VLAN下的主機(jī)響應(yīng)査詢(xún)報(bào)文,發(fā)送加入 或報(bào)告報(bào)文,因此這個(gè)主機(jī)所在端口被加入到組播轉(zhuǎn)發(fā)表中,其關(guān)鍵字是VLAN標(biāo)簽和組播MAG 地址,當(dāng)有綴播數(shù)據(jù)時(shí),直接根據(jù)組播轉(zhuǎn)發(fā)表進(jìn)行相應(yīng)的轉(zhuǎn)發(fā),并不是向所有端口轉(zhuǎn)發(fā),園 此有效地節(jié)省了交換機(jī)的帶寬。
MID snooping的基本工作原理與IGMP snooping相同,差別只在于MLD Snooping是偵聽(tīng) IPv6,播粗。而所謂MLD snooping,是指0NU設(shè)備通過(guò)偵聽(tīng)STB (機(jī)頂盒)與路由器之間 的IPv6組播辦議消息(MLD協(xié)議)交互,可以確定連接在自己某端口的STB當(dāng)前加入的組播 組,從而只錄發(fā)該STB需要的組潘組數(shù)據(jù),過(guò)濾掉其余不需要的組播組數(shù)據(jù)的功能。
為了在EPON中實(shí)現(xiàn)M1D snooping功能,EPON除了要為每一個(gè)點(diǎn)到點(diǎn)的邏輯鏈路指定一 個(gè)LLID (邏輯鏈路ID)外,還要定義一個(gè)通用的廣播LUD。 OI,T (光線路終端)對(duì)于下行數(shù) 據(jù)包,如果是單播包,就在地址表中査找對(duì)應(yīng)的LLID,將對(duì)應(yīng)的LLID值插入到數(shù)據(jù)包中。 如果這個(gè)包是一個(gè)廣播包,那么就使用一個(gè)通用的廣播LUD值。而ONU在接收到下行包后, 要將不屬于自己的數(shù)據(jù)包過(guò)濾掉。當(dāng)有一個(gè)新的下行包到達(dá)時(shí),如果該包是單播包,且LLID 與0剛的LLID相匹配,就接收這個(gè)包,否則就丟棄這個(gè)包;如果該包是廣播包,且LLID為 通用的廣播LLID,就接收這個(gè)包。
如圖2所示,0恥(光網(wǎng)絡(luò)單元)的下行端口為FE (百兆以太口) 口,而EP0N 口的數(shù)據(jù) 速率達(dá)到1G,如果不在ONU側(cè)對(duì)不屬于本ONU下屬終端的組播進(jìn)行過(guò)濾,就很容易在此發(fā)生 端口擁塞。為實(shí)現(xiàn)ONU側(cè)的組播過(guò)濾功能,現(xiàn)有的技術(shù)方案如下
具有支持MLD sno叩ing功能的交換芯片,通過(guò)硬件將數(shù)據(jù)通道中的MLD協(xié)議報(bào)文捕獲后, 從其指定的^^換芯片上的CPU port送到0NU的CPU上進(jìn)行處理,由CPU上運(yùn)行的軟件分析MLD 協(xié)議報(bào),從而生成IPv6組播過(guò)濾表,并根據(jù)此過(guò)濾表控制交換芯片進(jìn)行下行組播數(shù)據(jù)的過(guò)濾, 從而在(MJ上實(shí)現(xiàn)MLD Snooping的功能。
雖然目饑部分商用的ONU芯片內(nèi)嵌了CPU,但是由于內(nèi)嵌的CPU沒(méi)有提供MAC網(wǎng)口,因此 交換芯片捕獲到的齓D協(xié)議報(bào)無(wú)法直接送到ONU芯片內(nèi)嵌的CPU上進(jìn)行處理,因此通常再增 加一個(gè)具有嫩C網(wǎng)口的CPU芯片來(lái)實(shí)現(xiàn)MLD Snooping功能。如圖3所示。
交換芯片(如Marve116061)對(duì)所有上行MLD協(xié)議報(bào)文進(jìn)行抓包,并將這些數(shù)據(jù)通過(guò)它的 CPU port向増加的CPU芯片的MAC網(wǎng)口送出。增加的CPU芯片根據(jù)MLD協(xié)議報(bào)文建立組播過(guò) 濾表,控制,芯片來(lái)實(shí)現(xiàn)IPv6組播過(guò)濾。
但是采m種方法,霱要增加一個(gè)CPU芯片,增加了設(shè)備的成本。
發(fā)明內(nèi)容
本發(fā)明麴目的在于提供一種采用硬件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置和方法。
為實(shí)現(xiàn)ii述目的,本發(fā)明采用如下技術(shù)方案
一種采,件擴(kuò)展方式在EP0N上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置,包括0NU芯片、交換芯片、 MAC控^芯矜,所述0即芯片包括一內(nèi)嵌CPU和控制接口,所述交換芯片包括CPU端口和控 制接口,所,換芯片的CPU端口與MAC控制器芯片相連,
所逸交l^5片潘于捕獲MLD協(xié)議報(bào)文,并將該報(bào)文發(fā)送至所述MAC控制器芯片;
所述MAC控制器芯片用于將接收的該報(bào)文發(fā)送至ONU芯片的內(nèi)嵌CP[J;
所述內(nèi)嵌CPU用于分析該MLD協(xié)議報(bào)文,并建立組播過(guò)濾表,實(shí)現(xiàn)IPV6組播過(guò)濾。
其中,所述組播過(guò)濾表為兩張,其中一張表對(duì)應(yīng)交換芯片端口上的組播過(guò)濾,用于指示 哪個(gè)端口下的終端用戶(hù)申請(qǐng)了哪個(gè)IPv6組播數(shù)據(jù)流;另一張表對(duì)應(yīng)ONU芯片UN口的組播過(guò) 濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UNI 口通過(guò)。所述內(nèi)嵌CPU通過(guò)調(diào)用ONU 芯片的控制接口及交換芯片的控制接口,將各自對(duì)應(yīng)的組播過(guò)濾表信息分別寫(xiě)入交換芯片和 ONU芯片硬件寄存器中,實(shí)現(xiàn)對(duì)數(shù)據(jù)通道上IPv6組播流的過(guò)濾。
其中,所述ONU芯片通過(guò)內(nèi)部總線(local bus)與MAC控制芯片相連,所述MAC控制芯 片通過(guò)內(nèi)部鶬線將齓D協(xié)議報(bào)文送到內(nèi)嵌CPU。
一種采,件擴(kuò)展方式在EPON上實(shí)現(xiàn)1PV6組播過(guò)濾的方法,其特征在于包括以下步驟:
1) 交換芯片捕獲數(shù)據(jù)通道中的MLD協(xié)議報(bào)文后,將該報(bào)文發(fā)給MAC控制器芯片;
2) MAC控制器芯片將該報(bào)文通過(guò)發(fā)送到ONU芯片的內(nèi)嵌CPU;
3) 內(nèi)嵌CPU上的軟件通過(guò)分析MLD協(xié)議報(bào)文,建立lPv6組播過(guò)濾表,實(shí)現(xiàn)IPV6組播過(guò)濾。
其中,房述步驟l)中,所述交換芯片通過(guò)CPU端口將該報(bào)文發(fā)給MAC控制器芯片; 其中,所維步驟2 )中,MAC控制器芯片通過(guò)內(nèi)部總線將該報(bào)文發(fā)送到ONU芯片的內(nèi)嵌CPU。 其中,IPv6組繙過(guò)濾表為兩張,其中一張表對(duì)應(yīng)交換芯片端口上的組播過(guò)濾,用于指示 哪個(gè)端口下的終端用戶(hù)申請(qǐng)了哪個(gè)IPv6組播數(shù)據(jù)流;另-張表對(duì)應(yīng)0NU芯片lJNT 口的組播過(guò) 濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UNI 口通過(guò)。內(nèi)嵌CPU通過(guò)調(diào)用ONU芯 片本身的控,口 API以及交換芯片的控制接口 API,將各自對(duì)應(yīng)的組播過(guò)濾表信息寫(xiě)入相應(yīng) 的硬件寄存器,達(dá)到對(duì)數(shù)據(jù)通道上IPv6組播流的過(guò)濾功能。
本發(fā)明無(wú)霜單獨(dú)增加一個(gè)CPU,通過(guò)擴(kuò)展MC控制器芯片,實(shí)現(xiàn)在()MJ芯片上的MLD Snooping功饞,極大的條低了成本。此外,現(xiàn)有技術(shù)一般只能在交換芯片上實(shí)現(xiàn)IPv6組播過(guò) 濾,而本發(fā),可以在交換芯片上實(shí)現(xiàn)IPv6組播過(guò)濾,又能在()NU芯片上實(shí)現(xiàn)IPv6組播過(guò) 濾,從而節(jié)省從ONU芯片的UNI 口下行數(shù)據(jù)帶寬。
以下結(jié),圖及具體實(shí)施方式
進(jìn)一步說(shuō)明本發(fā)明。
附驟,
圖1為MLD鄴ISMP snooping實(shí)現(xiàn)示意圖; 圖2為現(xiàn)有無(wú)源光網(wǎng)絡(luò)(PON)的結(jié)構(gòu)圖3增加具有MAC網(wǎng)口的CPU芯片實(shí)現(xiàn)MLD snooping;
圖4本發(fā)明采用硬件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置實(shí)施例示意圖。 具體實(shí)灘方式
如國(guó)4所示, 一種采用硬件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置,包括ONU甚 片(如PAS6201)、支持MLD snooping功能及VLAN功能的交換芯片(如Marvel 16061) 、 MAC 控制器芯片(可選用支持存儲(chǔ)總線(Memory Bus)訪問(wèn)方式的MAC控制器芯片,如SMSC的 LAN9115),稱(chēng)逸ONU芯片包括一內(nèi)嵌CPU和控制接口 (管理數(shù)據(jù)輸入輸出接口(MDIO)),所述交 換芯片包括CPU端口和控制接口 ,所述交換芯片的CPU端口與MAC控制器芯片相連,
所述交換芯片用于對(duì)所有上行MLD協(xié)議報(bào)文進(jìn)行抓包,并將該報(bào)文數(shù)據(jù)通過(guò)其CPU端口 (CPU port)發(fā)送至所述MAC控制器芯片;
所述MAC控制器芯片用于將接收的該報(bào)文發(fā)送至ONU芯片的內(nèi)嵌CPU;
所述內(nèi)嵌CPU用于分析該MLD協(xié)議報(bào)文,并建立組播過(guò)濾表,實(shí)現(xiàn)IPV6組播過(guò)濾。
其中,腐述組播過(guò)濾表為兩張,分別對(duì)應(yīng)于交換芯片端口的組播過(guò)濾和ONU芯片UNI 口 的組播過(guò)濾,所述內(nèi)嵌CPU通過(guò)調(diào)用ONU芯片的控制接口及交換芯片的控制接口,將各自對(duì) 應(yīng)的組播過(guò)自信息分別寫(xiě)入交換芯片和ONL芯片硬件寄存器中。
其中,皿ONU芯片通過(guò)內(nèi)部總線(Local Bus)與MAC控制器芯片相連,所述MAC控制 器芯片通過(guò)內(nèi)部總線將MLD協(xié)議報(bào)文送到內(nèi)嵌CPU。
上述裝暨中,ONU芯片可采用Passav6公司的PAS6201;交換芯片可采用支持MLD snooping 功能及VLAN功能的Marvell公司的Marvel16061; MAC控制器芯片可選用支持存儲(chǔ)總線(Memory Bus)訪問(wèn)方式的MAC控制器芯片,如SMSC公司的LAN9115。 ONU芯片內(nèi)嵌的CPU則采用訪問(wèn) SRAM的方式來(lái)訪問(wèn)MAC控制器芯片。
一種采自件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的方法,采用上述裝置,包括以下 步驟
1) 交換芯片捕獲數(shù)據(jù)通遒中的MLD協(xié)議報(bào)文后,將該報(bào)文發(fā)給亂C控制器芯片;
2) MAC據(jù)制器芯片將該報(bào)文通過(guò)發(fā)送到ONU芯片的內(nèi)嵌CPU;
3) 內(nèi)嵌CPU上的軟件通過(guò)分析MLD協(xié)議報(bào)文,建立IPv6組播過(guò)濾表,實(shí)現(xiàn)IPV6組播域 濾。內(nèi)嵌CPIt將鶬獲的齓D協(xié)議報(bào)文按照其原來(lái)的數(shù)據(jù)流向發(fā)回到數(shù)據(jù)通道中。從而不影響 網(wǎng)絡(luò)中繼播鷀由耱與主機(jī)之間原來(lái)的MLD協(xié)議通信。
其中,所述步驟l)中,所述交換芯片通過(guò)CPU端口將該報(bào)文發(fā)給MAC控制器芯片; 其中,所述步驟2)中,MAC控制器芯片通過(guò)內(nèi)部總線將該報(bào)文發(fā)送到0NU芯片的內(nèi)嵌CPU。 其中,IPv6組播過(guò)濾表為兩張,其中一張表對(duì)應(yīng)交換芯片端口上的組播過(guò)濾,用于指示 哪個(gè)端口下的終端用戶(hù)申請(qǐng)了哪個(gè)IPv6組播數(shù)據(jù)流;另一張表對(duì)應(yīng)ONU芯片UNI 口的組播過(guò) 濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UN] 口通過(guò)。內(nèi)嵌CPU通過(guò)調(diào)用ONU芯 片本身的控制接口 API以及交換芯片的控制接口 API,將各自對(duì)應(yīng)的組播過(guò)濾表信息寫(xiě)入相應(yīng) 的硬件寄存器,達(dá)到對(duì)數(shù)據(jù)通道上IPv6組播流的過(guò)濾功能。
權(quán)利要求
1、一種采用硬件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置,其特征在于包括ONU芯片、交換芯片、MAC控制器芯片,所述ONU芯片包括一內(nèi)嵌CPU和控制接口,所述交換芯片包括CPU端口和控制接口,所述交換芯片的CPU端口與MAC控制器芯片相連,所述交換芯片用于捕獲MLD協(xié)議報(bào)文,并將該報(bào)文發(fā)送至所述MAC控制器芯片;所述MAC控制器芯片用于將接收的該報(bào)文發(fā)送至ONU芯片的內(nèi)嵌CPU;所述內(nèi)嵌CPU用于分析該MLD協(xié)議報(bào)文,并建立組播過(guò)濾表,實(shí)現(xiàn)IPV6組播過(guò)濾。
2、 根據(jù)權(quán)利要求1所述的采用硬件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置,其特征在 于所述組播過(guò)濾表為兩張,分別對(duì)應(yīng)于交換芯片端口的組播過(guò)濾和O圖芯片UNI 口的組 播過(guò)濾,所述內(nèi)嵌CPU通過(guò)調(diào)用O圖芯片的控制接口及交換芯片的控制接口,將各自對(duì), 的組繙過(guò)濾表信息分別寫(xiě)入交換芯片和ONU芯片硬件寄存器中。
3、 根據(jù)權(quán)利要求1或2所述的采用硬件擴(kuò)展方式在EP0N上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置,其特 征在于所述ONU芯片通過(guò)內(nèi)部總線與MAC控制器芯片相連,所述MAC控制器芯片通過(guò)內(nèi) 部總線將MLD協(xié)議報(bào)文送到內(nèi)嵌CPU。
4、 一種釆用硬件擴(kuò)展方式在EP0N上實(shí)現(xiàn)IPV6組播過(guò)濾的方法,其特征在于包括以下步驟1) 交換芯片捕獲數(shù)維通道中的MLD協(xié)議報(bào)文后,將該報(bào)文發(fā)給MAC控制器芯片;2) MAC ,器芯片將該報(bào)文通過(guò)發(fā)送到ONU芯片的內(nèi)嵌CPU;3) 內(nèi)嵌CPU上的軟件通過(guò)分析MLD協(xié)議報(bào)文,建立IPv6組播過(guò)濾表,實(shí)現(xiàn)IPV6組播過(guò) 濾。
5、 根據(jù)要求4所述的采用硬件擴(kuò)展方式在EP0N上實(shí)現(xiàn)IPV6組播過(guò)濾的方法,其特征在于 所述步驟l)中,所述交換芯片通過(guò)CPU端口將該報(bào)文發(fā)給MAC控制器芯片。
6、 根據(jù)要求4或5所述的采用硬件擴(kuò)展方式在EP0N上實(shí)現(xiàn)IPV6組播過(guò)濾的方法,其特征在 于所述步驟2)中,MAC控制器芯片通過(guò)內(nèi)部總線將該報(bào)文發(fā)送到ONU芯片的內(nèi)嵌CPU。
7、 根據(jù)要求4或5所述的采用硬件擴(kuò)展方式在EP0N上實(shí)現(xiàn)IPV6組播過(guò)濾的方法,其特征在 于所述歩驟2)中的IPv6組播過(guò)濾表為兩張,其中一張表對(duì)應(yīng)交換芯片端口上的組播過(guò) 濾;另一張表對(duì)應(yīng)ONU芯片UNI 口的組播過(guò)濾,內(nèi)嵌CPU通過(guò)調(diào)用ONU芯片本身的控制接 口 API以及交換芯片的控制接口 API,將各自對(duì)應(yīng)的組播過(guò)濾表信息寫(xiě)入相應(yīng)的硬件寄存 器,實(shí)現(xiàn)對(duì)數(shù)據(jù)通道上IPv6組播流的過(guò)濾。
全文摘要
本發(fā)明提供一種采用硬件擴(kuò)展方式在EPON上實(shí)現(xiàn)IPV6組播過(guò)濾的裝置和方法,所述裝置包括ONU芯片、交換芯片、MAC控制器芯片,所述ONU芯片包括一內(nèi)嵌CPU和控制接口,所述交換芯片包括CPU端口和控制接口,所述交換芯片的CPU端口與MAC控制器芯片相連,所述交換芯片用于捕獲MLD協(xié)議報(bào)文,并將該報(bào)文發(fā)送至所述MAC控制器芯片;所述MAC控制器芯片用于將接收的該報(bào)文發(fā)送至ONU芯片的內(nèi)嵌CPU;所述內(nèi)嵌CPU用于分析該MLD協(xié)議報(bào)文,并建立組播過(guò)濾表,實(shí)現(xiàn)IPV6組播過(guò)濾。本發(fā)明通過(guò)擴(kuò)展MAC控制器芯片,實(shí)現(xiàn)在ONU芯片上的MLD Snooping功能,極大的降低了成本。而且則既可以在交換芯片上實(shí)現(xiàn)IPv6組播過(guò)濾,又能在ONU芯片上實(shí)現(xiàn)IPv6組播過(guò)濾,從而節(jié)省從ONU芯片的UNI口下行數(shù)據(jù)帶寬。
文檔編號(hào)H04L12/24GK101098287SQ200610028200
公開(kāi)日2008年1月2日 申請(qǐng)日期2006年6月27日 優(yōu)先權(quán)日2006年6月27日
發(fā)明者進(jìn) 李, 譚金泉 申請(qǐng)人:上海未來(lái)寬帶技術(shù)及應(yīng)用工程研究中心有限公司