專利名稱:用硬件環(huán)回方式在epon網(wǎng)絡(luò)上實(shí)現(xiàn)ipv6組播過濾的裝置的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置。
背景技術(shù):
在網(wǎng)絡(luò)傳輸過程中,IP組播(將相同的信息包同時(shí)傳送給多個(gè)目的地)比單播(向每個(gè)目的地單獨(dú)發(fā)送一份)的效率高得多。如果網(wǎng)絡(luò)中沒有某種類型組播控制,網(wǎng)絡(luò)將會(huì)把組播作為廣播處理,這意味著目的地網(wǎng)絡(luò)上的所有主機(jī)都必須處理發(fā)送給該網(wǎng)絡(luò)的所有組播。在組播應(yīng)用類型較多的環(huán)境中,這可能需要能夠搶奪網(wǎng)絡(luò)上所有主機(jī)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是一個(gè)用于組播組的管理和控制的技術(shù)。它使用IGMP報(bào)文。IGMP協(xié)議運(yùn)行在網(wǎng)絡(luò)層,而IGMP Snooping運(yùn)行在鏈路層。如圖1所示,IGMP Snooping允許交換機(jī)監(jiān)聽主機(jī)(主機(jī)1、主機(jī)2、主機(jī)3)和路由器4之間的IGMP會(huì)話。當(dāng)交換機(jī)監(jiān)聽到主機(jī)3發(fā)往路由器4的加入某個(gè)組的IGMP報(bào)告(report)后,交換機(jī)將該主機(jī)3連接的端口編號(hào)加入到這個(gè)組的轉(zhuǎn)發(fā)列表(交換機(jī)將根據(jù)這個(gè)轉(zhuǎn)發(fā)列表中包含的交換機(jī)的端口對(duì)應(yīng)的組播組地址,來決定從路由器發(fā)來的某個(gè)特定組播地址的數(shù)據(jù)從哪個(gè)端口上轉(zhuǎn)發(fā)出去)中,同樣,當(dāng)交換機(jī)收聽到IGMP離開(leave)消息,它就將主機(jī)3連接的端口編號(hào)從轉(zhuǎn)發(fā)列表中刪除。如果一段時(shí)間內(nèi)沒有成員的報(bào)告,交換機(jī)也會(huì)將端口從組中刪除。當(dāng)IGMP Snooping啟動(dòng)之后,組播路由器周期地向所有VLAN發(fā)送IGMP查詢報(bào)文,VLAN下的主機(jī)響應(yīng)查詢報(bào)文,發(fā)送加入或報(bào)告報(bào)文,因此這個(gè)主機(jī)所在端口被加入到組播轉(zhuǎn)發(fā)表中,其關(guān)鍵字是VLAN標(biāo)簽和組播MAC地址,當(dāng)有組播數(shù)據(jù)時(shí),直接根據(jù)組播轉(zhuǎn)發(fā)表進(jìn)行相應(yīng)的轉(zhuǎn)發(fā),并不是向所有端口轉(zhuǎn)發(fā),因此有效地節(jié)省了交換機(jī)的帶寬。
M1D snooping的基本工作原理與IGMP snooping相同,差別只在于MLD Snooping是偵聽I(yíng)Pv6的組播包。而所謂MLD snooping,是指ONU設(shè)備通過偵聽STB(機(jī)頂盒)與路由器之間的IPv6組播協(xié)議消息(MLD協(xié)議)交互,可以確定連接在自己某端口的STB當(dāng)前加入的組播組,從而只轉(zhuǎn)發(fā)該STB需要的組播組數(shù)據(jù),過濾掉其余不需要的組播組數(shù)據(jù)的功能。
為了在EPON中實(shí)現(xiàn)MlD snooping功能,EPON除了要為每一個(gè)點(diǎn)到點(diǎn)的邏輯鏈路指定一個(gè)LLID(邏輯鏈路ID)外,還要定義一個(gè)通用的廣播LLID。OLT(光線路終端)對(duì)于下行數(shù)據(jù)包,如果是單播包,就在地址表中查找對(duì)應(yīng)的LLID,將對(duì)應(yīng)的LLID值插入到數(shù)據(jù)包中。如果這個(gè)包是一個(gè)廣播包,那么就使用一個(gè)通用的廣播LLID值。而ONU在接收到下行包后,要將不屬于自己的數(shù)據(jù)包過濾掉。當(dāng)有一個(gè)新的下行包到達(dá)時(shí),如果該包是單播包,且LLID與ONU的LLID相匹配,就接收這個(gè)包,否則就丟棄這個(gè)包;如果該包是廣播包,且LLID為通用的廣播LLID,就接收這個(gè)包。
如圖2所示,ONU(光網(wǎng)絡(luò)單元)的下行端口為FE(百兆以太口)口,而EPON口的數(shù)據(jù)速率達(dá)到1G,如果不在ONU側(cè)對(duì)不屬于本ONU下屬終端的組播進(jìn)行過濾,就很容易在此發(fā)生端口擁塞。為實(shí)現(xiàn)ONU側(cè)的組播過濾功能,現(xiàn)有的技術(shù)方案如下具有支持MLD snooping功能的交換芯片,通過硬件將數(shù)據(jù)通道中的MLD協(xié)議報(bào)文捕獲后,從其指定的交換芯片上的CPU port送到ONU的CPU上進(jìn)行處理,由CPU上運(yùn)行的軟件分析MLD協(xié)議報(bào),從而生成IPv6組播過濾表,并根據(jù)此過濾表控制交換芯片進(jìn)行下行組播數(shù)據(jù)的過濾,從而在ONU上實(shí)現(xiàn)MLD Snooping的功能。
雖然目前部分商用的ONU芯片內(nèi)嵌了CPU,但是由于內(nèi)嵌的CPU沒有提供MAC網(wǎng)口,因此交換芯片捕獲到的MLD協(xié)議報(bào)無法直接送到ONU芯片內(nèi)嵌的CPU上進(jìn)行處理,因此通常再增加一個(gè)具有MAC網(wǎng)口的CPU芯片來實(shí)現(xiàn)MLD Snooping功能。如圖3所示。
交換芯片(如Marvell6061)對(duì)所有上行MLD協(xié)議報(bào)文進(jìn)行抓包,并將這些數(shù)據(jù)通過它的CPU port向增加的CPU芯片的MAC網(wǎng)口送出。增加的CPU芯片根據(jù)MLD協(xié)議報(bào)文建立組播過濾表,控制交換芯片來實(shí)現(xiàn)IPv6組播過濾。
但是采用這種方法,需要增加一個(gè)CPU芯片,增加了設(shè)備的成本。
發(fā)明內(nèi)容
本實(shí)用新型的目的在于提供一種用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置及方法,更具體地說是一種采用ONU芯片與支持MLD snooping功能及VLAN功能的交換芯片相配合,借助支持MLD snooping功能及VLAN功能的交換芯片的VLAN特性,采用外部環(huán)回手段,對(duì)MLD協(xié)議報(bào)文打上VLAN標(biāo)簽,來實(shí)現(xiàn)ONU設(shè)備上MLD Snooping功能的方法。
為實(shí)現(xiàn)上述目的,本實(shí)用新型采用如下技術(shù)方案一種用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,包括ONU芯片和交換芯片,所述ONU芯片包括用戶網(wǎng)絡(luò)接口、嵌入式CPU,所述交換芯片包括CPU端口、第一交換端口和第二交換端口,所述用戶網(wǎng)絡(luò)接口和所述第一交換端口相連接,所述交換芯片的CPU端口和第二交換端口設(shè)有連接。
其中,所述連接為CPU Port的接收和發(fā)送信號(hào)線與PortA的發(fā)送和接收信號(hào)線直接連接。其中,所述交換芯片的CPU端口為非標(biāo)簽?zāi)J健?br>
其中,所述第一交換端口設(shè)為VLAN的中繼模式,第二交換端口的PVID包含在第一交換端口的中繼中,從第二交換端口接收到的數(shù)據(jù)包能夠轉(zhuǎn)發(fā)到第一交換端口。
本實(shí)用新型在ONU上實(shí)現(xiàn)MLD Snooping功能,且無需另外增加CPU,而是利用交換芯片的VLAN特性,將其CPU port端口與另一個(gè)端口在外部環(huán)回,從而為MLD協(xié)議報(bào)文插入特殊VLANID的VLAN標(biāo)簽,進(jìn)而方便ONU芯片能夠利用VLANID的方式捕獲數(shù)據(jù)通道的MLD協(xié)議報(bào)文并進(jìn)行處理。由于無需另外增加硬件設(shè)備,因此本方法的實(shí)現(xiàn)成本較低。
另外,現(xiàn)有方法只能在交換芯片上實(shí)現(xiàn)IPv6組播過濾,而新方案還可以在ONU芯片上實(shí)現(xiàn)IPv6組播過濾,可以節(jié)省從ONU芯片到UNI口下行數(shù)據(jù)帶寬。
以下結(jié)合附圖及實(shí)施例進(jìn)一步說明本實(shí)用新型。
圖1為MLD和IGMP snooping實(shí)現(xiàn)示意圖;圖2為現(xiàn)有無源光網(wǎng)絡(luò)(PON)的結(jié)構(gòu)圖;圖3增加具有MAC網(wǎng)口的CPU芯片實(shí)現(xiàn)MLD snooping;圖4用硬件外部環(huán)回方式實(shí)現(xiàn)MLD snooping。
具體實(shí)施方式
如圖4所示,一種用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,包括ONU芯片和交換芯片,所述ONU芯片包括用戶網(wǎng)絡(luò)接口(UNI)、嵌入式CPU,所述交換芯片包括CPU端口(CPU Port)、第一交換端口(PortT)和第二交換端口(PortA),所述用戶網(wǎng)絡(luò)接口(UNI)和所述第一交換端口(PortT)相連接,所述交換芯片的CPU端口和第二交換端口設(shè)有連接。
其中,所述連接可以是通過在硬件電路板上分別將CPU Port的接收和發(fā)送與PortA的發(fā)送和接收信號(hào)線直接連接。
共中,所述交換芯片的CPU端口為Untagged模式(非標(biāo)簽?zāi)J?。
其中,所述第一交換端口設(shè)為VLAN的中繼(trunk)模式,第二交換端口的PVID包含在第一交換端口的中繼(trunk)中,從第二交換端口接收到的數(shù)據(jù)包能夠轉(zhuǎn)發(fā)到第一交換端口。
其中,所述交換芯片可為Marvell6061(Marvell公司生產(chǎn)的Marvell6061)。
上述支持MLD snooping功能及VLAN功能的交換芯片(Marvell6061)對(duì)所有上行MLD協(xié)議報(bào)文進(jìn)行抓包,并將這些數(shù)據(jù)通過它的CPU port送出。同時(shí),利用交換芯片的VLAN特性,通過將交換芯片上的CPU port與它的另一個(gè)指定交換端口(PortA)進(jìn)行外部環(huán)回后,對(duì)MLD協(xié)議報(bào)文插入特殊VLANID(虛擬局域網(wǎng)識(shí)別號(hào))的VLAN標(biāo)簽。由于ONU芯片具有能夠?qū)⒅付╒LANID的數(shù)據(jù)報(bào)文捕獲到其內(nèi)嵌的CPU進(jìn)行處理的特性,因此,可以在ONU芯片上利用軟件來分析從數(shù)據(jù)通道捕獲的被打上VLAN標(biāo)簽的MLD協(xié)議報(bào)文,從而實(shí)現(xiàn)ONU上的MLD Snooping功能。
上述裝置的實(shí)現(xiàn)步驟如下(1)將支持MLD Snooping功能的交換芯片的CPU port和另外任意一個(gè)交換端口,例如PortA在外部直接進(jìn)行環(huán)路??梢酝ㄟ^在硬件電路板上分別將兩個(gè)端口的收和發(fā)信號(hào)線直接連接實(shí)現(xiàn)。
(2)將交換芯片的CPU port設(shè)為Untagged模式(非標(biāo)簽?zāi)J?,另外一個(gè)交換端口PortA的PVID(端口VLAN標(biāo)識(shí))設(shè)為某一特殊的VLANID(虛擬局域網(wǎng)識(shí)別號(hào)),例如4000,而交換芯片上與ONU芯片相連的交換端口(以“PortT”表示)也設(shè)置為屬于此特定的VLAN。
(3)MLD協(xié)議報(bào)文從某一交換端口進(jìn)入交換芯片,交換芯片捕獲該MLD協(xié)議報(bào)文并從CPUport發(fā)送出去后,是沒有VLAN標(biāo)簽的,隨后又通過環(huán)路從另外一個(gè)交換端口PortA進(jìn)入交換芯片。此時(shí),該MLD協(xié)議報(bào)文只會(huì)向具有同一個(gè)VLANID特定值的PortT端口轉(zhuǎn)發(fā)。
(4)從交換芯片的PortT端口發(fā)送出去的MLD協(xié)議報(bào)文,將被插入VLANID為特定值的VLAN標(biāo)簽,并通過UNI口進(jìn)入ONU芯片的數(shù)據(jù)通道。
(5)ONU上設(shè)置將VLANID為特定值的數(shù)據(jù)捕獲到內(nèi)嵌CPU中進(jìn)行處理。則只有已被插入VLANID為特定值的MLD協(xié)議報(bào)文被捕獲到ONU的內(nèi)嵌CPU。
(6)內(nèi)嵌CPU上的軟件通過分析MLD協(xié)議報(bào)文,根據(jù)MLD的協(xié)議規(guī)范建立起兩張IPv6組播過濾表,其中一張表對(duì)應(yīng)交換芯片端口上的組播過濾,用于指示哪個(gè)端口下的終端用戶申請(qǐng)了哪個(gè)IPv6組播數(shù)據(jù)流;另一張表對(duì)應(yīng)ONU芯片UNI口的組播過濾,用于指示下行數(shù)據(jù)方向哪些IPv6組播數(shù)據(jù)能夠從UNI口通過。
(7)內(nèi)嵌CPU通過調(diào)用ONU芯片本身的控制接口API以及交換芯片的控制接口API,將各自對(duì)應(yīng)的組播過濾表信息寫入相應(yīng)的硬件寄存器。達(dá)到對(duì)數(shù)據(jù)通道上IPv6組播流的過濾功能。
(8)內(nèi)嵌CPU將捕獲的MLD協(xié)議報(bào)文中的VLANID由特定值更改為MLD協(xié)議報(bào)文最開始進(jìn)入交換芯片時(shí)的端口上的PVID,并按照其原來的數(shù)據(jù)流向發(fā)回到數(shù)據(jù)通道中。從而不影響網(wǎng)絡(luò)中組播路由器與主機(jī)之間原來的MLD協(xié)議通信。
權(quán)利要求1.一種用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,包括ONU芯片和交換芯片,所述ONU芯片包括用戶網(wǎng)絡(luò)接口、嵌入式CPU,所述交換芯片包括CPU端口、第一交換端口和第二交換端口,所述用戶網(wǎng)絡(luò)接口和所述第一交換端口相連接,其特征在于所述交換芯片的CPU端口和第二交換端口設(shè)有連接。
2.根據(jù)權(quán)利要求1所述的用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,其特征在于所述連接為CPU Port的接收和發(fā)送信號(hào)線與PortA的發(fā)送和接收信號(hào)線直接連接。
3.根據(jù)權(quán)利要求1所述的用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,其特征在于所述交換芯片的CPU端口為非標(biāo)簽?zāi)J健?br>
4.根據(jù)權(quán)利要求1所述的用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,其特征在于所述第一交換端口設(shè)為VLAN的中繼模式,第二交換端口的PVID包含在第一交換端口的中繼中,從第二交換端口接收到的數(shù)據(jù)包能夠轉(zhuǎn)發(fā)到第一交換端口。
專利摘要一種用硬件環(huán)回方式在EPON網(wǎng)絡(luò)上實(shí)現(xiàn)IPV6組播過濾的裝置,所述裝置包括ONU芯片和交換芯片,所述ONU芯片包括用戶網(wǎng)絡(luò)接口、嵌入式CPU,所述交換芯片包括CPU端口、第一交換端口和第二交換端口,所述用戶網(wǎng)絡(luò)接口和所述第一交換端口相連接,所述交換芯片的CPU端口和第二交換端口設(shè)有連接。本實(shí)用新型在ONU上實(shí)現(xiàn)MLD Snooping功能,且無需另外增加CPU,而是利用交換芯片的VLAN特性,將其CPU port端口與另一個(gè)端口在外部環(huán)回,從而為MLD協(xié)議報(bào)文插入特殊VLANID的VLAN標(biāo)簽,進(jìn)而方便ONU芯片能夠利用VLANID的方式捕獲數(shù)據(jù)通道的MLD協(xié)議報(bào)文并進(jìn)行處理。由于無需另外增加硬件設(shè)備,因此本方法的實(shí)現(xiàn)成本較低。
文檔編號(hào)H04L29/08GK2912126SQ20062004261
公開日2007年6月13日 申請(qǐng)日期2006年6月9日 優(yōu)先權(quán)日2006年6月9日
發(fā)明者李進(jìn), 林清全, 祝貴根 申請(qǐng)人:上海未來寬帶技術(shù)及應(yīng)用工程研究中心有限公司