?

IPFIX網絡流量分析技術研究與系統設計

2011-05-11 11:58劉克難趙慧娟魏俊超
網絡安全與數據管理 2011年4期
關鍵詞:分析器收集器均衡器

劉克難,趙慧娟,魏俊超

(西南交通大學 信息科學與技術學院,四川 成都610031)

網絡管理技術是聯網系統中一個重要組成部分。它為網絡高效穩定地運行提供了重要保證。流量分析技術作為網絡管理的重要組成部分,其發展也十分迅速。

流量數據的收集和分析有多種手段,常用的有基于SNMP協議的接口統計方式、RMON方式、數據流量探針等[1-2],這些方式各有特色,適用于網絡中不同環境的流量分析工作。但由于其統計流量方式不靈活或成本高等原因,無法滿足對網絡進行更細致管理的要求,需要一種新技術來更好地支持網絡流量統計與分析。于是,專門用于網絡流數據收集的協議產生了,如NetFlow、SFlow、NetStream等基于Flow的技術,由于其實施成本低、操作靈活、擴展性好,并且不需要額外硬件支持的顯著特點,使得這些技術很快得到廣泛應用,特別是思科的NetFlow協議。

然而,在實際應用中,由于各個大廠商各自擁有自己的Flow格式和流量數據輸出系統,使得彼此之間缺乏兼容性,無法滿足大規模異構網絡中應用的需要。因此,無論是在學術界還是工業界,都有必要建立一套輸出網絡流信息的標準。于是IETF在應用廣泛的NetFlow V9[3]的基礎上制定了 IPFIX(IP Flow Information eXport)技術標準。IPFIX在NetFlow的基礎上對安全、數據存儲等方面進行了改進與擴充。提供了流量分析系統與網絡設備之間數據采集與傳輸的規范,定義了數據交互的標準格式,保證了對采集目標網元設備良好的兼容性。

1 IPFIX技術原理

1.1 概念

觀察點[3]:指網絡中用來觀察和獲取IP數據包的位置,例如以太網LAN中的一個或一組接口設備(路由器或交換機等)。

流(Flow):在一定時間間隔內,通過一個觀察點并具有相同數據包屬性和操作動作的數據包的集合。流的屬性包括測量屬性(總的字節數、總包數等)與特征屬性(IP、端口等)。一個數據包被歸于某流,當且僅當其完全滿足該流的所有特征屬性(鍵值)。

模板(Template):定義Flow記錄中各個屬性字段的結構和語義。收集進程根據模板來解析數據流,當需要支持某種新格式數據流時,只需變換模板,不需要對程序進行修改,使得IPFIX具備良好的可擴展性。

可選模板:可選流記錄提供收集器需要的一些額外信息,如流的鍵值、采樣、聚合策略等??蛇x模板定義了可選流記錄中的各個屬性字段的結構和語義。

1.2 工作原理

IPFIX以一種靈活的、可擴展的輸出流格式為用戶提供更加細致的流量信息。下面從Flow記錄的形成、導出、收集的過程來詳細分析IPFIX的工作原理[4],如圖1所示。

圖1 IPFIX流處理過程

首先測量進程(Meter),從觀測點觀測到數據包(Packet),解析數據包首部、添加時間戳,為了減少傳輸流的數量,或只產生滿足某種需要的流記錄,可以采用采樣與聚合技術,采樣與聚合的規則要明確定義,并由導出進程以可選模板與可選信息記錄的形式發送到收集器。不能將使用不同規則的聚合策略采樣得到的數據混在一起,當規則有變化時,應立即同步處理。測量進程主要責任是產生新的流記錄、更新或刪除舊的流記錄、定義并計算流的壽命、計算統計值。在此過程中發生超時、過載等任何異常都會記錄日志,以方便跟蹤分析。

導出進程(Exporter),產生控制信息(模板、可選模板),將控制信息與數據流信息一同裝載到IPFIX消息(Message)中,發送到收集進程。收集進程根據控制信息完成相應的數據流的解析。IPFIX協議中,導出進程只導出老化后的流,老化規則由測量進程確定,一般滿足下列條件之一的流被視為老化:

(1)該類型數據流傳送完畢;

(2)在一個時間段內某個數據流處于不活躍的狀態,這個時間段可以由輸出器進行配置;

(3)對于一個長時間活躍的數據流,收集器將按照規則輸出數據流記錄,并強制將該數據流老化,這個“時間段”應該在輸出器上進行配置;

(4)在導出進程內部條件受限的情況下,數據流也會被強制進行老化。例如:計數器歸零或內存不足。

為了安全考慮,可以將信息進一步編碼加密。同樣,導出進程也對錯誤進行記錄日志,并統計丟包個數等數據。

導出進程可以將同樣的數據發送到多個收集進程,多個收集進程將這些數據匯總,匯總時要注意處理好重復的數據。這種冗余數據的做法增強了流數據的完整性,但加大了負載,只有在對數據丟失相當敏感的應用中可以采用。

導出進程向不同的收集進程傳送數據可以采用不同的協議,同NetFlow默認使用UDP不同,IPFIX默認的是SCTP[5]。當收集器收到一個不正常的IPFIX消息時,會話會被重新發起,并丟棄本次會話的所有模板、停止解析、登記日志。相同的模板與可選模板只傳送一次。收集器必須存儲下來。如果收集進程先收到數據記錄,則要等待模板,等待時間是可配置的。IPFIX消息的序列號在首部,它隨著IPFIX消息中的數據流記錄的增加而增加。通過這個序列號,收集進程可以知曉是否有亂序的、丟失的或重復的數據,以跟蹤處理。如NetFlow一樣,IPFIX的傳輸協議也可以使用UDP或TCP,使用不同的協議,導出進程與收集進程間的傳輸過程管理也不一樣,可參考RFC5101。

2 流量分析系統結構

根據IPFIX的工作原理可知,其包含三個重要組成部分,即測量進程、導出進程、收集進程。參照其各自的功能,將流量分析系統按功能分成:探測器、收集器、分析器三個主要部分進行分布式部署(如圖2)。其中,分析器接收至少一個收集器的數據,收集器接收至少一個探測器的數據,探測器可同時向多個收集器發送數據。

圖2 流量分析系統結構圖

(1)探測器的工作對應于圖1中的測量進程與導出進程部分,負責IPFIX流的形成與處理過程,最終形成IPFIX消息發送給收集器。它主動采集數據包,透明地穿越網絡結構,不會修改任何報文。除非進行了配置,否則它不會放過任何報文。工作效率非常高,其輸出數據的總量大約是網絡設備之間交換量的1.5%[6];

(2)收集器對應圖1中的收集進程,具體工作細節見圖3,它接受IPFIX消息,解析并形成壓縮文件,定期將文件傳送到分析器;

(3)分析器負責計算與統計分析,如圖3所示,它接收IPFIX文件,并將信息存儲到數據庫中,按用戶的需求,對數據庫中的數據進行計算,形成報表呈現給用戶。

圖3 IPFIX消息處理數據流圖

總之,流量分析系統的工作是把網絡中各種應用數據包進行清洗、篩選、標準化處理,形成屬性明確的流,再對這海量的流記錄進行數據挖掘的過程。挖掘出用戶關注的信息,以清晰直觀的方式展現給用戶,為用戶對網絡管理或其他應用分析提供可靠的數據支持。

3 結構分析與優化

如圖2的系統結構,實踐中發現,流記錄的海量數據全部放到分析器進行計算分析,分析器處理能力有限,產生了瓶頸,影響了整個系統的性能。

本文給出了兩點改進方案:計算下移和收集器負載均衡。

(1)計算下移

收集器只是簡單地將數據解析并存儲,把所有的計算任務都交給分析器。經常出現的情況是收集器資源利用不充分,分析器過載。故考慮在收集器將數據發送給分析器之前,需對數據進行一些預處理工作。這樣就能緩解分析器的工作負載。如主機流量排行、應用流匯總數據,這些常用的分析結果可以在收集器上進行排序與計算后,再將數據傳送給分析器,必要時,可以將預計算的結果存放在另一文件中與IPFIX文件一同上傳分析器。分析器從這一文件直接得到預計算后的數據,而不必再對元數據進行計算,從而減少了分析器的負載,提高了分析效率。

(2)收集器負載均衡

多個收集器同時工作時,有的收集器可能很忙碌,甚至達到性能極限,而此時,其他收集器則處于空閑狀態,形成了資源的浪費,降低了工作效率。因此對收集器進行負載均衡是必要的,尤其對于計算下移的系統。負載均衡,即根據收集器的幾個重要的性能指標來衡量收集器的資源使用情況,并根據使用情況,動態調度各收集器的工作任務。

本系統在分析器中設計了一個均衡器來實現均衡調度。均衡器維護一張收集器資源使用情況實時狀態表。具體采用基于負反饋機制的動態負載均衡算法[7],該算法考慮每個收集器的實時負載情況,不斷調整任務的分配比例,避免有些收集器超載時依然收到大量IPFIX消息,從而提高系統整體工作效率,使整個系統成為一個智能的有機體。在系統內,分析器承擔管理角色,其均衡器負責監聽各個收集器的負載信息,收集器定時向均衡器報告自身的負載狀況。分析器根據均衡器的實時信息,對各個收集器的工作量進行調整。對于超載的收集器,削減其工作量,并取消其對IPFIX消息的預處理工作。

收集器負載值的計算主要根據其CPU、內存以及磁盤使用狀況得出。假設某系統內有一組收集器Ci(i=1,…,n),L(Ci)表示收集器 的 Ci負載值,LX(Ci)表示收 集器Ci的性能指標X當前負載值。給LX(Ci)設定一個系數Ri(i=1,…,n),用來表示各個性能參數的重要程度。

收集器Ci的負載值公式可描述為:

收集器主要工作是解析IPFIX消息,以觀測點為單位,將解析后的數據寫入文件,并將文件周期性地發送給分析器,發送成功的文件做本地刪除。針對其特點與實際經驗,可取系數{0.4,0.4,0.2}。若當前的系數不能很好地反映實際應用的負載情況,可以對系數及時地進行修正,直到找到貼近當前應用的一組系數。

關于計算L(Ci)的周期設置,雖然較短的周期可以更準確及時地反映各個收集器的負載情況,但是頻繁的計算會給均衡器和收集器帶來負擔,也增加了不必要的網絡負荷。另外,頻繁計算會導致均衡器反映出的負載信息出現抖動,均衡器無法準確捕捉各收集器實際的負載變化趨勢。雖然可用數據擬合等技術來處理數據,使負載信息表現為平滑曲線,但如此額外增加了收集器的負擔,故應避開抖動,適當增長計算周期。

每個參數都設置有閾值,如果某收集器的某一性能指標超過閾值,則立即減少該收集器的工作量,即應將向該收集器發送的IPFIX消息發送到其他空閑的收集器。如果系統中所有的收集器長期處于過載狀態,則需要向系統中添加收集器,或調整采樣與聚合策略來減少數據流。若所有收集器的使用率長期處于低狀態,則可以削減收集器,減少不必要的維護。

IPFIX作為IP流量導出的標準,繼承并完善了Net-Flow。它提供了多種字段類型,可針對具體的應用自定義流的鍵值、模版、采樣、聚合機制以及傳輸方式、編碼規則等,能夠詳細描述流量的各類特征,為快速、準確地進行流量分析提供了堅實的數據基礎?;谀0宓撵`活數據格式,使得其具備良好的可擴展性。本文根據IPFIX的工作原理,設計出流量分析系統的結構,并分析了可能出現的性能瓶頸,提出了兩種解決此瓶頸的方案。隨著網絡應用的廣泛與復雜,對流量分析的工作要求會進一步增高,需要更加高效合理的系統結構,如分析器分布式部署,并行分析將會成為未來研究的焦點。

[1]王珊,陳松,周明天.網絡流量分析系統的設計與實現[J].計算機工程與應用,2009,45(10):86-88.

[2]李興國,費玲玲.基于NetFlow的流量分析技術研究[J].微計算機信息,2008(5-3):198-200.

[3]QUITTEK J,ZSEBY T,CLASIE B,et al.Requirements for IP flow information export(IPFIX)[EB/OL].RFC3917,2004(10).

[4]CLAISE B E.Cisco systems NetFlow services export version 9[EB/OL].RFC3954,2004(10).

[5]CLAISE B.Specification of the IP flow information export(IPFIX)protocol for the exchange of IP traffic flow information[EB/OL].RFC5101,2008(1).

[6]CLAISE B,WOLTER R.網絡管理:計費與性能管理策略[M].北京:人民郵電出版社,2009.

[7]陳勇.一種高效的分布式反饋流量負載均衡算法[J].計算機工程,2009,35(2):198-102.

猜你喜歡
分析器收集器均衡器
基于Kalman濾波的水聲混合雙向迭代信道均衡算法
一種病房用24小時尿蛋白培養收集器的說明
采用負電容結構的新型CTLE均衡器設計
一種用于內鏡干燥的酒精收集器的設計與應用
酒精分析器為什么能分辨人是否喝過酒
多邊形電極線形離子阱質量分析器的結構與性能
應用于詞法分析器的算法分析優化
稀疏信道下基于稀疏貝葉斯學習的精簡星座盲均衡算法
雷電收集器
土壤重金屬收集器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合