專利名稱:統(tǒng)計(jì)值刷新系統(tǒng)以及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及反DoS攻擊/反DDoS攻擊領(lǐng)域,尤指一種應(yīng)用于反DoS攻擊/反DDoS 攻擊領(lǐng)域中基于速率統(tǒng)計(jì)的統(tǒng)計(jì)值刷新系統(tǒng)以及方法。
背景技術(shù):
拒絕服務(wù)(Denial-of-service, DoS)攻擊或分布式拒絕服務(wù)(Distributed denial-of-service, DDoS)攻擊使用戶不能使用計(jì)算機(jī)資源。DoS攻擊/DDoS攻擊的癥狀 包括異常慢的網(wǎng)絡(luò)響應(yīng)速度,無(wú)法登陸特定網(wǎng)站,無(wú)法登陸任何網(wǎng)站以及垃圾郵件數(shù)量的 劇增。 DoS攻擊/DDoS攻擊的目標(biāo)通常為處于備受關(guān)注的網(wǎng)頁(yè)服務(wù)器上的站點(diǎn)或服務(wù), 例如,銀行服務(wù)器、信用卡支付的網(wǎng)關(guān)和域名系統(tǒng)根服務(wù)器(DNS root servers)等。典型 的DoS攻擊/DDoS攻擊方法為采用外部通訊請(qǐng)求使目標(biāo)飽和,特別是向目標(biāo)發(fā)送大量數(shù)據(jù) 包。 在目前的網(wǎng)絡(luò)安全設(shè)備中, 一種常用的反DoS攻擊/DDoS攻擊的方法為基于速率 的統(tǒng)計(jì)值(rate-based statistics)測(cè)量來(lái)自相同IP地址的數(shù)據(jù)包,并將該基于速率的 統(tǒng)計(jì)值與一閾值相比較。基于速率的統(tǒng)計(jì)值通常為時(shí)間函數(shù),例如,每秒的字節(jié)數(shù)(bytes per second, BPS),每秒的數(shù)據(jù)包數(shù)(packets persecond, PPS)或者建立會(huì)話連接的速率 (session buildup rate, SR)等。若基于速率的統(tǒng)計(jì)值超過(guò)該閾值,則認(rèn)為這些數(shù)據(jù)包為 DoS攻擊,并由網(wǎng)絡(luò)安全設(shè)備阻攔這些數(shù)據(jù)包。 更具體地說(shuō),以用一個(gè)特定源IP地址的PPS的統(tǒng)計(jì)值來(lái)為例,其中該P(yáng)PS存儲(chǔ) 在存儲(chǔ)器中,例如,DDR SDRAM(doubledata rate, synchronous dynamic random access memory)。當(dāng)收到來(lái)自于該特定源地址的一個(gè)數(shù)據(jù)包,該P(yáng)PS的值加一,然后根據(jù)上述所描 述的方法,將該P(yáng)PS的值與一閾值相比較。每一秒均刷新該P(yáng)PS,并開始一次新的計(jì)量。
這樣,每秒鐘更新/刷新存儲(chǔ)的基于速率的統(tǒng)計(jì)值。如上所述,DDR SDRAM中存儲(chǔ) 對(duì)應(yīng)每個(gè)IP地址的基于速率的統(tǒng)計(jì)值。由于可能需監(jiān)控大量的IP地址,所以就有大量的 基于速率的統(tǒng)計(jì)值存儲(chǔ)在DDR SDRAM中。因此,每秒更新/刷新這些統(tǒng)計(jì)值不僅耗時(shí),而且 占用DDR SDRAM的帶寬。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于提供一種統(tǒng)計(jì)值刷新系統(tǒng)以及方法,所述統(tǒng)計(jì)值刷 新系統(tǒng)以及方法相較與現(xiàn)有技術(shù)而言,消耗較少的時(shí)間,并降低對(duì)存儲(chǔ)器的帶寬的占用。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種統(tǒng)計(jì)值刷新系統(tǒng),用于刷新存儲(chǔ)在一存 儲(chǔ)器中的基于速率的統(tǒng)計(jì)值。所述統(tǒng)計(jì)值刷新系統(tǒng)包括時(shí)鐘和統(tǒng)計(jì)更新器。所述時(shí)鐘用于 提供一時(shí)間值作為每個(gè)統(tǒng)計(jì)目標(biāo)的時(shí)間戳,其中所述統(tǒng)計(jì)目標(biāo)至少包括屬于同一組的第一 目標(biāo)和第二目標(biāo)。所述統(tǒng)計(jì)值更新器耦合到所述時(shí)鐘,用于非周期地更新與所述組相關(guān)的 基于速率的統(tǒng)計(jì)值。
本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),所述第一 目標(biāo)的源IP地址和所述第二目標(biāo)的源 IP地址相同。 本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),僅當(dāng)所述第一目標(biāo)的時(shí)間戳和所述第二目標(biāo)的時(shí) 間戳相等時(shí),更新與所述組相關(guān)的基于速率的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),若所述第一目標(biāo)的時(shí)間戳和所述第二目標(biāo)的時(shí)間 戳不相等時(shí),初始化所述組的基于速率的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),所述組還包括一第三目標(biāo),其在所述第一目標(biāo)和 所述第二目標(biāo)之后到達(dá)所述統(tǒng)計(jì)值刷新系統(tǒng),僅當(dāng)關(guān)于所述組的基于速率的統(tǒng)計(jì)值的時(shí)間 戳和所述第三目標(biāo)的時(shí)間戳相等時(shí),更新所述組的基于速率的統(tǒng)計(jì)值至包含所述第三目標(biāo) 的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),所述組還包括一第三目標(biāo),其在所述第一目標(biāo)和 所述第二目標(biāo)之后到達(dá)所述統(tǒng)計(jì)值刷新系統(tǒng),若與所述組相關(guān)的基于速率的統(tǒng)計(jì)值的時(shí)間 戳和所述第三目標(biāo)的時(shí)間戳不相等時(shí),初始化所述組的基于速率的統(tǒng)計(jì)值;若初始化所述 組的基于速率的統(tǒng)計(jì)值,將與所述組相關(guān)的基于速率的統(tǒng)計(jì)值的時(shí)間戳改為所述第三目標(biāo) 的時(shí)間戳。 本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),還包括統(tǒng)計(jì)值刷新器,其耦合到所述統(tǒng)計(jì)值更新
器,用于和所述統(tǒng)計(jì)值更新器一起周期地刷新所述存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值,當(dāng)一預(yù)
設(shè)刷新周期結(jié)束時(shí),所述統(tǒng)計(jì)值刷新器刷新所述存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新系統(tǒng),若所述時(shí)鐘為一n比特的時(shí)鐘,則所述預(yù)設(shè)刷新
周期介于1秒至2n-l秒之間。 本發(fā)明還提供了一種統(tǒng)計(jì)值刷新方法,用于刷新存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值, 所述統(tǒng)計(jì)值刷新方法包括獲得與一組統(tǒng)計(jì)目標(biāo)相關(guān)的基于速率的統(tǒng)計(jì)值的第一時(shí)間戳; 將一第一統(tǒng)計(jì)目標(biāo)的第二時(shí)間戳和所述第一時(shí)間戳相比較,其中所述第一統(tǒng)計(jì)目標(biāo)與所述 一組統(tǒng)計(jì)目標(biāo)相關(guān);以及若所述第一時(shí)間戳和所述第二時(shí)間戳不相等,則刷新所述一組統(tǒng) 計(jì)目標(biāo)的基于速率的統(tǒng)計(jì)值至一預(yù)設(shè)值,否則增加所述統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,還包括若所述基于速率的統(tǒng)計(jì)值初始化為所述 預(yù)設(shè)值,則將所述第一時(shí)間戳變?yōu)榕c所述第二時(shí)間戳相等。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,還包括獲得與所述第一統(tǒng)計(jì)目標(biāo)相關(guān)的識(shí)別信 息;以及使用所述識(shí)別信息標(biāo)記所述第一時(shí)間戳和所述一組統(tǒng)計(jì)目標(biāo)的基于速率的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,所述識(shí)別信息包括一源IP地址。
本發(fā)明所述的統(tǒng)計(jì)值刷新方法,還包括當(dāng)一預(yù)設(shè)的刷新周期結(jié)束,自動(dòng)更新與所
述一組統(tǒng)計(jì)目標(biāo)相關(guān)的所述基于速率的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,使用一n比特的時(shí)鐘產(chǎn)生所述預(yù)設(shè)的刷新周期 時(shí),則所述預(yù)設(shè)的刷新周期介于l秒至(2n_l)秒之間。 本發(fā)明還提供了一種統(tǒng)計(jì)值刷新方法,用于刷新存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值, 所述統(tǒng)計(jì)值刷新方法包括識(shí)別有相同源IP地址的第一數(shù)據(jù)包和第二數(shù)據(jù)包;判斷所述第 一數(shù)據(jù)包和所述第二數(shù)據(jù)包是否是在同一統(tǒng)計(jì)值收集周期中被接受的;以及若所述第一數(shù) 據(jù)包和所述第二數(shù)據(jù)包在所述同一統(tǒng)計(jì)值收集周期中,增加與所述源IP地址相關(guān)的基于速率的統(tǒng)計(jì)值,否則,初始化與所述源IP地址相關(guān)的基于速率的統(tǒng)計(jì)值。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,所述判斷還進(jìn)一步包括將所述第一數(shù)據(jù)包的第一
時(shí)間戳和所述第二數(shù)據(jù)包的第二時(shí)間戳相比較,若所述第一和第二時(shí)間戳相等,則所述第
一數(shù)據(jù)包和所述第二數(shù)據(jù)包是在同一統(tǒng)計(jì)值收集周期中被接受的。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,若所述第一時(shí)間戳和所述第二時(shí)間戳不等,則所 述的統(tǒng)計(jì)值刷新方法還包括將所述第一時(shí)間戳和所述第二時(shí)間戳中較晚的時(shí)間戳和與所 述源IP地址相關(guān)的統(tǒng)計(jì)值相聯(lián)系。 本發(fā)明所述的統(tǒng)計(jì)值刷新方法,若所述第一時(shí)間戳和所述第二時(shí)間戳相等,則所 述的統(tǒng)計(jì)值刷新方法還包括 將所述第一時(shí)間戳和所述第二時(shí)間戳和與所述源IP地址相關(guān)的統(tǒng)計(jì)值相聯(lián)系。
本發(fā)明所述的統(tǒng)計(jì)值刷新方法,所述統(tǒng)計(jì)值刷新方法包括當(dāng)一預(yù)設(shè)的刷新周期 結(jié)束,自動(dòng)更新所述在同一統(tǒng)計(jì)值收集周期中被接受的數(shù)據(jù)包的統(tǒng)計(jì)值。
本發(fā)明所述的統(tǒng)計(jì)值刷新方法,使用一n比特的時(shí)鐘產(chǎn)生所述預(yù)設(shè)的刷新周期 時(shí),所述預(yù)設(shè)的刷新周期介于1秒至(2n_l)秒之間。 與現(xiàn)有技術(shù)相比,采用本發(fā)明的統(tǒng)計(jì)值刷新系統(tǒng)以及方法能夠減少消耗時(shí)間,降 低對(duì)存儲(chǔ)器帶寬的占用。
以下通過(guò)對(duì)本發(fā)明的一些實(shí)施例結(jié)合其附圖的描述,可以進(jìn)一步理解本發(fā)明的目 的、具體結(jié)構(gòu)特征和優(yōu)點(diǎn)。 圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的的基于速率的統(tǒng)計(jì)值刷新系統(tǒng)的方框示意圖; 以及 圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于速率的統(tǒng)計(jì)值刷新方法的流程圖。
具體實(shí)施例方式
雖然本發(fā)明將結(jié)合以下實(shí)施例進(jìn)行闡述,但應(yīng)理解為這并非意指將本發(fā)明限定于 這些實(shí)施例。相反,本發(fā)明旨在涵蓋由所附權(quán)利要求書所界定的本發(fā)明精神和范圍內(nèi)所定 義的各種可選項(xiàng)、可修改項(xiàng)和等同項(xiàng)。 此外,在以下對(duì)本發(fā)明的詳細(xì)描述中,為了提供針對(duì)本發(fā)明的完全的理解,闡明了 大量的具體細(xì)節(jié)。然而,本領(lǐng)域技術(shù)人員將理解,沒有這些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。 在另外的一些實(shí)例中,對(duì)于大家熟知的方案、流程、元件和電路未作詳細(xì)描述,以便于凸顯 本發(fā)明的主旨。 圖1為根據(jù)本發(fā)明的一個(gè)實(shí)施例的統(tǒng)計(jì)值刷新系統(tǒng)100,該統(tǒng)計(jì)值刷新系統(tǒng)100用 于刷新用于反DoS攻擊/反DDoS攻擊的基于速率的統(tǒng)計(jì)值。該統(tǒng)計(jì)值刷新系統(tǒng)100包括 更新模塊110,刷新模塊120、系統(tǒng)時(shí)鐘130、存儲(chǔ)器(例如,DDR SDRAM) 140和仲裁器150。 仲裁器150耦合到更新模塊IIO,刷新模塊120和存儲(chǔ)器140之間,其起到數(shù)據(jù)通道的作用。 還可以稱更新模塊110為統(tǒng)計(jì)更新器,還可以稱刷新模塊120為統(tǒng)計(jì)刷新器。
在圖1中,每個(gè)模塊都執(zhí)行一個(gè)或多個(gè)功能,然而,在實(shí)際應(yīng)用中,所述的功能模 塊可以由一個(gè)或者多個(gè)元件實(shí)現(xiàn),和/或由軟件、硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。此外,該統(tǒng)計(jì)值刷新系統(tǒng)100還可以包括圖示以外的元件,例如處理器一類的本技術(shù)領(lǐng)域的熟知 元件。 數(shù)據(jù)包102輸入更新模塊110??梢哉J(rèn)為單個(gè)數(shù)據(jù)包為一個(gè)組的數(shù)據(jù)包中的一個(gè) (例如,該組的數(shù)據(jù)包可能為DoS攻擊/DDoS攻擊的一組數(shù)據(jù)包)。在一個(gè)實(shí)施例中,每個(gè) 數(shù)據(jù)包中的源IP地址用于識(shí)別同一組的數(shù)據(jù)包。在數(shù)據(jù)包102中的單個(gè)數(shù)據(jù)包輸入到更 新模塊110之前,都對(duì)其進(jìn)行解析。這樣,每個(gè)數(shù)據(jù)包所攜帶的源IP地址和數(shù)據(jù)包內(nèi)的其 他信息(例如,字節(jié)的數(shù)量)對(duì)于更新模塊110而言都是已知的。 時(shí)間戳和統(tǒng)計(jì)值存儲(chǔ)在存儲(chǔ)器140中。這些統(tǒng)計(jì)值根據(jù)源IP地址進(jìn)行分類或標(biāo) 記;也就是說(shuō),對(duì)于每個(gè)被監(jiān)測(cè)的源IP地址,在存儲(chǔ)器140中有相應(yīng)的一組統(tǒng)計(jì)值。以圖1 為例,時(shí)間戳_0和統(tǒng)計(jì)_0對(duì)應(yīng)于第一 IP地址,時(shí)間戳_1和統(tǒng)計(jì)_1對(duì)應(yīng)于第二 IP地址。
系統(tǒng)時(shí)鐘130向刷新模塊120和更新模塊110提供一系統(tǒng)時(shí)間132。 一般而言,在 統(tǒng)計(jì)值刷新系統(tǒng)100中,基于系統(tǒng)時(shí)間132的時(shí)間戳對(duì)于每個(gè)數(shù)據(jù)包為相同的。例如,系統(tǒng) 時(shí)間132可以用于表示各數(shù)據(jù)包進(jìn)入更新模塊110的時(shí)間。在一個(gè)實(shí)施例中,系統(tǒng)時(shí)鐘130 為n位的時(shí)鐘,該時(shí)鐘從零開始,且每秒加一。在本實(shí)施例中,在同1秒間隔內(nèi)到達(dá)的數(shù)據(jù) 包具有相同的時(shí)間戳。 在一個(gè)實(shí)施例中,對(duì)于大量來(lái)自相同IP地址的包,為了測(cè)量其基于速率的統(tǒng)計(jì) 值,在存儲(chǔ)器140中存儲(chǔ)來(lái)自該IP地址的最近一個(gè)(最新的)數(shù)據(jù)包的時(shí)間戳和與該IP 地址相關(guān)的時(shí)間戳和統(tǒng)計(jì)值(例如,BPS、PPS和/或SR)。更新模塊110更新存儲(chǔ)器140中 的時(shí)間戳和統(tǒng)計(jì)值將在下文作詳細(xì)描述。在一個(gè)實(shí)施例中,刷新模塊120周期地刷新存儲(chǔ) 器140中的時(shí)間戳和統(tǒng)計(jì)值——更具體的說(shuō),如下所述,當(dāng)一具體的時(shí)間周期結(jié)束時(shí),刷新 模塊120自動(dòng)更新時(shí)間戳和刷新統(tǒng)計(jì)值。更新模塊110和刷新模塊120刷新每個(gè)統(tǒng)計(jì)值是 將每個(gè)值設(shè)為一初始值。當(dāng)更新時(shí)間戳?xí)r,更新模塊110和刷新模塊120將需刷新的時(shí)間 戳設(shè)為當(dāng)前的系統(tǒng)時(shí)間132。 當(dāng)數(shù)據(jù)包102中一個(gè)新的數(shù)據(jù)包(例如數(shù)據(jù)包N)進(jìn)入更新模塊110時(shí),更新模塊 IIO采用該數(shù)據(jù)包N的源IP地址歸類和讀取存儲(chǔ)器140中與該源IP地址相關(guān)的時(shí)間戳160 和統(tǒng)計(jì)值162 (例如,BPS, PPS和/或SR)。 最新的數(shù)據(jù)包N的時(shí)間戳166為數(shù)據(jù)包N進(jìn)入更新模塊110時(shí)的系統(tǒng)時(shí)間132。 存儲(chǔ)的時(shí)間戳160為數(shù)據(jù)包(N-l)進(jìn)入更新模塊110時(shí)的系統(tǒng)時(shí)間132,其中數(shù)據(jù)包N和數(shù) 據(jù)包(N-l)的源IP地址相同,均為IP_N。數(shù)據(jù)包(N-l)為前一個(gè)到達(dá)統(tǒng)計(jì)值刷新系統(tǒng)100 的包,該數(shù)據(jù)包的源IP地址為IP_N(換句話說(shuō),在源地址為IP_N的一組數(shù)據(jù)包中,數(shù)據(jù)包 (N-l)和數(shù)據(jù)包N為連續(xù)的數(shù)據(jù)包)。在存儲(chǔ)器140中,源地址IP—N用于歸類存儲(chǔ)的時(shí)間 戳160。將數(shù)據(jù)包N的新時(shí)間戳166和存儲(chǔ)的時(shí)間戳160相比較,其目的為判斷數(shù)據(jù)包N和 數(shù)據(jù)包(N-l)是否在同一統(tǒng)計(jì)值收集周期內(nèi);若存儲(chǔ)的時(shí)間戳160和新時(shí)間戳166相等,則 兩個(gè)數(shù)據(jù)包在同一統(tǒng)計(jì)值收集周期內(nèi)。 在一個(gè)實(shí)施例中,每個(gè)統(tǒng)計(jì)值收集周期為一秒。在本實(shí)施例中,若兩時(shí)間戳160和 166相等,則數(shù)據(jù)包N和數(shù)據(jù)包(N-l)是在同一秒間隔內(nèi)進(jìn)入更新模塊IIO。
若兩時(shí)間戳160和166相等,則不更新存儲(chǔ)器140中的存儲(chǔ)的時(shí)間戳160,且將與 IP地址IP_N相關(guān)的新的數(shù)據(jù)包N的統(tǒng)計(jì)值和存儲(chǔ)的統(tǒng)計(jì)值162相加得到與該IP地址IP_ N相關(guān)的的新的統(tǒng)計(jì)值168。例如,增加新的數(shù)據(jù)包N的由IP地址IP_N歸類的統(tǒng)計(jì)值BPS、PPS禾口 /或SR。 反之,若兩時(shí)間戳160和166不等,則新的數(shù)據(jù)包N和前一個(gè)數(shù)據(jù)包(N_l)進(jìn)入更 新模塊110的時(shí)間間隔超過(guò)一秒(換句話說(shuō),數(shù)據(jù)包N和數(shù)據(jù)包(N-l)不在同一統(tǒng)計(jì)值收 集周期內(nèi))。相應(yīng)地,將存儲(chǔ)的時(shí)間戳160設(shè)為新的數(shù)據(jù)包N的時(shí)間戳166,且刷新存儲(chǔ)的 統(tǒng)計(jì)值162 (例如,設(shè)置為一初始值,該值可以為零)。例如,可以設(shè)置PPS或SR為一初始值 l,且可以設(shè)置BPS為當(dāng)前進(jìn)入的數(shù)據(jù)包的包長(zhǎng)(字節(jié))。因此,在存儲(chǔ)器140中,對(duì)于一特 定源IP地址的時(shí)間戳和統(tǒng)計(jì)值,并非每秒更新/刷新。相反,根據(jù)何時(shí)收到來(lái)自與該特定 源IP地址相關(guān)的數(shù)據(jù)包,非周期地刷新/更新(不規(guī)則的間斷)該時(shí)間戳和統(tǒng)計(jì)值。換句 話說(shuō),更新/刷新為由事件驅(qū)動(dòng)(event-driven),而非時(shí)間驅(qū)動(dòng)(time-driven)。由此,減 少了更新時(shí)間,同時(shí)降低了對(duì)反DoS/DDoS帶寬的占用。 在一個(gè)實(shí)施例中,除了上述由事件驅(qū)動(dòng)(非周期)的刷新,針對(duì)源IP地址,刷新模 塊120周期地更新存儲(chǔ)器140中的時(shí)間戳,并周期地刷新存儲(chǔ)器140中的統(tǒng)計(jì)值,以防止由 長(zhǎng)時(shí)間內(nèi)沒有來(lái)自該源IP地址的數(shù)據(jù)包進(jìn)入更新模塊110而可能造成的錯(cuò)誤。例如,如上 所述,系統(tǒng)時(shí)鐘130可以為一n位時(shí)鐘,該時(shí)鐘從零開始,每秒增加一 ;這樣,在第2n秒時(shí), 系統(tǒng)時(shí)鐘130復(fù)零。假設(shè),在第一秒時(shí),源IP地址為IP_N1的第一個(gè)數(shù)據(jù)包Pl進(jìn)入更新 模塊110,該數(shù)據(jù)包的時(shí)間戳為零;則更新模塊110向存儲(chǔ)器140發(fā)送新的時(shí)間戳166 (為 零),且更新存儲(chǔ)器140中的統(tǒng)計(jì)值(例如,增加統(tǒng)計(jì)值,并存儲(chǔ)該統(tǒng)計(jì)值)。然后,假設(shè)在第 二秒和第2n秒之間,沒有一個(gè)源IP地址為IP_N的數(shù)據(jù)包進(jìn)入更新模塊110。在第(2n+l) 秒時(shí),源IP地址為IP_N1 (和第一個(gè)數(shù)據(jù)包PI的源IP地址相同)的第二個(gè)數(shù)據(jù)包P2進(jìn)入 更新模塊110,其時(shí)間戳為零,雖然第一個(gè)數(shù)據(jù)包P 1和第二個(gè)數(shù)據(jù)包P2的間隔為(2n+l) 秒。即使兩個(gè)數(shù)據(jù)包PI和P2不在同一統(tǒng)計(jì)值收集周期內(nèi),因?yàn)槠鋾r(shí)間戳相同,所以關(guān)于源 IP地址的存儲(chǔ)的統(tǒng)計(jì)值將被更新,除非有一機(jī)制防止該錯(cuò)誤的發(fā)生。相應(yīng)地,在一個(gè)實(shí)施例 中,當(dāng)一刷新周期結(jié)束時(shí),刷新模塊120周期且自動(dòng)地更新時(shí)間戳并刷新統(tǒng)計(jì)值。其中,自 動(dòng)刷新周期可以介于一秒至(2n_l)秒之間。 更具體地說(shuō),在一個(gè)實(shí)施例中,在刷新周期的末期,刷新模塊120從存儲(chǔ)器140中 讀取每個(gè)IP地址的存儲(chǔ)的時(shí)間戳160,且將這些時(shí)間戳和由系統(tǒng)時(shí)鐘130提供的系統(tǒng)時(shí)間 132相比較。若一 IP地址的存儲(chǔ)的時(shí)間戳160和系統(tǒng)時(shí)間132不等,則刷新模塊120更新 存儲(chǔ)器140中關(guān)于該IP地址的時(shí)間戳,且刷新與該IP地址相關(guān)的存儲(chǔ)的統(tǒng)計(jì)值162。也就 是說(shuō),在每個(gè)刷新周期的末期,對(duì)于其時(shí)間戳不等于系統(tǒng)時(shí)間132的每個(gè)IP地址,刷新周期 120將該IP地址的存儲(chǔ)的時(shí)間戳160設(shè)為系統(tǒng)時(shí)間132,并將存儲(chǔ)的統(tǒng)計(jì)值162設(shè)為初始 值(例如,零)。若在每個(gè)刷新周期的末期,與一IP地址相關(guān)的存儲(chǔ)的時(shí)間戳160和系統(tǒng)時(shí) 間132相等,則不更新與該IP地址相關(guān)的存儲(chǔ)的統(tǒng)計(jì)值162。 刷新周期越短,越頻繁地更新/刷新存儲(chǔ)器中的時(shí)間戳和統(tǒng)計(jì)值。為使刷新不太 頻繁,可以選擇接近(2n_l)秒的一個(gè)值為刷新周期。 圖1的統(tǒng)計(jì)值刷新系統(tǒng)100不僅可以應(yīng)用在反DoS攻擊/反DDoS攻擊領(lǐng)域,可以 應(yīng)用在其它的需要刷新基于速率的統(tǒng)計(jì)值的場(chǎng)合。 圖2為一計(jì)算機(jī)實(shí)施的統(tǒng)計(jì)值刷新方法的流程圖200,該統(tǒng)計(jì)值刷新方法用于刷 新統(tǒng)計(jì)目標(biāo)的基于速率的統(tǒng)計(jì)值。在這里,統(tǒng)計(jì)目標(biāo)為能夠以基于速率的統(tǒng)計(jì)值進(jìn)行統(tǒng)計(jì) 的目標(biāo)。例如,來(lái)自同一IP地址的數(shù)據(jù)包構(gòu)成一統(tǒng)計(jì)目標(biāo)。在一個(gè)實(shí)施例中,該流程圖是由存儲(chǔ)在一計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可執(zhí)行的指令而實(shí)施的。結(jié)合圖1描述圖2。以下 描述是基于相同源IP地址的數(shù)據(jù)包,其它源IP地址的數(shù)據(jù)包應(yīng)以同樣方式對(duì)待。
在步驟202,將進(jìn)入更新模塊110的前一個(gè)數(shù)據(jù)包的時(shí)間戳(數(shù)據(jù)包N-l)和與該 時(shí)間戳相關(guān)的統(tǒng)計(jì)值(也就是,在時(shí)間戳所定義的時(shí)間段里積累得到的統(tǒng)計(jì)值)存儲(chǔ)到存 儲(chǔ)器140中。當(dāng)一數(shù)據(jù)包進(jìn)入更新模塊110時(shí),系統(tǒng)時(shí)鐘130提供的系統(tǒng)時(shí)間132為該數(shù) 據(jù)包的時(shí)間戳。 在步驟204,更新模塊110比較一新的數(shù)據(jù)包(數(shù)據(jù)包N)的時(shí)間戳和數(shù)據(jù)包(N-l) 的時(shí)間戳。更具體地說(shuō),當(dāng)新的數(shù)據(jù)包N進(jìn)入更新模塊IIO,更新模塊IIO從存儲(chǔ)器140中 讀取存儲(chǔ)的時(shí)間戳160,該時(shí)間戳160為數(shù)據(jù)包(N-l)的時(shí)間戳,并將新的數(shù)據(jù)包N的時(shí)間 戳和該存儲(chǔ)的時(shí)間戳160相比較。 在步驟206,根據(jù)時(shí)間戳的比較結(jié)果,更新模塊110更新/刷新存儲(chǔ)器140中的時(shí) 間戳和統(tǒng)計(jì)值。更具體地說(shuō),若比較結(jié)果為不相等,發(fā)送新的時(shí)間戳166(新的數(shù)據(jù)包N的 時(shí)間戳)以更新存儲(chǔ)的時(shí)間戳160,且刷新存儲(chǔ)的統(tǒng)計(jì)值(例如,設(shè)置為O)。若比較結(jié)果為 相等,不更新存儲(chǔ)器140中的時(shí)間戳,但更新存儲(chǔ)的統(tǒng)計(jì)值(增加)。 在步驟208,刷新模塊120周期地更新/刷新存儲(chǔ)器140中的時(shí)間戳和統(tǒng)計(jì)值,以 防止由于長(zhǎng)時(shí)間沒有數(shù)據(jù)包進(jìn)入更新模塊110而可能產(chǎn)生的錯(cuò)誤。 總的來(lái)說(shuō),現(xiàn)有技術(shù)中,周期地刷新基于速率的統(tǒng)計(jì)值(例如,每秒刷新)。相反 地,根據(jù)本發(fā)明的實(shí)施例,采用非周期地刷新基于速率的統(tǒng)計(jì)值若在一統(tǒng)計(jì)值收集周期 (例如,l秒鐘內(nèi))收到與統(tǒng)計(jì)值相關(guān)的一個(gè)數(shù)據(jù)包,且在該統(tǒng)計(jì)值收集周期中再?zèng)]有收到 這類的數(shù)據(jù)包,則不刷新統(tǒng)計(jì)值(除非,在一實(shí)施例中,確定一特定的刷新周期以前述方式 周期地刷新)。實(shí)際上,與源IP地址相關(guān)的計(jì)數(shù)器閑置且保持它們的當(dāng)前值,直到收到與該 源IP地址相關(guān)的數(shù)據(jù)包或者自動(dòng)刷新周期結(jié)束。相應(yīng)地,相對(duì)于現(xiàn)有技術(shù),本發(fā)明的刷新 次數(shù)減少(刷新頻率降低),所以,降低了對(duì)帶寬的占用,且減少刷新所耗費(fèi)的時(shí)間。
上文具體實(shí)施方式
和附圖僅為本發(fā)明的常用實(shí)施例。顯然,在不脫離所附權(quán)利要 求書所界定的本發(fā)明精神和保護(hù)范圍的前提下可以有各種增補(bǔ)、修改和替換。本領(lǐng)域技術(shù) 人員應(yīng)該理解,本發(fā)明在實(shí)際應(yīng)用中可根據(jù)具體的環(huán)境和工作要求在不背離發(fā)明準(zhǔn)則的前 提下在形式、結(jié)構(gòu)、布局、比例、材料、元素、組件及其它方面有所變化。因此,在此披露的實(shí) 施例僅用于說(shuō)明而非限制,本發(fā)明的范圍由所附權(quán)利要求及其合法等同物界定,而不限于 此前的描述。
9
權(quán)利要求
一種統(tǒng)計(jì)值刷新系統(tǒng),用于刷新存儲(chǔ)在一存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值,其特征在于,該統(tǒng)計(jì)值刷新系統(tǒng)包括時(shí)鐘,用于提供一時(shí)間值作為每個(gè)統(tǒng)計(jì)目標(biāo)的時(shí)間戳,其中所述統(tǒng)計(jì)目標(biāo)至少包括第一目標(biāo)和第二目標(biāo),且所述第一目標(biāo)和所述第二目標(biāo)屬于同一組;以及統(tǒng)計(jì)值更新器,其耦合到所述時(shí)鐘,用于非周期地更新與所述組相關(guān)的基于速率的統(tǒng)計(jì)值。
2. 根據(jù)權(quán)利要求1所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,所述第一目標(biāo)的源IP地址和 所述第二目標(biāo)的源IP地址相同。
3 根據(jù)權(quán)利要求1所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,僅當(dāng)所述第一目標(biāo)的時(shí)間戳 和所述第二目標(biāo)的時(shí)間戳相等時(shí),更新與所述組相關(guān)的基于速率的統(tǒng)計(jì)值。
4. 根據(jù)權(quán)利要求1所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,若所述第一目標(biāo)的時(shí)間戳和 所述第二目標(biāo)的時(shí)間戳不相等時(shí),初始化所述組的基于速率的統(tǒng)計(jì)值。
5. 根據(jù)權(quán)利要求1所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,所述組還包括一第三目標(biāo),其 在所述第一目標(biāo)和所述第二目標(biāo)之后到達(dá)所述統(tǒng)計(jì)值刷新系統(tǒng),僅當(dāng)關(guān)于所述組的基于速 率的統(tǒng)計(jì)值的時(shí)間戳和所述第三目標(biāo)的時(shí)間戳相等時(shí),更新所述組的基于速率的統(tǒng)計(jì)值至 包含所述第三目標(biāo)的統(tǒng)計(jì)值。
6. 根據(jù)權(quán)利要求1所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,所述組還包括一第三目標(biāo),其 在所述第一 目標(biāo)和所述第二目標(biāo)之后到達(dá)所述統(tǒng)計(jì)值刷新系統(tǒng),若與所述組相關(guān)的基于速 率的統(tǒng)計(jì)值的時(shí)間戳和所述第三目標(biāo)的時(shí)間戳不相等時(shí),初始化所述組的基于速率的統(tǒng)計(jì) 值;若初始化所述組的基于速率的統(tǒng)計(jì)值,將與所述組相關(guān)的基于速率的統(tǒng)計(jì)值的時(shí)間戳 改為所述第三目標(biāo)的時(shí)間戳。
7. 根據(jù)權(quán)利要求1所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,還包括統(tǒng)計(jì)值刷新器,其耦合到所述統(tǒng)計(jì)值更新器,用于和所述統(tǒng)計(jì)值更新器一起周期地刷 新所述存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值,當(dāng)一預(yù)設(shè)刷新周期結(jié)束時(shí),所述統(tǒng)計(jì)值刷新器刷新 所述存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值。
8. 根據(jù)權(quán)利要求7所述的統(tǒng)計(jì)值刷新系統(tǒng),其特征在于,若所述時(shí)鐘為一n比特的時(shí) 鐘,則所述預(yù)設(shè)刷新周期介于1秒至2n_l秒之間。
9. 一種統(tǒng)計(jì)值刷新方法,用于刷新存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值,其特征在于,所述統(tǒng) 計(jì)值刷新方法包括獲得與一組統(tǒng)計(jì)目標(biāo)相關(guān)的基于速率的統(tǒng)計(jì)值的第一時(shí)間戳;將一第一統(tǒng)計(jì)目標(biāo)的第二時(shí)間戳和所述第一時(shí)間戳相比較,其中所述第一統(tǒng)計(jì)目標(biāo)與 所述一組統(tǒng)計(jì)目標(biāo)相關(guān);以及若所述第一時(shí)間戳和所述第二時(shí)間戳不相等,則刷新所述一組統(tǒng)計(jì)目標(biāo)的基于速率的 統(tǒng)計(jì)值至一預(yù)設(shè)值,否則增加所述統(tǒng)計(jì)值。
10. 根據(jù)權(quán)利要求9所述的統(tǒng)計(jì)值刷新方法,其特征在于,還包括若所述基于速率的統(tǒng)計(jì)值初始化為所述預(yù)設(shè)值,則將所述第一時(shí)間戳變?yōu)榕c所述第二 時(shí)間戳相等。
11. 根據(jù)權(quán)利要求9所述的統(tǒng)計(jì)值刷新方法,其特征在于,還包括 獲得與所述第一統(tǒng)計(jì)目標(biāo)相關(guān)的識(shí)別信息;以及使用所述識(shí)別信息標(biāo)記所述第一時(shí)間戳和所述一組統(tǒng)計(jì)目標(biāo)的基于速率的統(tǒng)計(jì)值。
12. 根據(jù)權(quán)利要求11所述的統(tǒng)計(jì)值刷新方法,其特征在于,所述識(shí)別信息包括一源IP 地址。
13. 根據(jù)權(quán)利要求9所述的統(tǒng)計(jì)值刷新方法,其特征在于,還包括當(dāng)一預(yù)設(shè)的刷新周期結(jié)束,自動(dòng)更新與所述一組統(tǒng)計(jì)目標(biāo)相關(guān)的所述基于速率的統(tǒng)計(jì)值。
14. 根據(jù)權(quán)利要求13所述的統(tǒng)計(jì)值刷新方法,其特征在于,使用一n比特的時(shí)鐘產(chǎn)生所 述預(yù)設(shè)的刷新周期時(shí),則所述預(yù)設(shè)的刷新周期介于1秒至(2n_l)秒之間。
15. —種統(tǒng)計(jì)值刷新方法,用于刷新存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值,其特征在于,所述 統(tǒng)計(jì)值刷新方法包括識(shí)別有相同源IP地址的第一數(shù)據(jù)包和第二數(shù)據(jù)包;判斷所述第一數(shù)據(jù)包和所述第二數(shù)據(jù)包是否是在同一統(tǒng)計(jì)值收集周期中被接受的;以及若所述第一數(shù)據(jù)包和所述第二數(shù)據(jù)包在所述同一統(tǒng)計(jì)值收集周期中,增加與所述源IP 地址相關(guān)的基于速率的統(tǒng)計(jì)值,否則,初始化與所述源IP地址相關(guān)的基于速率的統(tǒng)計(jì)值。
16. 根據(jù)權(quán)利要求15所述的統(tǒng)計(jì)值刷新方法,其特征在于,所述判斷還進(jìn)一步包括將 所述第一數(shù)據(jù)包的第一時(shí)間戳和所述第二數(shù)據(jù)包的第二時(shí)間戳相比較,若所述第一和第二 時(shí)間戳相等,則所述第一數(shù)據(jù)包和所述第二數(shù)據(jù)包是在同一統(tǒng)計(jì)值收集周期中被接受的。
17. 根據(jù)權(quán)利要求16所述的統(tǒng)計(jì)值刷新方法,其特征在于,若所述第一時(shí)間戳和所述 第二時(shí)間戳不等,則所述的統(tǒng)計(jì)值刷新方法還包括將所述第一時(shí)間戳和所述第二時(shí)間戳中較晚的時(shí)間戳和與所述源IP地址相關(guān)的統(tǒng)計(jì) 值相聯(lián)系。
18. 根據(jù)權(quán)利要求16所述的統(tǒng)計(jì)值刷新方法,其特征在于,若所述第一時(shí)間戳和所述 第二時(shí)間戳相等,則所述的統(tǒng)計(jì)值刷新方法還包括將所述第一時(shí)間戳和所述第二時(shí)間戳和與所述源IP地址相關(guān)的統(tǒng)計(jì)值相聯(lián)系。
19. 根據(jù)權(quán)利要求15所述的統(tǒng)計(jì)值刷新方法,其特征在于,所述統(tǒng)計(jì)值刷新方法包括 當(dāng)一預(yù)設(shè)的刷新周期結(jié)束,自動(dòng)更新所述在同一統(tǒng)計(jì)值收集周期中被接受的數(shù)據(jù)包的統(tǒng)計(jì)值。
20. 根據(jù)權(quán)利要求19所述的統(tǒng)計(jì)值刷新方法,其特征在于,使用一n比特的時(shí)鐘產(chǎn)生所 述預(yù)設(shè)的刷新周期時(shí),所述預(yù)設(shè)的刷新周期介于l秒至(2n_l)秒之間。
全文摘要
本發(fā)明提供一種統(tǒng)計(jì)值刷新系統(tǒng)以及方法,特別涉及一種非周期的統(tǒng)計(jì)值刷新方法以及系統(tǒng),用于刷新存儲(chǔ)器中的基于速率的統(tǒng)計(jì)值,其包括獲得與一組統(tǒng)計(jì)目標(biāo)相關(guān)的基于速率的統(tǒng)計(jì)值的第一時(shí)間戳;將一第一統(tǒng)計(jì)目標(biāo)的第二時(shí)間戳和所述第一時(shí)間戳相比較,其中所述第一統(tǒng)計(jì)目標(biāo)與所述一組統(tǒng)計(jì)目標(biāo)相關(guān);以及若所述第一時(shí)間戳和所述第二時(shí)間戳不相等,則刷新所述一組統(tǒng)計(jì)目標(biāo)的基于速率的統(tǒng)計(jì)值至一預(yù)設(shè)值,否則增加所述統(tǒng)計(jì)值;與現(xiàn)有技術(shù)相比,本發(fā)明的統(tǒng)計(jì)值刷新方法以及系統(tǒng)消耗較少的時(shí)間,占用較少的存儲(chǔ)器的帶寬。
文檔編號(hào)H04L29/06GK101741815SQ20081017843
公開日2010年6月16日 申請(qǐng)日期2008年11月26日 優(yōu)先權(quán)日2008年11月26日
發(fā)明者夏展宏, 甘云慧, 陳平 申請(qǐng)人:凹凸電子(武漢)有限公司