Netflow 是 cisco

cflow 是 juniper

Netstream 是 H3C

sflow 是 硬件的芯片产生

不知道为什么在wireshark 里只有 cflow 和 sflow。 却没有 netflow,因为cisco私有?

 

 sFlow是一种基于标准的最新网络导出协议(RFC 3176),能够解决当前网络管理人员面临的很多问题。通过将sFlow技术嵌入到网络路由器和交换机的ASIC芯片中,sFlow已经成为一项线速运行的“永远在线”技术。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够大大降低实施费用,采用它可实现面向每一个端口的全企业网络监视解决方案。

 

因为NetFlow输出采用用户数据报协议UDP——User DatagramProtocol)来发送输出的数据报,所以可能会丢失数据。为了确定信息流输出信息是否丢失了,版本5的头标信息格式中包含了一个信息流序列号。这个序列号等于前一个序列号加上刚刚过去的数据报中信息流的个数。当接收到一个新的数据报后,接收程序可以从头标信息中的序列号中提取出的预期的序列号,这样即可以获取丢失信息流的数目。

 

上图 UDP 1506 byte , 其中 30个 flow 数据包。

14+20+8+24+30×48=1506

14 以太网帧头部、20 IP数据包头部、8 UDP 包头部、24flow数据包头部、48 一个flow的字节数,一共30个。

(config)#mls flow ?

            ip 和 ipv6

(config)#mls flow ip ?

interface-destination interface-destination flow keyowrd  

interface-destination-source interface-destination-source flow keyword

interface-full  interface-full flow keyword

interface-source interface-source only flow keyword 

 

Netflow 关键组件:NETFLOW缓存,该缓存用于存储IP流信息;NETFLOW输出机制,该机制用于经NETFLOW数据发送到收集器。

IPFIX 是由IETF发展的标准跟踪协议。

NETFLOW能够标识IP报文的报文流,而流是由数据报文中的各个字段来标识的。NETFLOW不会在路由器之间增加任何用户初始化连接的协议、网络设备或终端工作站。NETFLOW不会修改IP报文、它的传输都是透明地穿越现存网络架构的。

其输出数据的总量大约是网络设备之间交换流量的1.5%

 “流掩码”就是netflow数据流的匹配策略。掩码就是筛子,就是过滤条件。

流掩码和基于路由器的聚合方案。

NETFLOW通过将报文中的关键字段结合来定义一个流。也就是“流特征”。

流有 关键字段 和非关键字段。 关键字段来确定一个流。 非关键字段可以表示流的很多附带属性。例如:开始时间,结束时间,字节数等。

最初,NETFLOW通过以下7大关键字段的组合来定义流:

源IP地址

目的IP地址

源端口号

目的端口号

第三层协议类型

TOS字段

逻辑接口

 

流被定义为一组拥有共同属性报文的集合:或者是有一个或多个相同的报文头部字段(如目的IP地址,传输层头部字段),或者是报文本身有一种或多种相同的特征(如MPLS标签编号),或者是报文在进行处理的过程中获得了一个或多个相同字段(如BGP吓一跳地址)。如果一个报文能够完全匹配到某个流预先定义的所有属性,它就属于这个流,并且会被相应的记录下来。

 

计帐与流量管理——在部署第3层交换时的一个关键要求是在流被交换时提供流的可视性,以便进行故障排除、流量管理与计帐。MSFC与PFC允许对硬件中存有的流统计信息进行详细的数据收集。过期流的记录将被集合到一起并被输出到应用中,如用于网络与远程监控的NetysⅡ(RMON Ⅱ)流量临控与管理以及计帐应用。

 

show mls ip flow 

show mls ip verbose flow

show ip flow export