專利名稱:一種流量監控方法和裝置的制作方法
技術領域:
本發明涉及網絡通信技術,特別涉及一種流量監控方法和裝置。
背景技術:
采樣流(sFlow campled Flow)是一種基于報文采樣的網絡流量監控技術,主要用于對網絡流量進行統計分析。sFlow包括以下兩種采樣機制Flow采樣和Counter采樣。 Flow采樣是基于報文的采樣,用于從經過設備端口的報文中抽取一個或者多個,分析該抽取的報文的特征,以反映進出該端口所有報文的情況,實際應用中,Flow采樣是通過拷貝抽取的報文中的數據信息實現的,拷貝的數據長度由用戶定義,一般要求拷貝的數據信息至少包含報文的基本特征如Khernet頭、IP頭等信息。至于Counter采樣,其是基于時間的端口統計信息采樣,用于獲取端口的統計信息,該Counter采樣與本申請關系不大,這里暫不敘述。目前,Flow采樣是由設備中的硬件芯片完成。如圖1所示,硬件芯片按照設置的采樣率從設備的端口采樣到報文中的數據信息(記為采樣數據)后,將該采樣數據發送給該設備中的CPU,由該CPU負責將該采樣數據用SFlow協議報文格式封裝成SFlow報文,然后當sFlow報文緩沖區滿或者設定的時間超時時,由CPU將封裝成的sFlow報文發送到sFlow Collector。sFlow Collector對接收的sFlow報文進行分析,并顯示分析結果,該分析結果一般包含sFlow報文的基本信息,比如源MAC地址、目的MAC地址、源IP地址、目的IP地址等。另外,sFlow Collector還可以根據sFlow報文攜帶的采樣數據推算出端口的流量大小,方便網管人員維護設備。
發明內容
本發明提供了一種流量監控方法和裝置,用于動態調整硬件芯片的采樣率。本發明提供的技術方案包括一種流量監控方法,包括每隔設定周期獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率;獲取的采樣數據上傳速率不在設定的采樣數據安全上傳速率區間內,則利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計算出的采樣率替代當前采用的采樣率繼續對設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。一種流量監控裝置,該裝置包括獲取單元,用于每隔設定周期獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率;第一控制單元,用于在所述獲取單元獲取的采樣數據上傳速率不在設定的采樣數據安全上傳速率區間內時,利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計算出的采樣率替代當前采用的采樣率繼續對設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。由以上技術方案可以看出,本發明中,硬件芯片并非始終采用固定不變的采樣率對設備中端口的流量進行采樣,而是根據設備中硬件芯片向處理單元發送采樣數據的采樣數據上傳速率是否在設定的采樣數據安全上傳速率區間內來決定是否動態調整采樣率,其中,動態調整的采樣率是利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算的,這相比于現有技術,一方面可以實現硬件芯片動態調整采樣率對設備中端口的流量進行采樣,另一方面能夠保證處理單元如CPU正常運行,并充分利用CPU資源。
圖1為現有Flow采樣示意圖;圖2為本發明實施例提供的基本流程圖;圖3為本發明實施例提供的詳細流程圖;圖4為本發明實施例提供的裝置結構圖。
具體實施例方式為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。對于現有的Flow采樣,硬件芯片是利用固定的端口流量速率設置的固定采樣率采樣報文,即每隔固定的報文數采樣一個報文。例如,采樣率為1000,則表示硬件芯片每隔 1000個報文對設備中端口的報文進行采樣。其中,硬件芯片采用的采樣率需要考慮以下兩個因素1、CPU性能。如上所述,Flow采樣是由硬件芯片完成,而封裝采樣數據包、以及發送sFlow報文至sFlow Collector均是由設備的CPU完成的。當設備端口的報文流量比較大即單位時間內進出端口的報文數量比較多,而設置的采樣率又比較小時,硬件芯片發送采樣數據至設備上CPU的速率就會很大,對設備的CPU造成很大的壓力。舉個例子說明,假如設備中CPU的處理性能為每秒最大處理500個采樣數據,設備端口的報文速率為每秒1000000個報文,采樣率被設置為1000,那么硬件芯片發送采樣數據到CPU的速率為 1000000/1000 = 1000個/秒,超過了 CPU本身的處理性能,影響CPU的正常運行。2、用戶的需求。對于用戶而言,采樣精度越高,越能更加真實的反映端口流量變化情況,而采樣精度越高,對應的采樣率就應越小。為了兼顧CPU的處理性能和用戶的需求,必須為硬件芯片設置一個適當的采樣率值,既要保證CPU正常工作不受影響,又要保證采樣精度,較為準確的反映端口的流量變化情況。通過研究發現通過以下方法確定采樣率能夠達到上述要求固定端口報文速率,則通過設置不同采樣率比較CPU的利用率,當CPU利用率達到其正常工作的安全運行門限時,確定此時的采樣率為最佳值,也即為設備所能設置的最佳采樣率。以端口報文速率為每秒1000000個報文(即1000000個/秒),則表1示出了采樣
率與CPU利用率對應關系
權利要求
1.一種流量監控方法,其特征在于,該方法包括每隔設定周期獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率;獲取的采樣數據上傳速率不在設定的采樣數據安全上傳速率區間內,則利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計算出的采樣率替代當前采用的采樣率繼續對設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。
2.根據權利要求1所述的方法,其特征在于,在利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率之前,進一步包括延時設定時間,控制所述硬件芯片在所述設定時間內繼續利用當前采用的采樣率對設備上端口的流量進行采樣;所述設定時間小于或等于所述設定周期;在所述設定時間到達時,再次獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率,判斷該再次獲取的采樣數據上傳速率是否在設定的采樣數據安全上傳速率區間內, 如果否,繼續執行所述利用設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率的操作。
3.根據權利要求1或2所述的方法,其特征在于,如果獲取的采樣數據上傳速率在設定的采樣數據安全上傳速率區間內,則該方法進一步包括控制所述硬件芯片繼續利用當前采用的采樣率對所述設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。
4.根據權利要求3所述的方法,其特征在于,所述設備中的端口為所述設備中使能了采樣流sFlow功能的所有端口。
5.根據權利要求4所述的方法,其特征在于,所述利用設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率包括對所述設備上使能了 sFlow功能的所有端口的流量速率求平均,得到平均后的端口流量速率;用所述平均后的端口流量速率除以從所述采樣數據安全上傳速率區間中確定的速率, 得到的商作為所述硬件芯片需要采用的采樣率;其中,所述從采樣數據安全上傳速率區間中確定的速率為采樣數據安全上傳速率區間中的任一速率。
6.根據權利要求1所述的方法,其特征在于,所述采樣數據安全上傳速率區間根據所述處理單元的處理性能和用戶需求的采樣精度設定。
7.一種流量監控裝置,其特征在于,該裝置包括獲取單元,用于每隔設定周期獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率;第一控制單元,用于在所述獲取單元獲取的采樣數據上傳速率不在設定的采樣數據安全上傳速率區間內時,利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計算出的采樣率替代當前采用的采樣率繼續對設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。
8.根據權利要求7所述的裝置,其特征在于,該裝置還包括第二控制單元,用于延時設定時間,控制所述硬件芯片在所述設定時間內繼續利用當前采用的采樣率對設備上端口的流量進行采樣;所述設定時間小于或等于所述設定周期;第三控制單元,用于在所述設定時間到達時,再次獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率,如果該再次獲取的采樣數據上傳速率不在設定的采樣數據安全上傳速率區間內,則觸發所述第一控制單元執行重新計算采樣率的操作。
9.根據權利要求7或8所述的裝置,其特征在于,該裝置還包括第四控制單元,用于在獲取的采樣數據上傳速率在設定的采樣數據安全上傳速率區間內時,控制所述硬件芯片繼續利用當前采用的采樣率對所述設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。
10.根據權利要求9所述的裝置,其特征在于,所述設備中的端口為所述設備中使能了采樣流sFlow功能的所有端口。
11.根據權利要求10所述的裝置,其特征在于,所述第一控制單元包括第一計算子單元,用于對所述設備上使能了 sFlow功能的所有端口的流量速率求平均,得到平均后的端口流量速率;第二計算子單元,用于用所述平均后的端口流量速率除以從所述采樣數據安全上傳速率區間中確定的速率,得到的商作為所述硬件芯片需要采用的采樣率,其中,所述從采樣數據安全上傳速率區間中確定的速率為采樣數據安全上傳速率區間中的任一速率;控制子單元,用于控制所述硬件芯片利用所述第二計算子單元計算出的采樣率替代當前采用的采樣率繼續對設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。
全文摘要
本發明提供了一種流量監控方法和裝置。其中,該方法包括每隔設定周期獲取硬件芯片向處理單元發送采樣數據的采樣數據上傳速率;獲取的采樣數據上傳速率不在設定的采樣數據安全上傳速率區間內,則利用所述設備中端口的流量速率和從所述采樣數據安全上傳速率區間中確定的速率重新計算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計算出的采樣率替代當前采用的采樣率繼續對設備中端口的流量進行采樣得到所述硬件芯片向所述處理單元發送的采樣數據。采用本發明,能夠保證CPU正常運行,又充分利用CPU資源。
文檔編號H04L12/26GK102355376SQ20111017766
公開日2012年2月15日 申請日期2011年6月27日 優先權日2011年6月27日
發明者張健 申請人:杭州華三通信技術有限公司