對於很多網絡技術人員,需要判斷流量抓包來判斷流量轉發情況,那麼交換機和路由器上不支持直接抓包功能怎麼辦呢?這就孕育出了交換機的流量鏡像和路由器的流量輸出協議Netflow/Netstream。
1、 Netflow的工作原理
NetFlow是一種數據交換方式。Netflow提供網絡流量的會話級視圖,記錄下每個TCP/IP事務的信息。Netflow由Cisco創造的。
工作原理:NetFlow利用標準的交換模式處理數據流的第一個IP包數據,生成NetFlow 緩存,隨後同樣的數據基於緩存信息在同一個數據流中進行傳輸,不再匹配相關的訪問控制等策略,NetFlow緩存同時包含了隨後數據流的統計信息。NetFlow有兩個核心的組件:NetFlow緩存,存儲IP流信息;NetFlow的數據導出或傳輸機制,NetFlow利用此機制將數據發送到網絡管理採集器。一個NetFlow流定義為在一個源IP地址和目的IP地址間傳輸的單向數據包流,且所有數據包具有共同的傳輸層源、目的端口號。 確定Flow的標識:SIP+DIP+SPORT+DPORT +Layer 3 protocol type + TOS byte() + Router or switch interface。
Netflow根據7元組來標識一條流分別為:源ip地址、目的ip地址、源端口號、目的端口號、ip協議類型、服務類型(ToS)、輸入/輸出接口。
Netflow(netflow)數據採集與分析圖:

NDE(netstream data exporter):NDE 使用流緩存來維護流的相關信息和處理規則,根據流的第一個報文建立一個處理規則,後續利用該規則對後續網絡流進行分析處理,提取符合條件的流統計信息,並將統計信息輸出給NDC 設備。輸出前也可對數據進行一些處理,比如聚合。
NSC(NetStream Collector):通常為一個應用程序。負責解析來自NDE 的報文,把統計數據收集到數據庫中,可供NDA 進行解析。NSC 可以採集多個NDE 設備輸出的數據,對數據進行進一步的過濾和聚合。
NDA(NetStream Data Analyzer):NDA 是一個網絡流量分析工具,它從NDC 中提取統計數據,ADS檢測設備充當的是NDA角色。

對入接口和出接口分別獨立進行統計Netstream (netflow)流統計時按照出入接口獨立統計。對於出接口:由出接口、源 IP 地址、目的IP 地址、源端口號、目的端口號、協議號和TOS 組成的七元組確定一條流(對於路由負載分擔的情況,流統計信息中的下一跳和出接口從第一個負載分擔路由項獲取);對於入接口:由入接口、源 IP 地址、目的IP 地址、源端口號、目的端口號、協議號和TOS 組成的七元組確定一條流。
2、 Netflow與Netstream區別
netflow是思科的,華為叫做netstream,兩者沒有太大的本質區別。Netflow默認端口為9996,而華為的netstream的端口為1-65535之間的任意端口。
另外由Foundry、HP、Alcatel、NEC、Extreme等代表廠商使用的sflow,同NetFlow一樣,sFlow是一種向採集器發送報告的推送技術。所不同的是,NetFlow是一種基於軟件的技術,而sFlow則採用內置在硬件中的專用芯片。這種做法消除了路由器或交換機的CPU和內存的負擔。sFlow系統的基本原理為:分布在網絡不同位置的sFlow代理把sFlow數據報源源不斷地傳送給中央sFlow採集器,採集器對sFlow數據報進行分析並生成豐富的、實時的、全網範圍的傳輸流視圖。 sFlow是一種純數據包採樣技術,即每一個被採樣的X包的長度被記錄下來,而大部分的包則被丟棄,只留下樣本被傳送給採集器。由於這項技術是基於樣本的,如果沒有複雜的算法來嘗試推測準確的會話字節量,那麼幾乎不可能獲得每台主機流量100%的準確值。在使用這項技術時,交換機每隔100個數據包(可配置)對每個接口采一次樣,然後將它傳送給採集器。sFlow的規格也支持1比1的採樣率,即對每一個數據包都進行”採樣”。對數據包最大採樣頻率的限制取決於具體的芯片廠商和sFlow實現情況。NetFlow更多的是在路由器上得到支持,而sFlow則在交換機上更加流行。兩者都是開放標準,但在非常大的流量傳輸環境中,sFlow採樣架構可能要優於NetFlows彙集方式。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/209301.html