專利名稱:防止組播源攻擊的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信中的防范網(wǎng)絡(luò)攻擊技術(shù),尤其涉及一種防止組播源攻 擊的方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)的高速發(fā)展,組播技術(shù)的應(yīng)用也越來越廣泛。 現(xiàn)有的組播網(wǎng)絡(luò)中,中高端網(wǎng)絡(luò)交換路由設(shè)備基本上都采用專用集成電路
(ASIC)硬件轉(zhuǎn)發(fā)與CPU軟件處理相結(jié)合的架構(gòu)。在對組纟番報文的處理上, CPU先運行組4番協(xié)議生成組播路由表,并將組播路由表保存到底層的ASIC芯 片中,之后組播源發(fā)送的組播報文按照ASIC中保存的組播路由表進行轉(zhuǎn)發(fā)。 但是,ASIC芯片的硬件資源非常有限,不能保存大量的組播路由表表項。如果 有組播源惡意地發(fā)送組播才艮文,且CPU在處理這些組纟番才艮文時生成對應(yīng)的組播 路由表表項,并將所生成的組播路由表表項均寫入組播路由表,就會導(dǎo)致組播 路由表被這些無效的組播路由表表項占滿。當(dāng)有新的組播源發(fā)送組播報文時, 組播路由表就無法保存新的組播路由表表項,從而會導(dǎo)致新的組播報文丟失。 可見,防止組播源的惡意攻擊成為網(wǎng)絡(luò)設(shè)備中急需解決的重要問題。 為防止組播源的惡意攻擊,現(xiàn)有技術(shù)主要有以下幾種解決方式
1、 采用訪問控制列表(ACL)來限制對特定組播地址發(fā)送組播報文的組播 源的地址范圍,進而控制發(fā)送組播報文的組播源。但是,網(wǎng)絡(luò)設(shè)備中的ACL是 靜態(tài)的,當(dāng)需要更改對組播源的限制時,則需要人工參與,因而此方法不適合 組播網(wǎng)絡(luò)對組播源的自動實時管理。
2、 釆用組播源認(rèn)證服務(wù)器對組播源進行實時控制管理。此方法需要在組播 阿絡(luò)的接入層中增加新的網(wǎng)絡(luò)設(shè)備,還要求操作人員熟悉設(shè)備的控制管理,因而增加了網(wǎng)絡(luò)的成本以及組網(wǎng)的復(fù)雜度。
由以上分析可知,現(xiàn)有技術(shù)還未能充分、有效地利用現(xiàn)有網(wǎng)絡(luò)設(shè)備來防止 組播源對組播系統(tǒng)的惡意攻擊。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種防止組播源攻擊的方法及系統(tǒng), 阻止生成過多的與未知組播報文對應(yīng)的組播路由表表項,進而有效預(yù)防組播源 的攻擊。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
一種防止組播源攻擊的方法,其包括
專用集成電路芯片的端口接收組播源發(fā)來的組播報文;
判斷所接收的組纟番才艮文是否為未知組播報文,若所述組纟番報文為已知組播 報文,則將已知組播才艮文上送組播協(xié)議進程處理,結(jié)束當(dāng)前處理流程;
若所述組4番才艮文為未知組播"R文,則記錄所述未知組^^艮文,并將接收所 述未知組播報文的端口的計數(shù)器加1;判斷所述計數(shù)器記錄的端口接收的未知 組播報文的個數(shù)是否超過預(yù)設(shè)閾值,若未超過閾值,則將當(dāng)前接收的未知組播 報文上送組播協(xié)議進程處理,否則,將當(dāng)前接收的未知組播報文丟棄。
其中,所述判斷組播報文是否為未知組播報文具體為將當(dāng)前接收到的組 播報文的關(guān)鍵字與已記錄的組播報文的關(guān)鍵字進行匹配。
其中,所述記錄未知組播報文具體為記錄所述未知組一番報文的關(guān)鍵字。
其中,所述關(guān)鍵字包括組播報文的源地址、組播報文的目的組地址以及接 收該組播才艮文的端口。
其中,所述閾值為每個端口允許接收的未知組播報文的最大個數(shù)。
其中,所述防止組播源攻擊的方法還包括
設(shè)置定時器;
定時器時間到時,遍歷專用集成電路芯片端口的計數(shù)器; 判斷所述計數(shù)器的自動清零使能開關(guān)是否開啟,若所述計數(shù)器的自動清零使能開關(guān)開啟,則該計數(shù)器清零;若所述計數(shù)器的自動清零使能開關(guān)未開啟, 則該計數(shù)器不清零。
其中,所述定時器為l秒定時器。
一種防止組播源攻擊的系統(tǒng),其包括
組播報文類型判斷模塊,用于判斷專用集成電路芯片的端口接收的組播報 文是否為未知組播報文,并將判斷結(jié)果送至組播報文記錄模塊或未知組播報文 處理模塊;
組播報文記錄模塊,用于根據(jù)組播報文類型判斷模塊的判斷結(jié)果記錄未知 組播報文;
計數(shù)器,用于記錄所述計數(shù)器對應(yīng)的端口接收的未知組播報文的個數(shù);
未知組播報文數(shù)目比較模塊,用于比較所述計數(shù)器記錄的端口接收的未知 組播報文的個數(shù)與預(yù)設(shè)的閾值,并將比較結(jié)果送至未知組播報文處理模塊;
未知組纟番才艮文處理才莫塊,用于根據(jù)收到的比較模塊的比較結(jié)果,決定將未 知組播報文丟棄或者上送組播協(xié)議進程處理;或者用于根據(jù)組播報文類型判斷 模塊的判斷結(jié)果,將已知組播報文上送組播協(xié)議進程處理。
其中,所述系統(tǒng)還包括定時器,用于決定是否將計數(shù)器清零。
其中,所述定時器為l秒定時器。
由以上才支術(shù)方案可以看出,本發(fā)明通過監(jiān)控一定時間內(nèi)在ASIC芯片端口 上接收的未知組播報文的數(shù)目,并將該未知組播報文的數(shù)目與預(yù)設(shè)的閾值進行 比較,來判斷源網(wǎng)段是否存在惡意的組播源攻擊,從而保護組播系統(tǒng)。如果某 一端口上接收的未知組播報文的數(shù)目超過了預(yù)設(shè)的閾值,則丟棄數(shù)目超過閾值 的那部分未知組播報文,相應(yīng)地,CPU也就不會生成對應(yīng)這部分未知組播報文 的組播路由表表項,因此不會占用大量的CPU資源,/人而減少未知組播凈艮文對 CPU的攻擊,提高CPU資源的有效利用率。綜上所述,與現(xiàn)有技術(shù)相比,本 發(fā)明更有效地預(yù)防了組播源對組播系統(tǒng)的攻擊,簡化了組網(wǎng)的復(fù)雜度,加強了 對網(wǎng)絡(luò)設(shè)備的保護。
圖1為本發(fā)明防止組播源攻擊的方法的實現(xiàn)流程圖; 圖2為本發(fā)明定時器的處理流程圖。
具體實施例方式
為使本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員更清楚地了解本發(fā)明,現(xiàn)結(jié)合附圖詳 細(xì)說明。
本發(fā)明方法的基本思想是通過控制進入ASIC芯片端口的未知組播報文 的個數(shù)來防止組^"源攻擊。
本發(fā)明方法的實現(xiàn)流程如圖l所示,包括以下步驟
步驟101,組播源發(fā)送組播報文,ASIC芯片的端口接收該組播報文。
步驟102,判斷該組播報文是否為未知組播報文;
該步驟的具體實現(xiàn)過程為首先提取該組播報文的關(guān)鍵字,所述關(guān)鍵字包 括組播寺艮文的源地址(source )、組播凈艮文的目的組地址(group)以及接收該 組播報文的端口 (port),然后將所提取的組播報文的這些關(guān)鍵字與之前已記錄 的組播報文的關(guān)鍵字進行匹配。其中,需將組播報文的源地址、目的組地址以 及接收端口均匹配上才能確定其是已知組播報文,這樣處理的目的是為了防止 源網(wǎng)段不斷出現(xiàn)新的源地址對組播系統(tǒng)進行攻擊,從而提高組播系統(tǒng)的安全性。
步驟103,若該組播報文的關(guān)鍵字與已記錄的某一組播報文的關(guān)鍵字匹配, 則該組播報文為已知組播報文,因此將該已知組播報文直接上送組播協(xié)議進程 處理,之后結(jié)束當(dāng)前處理流程;
其中,所述上送組播協(xié)議進程處理具體是將其按照已有的組播路由表進 行轉(zhuǎn)發(fā),或者由CPU進行其他處理,具體如何轉(zhuǎn)發(fā)、CPU如何進行其他處理 為已有技術(shù),這里不再贅述。
步驟104,若該組播報文的關(guān)鍵字與已記錄的任一組播報文的關(guān)鍵字均不 匹配,則該組^番4艮文為未知組播報文,因此記錄該未知組^番才艮文,并將接收該 未知組播報文的端口的計數(shù)器加1;這里,所述計數(shù)器是為了對端口接收的未知組播報文進行計數(shù)而預(yù)先設(shè)置
的,對于每個端口,都要設(shè)置相應(yīng)的計數(shù)器;
記錄未知組播才艮文具體為記錄該未知組播^艮文的關(guān)鍵字,即記錄該未知 組播報文的源地址、組播報文的目的組地址以及接收端口 。
步驟105-106,判斷上述計數(shù)器記錄的端口接收的未知組播報文的個數(shù)是 否超過預(yù)設(shè)的閾值;若未超過閾值,則返回步驟103,將該未知組播報文上送 組播協(xié)議進程處理,生成與其對應(yīng)的組播路由表表項;否則,將該未知組播報 文丟棄,結(jié)束當(dāng)前處理流程。
其中,該閾值為每個端口允許接收的未知組播報文的最大個數(shù),其可根據(jù) 組網(wǎng)規(guī)模以及用戶規(guī)模確定。
由以上分析可知,假設(shè)某一端口允許接收的未知組播報文的最大個數(shù)為 500個,則從501個開始未知組播報文將都被丟棄,而不會被上送組播協(xié)議進 程處理,也不會生成相應(yīng)的組播路由表表項。因此,為了控制是否要永遠(yuǎn)禁止 超過預(yù)設(shè)閾值的未知組播報文進入,本發(fā)明防止組播源攻擊的方法還包括以下 步驟設(shè)置定時器。相應(yīng)地,定時器處理流程如圖2所示,包括以下步驟
步驟201,當(dāng)定時器時間到時,遍歷ASIC芯片所有端口的計數(shù)器;
步驟202-204,判斷每個計數(shù)器的自動清零使能開關(guān)是否開啟,若計數(shù)器 的自動清零使能開關(guān)開啟,則該計數(shù)器清零;若計數(shù)器的自動清零使能開關(guān)未 開啟,則該計數(shù)器不清零。
其中,采用的定時器較佳為1秒定時器,這樣即可瞬時判斷端口的計數(shù)器 是否清零。
如果計數(shù)器清零,則在下一定時時間開始后將立即重新計數(shù)。因此,如果 在某一定時時間內(nèi)未知組播報文的個數(shù)過多,超過預(yù)設(shè)的閾值,也不會影響下 一定時時間內(nèi)端口對未知組4番凈艮文的接收。
如果計數(shù)器不清零,若在某一定時時間內(nèi)未知組播報文的個數(shù)過多,超過 預(yù)設(shè)的閾值,則以后組播源發(fā)送來的未知組播報文都將被丟棄,而不會被上送 組播協(xié)議處理。為實現(xiàn)上述方法,本發(fā)明還提出了一種防止組播源攻擊的系統(tǒng),包括 組播報文類型判斷模塊,用于判斷專用集成電路芯片的端口接收的組播報
文是否為未知組播報文,并將判斷結(jié)果送至組播報文記錄模塊或未知組播報文
處理纟莫塊;
組播報文記錄模塊,用于根據(jù)組播報文類型判斷模塊的判斷結(jié)果記錄未知 組播纟艮文;
計數(shù)器,用于記錄計數(shù)器對應(yīng)的端口接收的未知組播報文的個數(shù); 未知組播報文數(shù)目比較模塊,用于比較上述計數(shù)器記錄的端口接收的未知
組播報文的個數(shù)與預(yù)設(shè)的閾值,并將比較結(jié)果送至未知組播報文處理模塊; 未知組播報文處理模塊,用于根據(jù)收到的比較模塊的比較結(jié)果,決定將未
知組播報文丟棄或者上送組播協(xié)議進程處理,生成與其對應(yīng)的組播路由表表項;
或者用于根據(jù)組播報文類型判斷模塊的判斷結(jié)果,將已知組播報文上送組播協(xié)
議進程處理。
為了使上述系統(tǒng)能實現(xiàn)定時自動清零功能,使端口能夠接收更多的未知組 播報文,上述系統(tǒng)還可包括定時器,用于決定當(dāng)定時器時間到時,是否將計數(shù) 器清零。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1、一種防止組播源攻擊的方法,其特征在于,該方法包括專用集成電路芯片的端口接收組播源發(fā)來的組播報文;判斷所接收的組播報文是否為未知組播報文,若所述組播報文為已知組播報文,則將已知組播報文上送組播協(xié)議進程處理,結(jié)束當(dāng)前處理流程;若所述組播報文為未知組播報文,則記錄所述未知組播報文,并將接收所述未知組播報文的端口的計數(shù)器加1;判斷所述計數(shù)器記錄的端口接收的未知組播報文的個數(shù)是否超過預(yù)設(shè)閾值,若未超過閾值,則將當(dāng)前接收的未知組播報文上送組播協(xié)議進程處理,否則,將當(dāng)前接收的未知組播報文丟棄。
2、 根據(jù)權(quán)利要求l所述的防止組播源攻擊的方法,其特征在于,所述判斷 組播報文是否為未知組播報文具體為將當(dāng)前接收到的組播報文的關(guān)鍵字與已 記錄的組播報文的關(guān)鍵字進行匹配。
3、 根據(jù)權(quán)利要求1所述的防止組播源攻擊的方法,其特征在于,所述記錄 未知組播報文具體為記錄所述未知組播報文的關(guān)鍵字。
4、 根據(jù)權(quán)利要求2或3所述的防止組播源攻擊的方法,其特征在于,所述 關(guān)鍵字包括組播報文的源地址、組播報文的目的組地址以及接收該組播報文的 端口。
5、 根據(jù)權(quán)利要求1所述的防止組播源攻擊的方法,其特征在于,所述閾值 為每個端口允許接收的未知組播報文的最大個數(shù)。
6、 根據(jù)權(quán)利要求1所述的防止組播源攻擊的方法,其特征在于,該方法還 包括設(shè)置定時器;定時器時間到時,遍歷專用集成電路芯片端口的計數(shù)器; 判斷所述計數(shù)器的自動清零使能開關(guān)是否開啟,若所述計數(shù)器的自動清零使能開關(guān)開啟,則該計數(shù)器清零;若所述計數(shù)器的自動清零使能開關(guān)未開啟,則該計數(shù)器不清零。
7、 根據(jù)權(quán)利要求6所述的防止組播源攻擊的方法,其特征在于,所述定時 器為1秒定時器。
8、 一種防止組^"源攻擊的系統(tǒng),其特征在于,該系統(tǒng)包括 組播報文類型判斷模塊,用于判斷專用集成電路芯片的端口接收的組播報文是否為未知組播報文,并將判斷結(jié)果送至組播報文記錄模塊或未知組播報文 處理模塊;組播報文記錄模塊,用于根據(jù)組播報文類型判斷模塊的判斷結(jié)果記錄未知 組播纟艮文;計數(shù)器,用于記錄所述計數(shù)器對應(yīng)的端口接收的未知組播報文的個數(shù); 未知組播報文數(shù)目比較模塊,用于比較所述計數(shù)器記錄的端口接收的未知組播報文的個數(shù)與預(yù)設(shè)的閾值,并將比較結(jié)果送至未知組播報文處理模塊; 未知組播報文處理模塊,用于根據(jù)收到的比較模塊的比較結(jié)果,決定將未知組播報文丟棄或者上送組播協(xié)議進程處理;或者用于根據(jù)組播報文類型判斷模塊的判斷結(jié)果,將已知組播報文上送組播協(xié)議進程處理。
9、 根據(jù)權(quán)利要求8所述的防止組播源攻擊的系統(tǒng),其特征在于,所述系統(tǒng) 還包括定時器,用于決定是否將計數(shù)器清零。
10、 根據(jù)權(quán)利要求9所述的防止組播源攻擊的系統(tǒng),其特征在于,所述定 時器為1秒定時器。
全文摘要
本發(fā)明公開了一種防止組播源攻擊的方法,包括專用集成電路芯片的端口接收組播源發(fā)來的組播報文;判斷該組播報文是否為未知組播報文,若該組播報文為已知組播報文,將該已知組播報文上送組播協(xié)議進程處理,結(jié)束當(dāng)前處理流程;若該組播報文為未知組播報文,則記錄該未知組播報文,并將接收該未知組播報文的端口的計數(shù)器加1;判斷計數(shù)器記錄的端口接收的未知組播報文的個數(shù)是否超過預(yù)設(shè)閾值,若未超過閾值,則將該當(dāng)前接收的未知組播報文上送組播協(xié)議進程處理;否則,將當(dāng)前接收的未知組播報文丟棄,結(jié)束當(dāng)前處理流程。本發(fā)明還公開了一種防止組播源攻擊的系統(tǒng)。采用本發(fā)明的方法及系統(tǒng),能有效預(yù)防組播源的攻擊,最終提高CPU的資源利用率。
文檔編號H04L12/56GK101426014SQ20081022793
公開日2009年5月6日 申請日期2008年12月2日 優(yōu)先權(quán)日2008年12月2日
發(fā)明者旭 杜 申請人:中興通訊股份有限公司