sFlow介紹
目錄
8.1 介紹
定義
sFlow是Sampled Flow的簡稱,由Inmon提出,是一種用於監控資料網路上交換機或者路由器流量轉發狀況的技術。
sFlow系統包括若干sFlow Agent(內嵌於交換機或者路由器等轉發裝置)以及一個核心的sFlow Collector。sFlow Agent通過特定的取樣技術獲取網路裝置上的流量轉發統計並實時地通過sFlow資料報文傳送到Collector以供Collector進行分析,通過生成流量檢視或者報表的形式,幫助網路管理員更加有效地管理整個站點(通常是企業級站點)的網路流量。
目的
相對於電信級網路,企業級網路通常具有規模相對較小、組網靈活、易受攻擊等特點,因此企業級網路更容易出現由組網或者攻擊導致的流量業務異常,因此企業使用者更需要一種以裝置埠為基本取樣單元的流量監控技術來實時監控流量狀況以及及時發現異常流量以及攻擊流量的源頭,從而保證企業網路的正常穩定執行。
一個典型的sFlow系統提供了一組Agent以及一個Collector,Agent內嵌於網路裝置,負責採集相關的流量統計資訊;Collector的角色通常由專門的伺服器充當,通過在伺服器上執行sFlow trend等專門的sFlow Collector軟體,收集Agent傳送過來的統計資料,以圖形化的統計資訊彙總或者以報表的形式輸出。為企業使用者特別是不設定專職網路管理員的企業使用者的日常巡檢維護提供了極大的方便。
8.2 參考標準和協議
本特性的參考資料清單如下:
文件 | 描述 | 備註 |
---|---|---|
sFlow version 5 | Inmon sFlow version 5 | - |
RFC 3176 | Inmon sFlow version 4 | - |
RFC 1014 | XDR: External Data Representation Standard | sFlow使用的資料標準 |
8.3 可獲得性
License支援
無需獲得License許可,均可獲得該特性的服務。
版本支援
產品 | 支援版本 |
---|---|
S9300 | V200R001 |
特性依賴
sFlow特性與其他特性的依賴關係如下:
- 依賴於IP協議棧以及單播路由轉發特性。
- 如果Collector軟體需要使用sFlow Trend(Inmon提供的標準Collector軟體),裝置必須支援SNMP V2或者SNMP V3。並且SNMP Agent功能以及公有MIB的讀寫功能必須開啟。
8.4 原理描述
8.4.1 sFlow Agent的基本原理
sFlow Agent是sFlow的客戶端裝置,在一個典型的部署sFlow的網路中,一般是內嵌於網路轉發裝置中(比如交換機和路由器),負責收集裝置上的流量轉發情況並實時傳送給sFlow Collector以供分析使用。
sFlow的取樣報文格式
sFlow報文采用UDP封裝,預設目的埠號為知名埠6343。sFlow報文共有4種報文頭格式,分別為Flow sample、Expanded Flow sample、Counter sample、Expanded Counter sample。其中Expanded Flow sample和Expanded Counter sample是sFlow version5新增內容,是Flow sample和Counter sample的擴充套件,但不前向相容。所有的Extended的取樣內容必須使用Expanded取樣報文頭封裝。sFlow的報文格式如圖8-1。
sFlow的兩種取樣
sFlow Agent提供了兩種取樣方式供使用者從不同的角度分析網路流量狀況,分別為Flow取樣以及Counter取樣。
Flow取樣
Flow取樣是sFlow Agent裝置在指定埠上按照特定的取樣方向和取樣比對報文進行取樣分析,並將分析的結果通過sFlow報文傳送到Collector裝置的過程。Flow取樣報文中的主要資訊如表8-2所示。
欄位內容 |
說明 |
---|---|
Raw packet |
擷取原始報文全部或者一部分報文頭(具體擷取多長的長度由配置決定),將這部分原始報文封裝到sFlow報文中傳送給Collector。 |
Ethernet Frame Data |
針對Ethernet報文,解析報文的Ethernet頭資訊,將解析資料封裝到sFlow報文中傳送給Collector。 |
IPV4 Data |
針對IPV4報文,解析報文的IPV4頭資訊,將解析資料封裝到sFlow報文中傳送給Collector。 |
IPV6 Data |
針對IPV6報文,解析報文的IPV6頭資訊,將解析資料封裝到sFlow報文中傳送給Collector。 |
Extended Switch Data |
針對二層轉發的Ethernet報文,記錄報文的vlan轉換以及vlan優先順序的轉換,將轉發資訊封裝到sFlow報文中傳送給Collector。 vlan Id為0時表示無效vlan。 |
Extended Router Data |
針對路由轉發的報文,記錄報文的路由轉發資訊,將轉發資訊封裝到sFlow報文中傳送給Collector。 |
Extended Gateway Data |
針對經過BGP路由轉發的報文,記錄報文轉發的BGP路由屬性,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended User Data |
針對IP Session使用者,記錄報文轉發的使用者資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended URL Data |
針對Http報文,解析報文攜帶的URL資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended MPLS Data |
針對MPLS封裝的報文,獲取報文的MPLS封裝資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended NAT Data |
針對做NAT的報文,解析報文的地址轉換資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended MPLS Tunnel |
針對經MPLS隧道轉發的報文,解析報文的轉發隧道資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended MPLS VC |
針對經VLL/VPLS轉發的報文,解析報文的L2VPN轉發資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended MPLS FEC |
針對MPLS轉發的報文,解析報文的MPLS轉發等價類資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended MPLS LVP FEC |
針對MPLS轉發的報文,解析MPLS轉發等價類掩碼長度,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Extended Vlan Tunnel |
針對經Vlan Tunnel轉發的報文,獲取報文的Vlan Tunnel轉發資訊,將這些資訊封裝到sFlow報文中傳送給Collector。 |
Flow取樣是針對介面上報文的取樣方式,報文的取樣主要由兩種方式:固定取樣方式和隨機取樣方式。固定取樣方式是在裝置上啟用一個計數器,取樣比為1/N時,初時計數器值為N ,介面每處理一個報文計數,記數器計數減一,當計數器減到0時,取樣當前的報文,重置計數器的計數為N,重複前面的處理;隨機取樣方式是指標對每一個介面處理的報文給一個隨機值(假定隨機數的取值範圍為0~N),設定一個閾值n(n ∈ [0,N]),當報文的隨機值小於這個閾值時,報文采樣,這樣實際的取樣比為n/(N+1)。從統計角度來說,隨機取樣方式採集的樣本更加能夠體現整個樣本空間的情況,因此目前主要採用的取樣方式為隨機取樣方式。
說明:
目前交換機支援Raw packet、Ethernet Frame Data、IPV4 Data、IPV6 Data、Extended Switch Data、Extended Router Data的6種欄位。
Counter取樣
Counter取樣是sFlow Agent裝置週期性的獲取介面上的流量統計,並將這些統計資訊通過sFlow報文傳送給Collector裝置的過程。Counter取樣報文中的主要資訊如表8-3所示。
欄位內容 |
說明 |
---|---|
Generic Interface Counters |
通用介面統計資訊,包括介面的基本資訊,通用的介面流量統計。 |
Ethernet Interface Counters |
針對於Ethernet介面,用於統計Ethernet相關的流量統計資訊。 |
Token Ring Counters |
用於令牌環網,用於統計令牌環網相關流量統計資訊。 |
100 Base VG Interface Counters |
應用於IEEE 802.12介面,用於統計該類介面的流量統計資訊。 |
Vlan Counters |
用於按照vlan統計Ethernet裝置流量統計資訊。 |
Processor Information |
用於統計裝置CPU佔用率,記憶體使用情況。 |
說明:
目前交換機支援Generic Interface Counters、Ethernet Interface Counters和Processor Information的3種欄位。
8.5 應用
8.5.1 sFlow典型應用
如圖1-1所示,sFlow系統包含一個嵌入在裝置中的sFlow Agent和遠端的sFlow Collector。其中,sFlow Agent用於獲取本裝置上的介面統計資訊和資料資訊,將資訊封裝成sFlow報文,當sFlow報文緩衝區滿或是在sFlow報文快取時間(快取時間為1秒)超時後,sFlow Agent會將sFlow報文傳送到指定的sFlow Collector。sFlow Collector對sFlow報文進行分析,並顯示分析結果。
8.6 術語與縮略語
術語
術語 | 解釋 |
---|---|
sFlow Agent | 內嵌於網路裝置中,在sFlow系統中收集流量統計資料傳送到Collector端供分析。 |
sFlow Collector | 通常由專門伺服器充當,在sFlow系統中收集各Agent的取樣資料並以圖示或報表的形式加以彙總。 |
縮略語
縮略語 | 英文全稱 | 中文全稱 |
---|---|---|
sFlow | Sampled flow | 流取樣 |
IP | Internet protocol | 網際協議 |
MPLS | Multiple protocol label switch | 多協議標籤交換 |
Vlan | Virtual local area network | 虛擬本地網路 |
BGP | Border gateway protocol | 邊界閘道器協議 |
URL | Uniform/Universal Resource Locator | 統一資源定位符 |
NAT | Network Address Translation | 網路地址轉換 |