VPLS下IGMP Snooping的實現(xiàn)系統(tǒng)及方法
【專利摘要】一種VPLS下IGMP Snooping的實現(xiàn)系統(tǒng)及方法,涉及虛擬專用局域網(wǎng)業(yè)務(wù)【技術(shù)領(lǐng)域】,該系統(tǒng)包括總體控制模塊,用于創(chuàng)建和終止各模塊,接收處理各種消息;處理定時器鏈表;訪問列表管理模塊,提供控制列表并控制組播協(xié)議棧;接口管理模塊,用于添加和刪除各接口;獲取接口狀態(tài)信息,并維護(hù)各接口與其他模塊之間的交互;存儲管理模塊,通過創(chuàng)建老化定時器來維護(hù)組地址信息;tne接口模塊,通過存儲管理模塊獲取組地址信息,并根據(jù)該組地址信息添加或者刪除組播硬件轉(zhuǎn)發(fā)表項;協(xié)議處理模塊,使能組播協(xié)議報文接收能力;將檢查合格的組播協(xié)議報文發(fā)送至相應(yīng)的模塊進(jìn)行處理,同時轉(zhuǎn)發(fā)收到的查詢報文。本發(fā)明節(jié)約了網(wǎng)絡(luò)帶寬,增強(qiáng)了組播信息的安全性。
【專利說明】VPLS下IGMP Snooping的實現(xiàn)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬專用局域網(wǎng)業(yè)務(wù)【技術(shù)領(lǐng)域】,具體來講是一種VPLS(VirtualPrivate Lan Service,虛擬專用局域網(wǎng)業(yè)務(wù))下 IGMP Snooping (Internet GroupManagement Protocol Snooping,互聯(lián)網(wǎng)組管理協(xié)議偵聽)的實現(xiàn)系統(tǒng)及方法。
【背景技術(shù)】
[0002]VPLS作為一種二層虛擬專用網(wǎng)技術(shù),由于技術(shù)簡單可靠、易于實現(xiàn)等優(yōu)點而廣受關(guān)注。VPLS有效結(jié)合了 IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)/MPLS (Mult1-Protocol LabelSwitching,多協(xié)議標(biāo)簽交換)VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))和以太網(wǎng)交換等多種技術(shù)的特點,實現(xiàn)廣域范圍的LAN(Local Area Network,多點到多點局域網(wǎng))互連,其核心技術(shù)包括LDP(Label Distribut1n Protocol,控制平面的基于標(biāo)記分發(fā)協(xié)議)或BGP(Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)的偽線建立與維護(hù)、數(shù)據(jù)平面的媒體訪問控制地址學(xué)習(xí)、傳送平面的偽線封裝等。通過分層結(jié)構(gòu),VPLS可以跨域提供虛擬局域網(wǎng)業(yè)務(wù)。基于其獨特的技術(shù)優(yōu)勢,VPLS可以提供大客戶二層VPN、城域基礎(chǔ)網(wǎng)絡(luò)建設(shè)、個人分布式業(yè)務(wù)等多個層次的應(yīng)用。以太網(wǎng)由于其技術(shù)優(yōu)勢,已成為一種無所不在的局域網(wǎng)組網(wǎng)方式,并進(jìn)而向城域網(wǎng)滲透,一個重要的趨勢是由MPLS來承載以太網(wǎng)數(shù)據(jù)幀,以提供異地分布局域網(wǎng)互聯(lián)的虛擬以太網(wǎng)業(yè)務(wù)。
[0003]但是,參見圖1所示,由于組播在VPLS內(nèi)默認(rèn)情況下是廣播的,組播源會廣播到所有主機(jī),而只有主機(jī)I和主機(jī)3是接受者,主機(jī)2并非接收者,這樣做不僅僅占用了大量的帶寬資源,增加了 VPLS內(nèi)處理組播的負(fù)荷,也影響了整個網(wǎng)絡(luò)性能。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種VPLS下IGMP Snooping的實現(xiàn)系統(tǒng)及方法,本發(fā)明節(jié)約了網(wǎng)絡(luò)帶寬,減輕了 VPLS內(nèi)處理組播的負(fù)荷,增強(qiáng)了組播信息的安全性。
[0005]為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:一種VPLS下IGMP Snooping的實現(xiàn)系統(tǒng),包括總體控制模塊以及由其創(chuàng)建的訪問列表管理模塊、接口管理模塊、存儲管理模塊、tne接口模塊、協(xié)議處理模塊;總體控制模塊,用于創(chuàng)建和終止各模塊,接收處理各種消息;處理定時器鏈表;訪問列表管理模塊,提供控制列表并控制組播協(xié)議棧;接口管理模塊,用于添加和刪除各接口 ;獲取接口狀態(tài)信息,并維護(hù)各接口與其他模塊之間的交互;存儲管理模塊,通過創(chuàng)建老化定時器來維護(hù)組地址信息;tne接口模塊,通過存儲管理模塊獲取組地址信息,并根據(jù)該組地址信息添加或者刪除組播硬件轉(zhuǎn)發(fā)表項;協(xié)議處理模塊,使能組播協(xié)議報文接收能力;將檢查合格的組播協(xié)議報文發(fā)送至相應(yīng)的模塊進(jìn)行處理,同時轉(zhuǎn)發(fā)收到的查詢報文。
[0006]在上述技術(shù)方案的基礎(chǔ)上,還包括總體控制模塊創(chuàng)建的實體管理模塊,用于創(chuàng)建和刪除實體,維護(hù)實體狀態(tài),并統(tǒng)計各接口數(shù)據(jù)。
[0007]在上述技術(shù)方案的基礎(chǔ)上,所述查詢報文包括通用查詢報文,組播路由器為了獲取相鄰接口的組播組接收狀態(tài)發(fā)送的報文;特定組查詢報文,組播路由器為了獲取相鄰接口的特定組播組狀態(tài)發(fā)送的報文;特定組源查詢報文,組播路由器為了獲取相鄰接口的特定組播組的源地址狀態(tài)發(fā)送的報文。
[0008]基于上述系統(tǒng)的VPLS下IGMP Snooping的實現(xiàn)方法,初始化總體控制模塊并創(chuàng)建各相關(guān)模塊,通過接口管理模塊在與主機(jī)相連的接收接口上使能組播功能,該方法包括:當(dāng)協(xié)議處理模塊收到查詢報文時,將該查詢報文通過除接收接口以外的其它所有接口轉(zhuǎn)發(fā)出去;當(dāng)協(xié)議處理模塊收到主機(jī)發(fā)送的IGMP成員關(guān)系報告報文時,將該IGMP成員關(guān)系報告報文通過所有上行接口轉(zhuǎn)發(fā)出去,同時將IGMP成員關(guān)系報告報文發(fā)送給存儲管理模塊;存儲管理模塊從中解析出主機(jī)要加入的組播組地址,將組播組地址與控制列表進(jìn)行匹配,若匹配不成功,則丟棄該IGMP成員關(guān)系報告報文;若匹配成功且控制列表中不存在該組播組地址對應(yīng)的組記錄,則倉Il建組記錄并啟動其老化定時器,同時通知tne接口模塊創(chuàng)建組播硬件轉(zhuǎn)發(fā)表項;若匹配成功且控制列表中存在該組播組地址對應(yīng)的組記錄,則重置其老化定時器。
[0009]在上述技術(shù)方案的基礎(chǔ)上,所述查詢報文包括通用查詢報文,特定組查詢報文,特定組源查詢報文。
[0010]在上述技術(shù)方案的基礎(chǔ)上,當(dāng)協(xié)議處理模塊將通用查詢報文通過除接收接口以外的其它所有接口轉(zhuǎn)發(fā)出去時,判斷上行接口列表中是否中已包含該接收接口,若是,接口管理模塊重置其老化定時器;若否,接口管理模塊將其添加到上行接口列表中,并啟動其老化定時器。
[0011]在上述技術(shù)方案的基礎(chǔ)上,當(dāng)運(yùn)行IGMPvl的主機(jī)離開組播組時,由于主機(jī)離開組播組后不會再發(fā)送IGMP成員關(guān)系報告報文,因此待其對應(yīng)的老化定時器超時后,存儲管理模塊將刪除該組記錄同時通知ten接口模塊刪除其組播硬件轉(zhuǎn)發(fā)表項。
[0012]在上述技術(shù)方案的基礎(chǔ)上,當(dāng)運(yùn)行IGMPv2或IGMPv3的主機(jī)離開組播組時,主機(jī)通過接收接口發(fā)送IGMP離開組報文至協(xié)議處理模塊,協(xié)議處理模塊將該IGMP離開組報文通過所有上行接口轉(zhuǎn)發(fā)出去;若存儲管理模塊存在該組播組地址對應(yīng)的組記錄,則重置其老化定時器,同時偵聽網(wǎng)絡(luò)中是否有其它的主機(jī)加入該組,若在老化定時器超時前沒有收到任何相關(guān)組播組的報告報文,則待老化定時器超時后,存儲管理模塊將刪除該組記錄同時通知ten接口模塊刪除其組播硬件轉(zhuǎn)發(fā)表項。
[0013]本發(fā)明的有益效果在于:
[0014]1、本發(fā)明通過tne接口模塊增減組播硬件轉(zhuǎn)發(fā)表項來控制組播流量,減少了 VPLS網(wǎng)絡(luò)中的廣播報文從而節(jié)約了網(wǎng)絡(luò)帶寬,減輕了 VPLS內(nèi)處理組播的負(fù)荷;沒有請求加入該組的用戶收不到該組的數(shù)據(jù),增強(qiáng)了組播信息的安全性。
[0015]2、本發(fā)明的組播業(yè)務(wù)按照組成員關(guān)系進(jìn)行轉(zhuǎn)發(fā),保證組成員收到正確的的組播業(yè)務(wù),而其余主機(jī)無法收到,進(jìn)一步增強(qiáng)了組播信息的安全性。
[0016]3、本發(fā)明的業(yè)務(wù)配置簡單,能夠滿足網(wǎng)絡(luò)性能要求。
【專利附圖】
【附圖說明】
[0017]圖1【背景技術(shù)】中傳統(tǒng)VPLS的示意圖;
[0018]圖2為本發(fā)明實施例中VPLS下IGMP Snooping的實現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖;
[0019]圖3為本發(fā)明實施例中VPLS下IGMP Snooping的實現(xiàn)方法的示意圖。
【具體實施方式】
[0020]以下結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
[0021]參見圖2所示,一種VPLS下IGMP Snooping的實現(xiàn)系統(tǒng),包括總體控制模塊以及由其創(chuàng)建的訪問列表管理模塊、接口管理模塊、存儲管理模塊、tne (Transfer NetworkEngineer,硬件適配層)接口模塊、協(xié)議處理模塊、實體管理模塊。總體控制模塊,用于創(chuàng)建和終止各模塊,接收處理各種消息;處理定時器鏈表;提供與操作系統(tǒng)相關(guān)的接口的支持。訪問列表管理模塊,提供控制列表并控制組播協(xié)議棧,組播協(xié)議棧用于控制組播協(xié)議棧的組成員信息。接口管理模塊,通過mib (Management Informat1n Base,管理信息庫)添加和刪除各接口 ;獲取接口狀態(tài)信息,并通過接口狀態(tài)機(jī)維護(hù)各接口與其他模塊之間的交互,保存組播協(xié)議基本參數(shù)和相關(guān)控制信息。存儲管理模塊,通過創(chuàng)建老化定時器來維護(hù)組地址信息;并將組地址信息通知ten接口模塊,根據(jù)各接口狀態(tài)信息同步組地址信息;其中,老化定時器包括組老化定時器和源老化定時器。tne接口模塊,通過存儲管理模塊獲取組地址信息,并根據(jù)該組地址信息添加或者刪除組播硬件轉(zhuǎn)發(fā)表項;協(xié)議處理模塊,使能組播協(xié)議報文接收能力;并對組播協(xié)議報文進(jìn)行檢查,根據(jù)檢查結(jié)果通知實體管理模塊統(tǒng)計信息,并把合格的組播協(xié)議報文發(fā)送至相應(yīng)的模塊進(jìn)行處理,同時轉(zhuǎn)發(fā)收到的查詢報文;所述查詢報文包括通用查詢報文,組播路由器為了獲取相鄰接口的組播組接收狀態(tài)發(fā)送的報文;特定組查詢報文,組播路由器為了獲取相鄰接口的特定組播組狀態(tài)發(fā)送的報文;特定組源查詢報文,組播路由器為了獲取相鄰接口的特定組播組的源地址狀態(tài)發(fā)送的報文。實體管理模塊,用于創(chuàng)建和刪除實體(實例化的組播協(xié)議棧),維護(hù)實體狀態(tài),并統(tǒng)計各接口數(shù)據(jù);具體的,提供對除總體控制模塊以外模塊的激活和去激活,維護(hù)實體mib狀態(tài)機(jī),同時能根據(jù)不同模塊的狀態(tài)來同步自己的狀態(tài),當(dāng)實體狀態(tài)正常時將激活其他模塊,提供良好的糾錯能力,并能詳細(xì)統(tǒng)計接口數(shù)據(jù)。
[0022]基于上述系統(tǒng)的VPLS下IGMP Snooping的實現(xiàn)方法,初始化總體控制模塊并創(chuàng)建各相關(guān)模塊,通過接口管理模塊在與主機(jī)相連的接收接口上使能組播功能,該方法包括:
[0023]當(dāng)協(xié)議處理模塊收到查詢報文時,將該查詢報文通過除接收接口以外的其它所有接口轉(zhuǎn)發(fā)出去;所述查詢報文包括通用查詢報文,特定組查詢報文,特定組源查詢報文,當(dāng)協(xié)議處理模塊收到通用查詢報文時,將該通用查詢報文通過除接收接口以外的其它所有接口轉(zhuǎn)發(fā)出去;判斷上行接口列表中是否中已包含該接收接口,若是,接口管理模塊重置其老化定時器;若否,接口管理模塊將其添加到上行接口列表中,并啟動其老化定時器。
[0024]當(dāng)協(xié)議處理模塊收到主機(jī)發(fā)送的IGMP成員關(guān)系報告報文時,將該IGMP成員關(guān)系報告報文通過所有上行接口轉(zhuǎn)發(fā)出去,同時將IGMP成員關(guān)系報告報文發(fā)送給存儲管理模塊;存儲管理模塊從中解析出主機(jī)要加入的組播組地址,將組播組地址與控制列表進(jìn)行匹配,若匹配不成功,則丟棄該IGMP成員關(guān)系報告報文;若匹配成功且控制列表中不存在該組播組地址對應(yīng)的組記錄,則倉Il建組記錄并啟動其老化定時器,同時通知tne接口模塊創(chuàng)建組播硬件轉(zhuǎn)發(fā)表項;若匹配成功且控制列表中存在該組播組地址對應(yīng)的組記錄,則重置其老化定時器。
[0025]當(dāng)運(yùn)行IGMPvl (Internet Group Management Protocol Vers1n I,互聯(lián)網(wǎng)組管理協(xié)議版本I)的主機(jī)離開組播組時,由于主機(jī)離開組播組后不會再發(fā)送IGMP成員關(guān)系報告報文,因此待其對應(yīng)的老化定時器超時后,存儲管理模塊將刪除該組記錄同時通知ten接口模塊刪除其組播硬件轉(zhuǎn)發(fā)表項。
[0026]當(dāng)運(yùn)行IGMPv2Internet Group Management Protocol Vers1n 2,互聯(lián)網(wǎng)組管理協(xié)議版本 2 或 IGMPv3 (Internet Group Management Protocol Vers1n 3,互聯(lián)網(wǎng)組管理協(xié)議版本3)的主機(jī)離開組播組時,主機(jī)通過接收接口發(fā)送IGMP離開組報文至協(xié)議處理模塊,協(xié)議處理模塊將該IGMP離開組報文通過所有上行接口轉(zhuǎn)發(fā)出去;若存儲管理模塊存在該組播組地址對應(yīng)的組記錄,則重置其老化定時器,同時偵聽網(wǎng)絡(luò)中是否有其它的主機(jī)加入該組,若在老化定時器超時前沒有收到任何相關(guān)組播組的報告報文,則待老化定時器超時后,存儲管理模塊將刪除該組記錄同時通知ten接口模塊刪除其組播硬件轉(zhuǎn)發(fā)表項。
[0027]參見圖3所示,本發(fā)明組播源發(fā)送的組播業(yè)務(wù)按照組成員關(guān)系進(jìn)行轉(zhuǎn)發(fā),保證組成員收到正確的組播業(yè)務(wù),而其余主機(jī)無法收到,即只有主機(jī)I和主機(jī)3是接受者,主機(jī)2并非接收者,非接收者無法收到組播業(yè)務(wù),進(jìn)一步增強(qiáng)了組播信息的安全性。
[0028]本發(fā)明不局限于上述實施方式,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
【權(quán)利要求】
1.一種VPLS下IGMP Snooping的實現(xiàn)系統(tǒng),其特征在于:包括總體控制模塊以及由其創(chuàng)建的訪問列表管理模塊、接口管理模塊、存儲管理模塊、tne接口模塊、協(xié)議處理模塊; 總體控制模塊,用于創(chuàng)建和終止各模塊,接收處理各種消息;處理定時器鏈表; 訪問列表管理模塊,提供控制列表并控制組播協(xié)議棧; 接口管理模塊,用于添加和刪除各接口 ;獲取接口狀態(tài)信息,并維護(hù)各接口與其他模塊之間的交互; 存儲管理模塊,通過創(chuàng)建老化定時器來維護(hù)組地址信息; tne接口模塊,通過存儲管理模塊獲取組地址信息,并根據(jù)該組地址信息添加或者刪除組播硬件轉(zhuǎn)發(fā)表項; 協(xié)議處理模塊,使能組播協(xié)議報文接收能力;將檢查合格的組播協(xié)議報文發(fā)送至相應(yīng)的模塊進(jìn)行處理,同時轉(zhuǎn)發(fā)收到的查詢報文。
2.如權(quán)利要求1所述的VPLS下IGMPSnooping的實現(xiàn)系統(tǒng),其特征在于:還包括總體控制模塊創(chuàng)建的實體管理模塊,用于創(chuàng)建和刪除實體,維護(hù)實體狀態(tài),并統(tǒng)計各接口數(shù)據(jù)。
3.如權(quán)利要求1所述的VPLS下IGMPSnooping的實現(xiàn)系統(tǒng),其特征在于:所述查詢報文包括 通用查詢報文,組播路由器為了獲取相鄰接口的組播組接收狀態(tài)發(fā)送的報文; 特定組查詢報文,組播路由器為了獲取相鄰接口的特定組播組狀態(tài)發(fā)送的報文; 特定組源查詢報文,組播路由器為了獲取相鄰接口的特定組播組的源地址狀態(tài)發(fā)送的報文。
4.基于權(quán)利要求1所述系統(tǒng)的VPLS下IGMPSnooping的實現(xiàn)方法,其特征在于,初始化總體控制模塊并創(chuàng)建各相關(guān)模塊,通過接口管理模塊在與主機(jī)相連的接收接口上使能組播功能,該方法包括: 當(dāng)協(xié)議處理模塊收到查詢報文時,將該查詢報文通過除接收接口以外的其它所有接口轉(zhuǎn)發(fā)出去; 當(dāng)協(xié)議處理模塊收到主機(jī)發(fā)送的IGMP成員關(guān)系報告報文時,將該IGMP成員關(guān)系報告報文通過所有上行接口轉(zhuǎn)發(fā)出去,同時將IGMP成員關(guān)系報告報文發(fā)送給存儲管理模塊;存儲管理模塊從中解析出主機(jī)要加入的組播組地址,將組播組地址與控制列表進(jìn)行匹配,若匹配不成功,則丟棄該IGMP成員關(guān)系報告報文;若匹配成功且控制列表中不存在該組播組地址對應(yīng)的組記錄,則倉Il建組記錄并啟動其老化定時器,同時通知tne接口模塊創(chuàng)建組播硬件轉(zhuǎn)發(fā)表項;若匹配成功且控制列表中存在該組播組地址對應(yīng)的組記錄,則重置其老化定時器。
5.如權(quán)利要求4所述的VPLS下IGMPSnooping的實現(xiàn)方法,其特征在于:所述查詢報文包括通用查詢報文,特定組查詢報文,特定組源查詢報文。
6.如權(quán)利要求5所述的VPLS下IGMPSnooping的實現(xiàn)方法,其特征在于:當(dāng)協(xié)議處理模塊將通用查詢報文通過除接收接口以外的其它所有接口轉(zhuǎn)發(fā)出去時,判斷上行接口列表中是否中已包含該接收接口,若是,接口管理模塊重置其老化定時器;若否,接口管理模塊將其添加到上行接口列表中,并啟動其老化定時器。
7.如權(quán)利要求4所述的VPLS下IGMPSnooping的實現(xiàn)方法,其特征在于:當(dāng)運(yùn)行IGMPvl的主機(jī)離開組播組時,由于主機(jī)離開組播組后不會再發(fā)送IGMP成員關(guān)系報告報文,因此待其對應(yīng)的老化定時器超時后,存儲管理模塊將刪除該組記錄同時通知ten接口模塊刪除其組播硬件轉(zhuǎn)發(fā)表項。
8.如權(quán)利要求4所述的VPLS下IGMP Snooping的實現(xiàn)方法,其特征在于:當(dāng)運(yùn)行IGMPv2或IGMPv3的主機(jī)離開組播組時,主機(jī)通過接收接口發(fā)送IGMP離開組報文至協(xié)議處理模塊,協(xié)議處理模塊將該IGMP離開組報文通過所有上行接口轉(zhuǎn)發(fā)出去;若存儲管理模塊存在該組播組地址對應(yīng)的組記錄,則重置其老化定時器,同時偵聽網(wǎng)絡(luò)中是否有其它的主機(jī)加入該組,若在老化定時器超時前沒有收到任何相關(guān)組播組的報告報文,則待老化定時器超時后,存儲管理模塊將刪除該組記錄同時通知ten接口模塊刪除其組播硬件轉(zhuǎn)發(fā)表項。
【文檔編號】H04L12/46GK104283759SQ201410500196
【公開日】2015年1月14日 申請日期:2014年9月25日 優(yōu)先權(quán)日:2014年9月25日
【發(fā)明者】劉俊, 張峰, 肖明勝, 向曉潔 申請人:烽火通信科技股份有限公司