本文參考華爲手冊
數據庫
NetStream是一種對網絡中的業務流量進行統計和分析的技術。緩存
隨着因特網的高速發展,支持的業務和應用日益增多。致使網絡和業務的部署和維護變得很是複雜,因此咱們須要一種流量統計技術,以便對網絡流量進行統計和分析,實現網絡的細緻管理和優化。安全
傳統的流量統計技術,因爲其統計流量的方式不靈活並存在侷限性(如表1所示),不能知足當前的業務需求。在這樣的背景下,精細化的流量監控和分析技術NetStream應運而生。服務器
NetStream爲基於資源(如線路、帶寬、時段等)佔用狀況的計費提供了精細的數據,這些數據包括IP地址、包數、字節數、時間、ToS和應用類型等。企業客戶可使用這些信息計算部門費用或分配成本,以便有效利用資源。markdown
NetStream可以實現近於實時的網絡監控功能。經過在鏈接Internet的接口部署NetStream,能夠對網絡出口進行實時的流量監控,分析各類業務佔用出口帶寬的狀況。網管人員能夠根據這些信息判斷網絡的運行狀況,儘早發現不合理的網絡結構或是網絡中的性能瓶頸,方便企業客戶規劃和分配網絡資源。 網絡
一個典型的NetStream系統由網絡流數據輸出器NDE(NetStream Data Exporter)、網絡流數據收集器NSC(NetStream Collector)和網絡流數據分析器NDA(NetStream Data Analyzer)三部分組成。
dom
NDE:負責對網絡流進行分析處理,提取符合條件的流進行統計,並將統計信息輸出給NSC。輸出前也可對數據進行一些處理,好比將相同的流量統計信息進行合併。配置了NetStream功能的設備在NetStream系統中擔當NDE角色。ide
NSC:負責解析來自NDE的報文,把統計數據收集到數據庫中,可供NDA進行解析。NSC能夠採集多個NDE設備輸出的數據,對數據進行進一步的處理。工具
圖1 NetStream系統組成圖
性能
NetStream工做過程
如圖1所示,NetStream系統的工做過程以下:
1.配置了NetStream功能的設備(即NDE)把採集到的關於流的詳細統計信息按期發送給NSC。
2.信息由NSC初步處理後發送給NDA。
3.NDA對數據進行分析,以用於計費、網絡規劃等應用。
設備做爲NDE實現以下功能:
1.設備按必定的採樣方式對業務流進行採樣,並創建NetStream流。請參見NetStream流的創建。
2.存儲在設備上的NetStream流達到必定的條件後進行老化。請參見NetStream流老化。
3.NetStream流老化後,設備對NetStream流進行輸出。請參見NetStream流輸出。
設備的NetStream模塊按必定的方式對業務流量進行採樣,獲取採樣信息後,按照必定的條件創建NetStream流。
NetStream與採樣器配合,經過在接口設定適當的採樣比對通過的業務流量進行採樣。
NetStream採樣的優勢:只須要針對樣本報文進行流信息統計分析。這樣不但減小了統計的報文數量,收集到的統計信息也能夠基本正確地反映整個網絡流的情況,同時也能下降使能NetStream功能對設備性能的影響。
設備支持隨機報文間隔採樣,即報文在配置數目間隔內被隨機採樣。好比報文間隔數配置爲100,則每100個報文隨機採樣1個報文。
NetStream是一項基於「流」來提供報文統計的技術。獲得採樣報文後,NetStream模塊對報文進行分析處理,依據報文中的關鍵值造成一條條的流。造成流的關鍵值以下:
對於報文的二層信息,相同的五元組標識爲同一條流。五元組是指報文的目的MAC地址、源MAC地址、VLAN ID、以太類型、輸入接口或輸出接口。<br/>對於IPv4報文,相同的七元組標識爲同一條流。七元組是指報文的目的IP地址、源IP地址、目的端口號、源端口號、協議類型、服務類型ToS(Type of Service)、輸入接口或輸出接口。<br/>對於IPv6報文,相同的八元組標識爲同一條流。八元組是指報文的目的IPv6地址、源IPv6地址、目的端口號、源端口號、協議類型、服務類型ToS、流標籤、輸入接口或輸出接口。<br/>對於MPLS報文,能夠統計MPLS標籤信息、MPLS報文內的IP信息、MPLS標籤信息和內層IP信息。
NetStream流老化是設備向NSC輸出流統計信息的前提。設備啓用NetStream功能後,NetStream流首先會被存儲在設備的緩存區中,當緩存區中的NetStream流達到老化條件時,設備會把緩存區中的NetStream流發送給NSC。
從第一個報文開始,一條流在指定的時間內一直能被採集到。流活躍時間超過設定的時長後,須要輸出該流的統計信息,這種老化稱爲活躍流的老化。該種老化方式主要用於持續時間較長的流量,按期輸出統計信息。
從最後一個報文開始,一條流在指定的時間內沒有被採集到(即在設定時長內統計到的報文數目沒有增長),設備會向NetStream服務器輸出該流的統計信息,這種老化稱爲不活躍的流老化。經過這種老化,能夠清除設備上NetStream緩存區中的無用表項,充分利用統計表項資源。該種老化方式主用於短時流量,流量中止則當即輸出統計信息,節省內存空間。
當有標誌爲FIN或RST的報文發送時,表示一次會話結束。所以當採樣的報文中有FIN或RST的報文時,設備會對統計信息進行老化。
設備對於NetStream流表規格的大小進行了限制。當NetStream的流表數超過該限制時,爲了保證統計信息的正確性,系統會當即自動把該流老化掉。
緩存區中的NetStream流須要記錄流過的報文字節數,當字節數統計超過限制(最大計數值爲4294967295,約爲3.9G字節)時,若是繼續進行累加統計將會發生溢出進而致使統計發生錯誤。因此係統在檢測到某條流的字節數統計超過限制時,系統會當即自動把該流老化掉。
用戶能夠經過執行命令強制將NetStream緩存區中全部NetStream流老化。該功能主要用於老化條件還沒有知足,但又須要最新的統計信息,或者NetStream業務發生異常,致使流緩存區中某些流始終不老化。
NetStream流輸出是指儲存緩存區裏面的流老化後把流統計信息輸出到指定的NSC,以便後續進行更爲詳盡的分析。
在流老化時間超時後,每條流的統計信息都要輸出到NSC。原始流輸出方式的優勢是:NSC能夠獲得每條流的詳細統計信息。
聚合流輸出方式是指設備對與聚合關鍵項徹底相同的原始流統計信息進行彙總,從而獲得對應的聚合流統計信息。經過對原始流進行聚合後輸出,能夠明顯減小網絡帶寬。支持如表1所示的聚合方式。
例如:現有四條TCP原始流,其目的地址相同、源地址不一樣,源端口、目的端口均相同,選擇表1中的「protocol-port(協議-端口聚合)」方式,該聚合方式依據「協議號、源端口、目的端口」的聚合關鍵項進行聚合。由於這四條TCP流的源端口、目的端口和協議號相同,因此在聚合流統計表項中只會記錄一條聚合流統計信息。設備只將聚合統計信息發送給相應的接收聚合統計信息的NSC。
對於靈活流輸出,其流的創建條件是按照自定義的條件設置。根據自身須要,用戶能夠對報文按照協議類型、ToS優先級、源IP地址、目的IP地址、源端口號、目的端口號或流標籤進行分類統計,從而將分類統計信息發送給NSC。靈活流方式相比原始流方式可減小流量的佔用。能夠爲用戶提供一種自由的NetStream流量統計方式。
在靈活流統計方式下,當配置出方向靈活流採樣時,靈活流統計報文中只有出接口信息,沒有入接口信息;當配置入方向靈活流採樣時,靈活流統計報文中只有入接口信息,沒有出接口信息。
二層流輸出方式,設備只對流量的二層信息進行統計,並將統計信息發送至NSC進行更加詳盡的分析。
NetStream輸出的報文主要有V五、V八、V9三個版本。全部版本的報文都是經過UDP協議傳遞統計信息。
V5:根據七元組產生原始的數據流,但報文格式固定,不易擴展。
V8:支持聚合輸出格式,但報文格式固定,不易擴展。
V9:基於模板方式,使統計信息的輸出更爲靈活,能夠用來靈活輸出各類組合格式的數據。
一個典型的NetStream系統由網絡流數據輸出器NDE、網絡流數據收集器NSC和網絡流數據分析器NDA三部分組成,其中NSC和NDA部署在NetStream服務器上。配置了NetStream功能的設備即NDE把採集到的流量按期發送給NetStream服務器,NetStream服務器會對數據進行分析,用戶根據NetStream服務器分析的結果實時地對網絡流量進行監控。可是在沒有部署NetStream服務器的網絡中,或者因爲安全須要禁止設備將流量統計信息輸出到NetStream服務器的網絡中,用戶沒法實時地瞭解網絡的運行狀況,NetStream Top Talkers能夠很好的解決這個問題。
NetStream Top Talkers支持根據用戶指定的匹配關鍵字對流量進行過濾,而後對過濾後的流量進行統計,並按照必定的規則進行排序,最終在設備上只顯示前N條(NetStream Top Talkers模板可記錄流量的條數)流量,用戶根據這些信息實時地瞭解網絡的運行狀況。這N條流量稱爲top talkers。
NetStream Top Talkers對流量過濾的匹配關鍵字有:源端口號、目的端口號、源IP地址、目的IP地址、下一跳IP地址、源自治域、目的自治域、報文優先級、協議類型、報文數和字節數。
NetStream Top Talkers對流量的排序規則有:
設備的NetStream採樣比由netstream sampler random-packets packet-interval { inbound | outbound } 命令配置,爲packet-interval參數的取值。
除CE6880EI和CE5880EI外的交換機
NetStream採樣比與設備對報文的處理能力、須要配置NetStream採樣的接口數目、採樣的方向、接口速率以及網絡中報文的平均長度有關。
推薦配置的最小NetStream採樣比計算公式以下:
其中:
轉發帶寬=接口數×接口速率,單位Gbps。若是須要配置接口出方向和入方向的NetStream採樣功能,則轉發帶寬=接口數×接口速率×2。
接口數:表示配置NetStream功能的接口數目。
接口速率:表示該接口的速率。
例如:在4個10GE接口上配置入方向NetStream採樣功能,在其它6個10GE接口上配置出方向和入方向NetStream採樣功能,且接口滿速率工做。此時轉發帶寬=4×10+6×10×2。
報文平均長度:表示網絡中報文的平均長度,單位byte。
20:表示幀間隙和前導碼的長度,單位byte。
設備對報文的處理能力:單位pps。設備可使用CPU進行NetStream採樣(非加強模式),也能夠不使用CPU進行NetStream採樣(加強模式)。不一樣的採樣方式,設備對報文的處理能力也不同。
非加強模式下:設備(除CE8860EI、CE8861EI和CE8868EI外)對報文的最大處理能力爲5000pps,建議用戶使用3000pps,對CPU影響較小。對於CE8860EI、CE8861EI和CE8868EI設備,其每一個子卡對報文的最大處理能力爲5000pps,建議用戶使用3000pps,對CPU影響較小。
NetStream採樣比與設備對報文的處理能力、須要配置NetStream採樣的接口數目、採樣的方向、接口速率以及是否運行了其它業務有關。當NetStream和二三層轉發業務同時使用時,推薦配置的NetStream採樣比爲1024。和NetStream同時使用的業務越多,NetStream採樣比須要配置的越大。
建議配置NetStream功能的子接口數不要超過16k,不然會影響設備的轉發能力。