專利名稱:高速網(wǎng)絡(luò)流量的超點(diǎn)實(shí)時(shí)檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于網(wǎng)絡(luò)流量中的流數(shù)檢測(cè)方法,尤其是一種在高速大規(guī)模網(wǎng)絡(luò)中基于 Bloom Filter的高速網(wǎng)絡(luò)流量的超點(diǎn)實(shí)時(shí)檢測(cè)方法。
背景技術(shù):
網(wǎng)絡(luò)流量是由一個(gè)個(gè)報(bào)文構(gòu)成的,網(wǎng)絡(luò)中傳輸?shù)膱?bào)文具有一些在傳輸過(guò)程中不變特性 的字段,如源IP、宿IP等,在測(cè)量時(shí)間范圍內(nèi),這些報(bào)文中具有相同流標(biāo)識(shí)的若干報(bào)文 構(gòu)成流,這個(gè)具有相同字段的報(bào)文集合稱為網(wǎng)絡(luò)流,如常用的網(wǎng)絡(luò)流按照?qǐng)?bào)文字段五元組 定義,即源ip、宿ip、源端口、宿端口和協(xié)議字段,將具有相同五元組字段的報(bào)文集合 稱為一個(gè)網(wǎng)絡(luò)流,并將識(shí)別網(wǎng)絡(luò)流的字段組合稱為流標(biāo)識(shí),對(duì)于根據(jù)五元組字段定義的網(wǎng) 絡(luò)流,其流標(biāo)識(shí)為(源IP、宿IP、源端口、宿端口和協(xié)議K按照網(wǎng)絡(luò)流標(biāo)識(shí)中的某一個(gè) 字段或者某幾個(gè)字段定義的網(wǎng)絡(luò)流集合稱為聚合流,具有相同聚合點(diǎn)標(biāo)識(shí)的流構(gòu)成聚合點(diǎn) 標(biāo)識(shí)的流構(gòu)成聚合點(diǎn)。如按照源IP聚合或者按照宿IP聚合,那么其對(duì)應(yīng)的字段為聚合點(diǎn), 如按照源IP聚合的網(wǎng)絡(luò)流,其源IP定義為聚合點(diǎn)。超點(diǎn)是流數(shù)超過(guò)了一個(gè)事先定義閥值 的聚合點(diǎn)。本發(fā)明就是為了檢測(cè)出超點(diǎn)。互聯(lián)網(wǎng)安全中經(jīng)常需要檢測(cè)出鏈接大量宿ip (源ip)的源ip (宿ip)的問(wèn)題屬于超 點(diǎn)檢測(cè)問(wèn)題,在這里面超點(diǎn)定義為鏈接數(shù)量超過(guò)一個(gè)定義閥值的源ip或者宿ip。超點(diǎn)檢測(cè)問(wèn)題舉例如下設(shè)一個(gè)數(shù)據(jù)流P={(A.B) (B.A) (D.B) (B.D) (F. A) (C. B) (E. A) (C. B) (B. A) (E. B) (C. A) (B. A) (E.A) (E.B) (A.C) (B.D) (C. D) (B. A) (A. B) (B. C) (D. A) (C.B)}在這個(gè)集合中一個(gè)有20個(gè)元素,這里的元素就是我們對(duì)應(yīng)的每個(gè)報(bào)文,每個(gè)元素包 括小數(shù)點(diǎn)前1位字母和小數(shù)點(diǎn)后1位字母,小數(shù)點(diǎn)前一位的字母定義為報(bào)文對(duì)應(yīng)的源IP 標(biāo)識(shí),小數(shù)點(diǎn)后面的一位字母定義為報(bào)文對(duì)應(yīng)的宿IP標(biāo)識(shí)。如果我們將具有相同源宿IP 標(biāo)識(shí)的數(shù)聚合在一起就是F={(A.B) (B.A) (D.B) (B.D) (F. A) (C.B) (E.A) (E.B) (C. A) (A.C) (C. D) (B. C)(D. A)}共有13個(gè)元素,這些元素就是我們定義的流,每個(gè)流包含有1個(gè)或多個(gè)報(bào)文,如果 按照小數(shù)點(diǎn)前面相同的字母進(jìn)行聚合,同時(shí)記錄聚合中包含元素的數(shù)量,就成為 S={(A, 2) (B, 3) (D, 2) (F, 1) (C, 3) (E, 2)}在這個(gè)集合中包含的這6個(gè)元素就稱為聚合點(diǎn)信息,每個(gè)元素中包括兩個(gè)信息,第一 個(gè)字母就是聚合點(diǎn)標(biāo)識(shí),第二個(gè)數(shù)就是屬于這個(gè)聚合點(diǎn)的流數(shù),如(B, 3)表示標(biāo)記為B 的流有3個(gè)。如果我們定義超點(diǎn)檢測(cè)閥值為3,即流的數(shù)量超過(guò)或等于3的聚合點(diǎn)定義為 超點(diǎn),因此在這個(gè)例子中,聚合點(diǎn)B和C就是我們要檢測(cè)的超點(diǎn)。本發(fā)明的任務(wù)就是給出 一種高效從數(shù)據(jù)流S中檢測(cè)出閥值為3超點(diǎn)的方法,也就是檢測(cè)出超點(diǎn)B和C,以及它們的流數(shù)。超點(diǎn)問(wèn)題在網(wǎng)絡(luò)安全中具有重要的應(yīng)用價(jià)值。(1)檢測(cè)網(wǎng)絡(luò)蠕蟲(chóng) 一個(gè)蠕蟲(chóng)主機(jī)向大 量的宿地址發(fā)送探測(cè)流量,這臺(tái)蠕蟲(chóng)主機(jī)可以看成是一個(gè)超流主機(jī)。(2)檢測(cè)DDoS/DoS: DDoS/DoS攻擊過(guò)程中,大量的主機(jī)/IP地址向一個(gè)目標(biāo)地址發(fā)送大量的流量,這個(gè)被攻擊的目標(biāo)主機(jī)也可以看成一個(gè)超流主機(jī)。(3)檢測(cè)端口掃描攻擊 一個(gè)主機(jī)為了發(fā)現(xiàn)易攻擊的對(duì)象存在,向不同的IP地址和不同的端口發(fā)起大量鏈接,這個(gè)源IP也可以被看成是超流IP。 (4)超流問(wèn)題還可以用在P2P分布式網(wǎng)絡(luò)中,主機(jī)對(duì)中可能會(huì)產(chǎn)生大量的鏈接, 超流IP被認(rèn)為是熱點(diǎn)IP,通過(guò)實(shí)時(shí)檢測(cè)超流IP有助于進(jìn)行負(fù)載均衡以提高網(wǎng)絡(luò)的效率。 為了能夠檢測(cè)網(wǎng)絡(luò)流量中的超點(diǎn),測(cè)量系統(tǒng)需要能夠在內(nèi)存中維護(hù)每個(gè)流的信息記錄 和每個(gè)聚合點(diǎn)的信息記錄,因此如何在內(nèi)存中維護(hù)流記錄信息和聚合點(diǎn)信息成為超點(diǎn)檢測(cè)方法的關(guān)鍵所在。傳統(tǒng)的方法是直接在內(nèi)存中維護(hù)所有的流信息和聚合點(diǎn)信息,如Snort 和FlowScan都是使用這種方法,它的缺點(diǎn)是需要消耗大量的內(nèi)存空間,這種方法只能處 理低速局域網(wǎng)中的流量。為了能夠檢測(cè)高速網(wǎng)絡(luò)中的超點(diǎn),Venkataraman提出兩種基于 流抽樣的超點(diǎn)IP檢測(cè)技術(shù),但是這種方法仍然是要維護(hù)所有被抽樣到的流信息和聚合點(diǎn) 的信息,這種方法的本質(zhì)和直接使用哈希表存儲(chǔ)所有流信息沒(méi)有區(qū)別,也需要消耗大量的 內(nèi)存空間,難于用于高速網(wǎng)絡(luò)流量超點(diǎn)檢測(cè)。Zhao提出一種使用比特向量維護(hù)流信息記 錄,這種方法由于維護(hù)每個(gè)流的信息只需要一個(gè)比特,在維護(hù)流記錄信息方面可以節(jié)省大 量的測(cè)量資源,但是Zhao的方法直接使用一個(gè)哈希函數(shù)映射到比特向量中,不同流的映 射到同一個(gè)比特位置上的概率很大,造成了流映射的沖突,使得流數(shù)估計(jì)上誤差較大;這 種方法的第二個(gè)缺點(diǎn)就是仍然需要為所有測(cè)量到的聚合點(diǎn)維護(hù)記錄信息,這個(gè)也要浪費(fèi)大 量的內(nèi)存資源的消耗。針對(duì)這兩個(gè)缺點(diǎn),Zhao提出了第二個(gè)解決方案,定義一個(gè)比特矩 陣,將聚合點(diǎn)標(biāo)識(shí)映射到矩陣的X軸,流標(biāo)識(shí)映射到矩陣的Y軸,將流信息和聚合點(diǎn)流數(shù) 記錄在一個(gè)矩陣中,這種方法的優(yōu)點(diǎn)的相對(duì)第一種方案精度要高些,這種方法的主要缺點(diǎn) 是維護(hù)這個(gè)矩陣需要大量的內(nèi)存資源;另外由于這種方法在測(cè)量期間不知道哪個(gè)聚合點(diǎn) 可能是超點(diǎn),因此所有聚合點(diǎn)的標(biāo)識(shí)都需要記錄;比特矩陣實(shí)際上只記錄了聚合點(diǎn)的流數(shù) 信息,因此該方法還需要浪費(fèi)大量?jī)?nèi)存資源記錄所有聚合點(diǎn)的標(biāo)識(shí)信息。Bloom Filter是Burton Bloom在20世紀(jì)70年代提出的,Bloom Filter被廣泛用于 拼寫(xiě)檢查和數(shù)據(jù)庫(kù)系統(tǒng)中。近二十年來(lái),隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,Bloom Filter在網(wǎng)絡(luò)領(lǐng) 域獲得廣泛的應(yīng)用,各種Bloom Filter變種和新的應(yīng)用不斷出現(xiàn)。Bloom Filter是一種 空間效率很高的隨機(jī)數(shù)據(jù)結(jié)構(gòu),它利用位數(shù)組很簡(jiǎn)潔地表示一個(gè)集合,并能判斷一個(gè)元素 是否屬于這個(gè)集合。Bloom Filter的這種高效是有一定代價(jià)的在判斷一個(gè)元素是否屬 于某個(gè)集合時(shí),有可能會(huì)把不屬于這個(gè)集合的元素誤認(rèn)為屬于這個(gè)集合(false positive)。初始狀態(tài)時(shí),Bloom Filter是一個(gè)包含m位的位數(shù)組,每一位都置為0。圖1是初始 狀態(tài)時(shí),Bloom Filter是一個(gè)包含m位的位數(shù)組,每一位都置為0。為了表達(dá)S^)d, X2,…,xJ這樣一個(gè)n個(gè)元素的集合,Bloom Filter使用k個(gè)相互獨(dú) 立的哈希函數(shù)(Hash Function),它們分別將集合中的每個(gè)元素映射到U,, m}的范圍中。對(duì)任意一個(gè)元素x,第i個(gè)哈希函數(shù)映射的位置hi(x)就會(huì)被置為l (1《i《k)。如 果一個(gè)位置多次被置為l,那么只有第一次會(huì)起作用,后面幾次將沒(méi)有任何效果。在圖2 中,k=3,且有兩個(gè)哈希函數(shù)選中同一個(gè)位置。在判斷y是否屬于這個(gè)集合時(shí),使用k次哈希函數(shù),如果所有hi(y)的位置都是l (1 《i《k),那么就認(rèn)為y是集合中的元素,否則就認(rèn)為y不是集合中的元素。Bloom Filter在判斷一個(gè)元素是否屬于它表示的集合時(shí)會(huì)有一定的錯(cuò)誤率(false positive rate),假設(shè)kn〈m且各個(gè)哈希函數(shù)是完全隨機(jī)的,當(dāng)集合S^x,, x2,…,x」的 所有元素都被k個(gè)哈希函數(shù)映射到m位的位數(shù)組中時(shí),這個(gè)位數(shù)組中某一位還是0的概率是p = —l//wf' e-Wm其中1/m表示任意一個(gè)哈希函數(shù)選中這一位的概率,(1-1/m)表示哈希一次沒(méi)有選中 這一位的概率。要把S完全映射到位數(shù)組中,需要做kn次哈希。某一位還是0意味著kn 次哈希都沒(méi)有選中它,因此這個(gè)概率就是(1-1/m)的kn次方。令P為位數(shù)組中O的比例,則P的數(shù)學(xué)期望E(P)- p。在P已知的情況下,要求的 錯(cuò)誤率(false positive rate)為/ =(卜P)* (1 - P)" (1 - (1 -1 / zn)" (1 - 一,(l-P)為位數(shù)組中1的比例,(1-P)k就表示k次哈希都剛好選中1的區(qū)域,即false positive rate。Bloom Filter要靠多個(gè)哈希函數(shù)將集合映射到位數(shù)組中,那么應(yīng)該選擇幾個(gè)哈希函 數(shù)才能使元素査詢時(shí)的錯(cuò)誤率降到最低呢?如果哈希函數(shù)的個(gè)數(shù)多,那么在對(duì)一個(gè)不屬于 集合的元素進(jìn)行査詢時(shí)得到0的概率就大;但另一方面,如果哈希函數(shù)的個(gè)數(shù)少,那么位 數(shù)組中的0就多。為了得到最優(yōu)的哈希函數(shù)個(gè)數(shù),需要根據(jù)錯(cuò)誤率公式進(jìn)行計(jì)算。f = exp(k ln(l 一 e—kn/m)),令g = k ln(l 一 e-kn/m),只要讓g取到最小,f自然 也取到最小。由于p^e—kn/m,可以將g寫(xiě)成g"m/Wn(p)ln(1-p),根據(jù)對(duì)稱性法則可以很 容易看出當(dāng)p = 1/2,也就是k = ln2* (m/n)時(shí),g取得最小值。因此最小錯(cuò)誤率f等 于(l/2)k" (0. 6185)m/n。計(jì)數(shù)型Bloom Filter和Bloom Filter結(jié)構(gòu)的區(qū)別在于Bloom Filter為每個(gè)位置設(shè) 置一個(gè)比特空間,而計(jì)數(shù)型Bloom Filter為每個(gè)位置設(shè)置一個(gè)計(jì)數(shù)器C(i),計(jì)數(shù)器的初 始值為0,當(dāng)增加一個(gè)元素時(shí),C,] l,(z = U)發(fā)明內(nèi)容為了解決上述超點(diǎn)測(cè)量方法中存在測(cè)量精度和測(cè)量資源的消耗的兩個(gè)主要問(wèn)題,我們 利用Bloom Filter結(jié)構(gòu)記錄流信息和計(jì)數(shù)型Bloom Filter結(jié)構(gòu)記錄聚合點(diǎn)信息。BloomFilter是一種空間效率很高的隨機(jī)數(shù)據(jù)結(jié)構(gòu),它利用位數(shù)組很簡(jiǎn)潔地表示一個(gè)集合,并 能判斷一個(gè)元素是否屬于這個(gè)集合。因此我們使用Bloom Filter結(jié)構(gòu)維護(hù)流存在信息, 這樣每個(gè)流記錄只需要消耗卜3個(gè)比特的內(nèi)存空間,而且Bloom Filter結(jié)構(gòu)是采用多個(gè) 哈希函數(shù)進(jìn)行映射,大大降低不同流之間的沖突概率,提高流的檢測(cè)精度。采用計(jì)數(shù)型 Bloom Filter結(jié)構(gòu)維護(hù)聚合點(diǎn)信息具有兩個(gè)方面的功能, 一個(gè)方面是計(jì)數(shù)型BloomFilter結(jié)構(gòu)具有Bloom Filter的功能,能夠維護(hù)聚合點(diǎn)的存在信息,另一個(gè)方面是計(jì)數(shù) 型Bloom Filter實(shí)際上成為了一個(gè)超點(diǎn)過(guò)濾器,只有計(jì)數(shù)型Bloom Filter中一個(gè)聚合點(diǎn) 的流數(shù)超過(guò)了一個(gè)閥值,那么這個(gè)聚合點(diǎn)被檢測(cè)為超點(diǎn),我們將記錄該超點(diǎn)的標(biāo)識(shí)信息和 流數(shù)信息,這個(gè)超點(diǎn)的詳細(xì)信息就是我們超點(diǎn)檢測(cè)方法所需要的結(jié)果。本發(fā)明提出一種基于Bloom Filter的高速網(wǎng)絡(luò)流量的超點(diǎn)實(shí)時(shí)檢測(cè)方法,可以實(shí)現(xiàn) 超點(diǎn)的高速檢測(cè)和超點(diǎn)記錄緩沖空間的控制。和目前的方法相比本方法只記錄被識(shí)別為超 點(diǎn)的詳細(xì)信息,而不需要記錄所有流和聚合點(diǎn)的詳細(xì)信息,因此本方法能夠節(jié)省內(nèi)存資源 的消耗;另一個(gè)方面由于采用了 Bloom Filter的數(shù)據(jù)結(jié)構(gòu),提高了流和聚合點(diǎn)的檢測(cè)精 度,降低了流之間的沖突概率,因此又能夠提高流數(shù)測(cè)量精度和超點(diǎn)檢測(cè)精度。其技術(shù)方 案如下一種高速網(wǎng)絡(luò)流量的超點(diǎn)實(shí)時(shí)檢測(cè)方法,其特征是該方法基于Bloom Filter數(shù)據(jù)結(jié) 構(gòu),采用Bloom Filter技術(shù)過(guò)濾新流,采用計(jì)數(shù)型Bloom Filter技術(shù)過(guò)濾超點(diǎn);包括設(shè) 置三個(gè)數(shù)據(jù)結(jié)構(gòu)和三個(gè)過(guò)程,三個(gè)數(shù)據(jù)結(jié)構(gòu)分別是一個(gè)Bloom Filter數(shù)據(jù)結(jié)構(gòu)、 一個(gè)計(jì) 數(shù)型Bloora Filter數(shù)據(jù)結(jié)構(gòu)和一個(gè)哈希鏈表數(shù)據(jù)結(jié)構(gòu)。Bloom Filter數(shù)據(jù)結(jié)構(gòu)用于記錄 流存在信息,計(jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)用于記錄聚合點(diǎn)的流數(shù)信息,哈希鏈表結(jié)構(gòu) 用于記錄超點(diǎn)標(biāo)識(shí)和超點(diǎn)流數(shù)信息;三個(gè)過(guò)程分別是基于Bloom Filter的新流檢測(cè)過(guò)程、 基于計(jì)數(shù)型Bloom Filter的超點(diǎn)檢測(cè)過(guò)程和基于哈希鏈表的超點(diǎn)信息記錄過(guò)程。檢測(cè)過(guò)程具體為當(dāng)一個(gè)報(bào)文到達(dá)測(cè)量器,首先在Bloom Filter數(shù)據(jù)結(jié)構(gòu)中查找該報(bào) 文是否屬于一個(gè)新流,如果測(cè)量器發(fā)現(xiàn)該報(bào)文所屬的流己經(jīng)存在,則測(cè)量器停止處理該報(bào) 文,繼續(xù)處理下一個(gè)到達(dá)的報(bào)文;如果測(cè)量器發(fā)現(xiàn)新到達(dá)的報(bào)文是屬于一個(gè)新流,則將該 新流信息記錄在這個(gè)Bloom Filter數(shù)據(jù)結(jié)構(gòu)中,并轉(zhuǎn)由計(jì)數(shù)型Bloom Filter超點(diǎn)檢測(cè)過(guò) 程處理;計(jì)數(shù)型Bloom Filter超點(diǎn)檢測(cè)過(guò)程?hào)苏矣?jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)以判斷該 新流的聚合點(diǎn)是否是一個(gè)超點(diǎn),如果這個(gè)該新流所對(duì)應(yīng)的聚合點(diǎn)不是一個(gè)超點(diǎn),則將該新 流信息記錄在計(jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)中,停止處理該報(bào)文,繼續(xù)處理下一個(gè)到達(dá) 的報(bào)文;如果這個(gè)新流所對(duì)應(yīng)的聚合點(diǎn)是一個(gè)超點(diǎn),則計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中流數(shù) 信息不做修改,并將該新流信息轉(zhuǎn)由基于哈希鏈表的超點(diǎn)過(guò)程處理;如果在哈希鏈表結(jié)構(gòu) 中査找到該報(bào)文所對(duì)應(yīng)的超點(diǎn)信息,則直接將該超點(diǎn)的流數(shù)信息累加,否則如果該報(bào)文對(duì) 應(yīng)的超點(diǎn)在哈希鏈表數(shù)據(jù)結(jié)構(gòu)中沒(méi)有記錄,則在哈希鏈表數(shù)據(jù)結(jié)構(gòu)中增加該超點(diǎn)信息,將 其流數(shù)的初始值設(shè)置為超流檢測(cè)閥值加l;測(cè)量時(shí)間結(jié)束后,將哈希鏈表中的超點(diǎn)信息輸 出。具體技術(shù)步驟如下 第l步設(shè)置參數(shù)設(shè)置Bloom Filter中需要使用的哈希函數(shù)個(gè)數(shù)為k個(gè),分別對(duì)應(yīng)的k個(gè)哈希函數(shù)為 h,()、 h2()、、 hk(),這k個(gè)哈希函數(shù)的輸入是網(wǎng)絡(luò)流標(biāo)識(shí),輸出是一個(gè)長(zhǎng)度為n個(gè)比 特的哈希值;設(shè)置Bloom Filter比特向量大小m,其中m=2n, n是哈希函數(shù)輸出哈希值的 比特長(zhǎng)度;設(shè)置計(jì)數(shù)型Bloom Filter中需要使用的哈希函數(shù)個(gè)數(shù)為b個(gè),分別對(duì)應(yīng)的b個(gè)哈希函數(shù)為h' J)、 h' 2()、、 h' b(),這b個(gè)哈希函數(shù)的輸入是聚合點(diǎn)標(biāo)識(shí),輸出是一個(gè) 長(zhǎng)度為d個(gè)比特的哈希值;設(shè)置計(jì)數(shù)型Bloom Filter比特向量大小a,其中a=2d, d是計(jì) 數(shù)型Bloom Filter所對(duì)應(yīng)b個(gè)哈希函數(shù)輸出哈希值的比特長(zhǎng)度;設(shè)置計(jì)數(shù)型Bloom Filter 向量每個(gè)位為e個(gè)比特,設(shè)置超點(diǎn)判斷閥值為r,其中設(shè)置的閥值r需要小于2、 e為計(jì) 數(shù)型Bloom Filter向量中每個(gè)位的比特?cái)?shù);設(shè)置超點(diǎn)哈希鏈表結(jié)構(gòu)中指針數(shù)組所使用的哈希函數(shù)為h''(),哈希函數(shù)h''() 的輸入為超點(diǎn)標(biāo)識(shí),輸出為q比特長(zhǎng)度的哈希值;設(shè)置一個(gè)指向超點(diǎn)結(jié)點(diǎn)的指針數(shù)組大小 為w,其中f";設(shè)置超點(diǎn)結(jié)點(diǎn)由超點(diǎn)標(biāo)識(shí)、超點(diǎn)流數(shù)和指向下一個(gè)超點(diǎn)結(jié)點(diǎn)的指針等三 個(gè)字段構(gòu)成;設(shè)置測(cè)量開(kāi)始時(shí)間begintime和測(cè)量結(jié)束時(shí)間endtime; 第2步設(shè)置各結(jié)構(gòu)初始值設(shè)置Bloom Filter比特向量中的所有m個(gè)位置初始值為0;設(shè)置計(jì)數(shù)型Bloom Filter比特向量中所有a個(gè)位置的初始值為0;設(shè)置超點(diǎn)哈希鏈表結(jié)構(gòu)中指向超點(diǎn)結(jié)構(gòu)的指針數(shù)組的所有w個(gè)位置初始值為空指針; 第3步測(cè)量時(shí)間結(jié)束判斷如果當(dāng)前時(shí)鐘已經(jīng)等于或大于測(cè)量結(jié)束時(shí)間endtime,則將哈希鏈表中的超點(diǎn)結(jié)點(diǎn)信息輸出;否則,等待報(bào)文到達(dá)測(cè)量器,如果一個(gè)報(bào)文到達(dá)測(cè)量器,進(jìn)入第4步;第4步基于Bloom Filter的新流判斷 設(shè)該報(bào)文所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為A,使用Bloom Filter所對(duì)應(yīng)的k個(gè)哈希函數(shù)計(jì)算網(wǎng) 絡(luò)流標(biāo)識(shí)A的哈希值,h,(A)、 h2(A)、 ,,,、 hk(A),如果這k個(gè)哈希值對(duì)應(yīng)的Bloom Filter 結(jié)構(gòu)中的值均為l,則這個(gè)報(bào)文的流已經(jīng)被記錄過(guò),回到第3歩;如果這k個(gè)哈希值對(duì)應(yīng) 的Bloom Filter結(jié)構(gòu)中的值至少有1個(gè)位置上為0,則這個(gè)報(bào)文的流是一個(gè)新流,將這k 個(gè)哈希值對(duì)應(yīng)的Bloom Filter結(jié)構(gòu)中的值全部賦值為1,進(jìn)入到第5步;第5步基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷 設(shè)該報(bào)文所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為B,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的b個(gè)哈希函數(shù) 計(jì)算聚合點(diǎn)標(biāo)識(shí)B的哈希值,h, ,(B)、 h, 2(B)、…、h, k(B),査找這b個(gè)哈希值對(duì)應(yīng)位 置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中的最小值,如果這個(gè)最小值小于超點(diǎn)定義的閥值,則將 這b個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的值累加1,回到第3 步;如果這個(gè)最小值等于或大于超點(diǎn)定義的閥值,進(jìn)入到第6步;第6步基于哈希鏈表的超點(diǎn)信息記錄 設(shè)該報(bào)文所對(duì)應(yīng)的超點(diǎn)標(biāo)識(shí)為B,使用哈希鏈表所對(duì)應(yīng)的哈希函數(shù)計(jì)算超點(diǎn)標(biāo)識(shí)B的 哈希值,h' , (B),査找哈希值對(duì)應(yīng)位置指針數(shù)組的指針,如果這個(gè)指針指向的鏈表中查 找到該超點(diǎn)的結(jié)點(diǎn)記錄,則將該超點(diǎn)結(jié)點(diǎn)記錄中的流數(shù)字段值累加1,回到第3步;如果 在這個(gè)指針指向鏈表中沒(méi)有該超點(diǎn)的結(jié)點(diǎn)記錄,則進(jìn)入第7步;第7步生成新的超點(diǎn)結(jié)點(diǎn)記錄 在內(nèi)存中為超點(diǎn)結(jié)構(gòu)分配一個(gè)結(jié)點(diǎn)空間,該結(jié)點(diǎn)空間中內(nèi)容包括該超點(diǎn)標(biāo)識(shí)、超點(diǎn)的 流數(shù)和指向下一個(gè)超點(diǎn)的指針,設(shè)置這個(gè)超點(diǎn)結(jié)點(diǎn)的超點(diǎn)標(biāo)識(shí)字段為超點(diǎn)標(biāo)識(shí),將其流數(shù)字段的初始值設(shè)置為超流檢測(cè)閥值加1,設(shè)置超點(diǎn)結(jié)點(diǎn)中的指向下一個(gè)結(jié)點(diǎn)的指針設(shè)置為 空;將該超點(diǎn)哈希值所對(duì)應(yīng)哈希鏈表指針數(shù)組的超點(diǎn)結(jié)點(diǎn)鏈表中的最后一個(gè)結(jié)點(diǎn)的指針指 向這個(gè)新的超點(diǎn)結(jié)點(diǎn);回到第3步。相關(guān)名詞定義,網(wǎng)絡(luò)中傳輸?shù)膱?bào)文具有一些在傳輸過(guò)程中不變特性的字段,如源IP、 宿IP等,在測(cè)量時(shí)間范圍內(nèi),具有相同字段的報(bào)文集合稱為網(wǎng)絡(luò)流,如常用的網(wǎng)絡(luò)流按 照?qǐng)?bào)文字段五元組定義,即源IP、宿IP、源端口、宿端口和協(xié)議字段,將具有相同五元 組字段的報(bào)文集合稱為一個(gè)網(wǎng)絡(luò)流,并將識(shí)別網(wǎng)絡(luò)流的字段組合稱為流標(biāo)識(shí),對(duì)于根據(jù)五 元組字段定義的網(wǎng)絡(luò)流,其流標(biāo)識(shí)為(源IP、宿IP、源端口、宿端口和協(xié)議}。按照網(wǎng)絡(luò) 流標(biāo)識(shí)中的某一個(gè)字段或者某幾個(gè)字段定義的網(wǎng)絡(luò)流集合稱為聚合流,如按照源IP聚合 或者按照宿IP聚合,那么其對(duì)應(yīng)的字段為聚合點(diǎn),如按照源IP聚合的網(wǎng)絡(luò)流,其源IP 定義為聚合點(diǎn)。超點(diǎn)是流數(shù)量超過(guò)了一個(gè)事先定義閥值的聚合點(diǎn),本發(fā)明的目的就是要能 夠?qū)崟r(shí)進(jìn)行超點(diǎn)檢測(cè)。Bloom Filter是一種空間效率很高的隨機(jī)數(shù)據(jù)結(jié)構(gòu),它利用位數(shù)組很簡(jiǎn)潔地表示一個(gè) 集合,并能判斷一個(gè)元素是否屬于這個(gè)集合。計(jì)數(shù)型Bloom Filter是每個(gè)位置設(shè)定一個(gè) 計(jì)數(shù)器的Bloom Filter, i十?dāng)?shù)型Bloom Filter和Bloom Filter的區(qū)別在于Bloom Filter 為每個(gè)位置設(shè)置一個(gè)比特,因此每個(gè)位置只能記錄0或1兩個(gè)值,而計(jì)數(shù)型Bloom Filter 為每個(gè)位置設(shè)置一個(gè)計(jì)數(shù)器,每個(gè)位置能夠記錄多個(gè)值的信息。哈希鏈表結(jié)構(gòu)是一個(gè)指針數(shù)組加鏈表的結(jié)構(gòu),初始的時(shí)候哈希鏈表是一個(gè)指針數(shù)組,數(shù) 組中的所有位置設(shè)為空指針,當(dāng)測(cè)量器要記錄一個(gè)新的超點(diǎn)信息時(shí),系統(tǒng)為該超點(diǎn)分配一 個(gè)結(jié)點(diǎn)空間,該結(jié)點(diǎn)空間中內(nèi)容包括該超點(diǎn)標(biāo)識(shí)、超點(diǎn)的流數(shù)和指向下一個(gè)超點(diǎn)的指針, 采用哈希函數(shù)映射超點(diǎn)標(biāo)識(shí)到指針數(shù)組的一個(gè)位置,將這個(gè)位置指針指向該分配的超點(diǎn)結(jié) 點(diǎn);如果這個(gè)位置的指針己經(jīng)指向其它超點(diǎn)結(jié)點(diǎn),則將該位置指針鏈表的最后一個(gè)結(jié)點(diǎn)的 指針指向新分配的超點(diǎn)結(jié)點(diǎn);如果這個(gè)超點(diǎn)信息在哈希鏈表中已經(jīng)被記錄,則更新該超點(diǎn) 中的流數(shù)信息;與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)及有益效果(1) 本方法處理報(bào)文信息依次通過(guò)新流檢測(cè)、超點(diǎn)檢測(cè)和超點(diǎn)記錄三個(gè)過(guò)程,只有通過(guò) 新流檢測(cè)的報(bào)文,才能進(jìn)入到超點(diǎn)檢測(cè)過(guò)程,因此相同流的所有報(bào)文中只有第一個(gè)報(bào)文會(huì) 被新流檢測(cè)過(guò)程處理,因而大大降低測(cè)量器的處理流量的負(fù)擔(dān),提高測(cè)量器的處理能力。(2) 本方法對(duì)于流數(shù)沒(méi)有超過(guò)閥值的聚合點(diǎn)標(biāo)識(shí)信息和流標(biāo)識(shí)信息都不記錄,在整個(gè)超 點(diǎn)檢測(cè)過(guò)程中只保存超點(diǎn)的標(biāo)識(shí)信息和流數(shù)信息,能夠直接實(shí)時(shí)檢測(cè)出超點(diǎn)信息,因而大 大節(jié)省測(cè)量資源的消耗。(3) 本方法在新流檢測(cè)和超點(diǎn)檢測(cè)過(guò)程中采用了多個(gè)哈希函數(shù)進(jìn)行標(biāo)識(shí)映射,大大降低 不同流之間的沖突概率,提高超點(diǎn)流數(shù)的檢測(cè)精度。
圖1是一個(gè)Bloom Filter數(shù)據(jù)結(jié)構(gòu)的初始狀態(tài);圖2是一個(gè)Bloom Filter記錄數(shù)據(jù)后的狀態(tài);圖3是一個(gè)記錄超點(diǎn)標(biāo)識(shí)信息和流數(shù)信息的哈希鏈表數(shù)據(jù)結(jié)構(gòu);圖4是本發(fā)明基于Bloom Filter的超點(diǎn)檢測(cè)方法過(guò)程圖;圖5是本發(fā)明超點(diǎn)檢測(cè)方法中的三個(gè)過(guò)程示意圖,該方法分為三個(gè)部分:Bloom Filter 新流檢測(cè)過(guò)程;計(jì)數(shù)型Bloom Filter超點(diǎn)檢測(cè)過(guò)程、超點(diǎn)哈希鏈表超點(diǎn)信息記錄過(guò)程; 圖6是本發(fā)明基于Bloom Filter的超點(diǎn)檢測(cè)方法流程圖; 圖7是本發(fā)明實(shí)例中各數(shù)據(jù)結(jié)構(gòu)測(cè)量結(jié)束后的狀態(tài)圖;具體實(shí)施方式
圖l、圖2、圖3是現(xiàn)有的Bloom Filter數(shù)據(jù)結(jié)構(gòu)和哈希鏈表數(shù)據(jù)結(jié)構(gòu)示意圖,圖4、 圖5、圖6是本發(fā)明相關(guān)的過(guò)程圖、示意圖和流程圖,圖7是本發(fā)明實(shí)例中各數(shù)據(jù)結(jié)構(gòu)測(cè) 量結(jié)束后的狀態(tài)圖。參看圖4-7,給出一個(gè)實(shí)施例設(shè)一個(gè)報(bào)文流P二KA.B) (B.A) (D.B) (B.D) (F. A) (C. B) (E. A) (C. B) (B. A) (B. E) (A. C) (B. E) (B.A) (E.B) (E.B) }在這個(gè)集合中一個(gè)有15個(gè)元素,這里的元素就是我們對(duì)應(yīng)的每個(gè)報(bào)文,每個(gè)元素包 括小數(shù)點(diǎn)前1位字母和小數(shù)點(diǎn)后1位字母,小數(shù)點(diǎn)前一位的字母定義為報(bào)文對(duì)應(yīng)的源IP 標(biāo)識(shí),小數(shù)點(diǎn)后面的一位字母定義為報(bào)文對(duì)應(yīng)的宿IP標(biāo)識(shí)。 1 (第l步)設(shè)置參數(shù)設(shè)置Bloom Filter中需要使用的哈希函數(shù)個(gè)數(shù)為3個(gè),分別對(duì)應(yīng)的3個(gè)哈希函數(shù)為 h力、h2()、 h3(),這3個(gè)哈希函數(shù)的輸入是網(wǎng)絡(luò)流標(biāo)識(shí),輸出是一個(gè)長(zhǎng)度為5個(gè)比特的 哈希值;設(shè)置Bloom Filter比特向量大小32,其中32=25, 5是哈希函數(shù)輸出哈希值的比 特長(zhǎng)度;對(duì)應(yīng)實(shí)例中的IO個(gè)網(wǎng)絡(luò)流標(biāo)識(shí)(A.B) (B.A) (D.B) (B.D) (F. A) (C. B) (E. A) (E.B) (B.E) (A.C), 3個(gè)哈希函數(shù)h,()、 h")、 h3()對(duì)應(yīng)的輸出分別為: h,(A.B^7, h2(A.B)=10, h3(A.B)=13 h,(B.A)= 27, h2(B.A)=24, h"B,A):l h"D.B斤27, h2(D.B)=l, h3(D.B)=4 (B.D) =31, h2(B.D)=5, h3(B.D)=8 h,(F.A): 18, h2(F.A)=31, h3(F.A)=5 h,(C.B)- 7, h2(C.B)-l, h3(C.B)=14 h'(E.A)= 2, h2(E.A)=26, h3(E.A)=23 hjE.B)-25' h2(E.B)=15, h3(E.B)=ll h,(B.E)二 12, h2(C.A)=7, h3(C.A)=29 h"A.C)= 10, h2(A.C)=0, h3(A.C)=8設(shè)置計(jì)數(shù)型Bloom Filter中需要使用的哈希函數(shù)個(gè)數(shù)為3個(gè),分別對(duì)應(yīng)的3個(gè)哈希 函數(shù)為h,力、h' 2()、 h, 3(),這3個(gè)哈希函數(shù)的輸入是聚合點(diǎn)標(biāo)識(shí),本實(shí)例中設(shè)置集 合元素中的第一個(gè)字母為聚合點(diǎn)標(biāo)識(shí),該實(shí)例中的聚合點(diǎn)標(biāo)識(shí)為(A B C D E F},輸出是 一個(gè)長(zhǎng)度為4個(gè)比特的哈希值;設(shè)置計(jì)數(shù)型Bloom Filter比特向量大小16,其中16=24, 4是計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)3個(gè)哈希函數(shù)輸出哈希值的比特長(zhǎng)度;設(shè)置計(jì)數(shù)型BloomFilter向量每個(gè)位為2個(gè)比特,設(shè)置超點(diǎn)判斷閥值為2,其中設(shè)置的閥值2需要小于22, 2為計(jì)數(shù)型Bloom Filter向量中每個(gè)位的比特?cái)?shù);對(duì)應(yīng)實(shí)例中的6個(gè)聚合點(diǎn)標(biāo)識(shí)A B C D E F, 3個(gè)哈希函數(shù)h' ,()、 h, 2()、 h' 3()對(duì) 應(yīng)的輸出分別為h, !(A)= 1, h, 2(A)=11, h, 3(A)=12h,(B)= 7, h, 2(B) =13, h, 3(B) =9h, ,(C)= 5, h, 2(C)=15, h, 3(C)=3h' ,(D)= 0, h, 2(D)=1, h' 3(D)=0h, !(E)= 3, h' 2(E)=12, h' 3(E)=8h' "F)= 5, h, 2(F)=2, h, 3(F)=15設(shè)置超點(diǎn)哈希鏈表結(jié)構(gòu)中指針數(shù)組所使用的哈希函數(shù)為h''(),哈希函數(shù)h',() 的輸入為超點(diǎn)標(biāo)識(shí),輸出為2比特長(zhǎng)度的哈希值;設(shè)置一個(gè)指向超點(diǎn)結(jié)構(gòu)的指針數(shù)組大小 為4,其中4二22;設(shè)置超點(diǎn)結(jié)構(gòu)由超點(diǎn)標(biāo)識(shí)、超點(diǎn)流數(shù)量和指向下一個(gè)超點(diǎn)的指針構(gòu)成;對(duì)應(yīng)實(shí)例中的6個(gè)聚合點(diǎn)標(biāo)識(shí)A B C D E F,哈希函數(shù)h''()對(duì)應(yīng)的輸出分別為-h, ' (A)= 3 h, ' (B)= 1 h, ' (C)= 1 h' , (D)= 0h, , (E)= 3 h, , (F)= 1設(shè)置測(cè)量開(kāi)始時(shí)間0和測(cè)量結(jié)束時(shí)間10;進(jìn)入2 (第2步);2 (第2步)設(shè)置各結(jié)構(gòu)初始值設(shè)置Bloom Filter比特向量中的所有32個(gè)位置初始值為0; 設(shè)置計(jì)數(shù)型Bloom Filter比特向量中所有16個(gè)位置的初始值為0; 設(shè)置超點(diǎn)哈希鏈表結(jié)構(gòu)中指向超點(diǎn)結(jié)構(gòu)的指針數(shù)組的所有4個(gè)位置初始值為空指針; 進(jìn)入3 (第3步);3 (第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前時(shí)鐘的時(shí)間為0,小于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(A.B)到達(dá) 測(cè)量器,進(jìn)入4 (第4步);4 (第4步)基于Bloom Filter的新流判斷 報(bào)文(A.B)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(A.B),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù)計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(A.B)的哈希值h,(A.B盧7, h"A.B)=10, h3(A.B)=13,這3個(gè)哈希位置對(duì)應(yīng) 的Bloom Filter結(jié)構(gòu)中的值均為0,這個(gè)報(bào)文的流是一個(gè)新流,將這3個(gè)哈希位置對(duì)應(yīng) 的Bloom Filter結(jié)構(gòu)中的值全部賦值為1,進(jìn)入到5(第5步); 5(第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(A.B)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為A,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)A的哈希值,h, ,(A)= 1, h, 2(A)=11, h, 3(A)=12,查找這3個(gè)哈希 值對(duì)應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,所有這3個(gè)值均為最小值0,這個(gè)最小值0 小于超點(diǎn)定義的閥值2,將這3個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最 小值的值累加l,回到6(第3步);6(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于l,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(B.A)到達(dá)測(cè)量器,進(jìn)入7(第4步);7 (第4步)基于Bloom Filter的新流判斷報(bào)文(B. A)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(B. A),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(B.A)的哈希值h,(B.A)^27, h2(B.A)=24, h3(B.A)=l,這3個(gè)哈希位置對(duì) 應(yīng)的Bloora Filter結(jié)構(gòu)中的值均為0,這個(gè)報(bào)文的流是一個(gè)新流,將這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值全部賦值為1,進(jìn)入到8(第5步); 8(第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(A. B)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為B,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)B的哈希值,h' ,(B)= 7, h, 2(B)=13, h' 3(B)=9,查找7、 13、 9對(duì) 應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,所有這3個(gè)值均為最小值0,這個(gè)最小值0小 于超點(diǎn)定義的閥值2,將這3個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小 值的值累加l,回到9(第3步); 9(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于2,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(B.A) 到達(dá)測(cè)量器,進(jìn)入10(第4步);10 (第4步)基于Bloom Filter的新流判斷報(bào)文(D. B)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(D. B),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(D.B)的哈希值h,(D.B): 27, h2(D.B)=l, h3(D.B)=4,這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值,其中第4位置為0,這個(gè)報(bào)文的流是一個(gè)新流,將Bloom Filter結(jié)構(gòu)中的第4位置值賦值為1,進(jìn)入到11 (第5步);11 (第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(D. B)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為D,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)D的哈希值,h, "D):0, h, 2(D)=1, h, 3(D)=0,査找0、 l對(duì)應(yīng)位置 的Bloom Filter結(jié)構(gòu)中的最小值,第0個(gè)值的最小值為0,這個(gè)最小值0小于超點(diǎn)定義 的閥值2,將這個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的值累加1, 回到12(第3步); 12(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于3,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(B.D) 到達(dá)測(cè)量器,進(jìn)入13(第4步); 13 (第4步):基于Bloom Filter的新流判斷報(bào)文(B. D)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(B. D),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(B.D)的哈希值^(B.D^ 31, h"B.D)=5, h3(B.D)=8,這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值均為0,這個(gè)報(bào)文的流是一個(gè)新流,將這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值全部賦值為1,進(jìn)入到14(第5步); 14(第5步)基于計(jì)數(shù)型Bloom Filter"的超點(diǎn)判斷報(bào)文(B. D)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為B,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算聚合點(diǎn)標(biāo)識(shí)D的哈希值,h' 7, h' 2(B)=13, h, 3(B)=9,查找7、 9、 13對(duì)應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,這3個(gè)值的最小值均為1,這個(gè)最小值1小于超 點(diǎn)定義的閥值2,將這個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的值 累加l,回到15(第3步); 15(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于4,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(F.A) 到達(dá)測(cè)量器,進(jìn)入16(第4步); 16 (第4步):基于Bloom Filter的新流判斷報(bào)文(F. A)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(F. A),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(F.A)的哈希值h,(F.A)= 18, h2(F.A)=31, h3(F.A)=5, Bloom Filter結(jié) 構(gòu)中第18位置的值為0,這個(gè)報(bào)文的流是一個(gè)新流,將這個(gè)哈希位置對(duì)應(yīng)的Bloom Filter 結(jié)構(gòu)中的值賦值為l,進(jìn)入到17(第5步); 17(第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(F. A)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為F,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)F的哈希值,h, ,(F)= 5, h' 2(F)=2, h, 3(F)=15,查找2、 5、 15對(duì) 應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,這3個(gè)值的最小值均為0,這個(gè)最小值0小于 超點(diǎn)定義的閥值2,將這個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的 值累加l,回到18(第3步); 18(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于5,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(C.B) 到達(dá)測(cè)量器,進(jìn)入19(第4步); 19 (第4步)基于Bloom Filter的新流判斷報(bào)文(C. B)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(C. B),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(C.B)的哈希值hJC.B)二 7, h"C.B):l, h3(C.B)=14, Bloom Filter結(jié)構(gòu) 中第14位置的值為0,這個(gè)報(bào)文的流是一個(gè)新流,將這個(gè)哈希位置對(duì)應(yīng)的Bloom Filter 結(jié)構(gòu)中的值賦值為l,進(jìn)入到20(第5步); 20(第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(C.B)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為C,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)C的哈希值,h, 5, h, 2(C)=15, h, 3(C)=3,査找3、 5、 15對(duì) 應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,第3個(gè)位置的最小值為0,這個(gè)最小值0小于 超點(diǎn)定義的閥值2,將這個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的 值累加l,回到21(第3步); 21(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于6,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(E.A) 到達(dá)測(cè)量器,進(jìn)入22(第4步); 22 (第4步)基于Bloom Filter的新流判斷報(bào)文(E. A)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(E. A),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(E.A)的哈希值hi(E.A^ 2, h2(E.A)=26, h3(E.A)=23,這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值均為0,這個(gè)報(bào)文的流是一個(gè)新流,將這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值全部賦值為1,進(jìn)入到23(第5步); 23(第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(E. A)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為E,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)E的哈希值,h' ,(E)= 3, h' 2(E)=12, h' "E)=8,査找3、 8、 12對(duì) 應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,第8個(gè)位置的最小值為0,這個(gè)最小值0小于 超點(diǎn)定義的閥值2,將這個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的 值累加l,回到24(第3步); 24(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于7,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(C.B) 到達(dá)測(cè)量器,進(jìn)入25(第4步); 25 (第4步)基于Bloom Filter的新流判斷報(bào)文(C. B)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(C. B),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(C.B)的哈希值hJC.B^ 7, h"C.B):l, h3(C.B)=14,這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值均為1,這3個(gè)哈希位置對(duì)應(yīng)的Bloom Filter結(jié)構(gòu)中的值 均為l,則這個(gè)報(bào)文的流已經(jīng)被記錄過(guò),回到26(第3步); 26(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于8,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(B.A) 到達(dá)測(cè)量器,進(jìn)入27(第4步); 27 (第4步)基于Bloom Filter的新流判斷報(bào)文(B. A)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(B. A),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(B.A)的哈希值hjB.A): 27, h2(B.A)=24, h3(B.A)=l,這3個(gè)哈希位置對(duì) 應(yīng)的Bloom Filter結(jié)構(gòu)中的值均為1,這3個(gè)哈希位置對(duì)應(yīng)的Bloom Filter結(jié)構(gòu)中的值 均為l,則這個(gè)報(bào)文的流已經(jīng)被記錄過(guò),到28(第3步); 28(第3步)測(cè)量時(shí)間結(jié)束判斷當(dāng)前測(cè)量器時(shí)鐘等于9,小于于測(cè)量結(jié)束時(shí)間10,等待報(bào)文到達(dá)測(cè)量器,報(bào)文(A.C) 到達(dá)測(cè)量器,進(jìn)入29(第4步); 29 (第4步)基于Bloom Filter的新流判斷報(bào)文(B. E)所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為(B. E),使用Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函數(shù) 計(jì)算網(wǎng)絡(luò)流標(biāo)識(shí)(B.E)的哈希值hjB.E卜12, h2(C.A)=7, h3(C.A)=29,這第12、 29哈希 位置對(duì)應(yīng)的Bloom Filter結(jié)構(gòu)中的值為0,這個(gè)報(bào)文的流是一個(gè)新流,將第12、 29個(gè)哈 希位置對(duì)應(yīng)的Bloom Filter結(jié)構(gòu)中的值賦值為1,進(jìn)入到30(第5步); 30(第5步)基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷報(bào)文(B.E)所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為B,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的3個(gè)哈希函 數(shù)計(jì)算聚合點(diǎn)標(biāo)識(shí)B的哈希值,h' ,(B)= 7, h' 2(B)=13, h' 3(B)=9,査找7、 9、 13對(duì)應(yīng)位置的Bloom Filter結(jié)構(gòu)中的最小值,其最小值為2,這個(gè)最小值2等于大于超點(diǎn)定 義的閥值,進(jìn)入到31(第6步); 31(第6步)基于哈希鏈表的超點(diǎn)信息記錄
設(shè)該報(bào)文所對(duì)應(yīng)的超點(diǎn)標(biāo)識(shí)為B,使用哈希鏈表所對(duì)應(yīng)的哈希函數(shù)計(jì)算超點(diǎn)標(biāo)識(shí)B的 哈希值,h' ' (B)= 1 ,查找哈希值對(duì)應(yīng)位置指針數(shù)組的指針,在這個(gè)指針指向鏈表中 沒(méi)有該超點(diǎn)的結(jié)點(diǎn)記錄,則進(jìn)入32(第7步); 32(第7步)生成新的超點(diǎn)結(jié)點(diǎn)記錄
在內(nèi)存中為超點(diǎn)結(jié)構(gòu)分配一個(gè)結(jié)點(diǎn)空間,設(shè)置這個(gè)超點(diǎn)結(jié)點(diǎn)的超點(diǎn)標(biāo)識(shí)字段為超點(diǎn)標(biāo) 識(shí)為B,將其流數(shù)字段的初始值設(shè)置為超流檢測(cè)閥值加1,流數(shù)初始值等于3,設(shè)置超點(diǎn) 結(jié)點(diǎn)中的指向下一個(gè)結(jié)點(diǎn)的指針設(shè)置為空;將該超點(diǎn)哈希值所對(duì)應(yīng)哈希鏈表指針數(shù)組的超 點(diǎn)結(jié)點(diǎn)鏈表中的最后一個(gè)結(jié)點(diǎn)的指針指向這個(gè)新的超點(diǎn)結(jié)點(diǎn);進(jìn)入33(第3步)。 33(第3步)測(cè)量時(shí)間結(jié)束判斷
當(dāng)前時(shí)鐘為10,己經(jīng)等于測(cè)量結(jié)束時(shí)間10,則將哈希鏈表中的超點(diǎn)信息輸出;輸出的信息為
超點(diǎn)B,超點(diǎn)B的流數(shù)為3。
本發(fā)明實(shí)例測(cè)量時(shí)間結(jié)束后,三個(gè)數(shù)據(jù)結(jié)構(gòu)的狀態(tài)見(jiàn)圖7。
權(quán)利要求
1、一種高速網(wǎng)絡(luò)流量的超點(diǎn)實(shí)時(shí)檢測(cè)方法,其特征是該方法基于Bloom Filter數(shù)據(jù)結(jié)構(gòu),采用Bloom Filter技術(shù)過(guò)濾新流,采用計(jì)數(shù)型Bloom Filter技術(shù)過(guò)濾超點(diǎn);包括設(shè)置三個(gè)數(shù)據(jù)結(jié)構(gòu)和三個(gè)過(guò)程,三個(gè)數(shù)據(jù)結(jié)構(gòu)分別是Bloom Filter數(shù)據(jù)結(jié)構(gòu)、計(jì)數(shù)型BloomFilter數(shù)據(jù)結(jié)構(gòu)和哈希鏈表數(shù)據(jù)結(jié)構(gòu)。Bloom Filter數(shù)據(jù)結(jié)構(gòu)用于記錄流存在信息,計(jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)用于記錄聚合點(diǎn)的流數(shù)信息,哈希鏈表結(jié)構(gòu)用于記錄超點(diǎn)標(biāo)識(shí)和超點(diǎn)流數(shù)信息;三個(gè)過(guò)程分別是基于Bloom Filter的新流檢測(cè)過(guò)程、基于計(jì)數(shù)型Bloom Filter的超點(diǎn)檢測(cè)過(guò)程和基于哈希鏈表的超點(diǎn)信息記錄過(guò)程。
2、 根據(jù)權(quán)利要求l所述基于Bloom Filter的超點(diǎn)實(shí)時(shí)檢測(cè)方法,其特征是當(dāng)一個(gè)報(bào)文 到達(dá)測(cè)量器,首先在Bloom Filter數(shù)據(jù)結(jié)構(gòu)中查找該報(bào)文是否屬于一個(gè)新流,如果測(cè)量 器發(fā)現(xiàn)該報(bào)文所屬的流已經(jīng)存在,則測(cè)量器停止處理該報(bào)文,繼續(xù)處理下一個(gè)到達(dá)的報(bào)文; 如果測(cè)量器發(fā)現(xiàn)新到達(dá)的報(bào)文是屬于一個(gè)新流,則將該新流信息記錄在這個(gè)Bloom Filter 數(shù)據(jù)結(jié)構(gòu)中,并轉(zhuǎn)由計(jì)數(shù)型Bloom Filter超點(diǎn)檢測(cè)過(guò)程處理;計(jì)數(shù)型Bloom Filter超點(diǎn) 檢測(cè)過(guò)程?hào)苏矣?jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)以判斷該新流的聚合點(diǎn)是否是一個(gè)超點(diǎn),如 果這個(gè)該新流所對(duì)應(yīng)的聚合點(diǎn)不是一個(gè)超點(diǎn),則將該新流信息記錄在計(jì)數(shù)型Bloom Filter 數(shù)據(jù)結(jié)構(gòu)中,停止處理該報(bào)文,繼續(xù)處理下一個(gè)到達(dá)的報(bào)文;如果這個(gè)新流所對(duì)應(yīng)的聚合 點(diǎn)是一個(gè)超點(diǎn),則計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中流數(shù)信息不做修改,并將該新流信息轉(zhuǎn)由 基于哈希鏈表的超點(diǎn)過(guò)程處理;如果在哈希鏈表結(jié)構(gòu)中查找到該報(bào)文所對(duì)應(yīng)的超點(diǎn)信息, 則直接將該超點(diǎn)的流數(shù)信息累加,否則如果該報(bào)文對(duì)應(yīng)的超點(diǎn)在哈希鏈表數(shù)據(jù)結(jié)構(gòu)中沒(méi)有 記錄,則在哈希鏈表數(shù)據(jù)結(jié)構(gòu)中增加該超點(diǎn)信息,將其流數(shù)的初始值設(shè)置為超流檢測(cè)閥值 加l;測(cè)量時(shí)間結(jié)束后,將哈希鏈表中的超點(diǎn)信息輸出。
3、根據(jù)權(quán)利要求1或2所述基于Bloom Filter的超點(diǎn)實(shí)時(shí)檢測(cè)方法,其特征是具體 技術(shù)步驟如下 第l步設(shè)置參數(shù)設(shè)置Bloom Filter中需要使用的哈希函數(shù)個(gè)數(shù)為k個(gè),分別對(duì)應(yīng)的k個(gè)哈希函數(shù)為 h力、h2()、…、hk(),這k個(gè)哈希函數(shù)的輸入是網(wǎng)絡(luò)流標(biāo)識(shí),輸出是一個(gè)長(zhǎng)度為n個(gè)比 特的哈希值;設(shè)置Bloom Filter比特向量大小m,其中『2", n是哈希函數(shù)輸出哈希值的 比特長(zhǎng)度;設(shè)置計(jì)數(shù)型Bloom Filter中需要使用的哈希函數(shù)個(gè)數(shù)為b個(gè),分別對(duì)應(yīng)的b個(gè)哈希 函數(shù)為h, ,0、 h, 2()、、 h' b(),這b個(gè)哈希函數(shù)的輸入是聚合點(diǎn)標(biāo)識(shí),輸出是一個(gè) 長(zhǎng)度為d個(gè)比特的哈希值;設(shè)置計(jì)數(shù)型Bloom Filter比特向量大小a,其中a=2d, d是計(jì) 數(shù)型Bloom Fi 1 ter所對(duì)應(yīng)b個(gè)哈希函數(shù)輸出哈希值的比特長(zhǎng)度;設(shè)置計(jì)數(shù)型Bloom Filter 向量每個(gè)位為e個(gè)比特,設(shè)置超點(diǎn)判斷閥值為r,其中設(shè)置的閥值r需要小于26, e為計(jì) 數(shù)型Bloom Filter向量中每個(gè)位的比特?cái)?shù);設(shè)置超點(diǎn)哈希鏈表結(jié)構(gòu)中指針數(shù)組所使用的哈希函數(shù)為h' , 0,哈希函數(shù)h''() 的輸入為超點(diǎn)標(biāo)識(shí),輸出為q比特長(zhǎng)度的哈希值;設(shè)置一個(gè)指向超點(diǎn)結(jié)點(diǎn)的指針數(shù)組大小為w,其中f2、設(shè)置超點(diǎn)結(jié)點(diǎn)由超點(diǎn)標(biāo)識(shí)、超點(diǎn)流數(shù)和指向下一個(gè)超點(diǎn)結(jié)點(diǎn)的指針等三 個(gè)字段構(gòu)成;設(shè)置測(cè)量開(kāi)始時(shí)間begintime和測(cè)量結(jié)束時(shí)間endtime; 第2步設(shè)置各結(jié)構(gòu)初始值 設(shè)置Bloom Filter比特向量中的所有m個(gè)位置初始值為0; 設(shè)置計(jì)數(shù)型Bloom Filter比特向量中所有a個(gè)位置的初始值為0; 設(shè)置超點(diǎn)哈希鏈表結(jié)構(gòu)中指向超點(diǎn)結(jié)構(gòu)的指針數(shù)組的所有w個(gè)位置初始值為空指針;第3步測(cè)量時(shí)間結(jié)束判斷如果當(dāng)前時(shí)鐘已經(jīng)等于或大于測(cè)量結(jié)束時(shí)間endtime,則將哈希鏈表中的超點(diǎn)結(jié)點(diǎn)信 息輸出;否則,等待報(bào)文到達(dá)測(cè)量器,如果一個(gè)報(bào)文到達(dá)測(cè)量器,進(jìn)入第4步; 第4步基于Bloom Filter的新流判斷 設(shè)該報(bào)文所對(duì)應(yīng)的網(wǎng)絡(luò)流標(biāo)識(shí)為A,使用Bloom Filter所對(duì)應(yīng)的k個(gè)哈希函數(shù)計(jì)算網(wǎng) 絡(luò)流標(biāo)識(shí)A的哈希值,h,(A)、 h2(A)、 ' 、 hk(A),如果這k個(gè)哈希值對(duì)應(yīng)的Bloom Fiiter 結(jié)構(gòu)中的值均為l,則這個(gè)報(bào)文的流已經(jīng)被記錄過(guò),回到第3步;如果這k個(gè)哈希值對(duì)應(yīng) 的Bloom Filter結(jié)構(gòu)中的值至少有1個(gè)位置上為0,則這個(gè)報(bào)文的流是一個(gè)新流,將這k 個(gè)哈希值對(duì)應(yīng)的Bloom Filter結(jié)構(gòu)中的值全部賦值為1,進(jìn)入到第5步; 第5步基于計(jì)數(shù)型Bloom Filter的超點(diǎn)判斷 設(shè)該報(bào)文所對(duì)應(yīng)的聚合點(diǎn)標(biāo)識(shí)為B,使用計(jì)數(shù)型Bloom Filter所對(duì)應(yīng)的b個(gè)哈希函數(shù) 計(jì)算聚合點(diǎn)標(biāo)識(shí)B的哈希值,h, ,(B)、 h' 2(B)、…、h' k(B),查找這b個(gè)哈希值對(duì)應(yīng)位 置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中的最小值,如果這個(gè)最小值小于超點(diǎn)定義的閥值,則將 這b個(gè)哈希值對(duì)應(yīng)位置的計(jì)數(shù)型Bloom Filter結(jié)構(gòu)中等于最小值的值累加1,回到第3 步;如果這個(gè)最小值等于或大于超點(diǎn)定義的閥值,進(jìn)入到第6步; 第6步基于哈希鏈表的超點(diǎn)信息記錄 設(shè)該報(bào)文所對(duì)應(yīng)的超點(diǎn)標(biāo)識(shí)為B,使用哈希鏈表所對(duì)應(yīng)的哈希函數(shù)計(jì)算超點(diǎn)標(biāo)識(shí)B的 哈希值,h' ' (B),査找哈希值對(duì)應(yīng)位置指針數(shù)組的指針,如果這個(gè)指針指向的鏈表中查找到該超點(diǎn)的結(jié)點(diǎn)記錄,則將該超點(diǎn)結(jié)點(diǎn)記錄中的流數(shù)字段值累加1,回到第3步;如果在這個(gè)指針指向鏈表中沒(méi)有該超點(diǎn)的結(jié)點(diǎn)記錄,則進(jìn)入第7步; 第7步生成新的超點(diǎn)結(jié)點(diǎn)記錄 在內(nèi)存中為超點(diǎn)結(jié)構(gòu)分配一個(gè)結(jié)點(diǎn)空間,該結(jié)點(diǎn)空間中內(nèi)容包括該超點(diǎn)標(biāo)識(shí)、超點(diǎn)的 流數(shù)和指向下一個(gè)超點(diǎn)的指針,設(shè)置這個(gè)超點(diǎn)結(jié)點(diǎn)的超點(diǎn)標(biāo)識(shí)字段為超點(diǎn)標(biāo)識(shí),將其流數(shù) 字段的初始值設(shè)置為超流檢測(cè)閥值加1,設(shè)置超點(diǎn)結(jié)點(diǎn)中的指向下一個(gè)結(jié)點(diǎn)的指針設(shè)置為 空;將該超點(diǎn)哈希值所對(duì)應(yīng)哈希鏈表指針數(shù)組的超點(diǎn)結(jié)點(diǎn)鏈表中的最后一個(gè)結(jié)點(diǎn)的指針指 向這個(gè)新的超點(diǎn)結(jié)點(diǎn);回到第3步。
全文摘要
一種高速網(wǎng)絡(luò)流量的超點(diǎn)實(shí)時(shí)檢測(cè)方法,包括設(shè)置三個(gè)數(shù)據(jù)結(jié)構(gòu)和三個(gè)過(guò)程,三個(gè)數(shù)據(jù)結(jié)構(gòu)分別是Bloom Filter數(shù)據(jù)結(jié)構(gòu)、計(jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)和哈希鏈表數(shù)據(jù)結(jié)構(gòu)。Bloom Filter數(shù)據(jù)結(jié)構(gòu)用于記錄流存在信息,計(jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)用于記錄聚合點(diǎn)的流數(shù)信息,哈希鏈表結(jié)構(gòu)用于記錄超點(diǎn)標(biāo)識(shí)和超點(diǎn)流數(shù)信息;三個(gè)過(guò)程分別是基于Bloom Filter的新流檢測(cè)過(guò)程、基于計(jì)數(shù)型Bloom Filter的超點(diǎn)檢測(cè)過(guò)程和基于哈希鏈表的超點(diǎn)信息記錄過(guò)程。當(dāng)一個(gè)報(bào)文到達(dá)測(cè)量器,首先在Bloom Filter數(shù)據(jù)結(jié)構(gòu)中查找該報(bào)文是否是一個(gè)新流,如果是一個(gè)新流,則在計(jì)數(shù)型Bloom Filter數(shù)據(jù)結(jié)構(gòu)中查找該新流的聚合點(diǎn)是否是一個(gè)超點(diǎn),如果是一個(gè)超點(diǎn),則在哈希鏈表數(shù)據(jù)結(jié)構(gòu)中記錄該超點(diǎn)標(biāo)識(shí)信息和流數(shù)信息。本方法能夠直接實(shí)時(shí)檢測(cè)出超點(diǎn)信息,節(jié)省測(cè)量資源的消耗并提高超點(diǎn)流數(shù)的檢測(cè)精度。
文檔編號(hào)H04L12/24GK101227318SQ20071019103
公開(kāi)日2008年7月23日 申請(qǐng)日期2007年12月4日 優(yōu)先權(quán)日2007年12月4日
發(fā)明者偉 丁, 強(qiáng)士卿, 江潔欣, 光 程, 儉 龔 申請(qǐng)人:東南大學(xué)