專利名稱:采用硬件擴展方式在epon上實現(xiàn)ipv6組播過濾的裝置的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及在EPON網(wǎng)絡(luò)上實現(xiàn)IPV6組播過濾的裝置。
背景技術(shù):
在網(wǎng)絡(luò)傳輸過程中,IP組播(將相同的信息包同時傳送給多個目的地)比單播(向每個目的地單獨發(fā)送一份)的效率高得多。如果網(wǎng)絡(luò)中沒有某種類型組播控制,網(wǎng)絡(luò)將會把組播作為廣播處理,這意味著目的地網(wǎng)絡(luò)上的所有主機都必須處理發(fā)送給該網(wǎng)絡(luò)的所有組播。在組播應(yīng)用類型較多的環(huán)境中,這可能需要能夠搶奪網(wǎng)絡(luò)上所有主機CPU周期的性能,極大的影響網(wǎng)絡(luò)的傳輸性能。
IGMP snooping(互連網(wǎng)組管理協(xié)議偵聽,IPv4組播偵聽的技術(shù))和MLD snooping(IPv6組播協(xié)議偵聽)技術(shù)就是為了解決二層設(shè)備在端口上過濾該端口不需要的組播數(shù)據(jù)包,防止組播包泛濫,節(jié)省端口有效帶寬問題而產(chǎn)生的技術(shù)。
IGMP Snooping是一個用于組播組的管理和控制的技術(shù)。它使用IGMP報文。IGMP協(xié)議運行在網(wǎng)絡(luò)層,而IGMP Snooping運行在鏈路層。如圖1所示,IGMP Snooping允許交換機監(jiān)聽主機(主機1、主機2、主機3)和路由器4之間的IGMP會話。當(dāng)交換機監(jiān)聽到主機3發(fā)往路由器4的加入某個組的IGMP報告(report)后,交換機將該主機3連接的端口編號加入到這個組的轉(zhuǎn)發(fā)列表(交換機將根據(jù)這個轉(zhuǎn)發(fā)列表中包含的交換機的端口對應(yīng)的組播組地址,來決定從路由器發(fā)來的某個特定組播地址的數(shù)據(jù)從哪個端口上轉(zhuǎn)發(fā)出去)中,同樣,當(dāng)交換機收聽到IGMP離開(leave)消息,它就將主機3連接的端口編號從轉(zhuǎn)發(fā)列表中刪除。如果一段時間內(nèi)沒有成員的報告,交換機也會將端口從組中刪除。當(dāng)IGMP Snooping啟動之后,組播路由器周期地向所有VLAN發(fā)送IGMP查詢報文,VLAN下的主機響應(yīng)查詢報文,發(fā)送加入或報告報文,因此這個主機所在端口被加入到組播轉(zhuǎn)發(fā)表中,其關(guān)鍵字是VLAN標(biāo)簽和組播MAC地址,當(dāng)有組播數(shù)據(jù)時,直接根據(jù)組播轉(zhuǎn)發(fā)表進行相應(yīng)的轉(zhuǎn)發(fā),并不是向所有端口轉(zhuǎn)發(fā),因此有效地節(jié)省了交換機的帶寬。
MlD snooping的基本工作原理與IGMP snooping相同,差別只在于MLD Snooping是偵聽IPv6的組播包。而所謂MLD snooping,是指ONU設(shè)備通過偵聽STB(機頂盒)與路由器之間的IPv6組播協(xié)議消息(MLD協(xié)議)交互,可以確定連接在自己某端口的STB當(dāng)前加入的組播組,從而只轉(zhuǎn)發(fā)該STB需要的組播組數(shù)據(jù),過濾掉其余不需要的組播組數(shù)據(jù)的功能。
為了在EPON中實現(xiàn)MlD snooping功能,EPON除了要為每一個點到點的邏輯鏈路指定一個LLID(邏輯鏈路ID)外,還要定義一個通用的廣播LLID。OLT(光線路終端)對于下行數(shù)據(jù)包,如果是單播包,就在地址表中查找對應(yīng)的LLID,將對應(yīng)的LLID值插入到數(shù)據(jù)包中。如果這個包是一個廣播包,那么就使用一個通用的廣播LLID值。而ONU在接收到下行包后,要將不屬于自己的數(shù)據(jù)包過濾掉。當(dāng)有一個新的下行包到達時,如果該包是單播包,且LLID與ONU的LLID相匹配,就接收這個包,否則就丟棄這個包;如果該包是廣播包,且LLID為通用的廣播LLID,就接收這個包。
如圖2所示,ONU(光網(wǎng)絡(luò)單元)的下行端口為FE(百兆以太口)口,而EPON口的數(shù)據(jù)速率達到1G,如果不在ONU側(cè)對不屬于本ONU下屬終端的組播進行過濾,就很容易在此發(fā)生端口擁塞。為實現(xiàn)ONU側(cè)的組播過濾功能,現(xiàn)有的技術(shù)方案如下具有支持MLD snooping功能的交換芯片,通過硬件將數(shù)據(jù)通道中的MLD協(xié)議報文捕獲后,從其指定的交換芯片上的CPU port送到ONU的CPU上進行處理,由CPU上運行的軟件分析MLD協(xié)議報,從而生成IPv6組播過濾表,并根據(jù)此過濾表控制交換芯片進行下行組播數(shù)據(jù)的過濾,從而在ONU上實現(xiàn)MLD Snooping的功能。
雖然目前部分商用的ONU芯片內(nèi)嵌了CPU,但是由于內(nèi)嵌的CPU沒有提供MAC網(wǎng)口,因此交換芯片捕獲到的MLD協(xié)議報無法直接送到ONU芯片內(nèi)嵌的CPU上進行處理,因此通常再增加一個具有MAC網(wǎng)口的CPU芯片來實現(xiàn)MLD Snooping功能。如圖3所示。
交換芯片(如Marvell6061)對所有上行MLD協(xié)議報文進行抓包,并將這些數(shù)據(jù)通過它的CPU port向增加的CPU芯片的MAC網(wǎng)口送出。增加的CPU芯片根據(jù)MLD協(xié)議報文建立組播過濾表,控制交換芯片來實現(xiàn)IPv6組播過濾。
但是采用這種方法,需要增加一個CPU芯片,增加了設(shè)備的成本。
發(fā)明內(nèi)容
本實用新型的目的在于提供一種采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置。
為實現(xiàn)上述目的,本實用新型采用如下技術(shù)方案一種采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置,包括ONU芯片、交換芯片、MAC控制器芯片,所述ONU芯片包括一內(nèi)嵌CPU和控制接口,所述交換芯片包括CPU端口和控制接口,所述交換芯片的CPU端口與MAC控制器芯片相連,所述交換芯片用于捕獲MLD協(xié)議報文,并將該報文發(fā)送至所述MAC控制器芯片;所述MAC控制器芯片用于將接收的該報文發(fā)送至ONU芯片的內(nèi)嵌CPU;
所述內(nèi)嵌CPU用于分析該MLD協(xié)議報文,并建立組播過濾表,實現(xiàn)IPV6組播過濾。
其中,所述組播過濾表為兩張,其中一張表對應(yīng)交換芯片端口上的組播過濾,用于指示哪個端口下的終端用戶申請了哪個IPv6組播數(shù)據(jù)流;另一張表對應(yīng)ONU芯片UNI口的組播過濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UNI口通過。所述內(nèi)嵌CPU通過調(diào)用ONU芯片的控制接口及交換芯片的控制接口,將各自對應(yīng)的組播過濾表信息分別寫入交換芯片和ONU芯片硬件寄存器中,實現(xiàn)對數(shù)據(jù)通道上IPv6組播流的過濾。
其中,所述ONU芯片通過內(nèi)部總線(local bus)與MAC控制芯片相連,所述MAC控制芯片通過內(nèi)部總線將MLD協(xié)議報文送到內(nèi)嵌CPU。
一種采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的方法,其特征在于包括以下步驟1)交換芯片捕獲數(shù)據(jù)通道中的MLD協(xié)議報文后,將該報文發(fā)給MAC控制器芯片;2)MAC控制器芯片將該報文通過發(fā)送到ONU芯片的內(nèi)嵌CPU;3)內(nèi)嵌CPU上的軟件通過分析MLD協(xié)議報文,建立IPv6組播過濾表,實現(xiàn)IPV6組播過濾。
其中,所述步驟1)中,所述交換芯片通過CPU端口將該報文發(fā)給MAC控制器芯片;其中,所述步驟2)中,MAC控制器芯片通過內(nèi)部總線將該報文發(fā)送到ONU芯片的內(nèi)嵌CPU。
其中,IPv6組播過濾表為兩張,其中一張表對應(yīng)交換芯片端口上的組播過濾,用于指示哪個端口下的終端用戶申請了哪個IPv6組播數(shù)據(jù)流;另一張表對應(yīng)ONU芯片UNI口的組播過濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UNI口通過。內(nèi)嵌CPU通過調(diào)用ONU芯片本身的控制接口API以及交換芯片的控制接口API,將各自對應(yīng)的組播過濾表信息寫入相應(yīng)的硬件寄存器,達到對數(shù)據(jù)通道上IPv6組播流的過濾功能。
本實用新型無需單獨增加一個CPU,通過擴展MAC控制器芯片,實現(xiàn)在ONU芯片上的MLDSnooping功能,極大的降低了成本。此外,現(xiàn)有技術(shù)一般只能在交換芯片上實現(xiàn)IPv6組播過濾,而本實用新型既可以在交換芯片上實現(xiàn)IPv6組播過濾,又能在ONU芯片上實現(xiàn)IPv6組播過濾,從而節(jié)省從ONU芯片的UNI口下行數(shù)據(jù)帶寬。
以下結(jié)合附圖及具體實施方式
進一步說明本實用新型。
圖1為MLD和IGMP snooping實現(xiàn)示意圖;圖2為現(xiàn)有無源光網(wǎng)絡(luò)(PON)的結(jié)構(gòu)圖;圖3增加具有MAC網(wǎng)口的CPU芯片實現(xiàn)MLD snooping;
圖4本實用新型采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置實施例示意圖。
具體實施方式
如圖4所示,一種采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置,包括ONU芯片(如PAS6201)、支持MLD snooping功能及VLAN功能的交換芯片(如Marvell6061)、MAC控制器芯片(可選用支持存儲總線(Memory Bus)訪問方式的MAC控制器芯片,如SMSC的LAN9115),所述ONU芯片包括一內(nèi)嵌CPU和控制接口(管理數(shù)據(jù)輸入輸出接口(MDIO)),所述交換芯片包括CPU端口和控制接口,所述交換芯片的CPU端口與MAC控制器芯片相連,所述交換芯片用于對所有上行MLD協(xié)議報文進行抓包,并將該報文數(shù)據(jù)通過其CPU端口(CPU port)發(fā)送至所述MAC控制器芯片;所述MAC控制器芯片用于將接收的該報文發(fā)送至ONU芯片的內(nèi)嵌CPU;所述內(nèi)嵌CPU用于分析該MLD協(xié)議報文,并建立組播過濾表,實現(xiàn)IPV6組播過濾。
其中,所述組播過濾表為兩張,分別對應(yīng)于交換芯片端口的組播過濾和ONU芯片UNI口的組播過濾,所述內(nèi)嵌CPU通過調(diào)用ONU芯片的控制接口及交換芯片的控制接口,將各自對應(yīng)的組播過濾表信息分別寫入交換芯片和ONU芯片硬件寄存器中。
其中,所述ONU芯片通過內(nèi)部總線(Local Bus)與MAC控制器芯片相連,所述MAC控制器芯片通過內(nèi)部總線將MLD協(xié)議報文送到內(nèi)嵌CPU。
上述裝置中,ONU芯片可采用Passavé公司的PAS6201;交換芯片可采用支持MLD snooping功能及VLAN功能的Marvell公司的Marvell6061;MAC控制器芯片可選用支持存儲總線(MemoryBus)訪問方式的MAC控制器芯片,如SMSC公司的LAN9115。ONU芯片內(nèi)嵌的CPU則采用訪問SRAM的方式來訪問MAC控制器芯片。
上述裝置包括以下工作流程1)交換芯片捕獲數(shù)據(jù)通道中的MLD協(xié)議報文后,將該報文發(fā)給MAC控制器芯片;2)MAC控制器芯片將該報文通過發(fā)送到ONU芯片的內(nèi)嵌CPU;3)內(nèi)嵌CPU上的軟件通過分析MLD協(xié)議報文,建立IPv6組播過濾表,實現(xiàn)IPV6組播過濾。內(nèi)嵌CPU將捕獲的MLD協(xié)議報文按照其原來的數(shù)據(jù)流向發(fā)回到數(shù)據(jù)通道中。從而不影響網(wǎng)絡(luò)中組播路由器與主機之間原來的MLD協(xié)議通信。
其中,所述步驟1)中,所述交換芯片通過CPU端口將該報文發(fā)給MAC控制器芯片;其中,所述步驟2)中,MAC控制器芯片通過內(nèi)部總線將該報文發(fā)送到ONU芯片的內(nèi)嵌CPU。
其中,IPv6組播過濾表為兩張,其中一張表對應(yīng)交換芯片端口上的組播過濾,用于指示哪個端口下的終端用戶申請了哪個IPv6組播數(shù)據(jù)流;另一張表對應(yīng)ONU芯片UNI口的組播過濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UNI口通過。內(nèi)嵌CPU通過調(diào)用ONU芯片本身的控制接口API以及交換芯片的控制接口API,將各自對應(yīng)的組播過濾表信息寫入相應(yīng)的硬件寄存器,達到對數(shù)據(jù)通道上IPv6組播流的過濾功能。
權(quán)利要求1.一種采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置,其特征在于包括ONU芯片、交換芯片、MAC控制器芯片,所述ONU芯片包括一內(nèi)嵌CPU和控制接口,所述交換芯片包括CPU端口和控制接口,所述交換芯片的CPU端口與MAC控制器芯片相連,所述交換芯片用于捕獲MLD協(xié)議報文,并將該報文發(fā)送至所述MAC控制器芯片;所述MAC控制器芯片用于將接收的該報文發(fā)送至ONU芯片的內(nèi)嵌CPU;所述內(nèi)嵌CPU用于分析該MLD協(xié)議報文,并建立組播過濾表,實現(xiàn)IPV6組播過濾。
2.根據(jù)權(quán)利要求1所述的采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置,其特征在于所述組播過濾表為兩張,分別對應(yīng)于交換芯片端口的組播過濾和ONU芯片UNI口的組播過濾,所述內(nèi)嵌CPU通過調(diào)用ONU芯片的控制接口及交換芯片的控制接口,將各自對應(yīng)的組播過濾表信息分別寫入交換芯片和ONU芯片硬件寄存器中。
3.根據(jù)權(quán)利要求1或2所述的采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置,其特征在于所述ONU芯片通過內(nèi)部總線與MAC控制器芯片相連,所述MAC控制器芯片通過內(nèi)部總線將MLD協(xié)議報文送到內(nèi)嵌CPU。
專利摘要一種采用硬件擴展方式在EPON上實現(xiàn)IPV6組播過濾的裝置,所述裝置包括ONU芯片、交換芯片、MAC控制器芯片,所述ONU芯片包括一內(nèi)嵌CPU和控制接口,所述交換芯片包括CPU端口和控制接口,所述交換芯片的CPU端口與MAC控制器芯片相連,所述交換芯片用于捕獲MLD協(xié)議報文,并將該報文發(fā)送至所述MAC控制器芯片;所述MAC控制器芯片用于將接收的該報文發(fā)送至ONU芯片的內(nèi)嵌CPU;所述內(nèi)嵌CPU用于分析該MLD協(xié)議報文,并建立組播過濾表,實現(xiàn)IPV6組播過濾。本實用新型通過擴展MAC控制器芯片,實現(xiàn)在ONU芯片上的MLDSnooping功能,極大的降低了成本。而且則既可以在交換芯片上實現(xiàn)IPv6組播過濾,又能在ONU芯片上實現(xiàn)IPv6組播過濾,從而節(jié)省從ONU芯片的UNI口下行數(shù)據(jù)帶寬。
文檔編號H04L12/24GK2922305SQ20062004325
公開日2007年7月11日 申請日期2006年6月27日 優(yōu)先權(quán)日2006年6月27日
發(fā)明者李進, 劉魯寧 申請人:上海未來寬帶技術(shù)及應(yīng)用工程研究中心有限公司