sflow報文字段說明_第1頁
sflow報文字段說明_第2頁
sflow報文字段說明_第3頁
sflow報文字段說明_第4頁
sflow報文字段說明_第5頁
已閱讀5頁,還剩3頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. Sflow Datagram頭介紹:字段說明struct _SFLSample_datagram_hdr u32 datagram_version; sflow的版本號 (VERSION5 = 5只支持v5版本) u32 agent_address; 采樣交換機的設備ip(通過命令行配置一般配置為loopback口ip) u32 sub_agent_id; 子設備id (暫不支持分布式默認為0) u32 sequence_number; 已經發送sflow報文序列號 (sflow報文序列編號依次加1) u32 uptime; 自設備啟動時刻當現在經過的毫秒數(不是當前時間) u32 nu

2、m_records; 包含的記錄數目 2. 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采樣報文格式封裝。

3、sFlow的報文格式如圖2-1。注:我們做的sflow是sFlow version5版本,只支持Expanded Flow sample和Expanded Counter sample兩種報文字段格式。圖2-1  sFlow報文格式 sFlow的兩種采樣sFlow Agent提供了兩種采樣方式供用戶從不同的角度分析網絡流量狀況,分別為Flow采樣以及Counter采樣。2.1 Flow采樣Flow采樣是sFlow Agent設備在指定端口上按照特定的采樣方向和采樣比對報文進行采樣分析,并將分析的結果通過sFlow報文發送到Collector設備的過程。Flow采樣

4、 的字段格式是按照Expanded Flow sample格式進行封裝的:Expanded Flow sample頭字段介紹struct _SFLFlow_sample_expanded u32 tag; 此處為3代表 expanded flow sample 字段 u32 length; 該字段總的字節數(不包含:tag和length字段) u32 sequence_number; flow sample字段序列號 依次遞增(分接口記錄序列號) u32 ds_class; 數據源類型 (只支持 接口類型 數據源類型默認為0) u32 ds_index; 數據源索引 (接口索引值) u32 s

5、ampling_rate; 采樣率 命令行進行配置 u32 sample_pool; 采樣池的報文個數 u32 drops; (sflow緩存隊列已滿,無法入隊被丟棄未處理的報文個數,如果被丟棄報文個數過多,建議增大采樣率) u32 inputFormat; 入接口類型 (默認為0) u32 input; 入接口索引值 u32 outputFormat; 出接口類型 (默認為0) u32 output; 出接口索引值 u32 num_elements; 以下包含的記錄數 表2-2  Expanded Flow sample采樣報文中字段信息說明字段內容說明Raw packe

6、tHeader截取原始報文全部或者一部分報文頭(報文大于128字節截取128字節,否則截取全部報文).struct sflow_rawpkthdr u32 tag; 為1代表是raw packet header字段u32 length; 總的字節數(不包含tag和length字段) u32 header_protocol; 原始數據mac 協議類型(1代表以太網類型報文) u32 frame_length; 原始報文總字節數 u32 stripped; 截取報文時被忽略掉的字節數 u32 header_length; 被截取報文的字節數 u8 *header_bytes; 截取的原始報文字段

7、Ethernet Frame Data針對Ethernet報文,解析報文的Ethernet頭信息。struct sflow_ethernet_data u32 tag; 為2代表是Ethernet Frame Data字段 u32 length; 總的字節數(不包含tag和length字段) u32 len_mac; 原始報文總字節數(包括2層頭及后續報 文長度) u8 src_mac8; 源mac地址8字節 u8 dst_mac8; 目的mac地址8字節 IPV4 Data針對IPV4報文,解析報文的IPV4頭信息。struct sflow_ipv4_data u32 tag; 為3代表是I

8、Pv4 Data字段 u32 len; 總的字節數(不包含tag和length字段) u32 len_ippkt; 原始報文三層頭及后續報文總字節數 u32 proto; IP Protocol type ( TCP = 6, UDP = 17) u32 src_ip; 原始報文源ip u32 dst_ip; 原始報文目的ip u32 src_port; 原始報文源端口號 u32 dst_port; 原始報文目的端口號 u32 tcp_flags; TCP flags (tcp報文才有) u32 tos; IP type of service Extended Router Data針對路由轉

9、發的報文,記錄報文的路由轉發信息。struct sflow_extendedrouter_data u32 tag; 為1002代表是extended router Data字段 u32 length; 總的字節數(不包含tag和length字段) u32 ip_type; ip地址類型(1代表IPv4,2代表ipv6,暫只支持IPv4報文) u32 nexthop; 下一跳ip地址 u32 src_mask_len; 源ip匹配轉發表中的掩碼長度 u32 dst_mask_len; 目的ip匹配轉發表中的掩碼長度Extended Switch Data針對二層轉發的Ethernet報文,記錄

10、報文的vlan轉換以及vlan優先級的轉換。struct sflow_extendedswitch_data u32 tag; 為1001代表是extended switch data字段 u32 length; 總的字節數(不包含tag和length字段) u32 src_vlan; 入相vlan id號 u32 src_priority; 入相vlan優先級 u32 dst_vlan; 出相vlan id號 u32 dst_priority; 出相vlan優先級 Flow采樣是針對接口上報文的采樣方式,報文的采樣方式是隨機采樣方式。隨機采樣方式是指針對每一個接口處理的報文給一個隨機值(假定

11、隨機數的取值范圍為0N),設置一個閾值n(n 0,N),當報文的隨機值小于這個閾值時,報文采樣,這樣實際的采樣比為n/(N+1)。從統計角度來說,隨機采樣方式采集的樣本更加能夠體現整個樣本空間的情況,因此目前主要采用的采樣方式為隨機采樣方式。2.2 Counter采樣Counter采樣是sFlow Agent設備周期性的獲取接口上的流量統計,并將這些統計信息通過sFlow報文發送給Collector設備的過程。Expanded Counters sample頭字段介紹struct sflow_extendedcounter_datau32 tag; 為4代表Expanded Counters

12、sample 報文格式 u32 length; Expanded Counters sample結構總的字節數(不包含tag和length字段,但包括以下的各記錄字段) u32 sequence_number; counter sample字段序列號 依次遞增(分接口記錄序列號) u32 ds_class; 數據源類型(默認為0代表接口類型,暫只支持接口類型)u32 ds_index; 數據源接口索引值u32 record_nums; 以下包含的記錄數表2-3  Counter采樣報文中主要字段信息說明字段內容說明Generic Interface Counters通用接口

13、統計信息,包括接口的基本信息,通用的接口流量統計。struct sflow_extendedcounter_generalif_data u32 tag; 為1代表Generic Interface Counters字段 u32 length; 總的字節數(不包含tag和length字段) u32 ifIndex; 接口的索引值 u32 ifType; 接口的類型,6表示ethernet接口 u64 ifSpeed; 接口的速率支持規格 單位是bps u32 ifDirection; 雙工模式0 = unknown, 1 = 全雙工, 2 = 半雙工 u32 ifStatus; 接口狀態 第0

14、位 = ifAdminStatus (0 = down, 1 = up)第1位 = ifOperStatus (0 = down, 1 = up) */ u64 ifInOctets; 進方向統計報文字節數 u32 ifInUcastPkts; 進方向統計報文數 u32 ifInMulticastPkts; 進方向組播報文數 u32 ifInBroadcastPkts; 進方向廣播報文數 u32 ifInDiscards; 進方向丟棄報文數 u32 ifInErrors; 進方向錯誤報文數 u32 ifInUnknownProtos; 不支持暫默認填0 u64 ifOutOctets; 出方向

15、統計報文字節數 u32 ifOutUcastPkts; 出方向統計報文數 u32 ifOutMulticastPkts; 出方向組播報文數 u32 ifOutBroadcastPkts; 出方向廣播報文數 u32 ifOutDiscards; 出方向丟棄報文數 u32 ifOutErrors; 出方向錯誤報文數 u32 ifPromiscuousMode; 混雜模式(非0代表混雜模式)Ethernet Interface Counters針對于Ethernet接口,用于統計Ethernet相關的流量統計信息。struct sflow_extendedcounters_ethernetif_da

16、ta u32 tag; 為1代表Ethernet Interface Counters字段 u32 length; 總的字節數(不包含tag和length字段) u32 AlignmentErrors; 報文對齊方式錯誤個數(4字節對 齊) u32 FCSErrors; 循環冗余校驗碼錯誤個數 u32 SingleCollisionFrames; u32 MultipleCollisionFrames; u32 SQETestErrors; u32 DeferredTransmissions; u32 LateCollisions; u32 ExcessiveCollisions; 沖突報文個數 u32 InternalMacTransmitErrors; u32 CarrierSenseErrors; 載體錯誤個數 u32 FrameTooLongs; 報文過長錯誤個數 u32 InternalMacReceiveErrors; u32 SymbolErrors;注:目前由于Interface Counters的大部分信息平臺都不支持統計,暫只支持 紅色標注 的字段其余字段都填0,后續會完善Processor Information用于統計設備CPU占用率,內存使用情況struct sflow_processor_counter_data u3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論