專(zhuān)利名稱(chēng)::數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信系統(tǒng)流統(tǒng)計(jì)
技術(shù)領(lǐng)域:
,尤其涉及一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法及裝置。
背景技術(shù):
:隨著互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)規(guī)??涨褒嫶?,各種網(wǎng)絡(luò)攻擊也越來(lái)越多,因此在網(wǎng)絡(luò)設(shè)備上監(jiān)控網(wǎng)絡(luò)流量分布是十分有必要的,這為有針對(duì)性地阻止網(wǎng)絡(luò)攻擊提供了必要的參考。為了對(duì)數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),出現(xiàn)了很多基于流統(tǒng)計(jì)的技術(shù),例如這些技術(shù)都能統(tǒng)計(jì)一段時(shí)間內(nèi)的數(shù)據(jù)包和字節(jié)數(shù)的情況,但是這些技術(shù)都是基于每個(gè)數(shù)據(jù)包進(jìn)行單獨(dú)統(tǒng)計(jì)的,會(huì)消耗大量的CPU資源,另外,由于用于統(tǒng)計(jì)的帶寬資源的限制,所能統(tǒng)計(jì)的數(shù)據(jù)包也是有限的。為了降低CPU負(fù)擔(dān),同時(shí)也為了統(tǒng)計(jì)更大范圍的流量分布情況,一般會(huì)采用抽樣統(tǒng)計(jì)技術(shù),這樣既能有效降低統(tǒng)計(jì)的數(shù)據(jù)流量,又能準(zhǔn)確了解數(shù)據(jù)的流量分布情況?,F(xiàn)有抽樣統(tǒng)計(jì)一般是基于網(wǎng)絡(luò)設(shè)備的接口按照一定方式進(jìn)行抽樣的,抽樣方式包括按包抽樣和按時(shí)間抽樣兩種。按包抽樣又包括固定按包抽樣和隨機(jī)按包抽樣,固定按包抽樣就是間隔固定數(shù)量的數(shù)據(jù)包進(jìn)行抽樣,例如,抽樣間隔為4時(shí),是只每4個(gè)數(shù)據(jù)包抽取1個(gè),隨機(jī)按包抽樣就是在一個(gè)抽樣間隔內(nèi)抽取的數(shù)據(jù)包是隨機(jī)的,例如,隨機(jī)抽取第10、100以及第1000數(shù)據(jù)包;按時(shí)間抽樣就是在抽樣周期內(nèi)進(jìn)行抽樣,例如,抽樣周期0.5s內(nèi)抽取1個(gè)數(shù)據(jù)包。對(duì)于流量分布的統(tǒng)計(jì),主要關(guān)注數(shù)據(jù)流的分布情況,但是上述抽樣統(tǒng)計(jì)方式都是僅基于接口進(jìn)行的,不能很好的區(qū)分各種數(shù)據(jù)包的流量分布。例如,通常一個(gè)接口上同時(shí)并發(fā)的數(shù)據(jù)流非常大,數(shù)十萬(wàn)條數(shù)據(jù)流同時(shí)存在,多的同時(shí)有上百萬(wàn)條或更多,這樣容易出現(xiàn)大流淹沒(méi)小流的情況,使得數(shù)據(jù)量小的數(shù)據(jù)包很難被抽中,這會(huì)導(dǎo)致小流量數(shù)據(jù)包的統(tǒng)計(jì)與實(shí)際偏差較大,不能4艮好體現(xiàn)實(shí)際的數(shù)據(jù)流分布情況,致使抽樣失真
發(fā)明內(nèi)容有鑒于此,本發(fā)明在上述抽樣統(tǒng)計(jì)方案的基礎(chǔ)上,提供一種改進(jìn)的數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法和裝置,以降低抽樣失真度。為此,本發(fā)明采用如下技術(shù)方案一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法,包括步驟預(yù)置各類(lèi)數(shù)據(jù)包計(jì)數(shù)器;提取所接收數(shù)據(jù)包的關(guān)鍵字,從而獲知該數(shù)據(jù)包的類(lèi)型;對(duì)所述類(lèi)型數(shù)據(jù)包的計(jì)數(shù)器值加l,并對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣間隔進(jìn)行^#運(yùn)算;若取模結(jié)果為系統(tǒng)預(yù)置的抽樣值,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。優(yōu)選地,在預(yù)置計(jì)數(shù)器時(shí),是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,對(duì)提取的IP五元組進(jìn)行所述哈希運(yùn)算,利用該哈希值確定該數(shù)據(jù)包類(lèi)型?;蛘?,在預(yù)置計(jì)數(shù)器時(shí),是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,利用部分或全部IP五元組確定該數(shù)據(jù)包類(lèi)型。一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法,包括預(yù)置計(jì)時(shí)器,并預(yù)置各類(lèi)數(shù)據(jù)包抽樣標(biāo)志,當(dāng)計(jì)時(shí)器值為預(yù)置抽樣周期整數(shù)倍時(shí),將所述抽樣標(biāo)志置位;提取接收的數(shù)據(jù)包的關(guān)鍵字,從而獲知該數(shù)據(jù)包的類(lèi)型;判斷該類(lèi)數(shù)據(jù)包抽樣標(biāo)志是否置位,如果置位,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣,同時(shí)將抽樣標(biāo)志復(fù)位。優(yōu)選地,在預(yù)置抽樣標(biāo)志時(shí),是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,對(duì)提取的IP五元組進(jìn)行所述哈希運(yùn)算,利用該哈希值確定該數(shù)據(jù)包類(lèi)型。或者,在預(yù)置抽樣標(biāo)志時(shí),是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,利用部分或全部IP五元組確定該數(shù)據(jù)包類(lèi)型。一種婆:據(jù)包抽樣統(tǒng)計(jì)的裝置,包括用于接收彩:據(jù)包的接口單元、用于解析所述數(shù)據(jù)包獲取關(guān)鍵字的解析單元、用于保存抽樣值的預(yù)置單元,以及,對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)的抽樣統(tǒng)計(jì)單元,所述預(yù)置單元還保存抽樣值;所述裝置還包括索引表存儲(chǔ)單元,用于存儲(chǔ)各類(lèi)數(shù)據(jù)包對(duì)應(yīng)的計(jì)數(shù)器;匹配單元,用于按照所述解析單元提取的關(guān)鍵字匹配所迷索引表,獲知數(shù)據(jù)包對(duì)應(yīng)的計(jì)數(shù)器,并更新所述索引表對(duì)該計(jì)數(shù)器加1;取模單元,用于對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣間隔進(jìn)行取模運(yùn)算;判斷單元,用于判斷取模結(jié)果是否為預(yù)置的抽樣值,若是,指示所述抽樣統(tǒng)計(jì)單元對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。其中,所述索引表,是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配單元,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組并進(jìn)行所述哈希運(yùn)算,利用該哈希值匹配所述索引表,從而確定該數(shù)據(jù)包類(lèi)型;或者,所述索引表,是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配單元,/人關(guān)鍵字中提取數(shù)據(jù)包IP五元組,并利用部分或全部IP五元組匹配所述索引表,從而確定該數(shù)據(jù)包類(lèi)型。一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的裝置,包括計(jì)時(shí)器、用于接收數(shù)據(jù)包的接口模塊、用于解析所述數(shù)據(jù)包獲取關(guān)鍵字的解析模塊、用于保存抽樣周期的預(yù)置模塊,以及,對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)的抽樣統(tǒng)計(jì)模塊,所述裝置還包括索引模塊,用于存儲(chǔ)各類(lèi)數(shù)據(jù)包對(duì)應(yīng)的抽樣標(biāo)志,并當(dāng)計(jì)時(shí)器值為抽樣周期整數(shù)倍時(shí),負(fù)責(zé)將抽樣標(biāo)志置位;匹配模塊,用于按照所述解析模塊提取的關(guān)鍵字匹配所述索引模塊,獲知數(shù)據(jù)包對(duì)應(yīng)的抽樣標(biāo)志;判斷模塊,如果抽樣標(biāo)志置位,則指示所述抽樣統(tǒng)計(jì)模塊對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì),同時(shí)指示所述索引模塊將抽樣標(biāo)志復(fù)位。其中,所述索引模塊,是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配模塊,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組并進(jìn)行所述哈希運(yùn)算,利用該哈希值匹配所述索引模塊,從而確定該數(shù)據(jù)包類(lèi)型;或者,所述索引模塊,是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配模塊,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,并利用部分或全部IP五元組匹配所述索引模塊,從而確定該數(shù)據(jù)包類(lèi)型。對(duì)于上述技術(shù)方案的技術(shù)效果分析如下在現(xiàn)有抽樣統(tǒng)計(jì)方案中,是按照全部數(shù)據(jù)包進(jìn)行按包或按時(shí)間抽取,對(duì)于小流量數(shù)據(jù)包,很容易淹沒(méi)在大流量數(shù)據(jù)包中而難以被抽取,從而增加了抽樣失真度,本發(fā)明對(duì)數(shù)據(jù)包進(jìn)行按類(lèi)抽樣,針對(duì)每一類(lèi)進(jìn)行按包或^t姿時(shí)間進(jìn)行抽取,保證每類(lèi)數(shù)據(jù)包能夠被抽中,從而盡可能還原真實(shí)流量分布情況,降低抽樣失真度,為阻止網(wǎng)絡(luò)攻擊提供真實(shí)可靠的參考。其中,可以按照IP五元組對(duì)數(shù)據(jù)包進(jìn)行分類(lèi),優(yōu)選地,利用IP五元組信息進(jìn)行哈希運(yùn)算值對(duì)數(shù)據(jù)包分類(lèi),從而在不過(guò)多增加系統(tǒng)負(fù)擔(dān)的情況下,實(shí)現(xiàn)抽樣統(tǒng)計(jì)。圖1為本發(fā)明方法流程圖;圖2為本發(fā)明方法按包抽樣示意圖;圖3為本發(fā)明方法按時(shí)間抽樣示意圖;圖4為本發(fā)明第一裝置示意圖;圖5為本發(fā)明第二裝置示意圖。具體實(shí)施方式本發(fā)明與現(xiàn)有技術(shù)簡(jiǎn)單基于接口進(jìn)行數(shù)據(jù)包的抽樣統(tǒng)計(jì)不同,對(duì)數(shù)據(jù)包進(jìn)行類(lèi)別區(qū)分,保證從各類(lèi)數(shù)據(jù)包都進(jìn)行抽樣統(tǒng)計(jì),避免小流量的數(shù)據(jù)包淹沒(méi)在大流量數(shù)據(jù)包中,從而減小抽樣失真度。本發(fā)明按類(lèi)抽樣的方法既可以適用于按包抽樣,也可以適用按時(shí)間抽樣。首先,介紹按包抽樣的方法。概括而言,本發(fā)明提供的按包抽樣包括以下步驟[1]預(yù)置各類(lèi)數(shù)據(jù)包計(jì)數(shù)器;[2]提取接收的數(shù)據(jù)包的關(guān)4定字,從而獲知該數(shù)據(jù)包的類(lèi)型;[3]對(duì)所述數(shù)據(jù)包所屬類(lèi)型對(duì)應(yīng)的計(jì)數(shù)器值加1,并對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣間隔進(jìn)行取模運(yùn)算;[4]若計(jì)數(shù)器值取模結(jié)果為系統(tǒng)預(yù)置的抽樣值,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣。上面所述的數(shù)據(jù)包的關(guān)鍵字,一般包括數(shù)據(jù)包的IP五元組,以及接收該數(shù)據(jù)包的接口信息和其他必要信息。如何對(duì)數(shù)據(jù)包進(jìn)行分類(lèi),最極限也是最徹底的方法是按照數(shù)據(jù)包的IP五元組各項(xiàng)進(jìn)行嚴(yán)格區(qū)分,當(dāng)然也可以按照部分IP五元組進(jìn)行區(qū)分,本發(fā)明優(yōu)選以IP五元組的哈希運(yùn)算值對(duì)數(shù)據(jù)包進(jìn)行分類(lèi),這種分類(lèi)是近似分類(lèi),有可能出現(xiàn)IP五元組不同卻屬于一類(lèi)的情況,但是通過(guò)簡(jiǎn)單的哈希運(yùn)算不會(huì)占用系統(tǒng)過(guò)多資源,又能很好地對(duì)數(shù)據(jù)包進(jìn)行分類(lèi)。哈希運(yùn)算具體方式可任意選擇,例如,對(duì)IP五元組進(jìn)行字節(jié)"異或"操作或者"與,,操作就都是很簡(jiǎn)單的哈希運(yùn)算,對(duì)于所有IP五元組總共會(huì)計(jì)算出N個(gè)不同值,然后利用各哈希運(yùn)算結(jié)果作為索引,建立各類(lèi)數(shù)據(jù)包計(jì)數(shù)器表,參見(jiàn)表l,為初始索引表。表1<table>tableseeoriginaldocumentpage9</column></row><table>當(dāng)數(shù)據(jù)包進(jìn)入網(wǎng)絡(luò)設(shè)備接口時(shí),利用數(shù)據(jù)包IP五元組進(jìn)行與上述相同的哈希運(yùn)算,即可得到哈希值,然后按照表1進(jìn)行匹配,獲知該數(shù)據(jù)包所屬類(lèi)型的計(jì)數(shù)器值。相對(duì)于所有數(shù)據(jù)包都共用一個(gè)計(jì)數(shù)器統(tǒng)計(jì)的方式,漏抽的概率要小很多,抽樣失真度就會(huì)小很多,隨著N值的擴(kuò)大,抽樣失真度會(huì)更小。對(duì)于數(shù)據(jù)包所匹配上的計(jì)數(shù)器值,進(jìn)行加l操作;最后,判斷最新計(jì)數(shù)器值是否滿(mǎn)足抽樣條件,如果滿(mǎn)足,則對(duì)該lt據(jù)包進(jìn)行抽樣。抽樣條件的判斷可以通過(guò)所匹配計(jì)數(shù)器值與抽樣間隔進(jìn)行取模運(yùn)算值進(jìn)行判斷,對(duì)于固定按包抽樣,可以在取模結(jié)果等于某一固定值時(shí)進(jìn)行抽樣,對(duì)于隨機(jī)按包抽樣,可以在取模結(jié)果等于某個(gè)隨機(jī)值時(shí)進(jìn)行抽樣,隨機(jī)值每一個(gè)抽樣周期變化一次。參見(jiàn)圖1,為按包抽樣方法流程圖。包括步驟101:針對(duì)網(wǎng)絡(luò)設(shè)備的^^妄口,均預(yù)置一個(gè)包含各類(lèi)數(shù)據(jù)包索引值及計(jì)數(shù)器值的索引表;索引值可以通過(guò)部分或全部IP五元組確定;優(yōu)選地,索引值是通過(guò)對(duì)IP五元組進(jìn)行哈希運(yùn)算得到的。步驟102:網(wǎng)絡(luò)設(shè)備某接口接收到數(shù)據(jù)包;步驟103:解析數(shù)據(jù)包獲取關(guān)鍵字;步驟104:利用關(guān)鍵字中IP五元組進(jìn)行哈希運(yùn)算,利用哈希值匹配索引表;步驟105:對(duì)匹配項(xiàng)的計(jì)數(shù)器值加l;步驟106:計(jì)數(shù)器值與抽樣間隔進(jìn)行^^莫運(yùn)算;步驟107:取模運(yùn)算結(jié)果是否滿(mǎn)足抽樣條件,若是,執(zhí)行步驟108,否貝'J,不對(duì)該數(shù)據(jù)包進(jìn)行抽樣,直接返回執(zhí)行步驟102,對(duì)下一數(shù)據(jù)包進(jìn)行處理;步驟108:對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì),返回執(zhí)行步驟102,對(duì)下一lt據(jù)包進(jìn)行處理。下面以一個(gè)具體實(shí)例進(jìn)行說(shuō)明。參見(jiàn)圖2,網(wǎng)絡(luò)設(shè)備某接口所接收數(shù)據(jù)包示意圖。由圖可知,兩類(lèi)數(shù)據(jù)包隨機(jī)交替出現(xiàn),第一類(lèi)數(shù)據(jù)包在圖中以方形表示,第二類(lèi)數(shù)據(jù)包在圖中以圓形表示,并假設(shè)第一類(lèi)數(shù)據(jù)包流量大于第二類(lèi)數(shù)據(jù)包流量。現(xiàn)假設(shè)已按某種哈希運(yùn)算建立了索引表,并假設(shè)按照4:1進(jìn)行抽樣,也就是說(shuō)抽樣間隔為4,預(yù)置抽樣值為0。當(dāng)首個(gè)第一類(lèi)數(shù)據(jù)包到達(dá)時(shí),提取該數(shù)據(jù)包的關(guān)鍵字,假設(shè)源IP為16.0.0.1,源端口為3000,協(xié)議類(lèi)型為T(mén)CP,目的IP為152.0.0.1,目的端口為21,對(duì)這些關(guān)鍵字進(jìn)行哈希運(yùn)算,假設(shè)哈希運(yùn)算結(jié)果為15,匹配索引值為15的計(jì)數(shù)器,由于是此類(lèi)第一個(gè)數(shù)據(jù)包,因此,計(jì)數(shù)器值增加1后為1;然后,將計(jì)數(shù)器值l與抽樣周期4進(jìn)行取模運(yùn)算,得到結(jié)果為1;最后,判斷取模結(jié)果是否與預(yù)置的抽樣值一致,顯然與之前預(yù)置的抽樣值0不同,因此,對(duì)該第一個(gè)數(shù)據(jù)包不進(jìn)行抽樣。對(duì)于后續(xù)出現(xiàn)的第一類(lèi)數(shù)據(jù)包,執(zhí)行上述類(lèi)似處理,例如,當(dāng)該類(lèi)第4個(gè)數(shù)據(jù)包到來(lái)時(shí),計(jì)數(shù)器加1后為4,與抽樣周期4進(jìn)行取模后為0,與抽樣值一致,則對(duì)該類(lèi)第4個(gè)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。當(dāng)首個(gè)第二類(lèi)數(shù)據(jù)包到達(dá)時(shí),提取該數(shù)據(jù)包的關(guān)鍵字,假設(shè)源IP為16.0.0.2,源端口為2000,協(xié)議類(lèi)型為T(mén)CP,目的IP為152.0.0.1,目的端口為21,對(duì)這些關(guān)鍵字進(jìn)行哈希運(yùn)算,假設(shè)哈希運(yùn)算結(jié)果為123,匹配索引值為123的計(jì)數(shù)器,由于是此類(lèi)第二個(gè)數(shù)據(jù)包,因此,計(jì)數(shù)器值增加l后為l;然后,將計(jì)數(shù)器值1與抽樣周期4進(jìn)行取才莫運(yùn)算,得到結(jié)果為1;最后,判斷取模結(jié)果是否與預(yù)置的抽樣值一致,顯然與之前預(yù)置的抽樣值O不同,因此,對(duì)該第一個(gè)數(shù)據(jù)包不進(jìn)行抽樣。對(duì)于后續(xù)出現(xiàn)的第二類(lèi)數(shù)據(jù)包,執(zhí)行上述類(lèi)似處理,例如,當(dāng)該類(lèi)第8個(gè)數(shù)據(jù)包到來(lái)時(shí),計(jì)數(shù)器加1后為8,與抽樣周期4進(jìn)行取模后為0,與抽樣值一致,則對(duì)該類(lèi)第8個(gè)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。如果采用現(xiàn)有技術(shù)中按包抽樣方法,第一類(lèi)數(shù)據(jù)包被抽樣的概率遠(yuǎn)比第二類(lèi)數(shù)據(jù)包概率要大,因?yàn)樗前凑照w數(shù)據(jù)包個(gè)數(shù)進(jìn)行間隔抽取的,如圖所示,第一類(lèi)數(shù)據(jù)包與第二類(lèi)數(shù)據(jù)包^皮抽取的比例為6:1(圖2中的一行所示)。在本發(fā)明中,是分別對(duì)每一類(lèi)數(shù)據(jù)包進(jìn)行間隔抽取,第一類(lèi)數(shù)據(jù)包與第二類(lèi)數(shù)據(jù)包被抽取比例為5:2(圖2中的二、三行所示),由此,采用本發(fā)明分類(lèi)抽樣的方法,避免小流被大流淹沒(méi),減小了抽樣失真度。下面,介紹按時(shí)間抽樣的方法。概括而言,本發(fā)明提供的按時(shí)間抽樣包括以下步驟1]預(yù)置計(jì)時(shí)器,并預(yù)置各類(lèi)數(shù)據(jù)包抽樣標(biāo)志,當(dāng)計(jì)時(shí)器值為預(yù)置抽樣周期整數(shù)倍時(shí),將所述抽樣標(biāo)志置位;2]提取接收的數(shù)據(jù)包的關(guān)鍵字,從而獲知該數(shù)據(jù)包的類(lèi)型;3]判斷該類(lèi)數(shù)據(jù)包抽樣標(biāo)志是否置位,如果置位,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣,同時(shí)將抽樣標(biāo)志復(fù)位。與上述按包抽樣類(lèi)似,可以采用數(shù)據(jù)包的IP五元組、部分IP五元組或IP五元組的哈希運(yùn)算值來(lái)對(duì)數(shù)據(jù)包類(lèi)別進(jìn)行區(qū)分。按時(shí)間抽樣的索f1表參見(jiàn)表2。表2<table>tableseeoriginaldocumentpage11</column></row><table>在初始階段,抽樣標(biāo)志處于復(fù)位狀態(tài),假設(shè)復(fù)位時(shí)為O;當(dāng)計(jì)時(shí)器^f直為4由樣周期整數(shù)倍時(shí),會(huì)對(duì)各類(lèi)數(shù)據(jù)包的抽樣標(biāo)志進(jìn)行置位,例如置位時(shí)抽樣標(biāo)志為1,只有在某類(lèi)數(shù)據(jù)包抽樣標(biāo)志置位的條件下,才對(duì)該類(lèi)數(shù)據(jù)包進(jìn)行抽樣,在抽樣后,再將該類(lèi)數(shù)據(jù)包的抽樣標(biāo)志復(fù)位,等待下一個(gè)周期時(shí),重新置^f立和抽包。下面仍以一個(gè)具體實(shí)例進(jìn)4于i兌明。參見(jiàn)圖3,網(wǎng)絡(luò)設(shè)備某接口所接收數(shù)據(jù)包示意圖。由圖可知,兩類(lèi)數(shù)據(jù)包隨機(jī)交替出現(xiàn),第A類(lèi)數(shù)據(jù)包在圖中以三角形表示,第B類(lèi)數(shù)據(jù)包在圖中以橢圓形表示。并假設(shè)第A類(lèi)數(shù)據(jù)包流量大于第B類(lèi)數(shù)據(jù)包流量?,F(xiàn)假設(shè)已按某種p合希運(yùn)算建立了索引表,并假設(shè)每間隔ls抽樣一次,初始抽樣標(biāo)志沒(méi)有置位,當(dāng)?shù)谝粋€(gè)數(shù)據(jù)包到達(dá)時(shí),啟動(dòng)計(jì)時(shí)器。當(dāng)?shù)贏類(lèi)數(shù)據(jù)包到達(dá)時(shí),提取該數(shù)據(jù)包的關(guān)鍵字,假設(shè)源IP為17.0.0.1,源端口為4000,協(xié)議類(lèi)型為T(mén)CP,目的IP為152.0.0.1,目的端口為21,對(duì)這些關(guān)鍵字進(jìn)行哈希運(yùn)算,假設(shè)哈希運(yùn)算結(jié)果為25,匹配索引值為25的抽樣標(biāo)志。初始階段抽樣標(biāo)志沒(méi)有置位,不抽樣。當(dāng)后續(xù)第A類(lèi)數(shù)據(jù)包到達(dá)時(shí),當(dāng)1秒鐘計(jì)時(shí)器到達(dá)時(shí),將A類(lèi)抽樣標(biāo)志置位,這時(shí)第5個(gè)數(shù)據(jù)包為A類(lèi)數(shù)據(jù)包(A類(lèi)標(biāo)志位置位后的首個(gè)A類(lèi)數(shù)據(jù)包),此時(shí)A類(lèi)抽樣標(biāo)志已經(jīng)置位,則抽取該數(shù)據(jù)包,同時(shí)清除抽樣標(biāo)志。后續(xù)包類(lèi)似。當(dāng)?shù)贐類(lèi)數(shù)據(jù)包到達(dá)時(shí),提取該數(shù)據(jù)包的關(guān)鍵字,假設(shè)源IP為17.0.0.2,源端口為5000,協(xié)議類(lèi)型為T(mén)CP,目的IP為152.0.0.1,目的端口為21,對(duì)這些關(guān)鍵字進(jìn)行哈希運(yùn)算,假設(shè)哈希運(yùn)算結(jié)果為128,匹配索引值為128的抽樣標(biāo)志。初始階段抽樣標(biāo)志沒(méi)有置位,不抽樣。當(dāng)后續(xù)第B類(lèi)數(shù)據(jù)包到達(dá)時(shí),當(dāng)1秒鐘計(jì)時(shí)器到達(dá)時(shí),將B類(lèi)抽樣標(biāo)志置位,這時(shí)第7個(gè)數(shù)據(jù)包為B類(lèi)數(shù)據(jù)包(B類(lèi)標(biāo)志位置位后的首個(gè)B類(lèi)數(shù)據(jù)包),此時(shí)B類(lèi)抽樣標(biāo)志已經(jīng)置位,則抽取該數(shù)據(jù)包,同時(shí)清除抽樣標(biāo)志。后續(xù)包類(lèi)似。如果釆用現(xiàn)有技術(shù)的抽樣方法,第A類(lèi)數(shù)據(jù)包^皮抽樣的概率比第B類(lèi)凄t據(jù)包概率要大,因?yàn)樗前凑照w數(shù)據(jù)包進(jìn)行時(shí)間間隔抽取的,如圖所示,第A類(lèi)數(shù)據(jù)包與第B類(lèi)數(shù)據(jù)包被抽取的比例為6:1(圖3中第一行所示)。在本發(fā)明中,是分別對(duì)每A類(lèi)數(shù)據(jù)包進(jìn)行間隔抽取,第A類(lèi)數(shù)據(jù)包與第B類(lèi)數(shù)據(jù)包被抽取比例為6:3(圖3中第二、三行所示),由此,采用本發(fā)明分類(lèi)抽樣的方法,避免小流被大流淹沒(méi),減小了抽樣失真度。與上述方法相對(duì)應(yīng),本發(fā)明還提供了數(shù)據(jù)包抽樣統(tǒng)計(jì)的兩種裝置,可分別用于對(duì)按包抽樣統(tǒng)計(jì)和按時(shí)間抽樣統(tǒng)計(jì)。本發(fā)明提供的裝置可以是網(wǎng)絡(luò)設(shè)備的一部分,也可以是獨(dú)立于網(wǎng)絡(luò)設(shè)備存在并為網(wǎng)絡(luò)設(shè)備提供流量統(tǒng)計(jì)月良務(wù)的專(zhuān)用設(shè)備。參見(jiàn)圖4,為第一種裝置示意圖。該裝置除了包含現(xiàn)有的用于接收數(shù)據(jù)包的接口單元401、用于解析所述數(shù)據(jù)包獲取關(guān)鍵字的解析單元02、用于保存抽樣值的預(yù)置單元403以及對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)的抽樣統(tǒng)計(jì)單元404之外,還包括索引表存儲(chǔ)單元405、匹配單元406、取才莫單元407和判斷單元408,而且,預(yù)置單元403功能也有所擴(kuò)展,主要在于,預(yù)置單元403還保存有預(yù)置的抽樣值;索引表存儲(chǔ)單元405,主要用于存儲(chǔ)各類(lèi)數(shù)據(jù)包及對(duì)應(yīng)計(jì)數(shù)器;匹配單元406,用于按照所述解析單元402提取的關(guān)鍵字匹配所述索引表存儲(chǔ)單元405中存儲(chǔ)的索引表,獲知數(shù)據(jù)包對(duì)應(yīng)的計(jì)數(shù)器,并更新所述索引表存儲(chǔ)單元405中存儲(chǔ)的索引表并對(duì)該計(jì)數(shù)器加1;取模單元407,用于對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣個(gè)數(shù)取^f莫;判斷單元408,用于判斷取模結(jié)果是否為預(yù)置的抽樣值,若是,指示所述抽樣統(tǒng)計(jì)單元404對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。其中,索引表存儲(chǔ)單元405中存儲(chǔ)的索引表可以采用多種方式對(duì)凄t據(jù)包進(jìn)行分類(lèi)。例如,一種是,索引表按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包;相應(yīng)地,匹配單元406從關(guān)鍵字中提取數(shù)據(jù)包IP五元組并進(jìn)行所述哈希運(yùn)算,利用該哈希值匹配所述索引表,從而確定該邀據(jù)包類(lèi)型。另一種是,索引表按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包;相應(yīng)地,匹配單元406,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,并利用部分或全部IP五元組匹配所述索引表,從而確定該數(shù)據(jù)包類(lèi)型。參見(jiàn)圖5,為第二種裝置示意圖。該裝置除了包含現(xiàn)有的計(jì)時(shí)器500、用于接收數(shù)據(jù)包的接口模塊501、用于解析所述數(shù)據(jù)包獲取關(guān)鍵字的解析模塊502、用于保存抽樣周期的預(yù)置才莫塊503以及對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)的抽樣統(tǒng)計(jì)模塊504之外,還包括索引模塊505、匹配模塊506和判斷模塊507。其中,索引模塊505,主要用于存儲(chǔ)各類(lèi)數(shù)據(jù)包對(duì)應(yīng)的抽樣標(biāo)志,并在計(jì)時(shí)器值為預(yù)置抽樣周期整數(shù)倍時(shí),負(fù)責(zé)將所述抽樣標(biāo)志置位;匹配模塊506,主要用于按照所述解析模塊502提取的關(guān)鍵字匹配所述索引模塊505,獲知數(shù)據(jù)包對(duì)應(yīng)的抽樣標(biāo)志;判斷模塊507,如果抽樣標(biāo)志置位,則指示所述抽樣統(tǒng)計(jì)模塊504對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì),同時(shí)指示所述索引模塊505將抽樣標(biāo)志復(fù)位。其中,索引模塊505可以采用多種方式對(duì)數(shù)據(jù)包進(jìn)行分類(lèi)。例如,一種是,索引模塊505按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包;相應(yīng)地,匹配模塊506從關(guān)鍵字中提取數(shù)據(jù)包IP五元組并進(jìn)行所述哈希運(yùn)算,利用該哈希值匹配所述索引模塊505,從而確定該數(shù)據(jù)包類(lèi)型。另一種是,索引模塊505按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;相應(yīng)地,匹配模塊506從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,并利用部分或全部IP五元組匹配所述索引模塊,從而確定該數(shù)據(jù)包類(lèi)型。對(duì)于本發(fā)明所提供裝置的具體實(shí)現(xiàn)細(xì)節(jié)參見(jiàn)方法實(shí)施例的介紹,在此不再贅述。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法,其特征在于,包括預(yù)置各類(lèi)數(shù)據(jù)包計(jì)數(shù)器;提取所接收數(shù)據(jù)包的關(guān)鍵字,從而獲知該數(shù)據(jù)包的類(lèi)型;對(duì)所述類(lèi)型數(shù)據(jù)包的計(jì)數(shù)器值加1,并對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣間隔進(jìn)行取模運(yùn)算;若取模結(jié)果為系統(tǒng)預(yù)置的抽樣值,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。2、根據(jù)權(quán)利要求l所述方法,其特征在于,在預(yù)置計(jì)數(shù)器時(shí),是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,對(duì)提取的IP五元組進(jìn)行所述哈希運(yùn)算,利用該哈希值確定該數(shù)據(jù)包類(lèi)型。3、根據(jù)權(quán)利要求l所述方法,其特征在于,在預(yù)置計(jì)數(shù)器時(shí),是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,利用部分或全部IP五元組確定該數(shù)據(jù)包類(lèi)型。4、一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法,其特征在于,包括預(yù)置計(jì)時(shí)器,并預(yù)置各類(lèi)數(shù)據(jù)包抽樣標(biāo)志,當(dāng)計(jì)時(shí)器值為預(yù)置抽樣周期整數(shù)倍時(shí),將所述抽樣標(biāo)志置位;提取接收的數(shù)據(jù)包的關(guān)鍵字,從而獲知該數(shù)據(jù)包的類(lèi)型;判斷該類(lèi)數(shù)據(jù)包抽樣標(biāo)志是否置位,如果置位,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣,同時(shí)將抽樣標(biāo)志復(fù)位。5、根據(jù)權(quán)利要求4所述方法,其特征在于,在預(yù)置抽樣標(biāo)志時(shí),是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,對(duì)提取的IP五元組進(jìn)行所述哈希運(yùn)算,利用該哈希值確定該數(shù)據(jù)包類(lèi)型。6、根據(jù)權(quán)利要求4所述方法,其特征在于,在預(yù)置抽樣標(biāo)志時(shí),是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;當(dāng)接收到數(shù)據(jù)包后,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,利用部分或全部IP五元組確定該數(shù)4居包類(lèi)型。7、一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的裝置,包括用于接收數(shù)據(jù)包的接口單元、用于解析所述數(shù)據(jù)包獲取關(guān)鍵字的解析單元、用于保存抽樣值的預(yù)置單元,以及,對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)的抽樣統(tǒng)計(jì)單元,其特征在于,所述預(yù)置單元還保存抽樣值;所述裝置還包括索引表存儲(chǔ)單元,用于存儲(chǔ)各類(lèi)數(shù)據(jù)包對(duì)應(yīng)的計(jì)數(shù)器;匹配單元,用于按照所述解析單元提取的關(guān)鍵字匹配所述索引表,獲知數(shù)據(jù)包對(duì)應(yīng)的計(jì)數(shù)器,并更新所述索引表對(duì)該計(jì)數(shù)器加1;取模單元,用于對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣間隔進(jìn)行取才莫運(yùn)算;判斷單元,用于判斷取模結(jié)果是否為預(yù)置的抽樣值,若是,指示所述抽樣統(tǒng)計(jì)單元對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。8、根據(jù)權(quán)利要求7所述裝置,其特征在于,所述索引表,是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配單元,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組并進(jìn)行所述哈希運(yùn)算,利用該哈希值匹配所述索引表,從而確定該數(shù)據(jù)包類(lèi)型;或者,所述索引表,是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配單元,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,并利用部分或全部IP五元組匹配所述索引表,從而確定該數(shù)據(jù)包類(lèi)型。9、一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的裝置,包括計(jì)時(shí)器、用于接收數(shù)據(jù)包的接口模塊、用于解析所述數(shù)據(jù)包獲取關(guān)鍵字的解析模塊、用于保存抽樣周期的預(yù)置模塊,以及,對(duì)數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)的抽樣統(tǒng)計(jì)模塊,其特征在于,所述裝置還包括索引模塊,用于存儲(chǔ)各類(lèi)數(shù)據(jù)包對(duì)應(yīng)的抽樣標(biāo)志,并當(dāng)計(jì)時(shí)器值為抽樣周期整數(shù)倍時(shí),負(fù)責(zé)將抽樣標(biāo)志置位;匹配模塊,用于按照所述解析模塊提取的關(guān)鍵字匹配所述索引模塊,獲知數(shù)據(jù)包對(duì)應(yīng)的抽樣標(biāo)志;判斷才莫塊,如果抽樣標(biāo)志置位,則指示所述抽樣統(tǒng)計(jì)^^莫塊對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì),同時(shí)指示所述索引模塊將抽樣標(biāo)志復(fù)位。10、根據(jù)權(quán)利要求9所述裝置,其特征在于,所述索引模塊,是按照IP五元組信息進(jìn)行哈希運(yùn)算所得到的各哈希值區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配模塊,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組并進(jìn)行所述哈希運(yùn)算,利用該哈希值匹配所述索引模塊,從而確定該數(shù)據(jù)包類(lèi)型;或者,所述索引模塊,是按照部分或全部IP五元組信息區(qū)分每類(lèi)數(shù)據(jù)包的;所述匹配模塊,從關(guān)鍵字中提取數(shù)據(jù)包IP五元組,并利用部分或全部IP五元組匹配所述索引模塊,從而確定該數(shù)據(jù)包類(lèi)型。全文摘要本發(fā)明公開(kāi)了一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的方法,包括步驟預(yù)置各類(lèi)數(shù)據(jù)包計(jì)數(shù)器;提取所接收數(shù)據(jù)包的關(guān)鍵字,從而獲知該數(shù)據(jù)包的類(lèi)型;對(duì)所述類(lèi)型數(shù)據(jù)包的計(jì)數(shù)器值加1,并對(duì)最新的計(jì)數(shù)器值按照預(yù)置的抽樣間隔取模;若計(jì)數(shù)器值取模結(jié)果為系統(tǒng)預(yù)置的抽樣值,則對(duì)該數(shù)據(jù)包進(jìn)行抽樣統(tǒng)計(jì)。本發(fā)明對(duì)數(shù)據(jù)包進(jìn)行按類(lèi)抽樣,針對(duì)每一類(lèi)進(jìn)行按包或按時(shí)間進(jìn)行抽取,保證每類(lèi)數(shù)據(jù)包能夠被抽中,從而盡可能還原真實(shí)流量分布情況,降低抽樣失真度。與上述方法相對(duì)應(yīng),本發(fā)明還提供一種數(shù)據(jù)包抽樣統(tǒng)計(jì)的裝置。文檔編號(hào)G06F17/30GK101119246SQ200710154640公開(kāi)日2008年2月6日申請(qǐng)日期2007年9月20日優(yōu)先權(quán)日2007年9月20日發(fā)明者盧勝文申請(qǐng)人:杭州華三通信技術(shù)有限公司