專利名稱:為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域的互聯(lián)網(wǎng)協(xié)議IP網(wǎng)絡(luò)通信設(shè)備中央處理器的負(fù)載保護(hù) 方法,具體涉及在網(wǎng)絡(luò)設(shè)備中提供一種DoS (Denial of service,拒絕服務(wù))的方法,從而
實(shí)現(xiàn)對(duì)中央處理器的保護(hù)。
背景技術(shù):
在IP網(wǎng)絡(luò)通信中,高端路由器、三層交換機(jī)等網(wǎng)絡(luò)設(shè)備通常通過高效的硬件轉(zhuǎn)發(fā)引擎來 轉(zhuǎn)發(fā)報(bào)文,通過軟件來對(duì)設(shè)備進(jìn)行管理維護(hù)。硬件轉(zhuǎn)發(fā)引擎處理報(bào)文通常有以下幾種情況 (l)正常轉(zhuǎn)發(fā),根據(jù)路由表信息將報(bào)文發(fā)到下一網(wǎng)絡(luò)設(shè)備或終端;(2)丟棄;(3)轉(zhuǎn)交軟件處理, 對(duì)于路由信息不充分、或需由本網(wǎng)絡(luò)設(shè)備處理的報(bào)文轉(zhuǎn)交由軟件處理。由于硬件轉(zhuǎn)發(fā)引擎的 處理速度遠(yuǎn)遠(yuǎn)大于軟件的處理速度,因此可能在某一瞬間出現(xiàn)大量的報(bào)文交由軟件處理,從 而導(dǎo)致中央處理器負(fù)荷過載,軟件處理效率降低,影響系統(tǒng)的正常運(yùn)行。
在某些情況下,會(huì)出現(xiàn)大量的人為惡意制造的報(bào)文,此類報(bào)文經(jīng)由硬件引擎處理后需要 交由軟件處理,從而造成中央處理器負(fù)載過重,性能下降。DoS攻擊就是利用合理的服務(wù)請(qǐng) 求來占用過多的服務(wù)資源,從而使合法用戶無法得到正常的服務(wù)響應(yīng)。DoS針對(duì)路由器或交 換機(jī)中央處理器的攻擊可以分為以下兩種類型
1、 利用網(wǎng)絡(luò)自身的廣播功能進(jìn)行攻擊,例如ARP (地址解析)請(qǐng)求等。當(dāng)網(wǎng)絡(luò)中的一個(gè) 或多個(gè)主機(jī)發(fā)送廣播報(bào)文時(shí),路由器或交換機(jī)需要對(duì)收到的廣播報(bào)文上送CPU進(jìn)行處理。當(dāng) 廣播報(bào)文很多時(shí),就會(huì)占用大量的CPU處理資源,使中央處理器負(fù)荷過載。
2、 網(wǎng)絡(luò)中的一個(gè)或多個(gè)主機(jī)向路由器或者交換機(jī)發(fā)送大量必須由路由器或者交換機(jī)中央 處理器處理的報(bào)文,如ARP、 DHCP (動(dòng)態(tài)主機(jī)配置協(xié)議)、RIP (路由信息協(xié)議)、OSPF (開放 最短路由)、BGP (邊界網(wǎng)關(guān)協(xié)議)、ICMP (國(guó)際消息控制協(xié)議)等等,或者是路由器或交換機(jī) 無法找到下一跳的報(bào)文,這些報(bào)文將會(huì)耗盡中央處理器的資源,使其無法提供正常的服務(wù)。
當(dāng)需要處理報(bào)文大量涌入中央處理器造成過載時(shí),中央處理器通常會(huì)隨機(jī)丟棄部分報(bào)文, 使得夾雜在數(shù)據(jù)報(bào)文之間的控制報(bào)文被隨機(jī)丟棄,只有少量被中央處理器處理,從而導(dǎo)致路 由器或交換機(jī)部分協(xié)議功能、管理功能失效。
中國(guó)專利CN1411230A提出針對(duì)無路由上送的報(bào)文,生成一條新的拋棄路由,通過拋棄無 路由上送報(bào)文,達(dá)到減小中央處理器負(fù)載的效果,但對(duì)人為惡意制造的ICMP、 ARP、廣播等
報(bào)文造成的DoS攻擊缺少有效的防范。
發(fā)明內(nèi)容
為了克服上述缺陷,本發(fā)明的目的在于提供一種為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù) 的方法,該方法對(duì)涌入中央處理器的報(bào)文進(jìn)行分類,限制大量涌入中央處理器的數(shù)據(jù)報(bào)文, 保證了中央處理器能夠響應(yīng)正常的服務(wù)請(qǐng)求。
為達(dá)到上述目的,本發(fā)明為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,包括
(1) 對(duì)硬件轉(zhuǎn)發(fā)引擎轉(zhuǎn)發(fā)給中央處理器的報(bào)文進(jìn)行分類;
(2) 根據(jù)報(bào)文分類的類別對(duì)將要進(jìn)入中央處理器的報(bào)文進(jìn)行限速處理。 其中,所述的步驟(2)之后還包括-
(3) 對(duì)將要進(jìn)入中央處理器的報(bào)文進(jìn)行限速處理后再次進(jìn)行分類,根據(jù)再次分類后報(bào)文 的類別對(duì)進(jìn)入中央處理器的報(bào)文再次進(jìn)行限速處理。
其中,所述的限速處理具體為
(21) 根據(jù)報(bào)文分類的類別設(shè)定承諾允許轉(zhuǎn)交中央處理器報(bào)文的帶寬或速率;
(22) 通過對(duì)分類后的報(bào)文的監(jiān)控和分析,將分析出來的當(dāng)前報(bào)文所占用的帶寬或者包 速率與步驟(21)中設(shè)定的承諾帶寬或包速率進(jìn)行比較,若當(dāng)前報(bào)文所占用的帶寬或者包速 率小于步驟(21)中預(yù)先設(shè)定的承諾帶寬或包速率,則允許轉(zhuǎn)交給中央處理器處理,否則進(jìn) 行丟棄。
其中,所述對(duì)報(bào)文進(jìn)行分類的方式為基于流進(jìn)行分類。 其中,所述對(duì)報(bào)文進(jìn)行分類的方式為基于流的屬性進(jìn)行分類。
其中,所述流的屬性包括源IP地址、目標(biāo)IP地址、協(xié)議類型、優(yōu)先級(jí)別中的任一屬 性或它們的組合。
其中,所述步驟(21)中,設(shè)定承諾允許轉(zhuǎn)交中央處理器報(bào)文的帶寬或速率的設(shè)定方式 為靜態(tài)設(shè)置方式,該靜態(tài)設(shè)置方式具體為基于流的帶寬值或單位時(shí)間的包個(gè)數(shù)進(jìn)行速率設(shè) 置。
其中,所述步驟(21)中,設(shè)定承諾允許轉(zhuǎn)交中央處理器報(bào)文的帶寬或速率的設(shè)定方式 為動(dòng)態(tài)設(shè)置方式,該動(dòng)態(tài)設(shè)置方式具體為當(dāng)中央處理器利用率高時(shí),則減小允許轉(zhuǎn)交中央 處理器處理的報(bào)文速率的設(shè)定值;當(dāng)中央處理器利用率低時(shí),則增加允許轉(zhuǎn)交中央處理器處 理的報(bào)文速率值。
本發(fā)明提出的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)的方法,利用CAR (承諾接入速率)200610098566.8
說明書第3/5頁
算法對(duì)交由中央處理器的報(bào)文進(jìn)行分類,對(duì)報(bào)文分類后進(jìn)行限速,可以有效地防范DoS攻擊, 限制了大量涌入中央處理器的數(shù)據(jù)報(bào)文,有選擇的控制進(jìn)入中央處理器的報(bào)文速率,保證路 由器或交換機(jī)等設(shè)備的正常運(yùn)行,同時(shí)也保證了中央處理器能夠響應(yīng)正常的服務(wù)請(qǐng)求;該方 法設(shè)計(jì)簡(jiǎn)單、容易實(shí)現(xiàn)、實(shí)施成本低,無需改動(dòng)現(xiàn)有的硬件引擎,有很好的實(shí)用效果;在IPV4、 IPV6網(wǎng)絡(luò)設(shè)備(如路由器、交換機(jī)、IP網(wǎng)關(guān)等)中都可以獲得較好的應(yīng)用。
圖1為現(xiàn)有的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖2為本發(fā)明的轉(zhuǎn)交中央處理器的報(bào)文進(jìn)行間級(jí)CAR限速示例圖; 圖3為本發(fā)明的轉(zhuǎn)交中央處理器的報(bào)文進(jìn)行多級(jí)CAR限速示例圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明 圖1是路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備應(yīng)用的一種網(wǎng)絡(luò)拓?fù)鋱D。
各終端之間通過路由器或交換機(jī)交換報(bào)文進(jìn)行通信。在DoS攻擊中,某個(gè)或者某些終端 在某一瞬間同時(shí)發(fā)送大量的需由路由器或交換機(jī)中央處理器處理的報(bào)文,造成中央處理器過載。
本發(fā)明方法的應(yīng)用如圖2和圖3所示,在DoS拒絕服務(wù)中,通過對(duì)報(bào)文分類、使用CAR 算法進(jìn)行限速來抑制送入中央處理器的報(bào)文。
圖2所示的是對(duì)轉(zhuǎn)交中央處理器的報(bào)文進(jìn)行單級(jí)CAR限速的實(shí)施例。 其中終端可以是多種不同的設(shè)備,如PC、 IP網(wǎng)關(guān)等等,每個(gè)終端向路由器或者交換機(jī)發(fā) 送多種不同的報(bào)文。硬件引擎對(duì)這些報(bào)文進(jìn)行處理,丟棄、轉(zhuǎn)發(fā)這些報(bào)文,或者轉(zhuǎn)交由中央 處理器進(jìn)行處理。通常情況下,由病毒或者黑客等人為形成的大量報(bào)文,都具有一定的規(guī)律 性。因此在將報(bào)文轉(zhuǎn)發(fā)中央處理器之前先按照某種流或某個(gè)流進(jìn)行分類,或是按照某些屬性 對(duì)報(bào)文進(jìn)行分類,如按照源IP、源MAC、協(xié)議類型等,甚至可以進(jìn)一步細(xì)化為根據(jù)4層端口、 某段IP域、MAC群組等。分類的原則是將可能導(dǎo)致中央處理器過載的DoS攻擊的報(bào)文進(jìn)行歸 類限速,從而保證中央處理器能夠?qū)φ5墓δ?、服?wù)進(jìn)行處理。假設(shè)來自某個(gè)終端或者某 些終端的ARP請(qǐng)求報(bào)文單位時(shí)間內(nèi)不能超過N個(gè),那么在單位時(shí)間內(nèi),低于N個(gè)的ARP請(qǐng)求 報(bào)文將會(huì)被轉(zhuǎn)交給中央處理器處理,而超出N個(gè)的ARP請(qǐng)求報(bào)文將會(huì)被丟棄,從而降低中央 處理器的負(fù)荷。
在CAR限速部分,包含一個(gè)令牌桶機(jī)制,用于判斷來自某個(gè)分類的報(bào)文是否超過了預(yù)先 設(shè)定的速率。在令牌桶機(jī)制中通常包含三個(gè)參數(shù)時(shí)間間隔P,即每隔時(shí)間段P就向令牌桶 內(nèi)添加單位令牌;令牌桶大小M,即包的最大突發(fā)量;當(dāng)前的令牌量T,即當(dāng)前允許的突發(fā)量。
假定按照包個(gè)數(shù)對(duì)轉(zhuǎn)發(fā)中央處理器的報(bào)文進(jìn)行限速。當(dāng)收到一個(gè)報(bào)文時(shí),如果令牌桶中
有令牌,該報(bào)文被轉(zhuǎn)發(fā),同時(shí)從令牌桶中取走一個(gè)令牌,T=T-1,如果令牌桶中的令牌為零, 則丟棄該報(bào)文。與此同時(shí),令牌桶中的令牌每過時(shí)間段P進(jìn)行積累,T=T+1。當(dāng)令牌桶中的令
牌丁=\1時(shí),積累的新令牌溢出。下面的偽代碼說明了當(dāng)一個(gè)報(bào)文來臨時(shí)的處理情況 If T〉0
T=T-1;
Pass packet; Else
Drop packet; End if
同時(shí),每過時(shí)間段P: If T〈M
T=T+1; End if
如上所述,每一個(gè)令牌桶對(duì)應(yīng)一個(gè)定義的流分類。如果定義了多個(gè)流分類,則需要設(shè)置 多個(gè)令牌桶與之對(duì)應(yīng)。針對(duì)每一個(gè)終端,或者針對(duì)報(bào)文的每一個(gè)屬性設(shè)置一個(gè)令牌桶與之對(duì) 應(yīng),將會(huì)為限制轉(zhuǎn)交中央處理器處理的報(bào)文提供更好的可控性和靈活性,但需要較多的令牌 桶,設(shè)置的復(fù)雜性也比較高。而針對(duì)多個(gè)終端,或報(bào)文的多個(gè)屬性,或多個(gè)終端的報(bào)文的多 個(gè)屬性設(shè)置對(duì)應(yīng)的令牌桶,則需要少量的令牌桶,設(shè)置簡(jiǎn)單。在DoS攻擊中,大部分攻擊的 報(bào)文具有許多共性,通過預(yù)先的分析和判斷,針對(duì)該部分報(bào)文設(shè)置相應(yīng)的令牌桶,抑制此類 報(bào)文對(duì)中央處理器資源的消耗,就可以達(dá)到對(duì)中央處理器負(fù)載的保護(hù)。
在DoS攻擊中,有時(shí)候由于攻擊源的分散性或者攻擊報(bào)文的多樣性,通過單級(jí)限速并不 能很好的對(duì)攻擊報(bào)文進(jìn)行限制。在這種情況下,采用分級(jí)限速可以更好的實(shí)現(xiàn)對(duì)中央處理器 很好的保護(hù)。如圖3所示,報(bào)文分類A對(duì)經(jīng)由硬件引擎處理需要轉(zhuǎn)交中央處理器的報(bào)文分類 進(jìn)行初步限速,此時(shí)可以是針對(duì)某個(gè)終端的報(bào)文按照?qǐng)?bào)文的某個(gè)或某些屬性進(jìn)行分類,允許 通過的報(bào)文匯總進(jìn)入報(bào)文分類B,再次針對(duì)所有終端報(bào)文的某個(gè)或某些屬性進(jìn)行分類,并對(duì) 再次分類后的報(bào)文進(jìn)行限速,從而為中央處理器提供更好的保護(hù)。
當(dāng)路由器或交換機(jī)中央處理器在收到每秒2萬個(gè)以上的報(bào)文(ARP請(qǐng)求報(bào)文)需要處理 時(shí),CPU占用率100%。其他正常的業(yè)務(wù)功能與管理功能幾乎失效。在設(shè)置了針對(duì)該分類(ARP 請(qǐng)求報(bào)文)的令牌桶進(jìn)行限速,允許其的通過率為每秒1000個(gè),CPU占用率顯著下降,正常 的業(yè)務(wù)功能與管理功能恢復(fù)正常使用,測(cè)試結(jié)果表明,使用該方法具有顯著的效果。。
本發(fā)明提出的為中央處理器提供負(fù)載保護(hù)的DoS拒絕服務(wù)方法,對(duì)交由中央處理器的報(bào)
文進(jìn)行分類,對(duì)報(bào)文分類后進(jìn)行限速,可以有效地防范DoS攻擊,限制了大量涌入中央處理
器的數(shù)據(jù)報(bào)文,有選擇的控制進(jìn)入中央處理器的報(bào)文速率,保證路由器或交換機(jī)等設(shè)備的正 常運(yùn)行,同時(shí)也保證了中央處理器能夠響應(yīng)正常的服務(wù)請(qǐng)求;該方法設(shè)計(jì)簡(jiǎn)單、容易實(shí)現(xiàn)、 實(shí)施成本低,無需改動(dòng)現(xiàn)有的硬件引擎,有很好的實(shí)用效果;在IPV4、 IPV6網(wǎng)絡(luò)設(shè)備(如路 由器、交換機(jī)、IP網(wǎng)關(guān)等)中都可以獲得較好的應(yīng)用。
權(quán)利要求
1、一種為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,包括(1)對(duì)硬件轉(zhuǎn)發(fā)引擎轉(zhuǎn)發(fā)給中央處理器的報(bào)文進(jìn)行分類;(2)根據(jù)報(bào)文分類的類別對(duì)將要進(jìn)入中央處理器的報(bào)文進(jìn)行限速處理。
2、 如權(quán)利要求l所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于,所述 的步驟(2)之后還包括(3) 對(duì)將要進(jìn)入中央處理器的報(bào)文進(jìn)行限速處理后再次進(jìn)行分類,根據(jù)再次分類后報(bào)文 的類別對(duì)進(jìn)入中央處理器的報(bào)文再次進(jìn)行限速處理。
3、 如權(quán)利要求1或2所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于, 所述的限速處理具體為-(21 )根據(jù)報(bào)文分類的類別設(shè)定承諾允許轉(zhuǎn)交中央處理器報(bào)文的帶寬或速率; (22)通過對(duì)分類后的報(bào)文的監(jiān)控和分析,將分析出來的當(dāng)前報(bào)文所占用的帶寬或者包 速率與步驟(21)中設(shè)定的承諾帶寬或包速率進(jìn)行比較,若當(dāng)前報(bào)文所占用的帶寬或者包速 率小于步驟(21)中預(yù)先設(shè)定的承諾帶寬或包速率,則允許轉(zhuǎn)交給中央處理器處理,否則進(jìn) 行丟棄。
4、 如權(quán)利要求1或2所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于, 所述對(duì)報(bào)文進(jìn)行分類的方式為基于流進(jìn)行分類。
5、 如權(quán)利要求1或2所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于,所述對(duì)報(bào)文進(jìn)行分類的方式為基于流的屬性進(jìn)行分類。
6、 如權(quán)利要求5所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于,所述 流的屬性包括源ip地址、目標(biāo):[p地址、協(xié)議類型、優(yōu)先級(jí)別中的任一屬性或它們的組合。
7、 如權(quán)利要求3所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于,所述 步驟(21)中,設(shè)定承諾允許轉(zhuǎn)交中央處理器報(bào)文的帶寬或速率的設(shè)定方式為靜態(tài)設(shè)置方式, 該靜態(tài)設(shè)置方式具體為基于流的帶寬值或單位時(shí)間的包個(gè)數(shù)進(jìn)行速率設(shè)置。
8、 如權(quán)利要求3所述的為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,其特征在于,所述 步驟(21)中,設(shè)定承諾允許轉(zhuǎn)交中央處理器報(bào)文的帶寬或速率的設(shè)定方式為動(dòng)態(tài)設(shè)置方式,該動(dòng)態(tài)設(shè)置方式具體為當(dāng)中央處理器利用率高時(shí),則減小允許轉(zhuǎn)交中央處理器處理的報(bào)文速率的設(shè)定值;當(dāng)中央處理器利用率低時(shí),則增加允許轉(zhuǎn)交中央處理器處理的報(bào)文速率值。
全文摘要
本發(fā)明公開一種為中央處理器提供負(fù)載保護(hù)的拒絕服務(wù)方法,涉及計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域。為解決現(xiàn)有IP網(wǎng)絡(luò)中大量報(bào)文涌入路由器或交換機(jī)導(dǎo)致中央處理器的處理性能下降甚至使中央處理器無法提供正常服務(wù)的問題而發(fā)明。本發(fā)明的方法對(duì)路由器或交換機(jī)轉(zhuǎn)發(fā)給中央處理器的報(bào)文進(jìn)行分類;然后根據(jù)報(bào)文分類的類別對(duì)將要進(jìn)入中央處理器的報(bào)文進(jìn)行限速處理或再次進(jìn)行限速處理。本發(fā)明的方法有選擇的對(duì)進(jìn)入中央處理器的報(bào)文進(jìn)行限速,保證了路由器或交換機(jī)等設(shè)備的正常運(yùn)行,同時(shí)也保證了中央處理器能夠響應(yīng)正常的服務(wù)請(qǐng)求。
文檔編號(hào)H04L12/26GK101106518SQ20061009856
公開日2008年1月16日 申請(qǐng)日期2006年7月10日 優(yōu)先權(quán)日2006年7月10日
發(fā)明者浩 于, 通 冷, 葉志寧, 原 曲 申請(qǐng)人:中興通訊股份有限公司