專利名稱:基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。
背景技術(shù):
很多多媒體網(wǎng)絡(luò)應(yīng)用,如電視會議系統(tǒng)、遠程教學(xué)系統(tǒng)、多媒體點播系統(tǒng)等,都要求把信息從一個源發(fā)送到多個目的地,即采用一對多的發(fā)送方式。由于多媒體信息的數(shù)據(jù)量非常大,使用一對一的方式模擬一對多的方式將浪費大量帶寬。如果采用廣播方式,又會造成信息泛濫。因此,在IP協(xié)議棧上實現(xiàn)了一種一對多的IP組播協(xié)議。IP組播協(xié)議分為 兩類三層網(wǎng)絡(luò)設(shè)備(網(wǎng)關(guān)、路由器)之間的通信協(xié)議和三層網(wǎng)絡(luò)設(shè)備與主機、二層交換機之間的協(xié)議。三層網(wǎng)絡(luò)設(shè)備之間的通信協(xié)議用于獲得組播路徑信息,包括PM-DM(Pix)t0C0lIndependent Multicast-Dense Mode)>PIM-SMCProtocoI Independent Multicast-SparseMode)>DVMRP (Distance Vector Multicast Routing Protocol)等協(xié)議。三層網(wǎng)絡(luò)設(shè)備與主機、二層交換機之間的協(xié)議根據(jù)組播路徑信息轉(zhuǎn)發(fā)組播數(shù)據(jù)報文,使用IGMP Snooping來偵聽三層的IGMP協(xié)議報文來建立和維護二層組播功能,對組播組以及組播成員進行動態(tài)學(xué)習(xí)從而避免組播報文在設(shè)備中進行廣播,而只會將組播報文轉(zhuǎn)發(fā)給組播成員。對于有IGMP Snooping功能的網(wǎng)關(guān)設(shè)備,只會將IGMP報文傳給組播成員,而無IGMP Snooping功能的網(wǎng)關(guān)設(shè)備會廣播IGMP報文。由此可見,IGMP Snooping功能提高了帶寬利用率,增強了網(wǎng)絡(luò)安全性和可靠性。目前,現(xiàn)有的三層網(wǎng)絡(luò)設(shè)備對IGMP Snooping的實現(xiàn)方法有兩種,一種單純依靠網(wǎng)絡(luò)設(shè)備中的二層芯片,把IGMP Snooping的算法、組播組MAC與物理端口的映射表都由芯片實現(xiàn),這種方法配置簡單,使用方便,但是提高了設(shè)備成本,而且對于沒有使用這種高級芯片的三層設(shè)備,就無法實現(xiàn)了。另外一種是單純的依靠網(wǎng)橋IGMP Snooping算法模塊實現(xiàn),網(wǎng)橋IGMP Snooping算法模塊可以將網(wǎng)橋的成員端口與組播組建立對應(yīng)關(guān)系,控制組播報文能否到達網(wǎng)橋的成員端口,但是無法將網(wǎng)橋的成員端口與設(shè)備的物理端口建立一一對應(yīng)關(guān)系,所以就無法將組播組與組播成員關(guān)聯(lián),也就無法控制組播報文只到達組播成員而不進行廣播。在這種方式下,如果要將網(wǎng)橋的成員端口與設(shè)備的物理端口建立一一對應(yīng)關(guān)系,可以將每個端口劃為一個VLAN,每個VLAN設(shè)備組成HASH表鏈接到ptype_base鏈表中,然后將每個VLAN設(shè)備綁定到網(wǎng)橋上作為橋的成員端口,這樣就將網(wǎng)橋的成員端口與設(shè)備的物理端口建立了一一對應(yīng)關(guān)系,于是就可以實現(xiàn)IGMP Snooping 了。但是這種每個端口劃為一個VLAN勢必影響了設(shè)備本身的VLAN功能。如果要求多物理端口屬于同一 VLAN,IGMPSnooping功能就無法實現(xiàn)了。
發(fā)明內(nèi)容
本發(fā)明提供一種在三層設(shè)備或三層以上設(shè)備上實現(xiàn)一種基于Linux網(wǎng)橋下的IGMP Snooping實現(xiàn)方法,以解決當(dāng)今IGMP Snooping實現(xiàn)方法所存在的問題和缺陷。本發(fā)明的目的通過以下技術(shù)方案來實現(xiàn)
基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,特點是涉及網(wǎng)橋IGMP Snooping算法模塊、自定義數(shù)據(jù)鏈路層協(xié)議棧以及交換芯片;由網(wǎng)橋IGMP Snooping算法模塊通過對收到的IGMP報文進行分析,為網(wǎng)橋端口和組播組MAC地址建立起映射關(guān)系,并根據(jù)映射關(guān)系轉(zhuǎn)發(fā)組播數(shù)據(jù);自定義數(shù)據(jù)鏈路層協(xié)議棧是網(wǎng)橋端口與交換芯片溝通的橋梁,利用IGMP報文中的DSA TAG信息建立網(wǎng)橋端口與交換芯片物理端口的對應(yīng)關(guān)系;交換芯片根據(jù)IGMP報文內(nèi)部DSA TAG信息將報文轉(zhuǎn)發(fā)到指定物理端口,到達組播組的組播成員。進一步地,上述的基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,網(wǎng)橋IGMP Snooping算法模塊工作在Linux網(wǎng)橋模塊下,通過偵聽IGMP報文建立和維 護組播組和網(wǎng)橋成員端口的對應(yīng)關(guān)系,當(dāng)網(wǎng)橋的成員端口加入到某個組后,相應(yīng)組的組播報文只轉(zhuǎn)發(fā)到這些成員端口,使組播報文只在網(wǎng)橋的這些成員端口內(nèi)進行組播,不進行廣播;IGMP Snooping算法模塊建立組播組和網(wǎng)橋的成員端口之間的映射關(guān)系,但是沒有實現(xiàn)
IGMP Snooping功能,如果將網(wǎng)橋的成員端口與組播成員之間建立起--對應(yīng)關(guān)系,那就實
現(xiàn)IGMP Snooping功能,也就是說,如果將網(wǎng)絡(luò)設(shè)備的網(wǎng)橋的成員端口與其物理端口建立起一一對應(yīng)關(guān)系,那就IGMP Snooping ;交換芯片的DSA TAG,通過自定義數(shù)據(jù)鏈路層協(xié)議棧,在網(wǎng)絡(luò)設(shè)備的網(wǎng)橋的成員端口與其物理端口之間架起橋梁,建立一一對應(yīng)關(guān)系;
規(guī)劃交換芯片的運行方式,使其以DSA TAG方式運行,并設(shè)定交換芯片的上行端口,交換芯片在此模式下運行,識別IGMP數(shù)據(jù)幀還是其他數(shù)據(jù)幀,獲知數(shù)據(jù)幀的源端口,對于上行IGMP數(shù)據(jù)幀,直接將其發(fā)送到交換芯片的上行口,對于下行所有數(shù)據(jù)幀,根據(jù)數(shù)據(jù)幀中的DSA TAG信息指定數(shù)據(jù)幀出口路徑;
自定義數(shù)據(jù)鏈路層協(xié)議棧,鏈接到內(nèi)核ptype_baSe協(xié)議鏈表上,所有IGMP報文都經(jīng)由自定義數(shù)據(jù)鏈路層協(xié)議棧處理;其他的數(shù)據(jù)幀,如VLAN的數(shù)據(jù)幀經(jīng)由802. Iq協(xié)議棧處理,獨自工作,互不干擾。更進一步地,上述的基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,自定義數(shù)據(jù)鏈路層協(xié)議棧上注冊IGMP虛擬設(shè)備,每一個IGMP虛擬設(shè)備與實際的設(shè)備物理端口——對應(yīng),所有的IGMP虛擬設(shè)備組成一個HASH表作為IGMP Group ;所有的IGMP虛擬設(shè)備綁定到Linux網(wǎng)橋上,作為網(wǎng)橋的成員端口 ;
對于下行IGMP報文,網(wǎng)橋IGMP Snooping算法模塊通過對收到的IGMP報文進行分析,轉(zhuǎn)發(fā)IGMP報文到相應(yīng)的IGMP成員端口,IGMP虛擬設(shè)備將報文打上DSA TAG,此TAG中含有與其對應(yīng)的物理端口信息,然后轉(zhuǎn)發(fā)給交換芯片,交換芯片根據(jù)DSA TAG里面的信息,直接轉(zhuǎn)發(fā)到交換芯片的對應(yīng)物理端口 ;對于上行IGMP數(shù)據(jù)幀,交換芯片直接發(fā)送到交換芯片的上行口,同時將數(shù)據(jù)幀打上DSA TAG,處理器通過交換芯片的上行口收到此數(shù)據(jù)幀后,根據(jù)DSA TAG的信息,將報文轉(zhuǎn)發(fā)給自定義數(shù)據(jù)鏈路層協(xié)議棧的對應(yīng)IGMP虛擬設(shè)備,然后再傳送到網(wǎng)橋IGMP Snooping算法模塊;這樣,對于上下行IGMP數(shù)據(jù)報,將設(shè)備的網(wǎng)橋成員端口一IGMP端口與設(shè)備的物理端口建立——對應(yīng)關(guān)系,也是將設(shè)備的網(wǎng)橋成員端口一IGMP端口與組播成員之間建立了——對應(yīng)關(guān)系,完整的實現(xiàn)IGMP Snooping功能。再進一步地,上述的基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,所述的網(wǎng)橋IGMP Snooping算法模塊工作在Linux網(wǎng)橋下。所述方法用于三層設(shè)備或三層以上設(shè)備,如網(wǎng)關(guān)、路由器等;所述的設(shè)備主處理器上運行Linux操作系統(tǒng);所述的二層交換芯片具有DSA TAG功能,但不具備IGMP Snooping功能。本發(fā)明技術(shù)方案突出的實質(zhì)性特點和顯著的進步主要體現(xiàn)在
網(wǎng)橋IGMP Snooping算法模塊、自定義數(shù)據(jù)鏈路層協(xié)議棧以及交換芯片相互協(xié)作而實現(xiàn)Iinux網(wǎng)橋下IGMP Snooping,利用軟件與硬件相結(jié)合,很好地實現(xiàn)IGMP Snooping功能,節(jié)約了硬件成本,填補了市場空白。
下面結(jié)合附圖對本發(fā)明技術(shù)方案作進一步說明
圖I:網(wǎng)橋IGMP Snooping算法模塊、自定義數(shù)據(jù)鏈路層協(xié)議棧以及交換芯片在三層網(wǎng)絡(luò)設(shè)備中的位置示意 圖2 :上行DSA TAG幀結(jié)構(gòu)示意 圖3 :下行Forward DSA TAG巾貞結(jié)構(gòu)不意 圖4 :下行From_CPU DSA TAG幀結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明提出一種基于DSA (Distributed Switching Architecture) TAG 及自定義協(xié)議棧的網(wǎng)橋 IGMP( Internet Group Management Protocol) Snooping 實現(xiàn)方法,利用軟件與硬件相結(jié)合,很好地實現(xiàn)IGMP Snooping功能,節(jié)約了硬件成本,填補了市場空白。基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,涉及網(wǎng)橋IGMPSnooping算法模塊、自定義數(shù)據(jù)鏈路層IGMP協(xié)議棧以及交換芯片,三者共同協(xié)作實現(xiàn)Linux網(wǎng)橋下IGMP Snooping功能。三者在三層網(wǎng)絡(luò)設(shè)備中的位置如圖I所示,設(shè)定此網(wǎng)絡(luò)設(shè)備的交換芯片有n個物理端口,ethl是網(wǎng)絡(luò)設(shè)備節(jié)點,是主處理器MAC (Media Accesscontroller)在Linux系統(tǒng)中的抽象,在LAN側(cè),主處理器MAC與交換芯片的上行口相連,交換芯片每個物理端口收到的報文都通過其上行口轉(zhuǎn)發(fā)給主處理器MAC,同樣,所有的下行報文都由主處理器MAC通過交換芯片的上行口將其轉(zhuǎn)發(fā)給其他端口,然后發(fā)送出去。網(wǎng)橋IGMP Snooping算法模塊建立組和網(wǎng)橋的成員端口的映射關(guān)系,實現(xiàn)IGMPSnooping功能,在組和組播成員之間建立映射關(guān)系,也即是,在組和設(shè)備的物理端口之間建立映射關(guān)系;對于上下行IGMP數(shù)據(jù)報,如果能將網(wǎng)橋的成員端口與設(shè)備的物理端口建立起--對應(yīng)關(guān)系,那就可以IGMP Snooping。設(shè)定交換芯片的上行端口,規(guī)劃交換芯片上行端口的運行方式,使其以DSA TAG模式運行。在這種模式下,對于上行數(shù)據(jù)報,即進入交換芯片除上行端口外每個端口的數(shù)據(jù)幀,交換芯片都會在該數(shù)據(jù)幀的目標(biāo)地址和原地址之后加上DSA TAG,而且不廣播IGMP數(shù)據(jù)幀,而是直接將其轉(zhuǎn)發(fā)到交換芯片的上行口,然后通過ethl轉(zhuǎn)發(fā)到數(shù)據(jù)鏈路層協(xié)議棧。DSA TAG包含4個字節(jié)的數(shù)據(jù),如圖2所示,其中重要的是,bitl7,bitl8兩位Code[2:1]表示進入交換芯片的數(shù)據(jù)幀的類型,特別的,0x2表示該數(shù)據(jù)幀是IGMP數(shù)據(jù)幀;bitl9 bit23五位Src_Port表示該數(shù)據(jù)巾貞是從交換芯片的哪個端口進入的,即該數(shù)據(jù)巾貞的源端口。對于下行報文,即協(xié)議棧進入交換芯片上行端口的數(shù)據(jù)報,交換芯片根據(jù)DSA TAG的信息進行轉(zhuǎn)發(fā)。交換芯片支持兩種不同的DSA TAG的信息,分別如圖3和圖4,圖3為Forward DSA TAG,上行端口收到帶有此DSA TAG信息的報文后,根據(jù)交換芯片的VLAN功能進行轉(zhuǎn)發(fā);圖4為From_CPU DSA TAG,其中bitl9 bit23這5位為Trg_Port該報文的目標(biāo)端口,即根據(jù)Trg_P0rt直接將該報文轉(zhuǎn)發(fā)到那個端口,這個特征為網(wǎng)橋的成員端口與設(shè)備的物理端口建立一一對應(yīng)關(guān)系創(chuàng)造了條件。根據(jù)這些特征, 設(shè)計IGMP數(shù)據(jù)鏈路層協(xié)議棧,定義其協(xié)議號為0x4100,將其鏈接到內(nèi)核ptype_baSe協(xié)議鏈表上,并在此協(xié)議棧上注冊IGMP虛擬設(shè)備,IGMP虛擬設(shè)備的個數(shù)等同實際的設(shè)備物理端口個數(shù),綁定這些IGMP虛擬設(shè)備到Linux網(wǎng)橋上作為網(wǎng)橋的成員端口。所有這些IGMP虛擬設(shè)備組成一個HASH表作為IGMP Group,即IGMPl, IGMP2-IGMPn組成一個HASH表。對于上行數(shù)據(jù)報,在其進入數(shù)據(jù)鏈路層協(xié)議棧之前,一、通過擴展Skb結(jié)構(gòu),增加成員變量來存儲源端口信息;二、規(guī)劃報文的上行路徑。數(shù)據(jù)報在轉(zhuǎn)發(fā)到網(wǎng)橋之前會遍歷ptype_base鏈表,根據(jù)協(xié)議號決定該報文經(jīng)由什么協(xié)議棧處理。在此,對數(shù)據(jù)報進行分類,如果是IGMP報文,改變DSA TAG前二個字節(jié)為0x4100,如果是其他的數(shù)據(jù)報,改變DSA TAG前二個字節(jié)為0x8100。這樣就保證了 IGMP報文經(jīng)由IGMP協(xié)議棧處理,其他的報文經(jīng)由802. Iq協(xié)議棧處理。三、以Src_Port為索引,建立IGMP虛擬設(shè)備與實際物理端口的一一對應(yīng)關(guān)系。IGMP報文上行到IGMP協(xié)議棧后,轉(zhuǎn)發(fā)給IGMP虛擬設(shè)備,那么它會轉(zhuǎn)發(fā)到哪個IGMP虛擬設(shè)備呢?先找到IGMP Group的HASH表,然后以該數(shù)據(jù)報DSA TAG中的Src_Port為IGMP虛擬設(shè)備的索引值,在HASH中找到該設(shè)備,然后轉(zhuǎn)發(fā)給該IGMP虛擬設(shè)備,即Src_Port為I的數(shù)據(jù)報轉(zhuǎn)發(fā)給了 IGMPl,Src_Port為2的數(shù)據(jù)報轉(zhuǎn)發(fā)給了 IGMP2,以此類推。而由交換芯片的DSA TAG屬性可知,Src_Port表示該數(shù)據(jù)幀是從交換芯片的哪個端口。所以,也就是說,物理端口 I進來的數(shù)據(jù)報轉(zhuǎn)發(fā)給IGMPl,物理端口 2進來的數(shù)據(jù)報轉(zhuǎn)發(fā)給了 IGMP2,以此類推。即建立了 IGMP虛擬設(shè)備與實際物理端口的一一對應(yīng)關(guān)系。而IGMP虛擬設(shè)備是網(wǎng)橋的成員端口,所以將網(wǎng)橋的成員端口與設(shè)備的物理端口建立起了一一對應(yīng)關(guān)系。對于下行的IGMP報文,IGMP虛擬設(shè)備對其收到的報文打上From_CPU DSA TAG,用這個虛擬設(shè)備的index作為From_CPU DSA TAG信息中的Trg_Port,即虛擬設(shè)備IGMPl會設(shè)置下行IGMP報文From_CPU DSA TAG信息中的Trg_Port為1,虛擬設(shè)備IGMP2會設(shè)置下行IGMP報文From_CPU DSA TAG信息中的Trg_Port為2,以此類推。而Trg_Port即是報文的目標(biāo)物理端口,也就是說,IGMP虛擬設(shè)備IGMPl將會把它收到的下行IGMP數(shù)據(jù)報直接轉(zhuǎn)發(fā)到物理端口 1,IGMP虛擬設(shè)備IGMP2將會把它收到的下行IGMP數(shù)據(jù)報直接轉(zhuǎn)發(fā)到物理端口 2,以此類推。即建立了 IGMP虛擬設(shè)備與實際物理端口的——對應(yīng)關(guān)系。而IGMP虛擬設(shè)備是網(wǎng)橋的成員端口,所以將網(wǎng)橋的成員端口與設(shè)備的物理端口建立起了一一對應(yīng)關(guān)系。對于上下行IGMP數(shù)據(jù)報,都將網(wǎng)橋的成員端口與設(shè)備物理端口建立了一一對應(yīng)關(guān)系,成功地實現(xiàn)了 IGMP Snooping。需要理解到的是以上所述僅是本發(fā)明的優(yōu)選實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.基于DSATAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,其特征在于涉及網(wǎng)橋IGMP Snooping算法模塊、自定義數(shù)據(jù)鏈路層協(xié)議棧以及交換芯片;由網(wǎng)橋IGMPSnooping算法模塊通過對收到的IGMP報文進行分析,為網(wǎng)橋端口和組播組MAC地址建立起映射關(guān)系,并根據(jù)映射關(guān)系轉(zhuǎn)發(fā)組播數(shù)據(jù);自定義數(shù)據(jù)鏈路層協(xié)議棧是網(wǎng)橋端口與交換芯片溝通的橋梁,利用IGMP報文中的DSA TAG信息建立網(wǎng)橋端口與交換芯片物理端口的對應(yīng)關(guān)系;交換芯片根據(jù)IGMP報文內(nèi)部DSA TAG信息將報文轉(zhuǎn)發(fā)到指定物理端口,到達組播組的組播成員。
2.根據(jù)權(quán)利要求I所述的基于DSATAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,其特征在于網(wǎng)橋IGMP Snooping算法模塊工作在Linux網(wǎng)橋模塊下,通過偵聽IGMP報文建立和維護組播組和網(wǎng)橋成員端口的對應(yīng)關(guān)系,當(dāng)網(wǎng)橋的成員端口加入到某個組后,相應(yīng)組的組播報文只轉(zhuǎn)發(fā)到這些成員端口,使組播報文只在網(wǎng)橋的這些成員端口內(nèi)進行組播;網(wǎng)橋IGMP Snooping算法模塊建立組播組和網(wǎng)橋的成員端口之間的映射關(guān)系,交換芯片的DSA TAG,通過自定義數(shù)據(jù)鏈路層協(xié)議棧,在網(wǎng)絡(luò)設(shè)備的網(wǎng)橋的成員端口與其物理端口之間建立起對應(yīng)關(guān)系; 規(guī)劃交換芯片的運行方式,使其以DSA TAG方式運行,并設(shè)定交換芯片的上行端口,交換芯片在此模式下運行,識別IGMP數(shù)據(jù)幀還是其他數(shù)據(jù)幀,獲知數(shù)據(jù)幀的源端口,對于上行IGMP數(shù)據(jù)幀,直接將其發(fā)送到交換芯片的上行口,對于下行所有數(shù)據(jù)幀,根據(jù)數(shù)據(jù)幀中的DSA TAG信息指定數(shù)據(jù)幀出口路徑; 自定義數(shù)據(jù)鏈路層協(xié)議棧,鏈接到內(nèi)核ptype_baSe協(xié)議鏈表上,所有IGMP報文都經(jīng)由自定義數(shù)據(jù)鏈路層協(xié)議棧處理。
3.根據(jù)權(quán)利要求I所述的基于DSATAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,其特征在于自定義數(shù)據(jù)鏈路層協(xié)議棧上注冊IGMP虛擬設(shè)備,每一個IGMP虛擬設(shè)備與實際的設(shè)備物理端口一一對應(yīng),所有的IGMP虛擬設(shè)備組成一個HASH表作為IGMP Group ;所有的IGMP虛擬設(shè)備綁定到Linux網(wǎng)橋上,作為網(wǎng)橋的成員端口 ; 對于下行IGMP報文,網(wǎng)橋IGMP Snooping算法模塊通過對收到的IGMP報文進行分析,轉(zhuǎn)發(fā)IGMP報文到相應(yīng)的IGMP成員端口,IGMP虛擬設(shè)備將報文打上DSA TAG,此TAG中含有與其對應(yīng)的物理端口信息,然后轉(zhuǎn)發(fā)給交換芯片,交換芯片根據(jù)DSA TAG里面的信息,直接轉(zhuǎn)發(fā)到交換芯片的對應(yīng)物理端口 ;對于上行IGMP數(shù)據(jù)幀,交換芯片直接發(fā)送到交換芯片的上行口,同時將數(shù)據(jù)幀打上DSA TAG,處理器通過交換芯片的上行口收到此數(shù)據(jù)幀后,根據(jù)DSA TAG的信息,將報文轉(zhuǎn)發(fā)給自定義數(shù)據(jù)鏈路層協(xié)議棧的對應(yīng)IGMP虛擬設(shè)備,然后再傳送到網(wǎng)橋IGMP Snooping算法模塊;這樣,對于上下行IGMP數(shù)據(jù)報,將設(shè)備的網(wǎng)橋成員端口一IGMP端口與設(shè)備的物理端口建立——對應(yīng)關(guān)系,也是將設(shè)備的網(wǎng)橋成員端口一IGMP端口與組播成員之間建立了對應(yīng)關(guān)系。
4.根據(jù)權(quán)利要求I所述的基于DSATAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping實現(xiàn)方法,其特征在于所述的網(wǎng)橋IGMP Snooping算法模塊工作在Linux網(wǎng)橋下。
全文摘要
本發(fā)明提供一種基于DSA TAG及自定義協(xié)議棧的網(wǎng)橋IGMP Snooping 實現(xiàn)方法,網(wǎng)橋IGMP Snooping算法模塊通過對收到的IGMP報文進行分析,為網(wǎng)橋端口和組播組MAC地址建立起映射關(guān)系,并根據(jù)這樣的映射關(guān)系轉(zhuǎn)發(fā)組播數(shù)據(jù);自定義數(shù)據(jù)鏈路層協(xié)議棧是網(wǎng)橋端口與交換芯片溝通的橋梁,利用IGMP報文中的DSA TAG信息建立網(wǎng)橋端口與交換芯片物理端口的對應(yīng)關(guān)系;交換芯片根據(jù)IGMP報文內(nèi)部DSA TAG信息將報文轉(zhuǎn)發(fā)到指定物理端口,到達組播組的組播成員。相互協(xié)作,軟件與硬件相互配合,完美地實現(xiàn)IGMP Snooping功能。
文檔編號H04L29/08GK102647359SQ20121012597
公開日2012年8月22日 申請日期2012年4月26日 優(yōu)先權(quán)日2012年4月26日
發(fā)明者劉繼明, 吳先亮, 林恩峰, 程杰, 謝煒 申請人:網(wǎng)經(jīng)科技(蘇州)有限公司