互聯網業務流量監測技術的應用和設計
0、前言
本文引用地址:http://www.104case.com/article/21491.htm隨著寬帶互聯網在中國的迅速發展,全國各大電信運營商的網絡規模都在不斷擴張,網絡結構日漸復雜,網絡業務日趨豐富,網絡流量高速增長。電信運營商需要通過可靠、有效的網絡業務流量監測系統對其網絡以及網絡所承載的各類業務進行及時、準確的流量和流向分析,進而挖掘網絡資源潛力,控制網絡互聯成本,并為網絡規劃、優化調整和業務發展提供基礎依據。
目前國內電信運營商已建的網絡管理系統所能實現的流量監測功能非常有限,遠遠不能滿足運營商的迫切需要。
1、互聯網業務流量監測技術的應用及現狀
1.1 互聯網業務流量監測技術的應用
流量監測技術的應用主要包括以下幾個方面:
a)為網絡出口互聯鏈路的設置提供決策支持
通過對網絡出口流量和流向的分析,可以詳細了解網絡內部用戶對其他外部網絡的訪問情況,從而有效地選擇與其他網絡的互聯方式和互聯地點,節約互聯鏈路費用。
b)掌握用戶對其他運營商的訪問情況
通過對與其他網絡互聯流量的監控,分析網絡內部用戶訪問其他外部網絡的業務特點和主要流量的去向,準確掌握內部用戶對外網的興趣點,找到最多應用的熱點信
息內容。根據分析結果進行相應網絡內容的建設,將用戶感興趣的熱點信息內容放到內部網絡,減輕互聯鏈路的壓力。
c)評估分支網絡的成本和價值
通過對各個分支網絡出入流量的監控,分析流量的大小、去向及內容組成,了解各分支網絡占用帶寬的情況,從而反映其占用的網絡成本,也可以了解其業務開展情況,并作出價值評估。
d)提供重要應用和大客戶統計分析
通過對重要應用和大客戶的流量進行統計分析,掌握重要應用和大客戶的流量狀況,進行網絡帶寬的成本分析,有助于在網絡服務質量和網絡成本之間取得最佳平衡。
e)基于ip的計費應用和服務等級協議(sla)的校驗服務
通過對大客戶接入電路上的流量進行監控分析,可以統計出業務類型、服務等級、通信時間和時長、通信數據量等參數,為基于ip的計費應用和sla的校驗服務提供數據依據。
f)掌握網絡狀況
通過對網絡中一些特定流量的長期監控,有助于網管人員了解網絡的流量模型,所形成的基準數據可供網管人員正確分析網絡使用狀況,并可及時發布異常警訊,在故障事件爆發或擴大前實施防范措施,進而提升網絡的整體質量及效能。
g)實現對網絡異常通信的檢測,重點防范分布式拒絕服務(ddos)的攻擊和大范圍的蠕蟲病毒發作
通過對網絡內流量的實時分析,有助于及時發現網絡中出現的異常流量,迅速分析出異常流量的具體屬性。通過與網絡通信正常基線的比對,管理員對出現的異常通信可以快速定性是否為網絡安全攻擊,確定安全攻擊的類型,評估本次攻擊的危險程度及可能造成的影響范圍,并采用相應技術手段實施事故應急處理。
h)為網絡優化提供數據依據
通過流量分析,可以為多出口的流量負載均衡、重要鏈路的帶寬設置、路由選擇和設定qos等網絡優化措施提供數據依據。
1.2 互聯網業務流量監測技術現狀分析
目前國內電信運營商的運維部門大都還沒有建設一套能夠完全滿足管理需求的互聯網業務流量監測系統。現有的網絡管理系統雖然可以提供業務流量監測手段,但基本上只是采用一些通用型的網絡鏈路使用率監視軟件,如利用免費的mrtg和簡單網絡管理協議(snmp),對網絡的重點鏈路和互聯點進行簡單的端口級流量監視和統計;或采用在網絡中部分重點業務接入點(pop)加裝遠程監控(rmon)探針的方式,利用rmon i/ⅱ協議對網絡中部分端口進行網絡流量和上層業務流量的監視和采集。
上述兩種被普遍采用的網絡流量監測系統都有著明顯的技術局限性。
snmp采集端口的數據主要是在網元層用來監控網絡流量和設備的性能,而且snmp采集的數據是基于端口的,無法提供端到端的準確的流量信息,因此對流向的統計手段不明確。
利用rmon探針對運營商網絡進行流量和流向管理可以部分彌補snmp的技術局限性,其業務分析和協議分析功能較強。但是,采用rmon探針建設的流量監測系統也有處理性能不足和難以在大型網絡普遍部署的局限性。
為克服現有網管系統對網絡流量和流向分析功能的技術局限性,運營商迫切需要尋找一種功能豐富、成熟穩定的新技術,對現有管理系統中流量信息的采集和分析方式進行改造和升級。新的流量信息采集和分析技術應具備對運營商的運行網絡影響小、無需對網絡拓撲進行改變就能平滑升級的技術特征,既可以對網絡中各個鏈路的帶寬使用率進行統計,又可以對每條鏈路上不同類型業務的流量和流向進行分析和統計。本文主要討論功能強大、應用廣泛的netflow技術。
2、流量監測系統建設方案中需要考慮的問題
2.1 netflow技術簡介
netflow是cisco公司提出的網絡數據包交換技術,該技術首先被用于網絡設備對數據交換進行加速,并可同步實現對高速轉發的ip數據流(flow)進行測量和統計。經過多年的技術演進,netflow原來用于數據交換加速的功能已經逐步改由網絡設備中的專用集成電路(asic)芯片實現,而對流經網絡設備的ip flow進行測量和統計的功能卻更加成熟,并成為當今互聯網領域公認的最主要的ip流量分析、統計和計費行業標準。
為對運營商網絡中不同類型的業務流進行準確的流量和流向分析與計量,首先需要對網絡中傳輸的各種類型數據包進行區分。由于ip網絡的非面向連接特性,網絡中不同類型業務的通信可能是任意一臺終端設備向另一臺終端設備發送的一組ip數據包,這組數據包實際上就構成了運營商網絡中某種業務的一個flow。如果管理系統能對全網傳送的所有flow進行區分,準確記錄傳送時間、傳送方向和flow的大小,就可以對運營商全網所有業務的流量和流向進行分析和統計。
通過分析網絡中不同flow之間的差別,可以發現判斷任何兩個ip數據包是否屬于同一個flow,實際上可以通過
分析ip數據包的以下7個屬性來實現:
a)源ip地址;
b)目標ip地址;
c)源通信端口號;
d)目標通信端口號;
e)第三層協議類型;
f)服務類型(tos)字節;
g)網絡設備輸入或輸出的邏輯網絡端口(iflndex)。
cisco公司的netflow技術就是利用分析ip數據包的上述7個屬性,快速區分網絡中傳送的各種不同類型業務的flow。對區分出的每個flow,netflow技術可以進行單獨跟蹤和準確計量,記錄其傳送方向和目的地等流向特性,統計其起始和結束時間、服務類型、包含的數據包數量和字節數量等流量信息。
在netflow技術的演進過程中,cisco公司一共開發出了netflow v1、netflow v5、netflow v7、netflow v8和netflow v9等5個主要的實用版本。
下面對網絡流量和流向分析系統中最常用的netflow v5數據輸出的數據包格式作一簡單介紹。
圖1為netflow v5輸出數據包的包頭格式。圖2為包含在每個netflow v5輸出數據包中的具體flow的流量和流向統計信息的數據格式。

圖1 netflow v5輸出數據包的包頭格式

圖2 netflow v5輸出數據包中每個flow的具體流量和流向統計信息格式
netflow的數據輸出要求先在路由器和交換機上定制netflow流輸出,并選擇輸出流的版本、個數、緩沖區的大小等,配置相應netflow流量收集器(flowcollector)的ip地址、端口等信息。此時路由器或交換機即可以用戶數據報協議(udp)的方式向外發送流信息,然后在netflow flowcollector端配置接收端口號,設置匯聚、過濾策略和流量文件存放目錄、格式等。netflow有非采樣和采樣兩種使用模式。
一般來說,netflow flowcollector都選用unix工作站來收集數據,netflow flowcollector收集的數據將存放在本地磁盤中(路徑由用戶定義)。同時,它也可以通過網關以socket方式發送信息到其他網管分析軟件,或直接讀取存放在netflow flowcollector工作站中的數據文件,對其進行分析處理。
netflow記錄的流包含了豐富的信息,非常適合于網絡性能分析。netflow不需要其他硬件流量設備的支持,開啟和關閉都非常方便,因此在國外已有很多運營商用它來收集流量,服務于網絡規劃、設計和優化等領域。但開啟netflow需要消耗一定的路由器資源(cpu和內存)。
根據netflow的特點,該技術非常適用于大型網絡。netflow采集實施成本較低、安裝方便,而且不受速率的限制,是目前運營商流量監測的首選技術。
采集到的netflow數據,結合邊界網關協議(bgp)路由信息,可以更加精確地分析路由信息和互聯流量的自治域(as)屬性。
2.2 流量采集對業務網絡的影響評估
2.2.1 帶寬占用
采用netflow方案不要求處理從某個接口接受到的每個數據包,用來對被監控路由器進行流量分析的數據來自采集到的netflow數據,從路由器送出的非采樣netflow數據不到流經該路由器數據量的1%,使用采樣netflow時數據更為大大減少。根據計算,在采樣率為1000:1時,對10gbit/s的流量進行netflow分析,只產生1.3mbit/s的流量。因此,netflow產生的這部分流量對于骨干網的帶寬占用很少。
2.2.2 路由器性能消耗
利用netflow技術實現流量監測需要路由器開啟netflow協議以配合采集數據,因此會對路由器的cpu造成一定的負擔。cisco公司和juniper公司等路由器廠家都針對這些問題作了詳細的研究。不同的產品系列和netflow協議是否經過采樣等,對cpu的影響程度也不同。
根據cisco公司的“netflow performance analysis”白皮書,在非采樣方式下,路由器開啟netflow后,其cpu使用狀況如下:
a)如果有10 000條同時在線的flow,則路由器的cpu使用率平均增加7.14%;
b)如果有45 000條同時在線的flow,則路由器的cpu使用率平均增加19.16%;
c)如果有65 000條同時在線的flow,則路由器的cpu使用率平均增加22.98%。
這些數據是基于不同的產品系列進行測試的平均值。
在采樣方式下開啟netflow對路由器的cpu影響會更小。根據cisco公司的資料顯示,12000系列的路由器在非采樣方式下需要增加23.5%的cpu使用率來處理65 000條flow,而在采用100:1的采樣率時cpu使用率僅增加3%。在不同的采樣率下,cpu的負擔增加程度也不同。
路由器上不同類型的線卡對netflow的支持情況也有所不同。仍以cisco公司路由器為例,engine 3和engine 4+的線卡是采用專門的硬件來處理netflow數據,開啟netflow對路由器性能影響較小;而通常認為engine 2的線卡開啟netflow對路由器性能的影響相對較大。
2.3 netflow采樣率的設定
在采樣方式下,路由器按照一定的采樣率采集netflow數據,流量分析系統接收netflow數據對網絡的流量進行計算和分析,因此路由器的采樣率在很大程度上決定了分析結果的準確性。如果路由器設定的采樣率過高(如1000:1或更高),流量分析的誤差將加大,尤其對小flow或混雜在大流量中的部分關鍵的小flow的分析,更容易產生比較大的誤差。
在路由器上開啟netflow會消耗一些設備資源,特別是需要占用一些cpu和memory等重要資源,而且采樣率越低,對資源的占用越大。如果設置過低的netflow采樣率會對路由器的性能帶來較大的影響。因此,應根據路由器上需要打開的netflow功能板卡的主要類型,并結合設備上開通的電路的流量情況靈活地設置路由器的netflow采樣率,包括100:1、500:1、1 000:1和3 000:1等。
2.4 流量采集點的設置
為了實現對所監測網內的所有流量進行分析,首先需要合理地設置流量采集點。采集點的設置非常關鍵,直接影響到系統能否準確地對流量進行全面分析。下面主要針對運營商網絡優化應用提出采集點設置建議方案。
由于主要是實現對運營商網絡的優化,所以不一定需要對網絡中傳送的所有流量數據進行100%的監測。為減少對網絡設備的資源占用,降低對系統的容量要求,可以選用數據包抽樣的netflow數據采集方式,對網絡中的所有流量進行統計。
通常情況下,運營商網絡結構包括核心層和邊緣層兩個層次,網絡流量通過邊緣層的路由器匯接進入核心層,由核心層的路由器進行轉接。而netflow技術只能對端口的流入流量進行分析,因此,流量采集點的設置主要有兩種方案可供選擇:
a)方案一:采集點設置在網絡的核心層,核心層路由器之間的互聯端口不需要開啟netflow,核心節點路由器對外的互聯端口開啟netflow流入流量采集。
該方案的優點是被采集的路由器數量少,因此管理比較簡單,配置工作量比較小;缺點是采集端口集中在核心層路由器上,增加了核心層路由器的負擔,對業務網絡的影響較大。
b)方案二:采集點設置在網絡的邊緣層,邊緣層路由器對外的互聯端口開啟netflow流入流量采集,對從其他as進入到網內的流量進行分析。
該方案的優點是采集端口分散在邊緣層的多臺路由器上,相應地減少了單臺路由器上的采集數據量和因流量采集而增加的負擔,降低了開啟netflow對業務網絡的影響;缺點是被采集的路由器數量較多,管理的復雜程度和配置工作量都相應加大,而且這種方案需要將采集的netflow數據從邊緣層的路由器傳送到集中設置的采集機,會在網內增加一定的流量而占用網絡帶寬。
在實際應用中,流量采集點的設置應根據網絡的具體情況和管理要求來
選擇合適的方案。
圖3為運營商網絡優化時的流量采集點設置示意圖。

圖3 運營商網絡優化流量采集點設置示意圖
2.5 系統組織方案
流量分析系統由采集機和分析服務器組成。被采集的路由器將netflow數據包發往netflow流量采集機,采集機將采集到的netflow數據送到分析服務器進行分析。被采集的路由器分布在全網各個節點,當系統規模較大時,需要配置多臺采集機和分析服務器。采集機和分析服務器的部署有以下兩種方案。
a)方案一:將采集機分別部署在各個核心節點,每個核心節點的采集機負責采集連接至該核心節點的路由器;分析服務器集中部署在網管中心。該方案采集機通過以太網接口接入核心路由器或與核心路由器連接的局域網交換機,實現與被采集路由器的互通。利用用戶數據報協議(udp)從被采集路由器上的端口采集netflow數據,再通過ip網絡傳送到分析服務器,由分析服務器進行數據匯總和分析處理,如圖4所示。

圖4 流量分析系統組織方案一示意圖
該方案的優點是,在至分析服務器的ip網絡連接出現突發故障時,可以充分利用采集機的存儲能力,暫存netflow數據,待網絡連接恢復時,再向分析服務器傳送;這種分布式的部署方案還可以避免單點出現故障時導致全網流量無法采集,而且采集機還可以進行一些預處理工作,減輕分析服務器的壓力。缺點是每個核心節點都需要配備一套采集機,設備的綜合利用率不夠高,管理和維護不夠集中。
b)方案二:采集機和分析服務器集中部署,由多臺采集機共同負責采集全網內的路由器。該方案采集機通過以太網接口接入網管中心,實現與全網內被采集路由器的互通,采集機利用udp通過ip網絡從各節點被采集路由器上的端口采集netflow數據,再通過局域網傳送到分析服務器,由分析服務器進行數據匯總和分析處理,如圖5所示。

圖5 流量分析系統組織方案二示意圖
該方案的優點是,流量分析系統設備集中部署,便于統一管理和統一維護,也提高了設備的利用率;缺點是如果ip網絡不穩定或發生故障時,路由器的netflow數據將不能傳送到網管中心,處理不當可能造成netflow數據的丟失。
實際部署時應根據具體的要求來選擇合適的系統組織方案。
2.6 系統處理能力估算模型的分析
2.6.1 計算數據的取定
首先取定以下計算數據:
a)一個netflow v5輸出數據包的包長為1 500 byte;
b)一個netflow v5輸出數據包中包括的flow的數量為30;
c)網絡流量中數據包的平均包長為384 byte;
d)采樣率:500:1
其中,netflow v5輸出數據包的包長及其包括的flow的數量是確定的,而網絡流量中數據包的平均包長、采樣率則需要根據具體的網絡狀況進行取定。
2.6.2 系統處理能力
流量分析系統實現對netflow數據的采集和分析處理,本文采用“每秒處理flow數”來衡量系統的處理能力。
在估算系統處理能力時,首先要計算系統需要分析的流量大小(gbit/s),然后根據前面已經取定的計算數據,系統每秒需要進行處理的flow數量為:(系統需要分析的流量大小×1024×1024×1024)/(500×384×8)
2.6.3 流量數據采集帶寬
采集netflow數據需要占用一定的網絡帶寬。
計算出系統每秒需要進行處理的flow數量之后,就可以計算出采集netflow數據需要的網絡帶寬(mbit/s)最大為:(系統每秒需要進行處理的flow數量/30)×1500×8/1024/1024
3、應用價值與前景
netflow是cisco公司的ios軟件的一部分,其當前的版本9目前正在由ietf以ipfix的名稱進行標準化。除cisco公司外的廠商,如enterasys公司和juniper公司等,也在該標準形成的過程中發揮著積極的作用,并已表示有興趣采用ipfix,這就使得netflow/ipfix更具吸引力了。
但netflow技術也有一定的局限性,比如它無法提供應用的反應時間。考慮到不斷增長的動態端口分配趨勢,netflow在根據端口特征識別應用方面的能力也還需要提高。
隨著流量監測技術的不斷改進和完善,互聯網業務流量監測系統必將為提高寬帶互聯網絡業務的服務質量和管理水平發揮更為重要的作用。
評論