本發明專利技術公開了一種基于計數型bloom?filter的網絡數據流統計方法,所述方法包括如下步驟:配置計數型bloom?filter統計前的參數,包括容錯率、流總數、哈希函數個數以及計數器個數;計數型bloom?filter將每個數據包的五元組信息哈希到相應位置的計數器中;取相應計數器中的最小值作為該流流量。實施本發明專利技術具有以下有益效果:在預設流個數的情況下,通過特有的參數設置方案使用易于硬件實現的計數型bloom?filter實現流量以及流個數的快速統計,在高效哈希置位的同時通過擴展的計數器防止計數型bloom?fi?lter計數器溢出,能滿足高速網絡中一般情況下的流統計以及五元組信息快速存儲。
【技術實現步驟摘要】
本專利技術涉及網絡數據流統計領域,更具體地說,涉及一種基于計數型bloomfilter的網絡數據流統計方法。
技術介紹
當今的網絡飛速發展,在高速的路由器和交換機上0C-48 (2.5Gbps)端口速率已經非常普遍,而新的0C-768端口速率更是高達40Gbps。了解高速網絡環境下的網絡行為特征需要網絡測量,而流級別的測量統計在網絡測量中的應用越來越廣泛。流以及流量的統計結果可用于網絡安全檢測、流量計費、流量管理、流量工程以及其他網絡應用。網絡流統計技術很多,主要追求的是統計準確性、降低計算復雜度以及空間復雜度。比如使用編碼的哈希統計,在對流信息哈希后,需要一定的編碼位數來降低碰撞率,當編碼位數與哈希前的流信息位數相同時才能避免碰撞,相當于完全存儲。哈希統計基本靠編碼位數作為和準確率交換的籌碼。還有數據約減統計,亦即抽樣統計。這種統計方法在空間占用上比較有優勢,但是抽樣后的估計誤差不可避免。如cisco在Netflow中引入的“lout of N”抽樣策略,每N個流中統計一個,這種方法簡單易于硬件實現,但是偏離實際的網絡流分布,大流被抽得的概率較高,而短流較低。后面出現的一些改進型的抽樣統計方法都是在準確性、計算復雜度和空間復雜度三者之間求均衡。bloom filter是對哈希的改進,是一種空間高效的存儲結構,使用k個哈希函數和擁有一組置位比特的向量。它有效避免了碰撞,且易于硬件實現。
技術實現思路
本專利技術針對以上問題的提出,而研制。—種基于計數型bloom filter的網絡數據流統計方法,其特征在于,包括如下步驟:I)配置計數型bloom filter統計前的參數,包括容錯率、流總數、哈希函數個數以及計數器個數;2)計數型bloom filter將每個數據包的五元組信息哈希到相應位置的計數器中;3)取相應計數器中的最小值作為該流流量。本專利技術的步驟I)包括如下步驟:A)設定統計錯誤率上界ε ;B)設定統計的流總數η ;C)設置計數器個數m,m取大于且臨近nlog2e.1g2 (I/ ε )的整數;D)設置哈希函數個數k,k取大于且臨近(m/n) 1η2的整數。本專利技術的步驟2)包括如下步驟:E)流采集模塊獲取當前數據包,解析出數據包中的五元組信息發送至流統計模塊;F)流統計模塊將五元組信息轉發至計數型bloom filter ;G)計數型bloom filter使用k個哈希函數將五元組信息哈希到對應k個位置的計數器中,當哈希前k個計數器中所有值均不為O時,更新流,將該k個計數器值同時加I ;當哈希前k個計數器中至少有一個值為O時,添加流,將對應k個計數器值加I且流統計模塊中新增一條流記錄。本專利技術的步驟3)包括如下步驟:H)當統計流的流總數大于預設流總數時,計數型bloom filter停止統計,取對應的k個流量統計計數器中的最小值作為每個流的流量。本專利技術的G)步驟還包括如下步驟:當統計值超過計數器位數時,建立擴展計數器,擴展計數器存儲低位,計數型bloom filter的計數器存儲高位。實施本專利技術具有以下有益效果:在預設流個數的情況下,通過特有的參數設置方案使用易于硬件實現的計數型bloom filter實現流量以及流量的快速統計,在高效哈希置位的同時通過擴展計數器防止計數型bloom filter的計數器溢出,能滿足高速網絡中一般情況下的流統計以及五元組信息快速存儲。附圖說明圖1是本專利技術的系統結構圖;圖2是本專利技術的方法流程圖;圖3是本專利技術的更新流的示意圖;圖4是本專利技術的添加流的示意圖;圖5是停止統計控制指令示意圖;圖6是防溢出添加計數器示意圖。具體實施例方式本專利技術提供,下面結合附圖對本專利技術的技術方案進行說明。圖1是本專利技術的系統結構圖;圖2是本專利技術的方法流程圖;圖3是本專利技術的更新流的示意圖;圖4是本專利技術的添加流的示意圖;圖5是停止統計控制指令示意圖;圖6是防溢出添加計數器示意圖。如圖1和圖2所示,網絡數據流統計方法為:配置計數型bloom filter統計前的參數,包括容錯率、流總數、哈希函數個數以及計數器個數,將計數器清零;即對計數型bloom filter進行初始化,在容許錯誤率的前提下完成計數器和哈希函數個數的確定。網絡數據包(數據包隊列)傳輸時,流采集模塊獲取當前數據包,解析出數據包中的五元組信息并發送至流統計模塊;所述五元組信息為源IP、源端口、目的IP、目的端口和協議類型。流統計模塊將五元組信息轉發至計數型bloom filter,控制bloom filter將五元組信息分類后統計計數,并查找計數結果。計數型bloom filter使用k個哈希函數將五元組信息哈希到對應k個位置的計數器中。若哈希前k個計數器中所有值均不為0,則說明計數器中已統計過該數據包所屬的流,則更新流,即該k個計數器值同時加I ;若哈希前k個計數器中至少有一個值為0,則說明計數器還沒統計過該包所屬的流,則添加流,即對應k個計數器值加I且流統計模塊中新增一條流記錄。計數型bloom filter將統計流量反饋給流統計模塊。信息存儲模塊存儲數據包總數、流數、五元組信息以及對應的流量。當統計流的流總數大于預設流總數時,流統計模塊向流采集模塊以及bloomfilter發送終止指令計數型bloom filter停止統計,取流量統計計數器中的最小值作為每個流的流量。對計數型bloom filter進行初始化,在容許錯誤率的前提下完成計數器和哈希函數個數的確定的方式如下:A)根據統計需要,設定統計錯誤率上界ε ; B)設定統計的流總數η ;C)設置計數器個數m,m取大于且臨近nlog2e.1g2 (I/ ε )的整數;D)設置哈希函數個數k,k取大于且臨近(m/n) 1η2的整數。m取大于且臨近nlog2e.1ο&(1/ ε )的整數的原因如下:布魯姆過濾器中,每次賦值使某位為I的概率為1/m,為O的概率為l-1/m.每添加一個新元素都要執行k次哈希,添加完η個所有元素后,某位仍為O的概率為Pfd-l/m)'誤稱率為=Pe=(1-Ptl)1S對k求導等于O后k=ln2(m/n),得到Pe最小值,k取整為「(m / n')ln2l時錯誤率最小。此時Pe=2_wn)ln2, Pe 彡 ε,有 m 彡 nlog2e.1g2 (I/ ε ),這里 m 取大于且臨近 nlog2e.1g2 (I/ ε )的整數,才能保證預期正確率。k取大于且臨近(m/n) 1η2的整數的原因:為使誤稱率Pe取得最小值,k取大于且臨近ln2(m/n)的整數。計數型bloom filter的工作流程如下:獲取五元組信息,使用k個哈希函數對五元組信息進行哈希運算,運算后得到k個相應的地址,將在bloom filter對應的k個位置將相應計數器值加I。當流統計模塊統計的流個數大于η時,流統計模塊向計數型bloom filter發送停止工作控制指令。計數型bloom filter停止統計并記錄統計時間,結果歸并后存儲,計數型bloom filter中各計數器清零(如圖5所示)。若有新的測量需求,則等待哈希函數個數、固定流個數、計數器個數等參數的重新配置,亦即重建一個新的bloom filter,待重建完成后進行下一次測量。若沒有新的測量需求,則只需將bl本文檔來自技高網...
【技術保護點】
一種基于計數型bloom?filter的網絡數據流統計方法,其特征在于,包括如下步驟:1)配置計數型bloom?filter統計前的參數,包括容錯率、流總數、哈希函數個數以及計數器個數;2)計數型bloom?filter將每個數據包的五元組信息哈希到相應位置的計數器中;3)取相應計數器中的最小值作為該流流量。
【技術特征摘要】
1.一種基于計數型bloom filter的網絡數據流統計方法,其特征在于,包括如下步驟: 1)配置計數型bloomfilter統計前的參數,包括容錯率、流總數、哈希函數個數以及計數器個數; 2)計數型bloomfilter將每個數據包的五元組信息哈希到相應位置的計數器中; 3)取相應計數器中的最小值作為該流流量。2.根據權利要求1所述的基于計數型bloomfilter的網絡數據流統計方法,其特征在于,步驟I)包括如下步驟: A)設定統計錯誤率上界ε; B)設定統計的流總數η; C)設置計數器個數m,m取大于且臨近nlog2e.1g2 (I/ ε )的整數; D)設置哈希函數個數k,k取大于且臨近(m/n)1η2的整數。3.根據權利要求2所述的基于計數型bloomfilter的網絡數據流統計方法,其特征在于,步驟2)包括如下步驟: E)流采集模塊獲取當前數據包,解析出數據包中的五元組信息發送...
【專利技術屬性】
技術研發人員:陳庶樵,王宜青,于婧,卜佑軍,張校輝,王軍,
申請(專利權)人:大連環宇移動科技有限公司,中國人民解放軍信息工程大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。