对于很多网络技术人员来说,要判断流量转发的情况,就需要对流量抓包进行判断。如果交换机和路由器不支持直接数据包捕获功能怎么办?这就产生了交换机的流量镜像和路由器的流量输出协议Netflow/Netstream。
1.Netflow的工作原理
NetFlow是一种数据交换方法。Netflow提供了网络流量的会话级视图,并记录了每个TCP/IP事务的信息。Netflow是由思科创建的。
工作原理:NetFlow使用标准交换模式处理一个数据流的第一个IP包数据,生成一个NetFlow缓存,然后基于缓存信息在同一个数据流中传输相同的数据,不再匹配相关的访问控制策略。NetFlow cache还包含后续数据流的统计信息。NetFlow有两个核心组件:NetFlow cache,存储IP流信息;NetFlow的数据导出或传输机制,NetFlow使用它向网络管理收集器发送数据。网络流被定义为在源IP地址和目的IP地址之间传输的单向分组流,并且所有分组具有相同的传输层源和目的端口号。流的标识符:sip+dip+sport+dport+第三层协议类型+to***yte()+路由器或交换机接口。
Netflow根据7元组识别流:源ip地址、目的ip地址、源端口号、目的端口号、ip协议类型、服务类型(ToS)和输入/输出接口。
网络流(Netflow)数据采集和分析图:
NDE (NetStream Data Exporter): NDE利用流量缓存维护流量的相关信息和处理规则,根据流量的第一条报文建立处理规则,然后利用规则对后续的网络流量进行分析处理,提取出符合条件的流量统计,输出到NDC设备。数据也可以在输出之前进行处理,例如聚合。
NSC(网络流收集器):通常是一个应用程序。负责分析来自NDE的信息,并将统计数据收集到数据库中供NDA分析。NSC可以收集多个NDE设备输出的数据,并进一步过滤和汇总数据。
NDA (Netstream数据分析器):NDA是一个网络流量分析工具,它从NDC提取统计数据。ADS探测设备扮演NDA的角色。
分别统计入口和出口接口。当统计网络流(netflow)流量时,统计是根据入口和出口接口独立进行的。对于出接口:由出接口、源IP地址、目的IP地址、源端口号、目的端口号、协议号、TOS组成的七元组决定一个流量(在路由负载分担的情况下,流量统计中的下一跳和出接口从第一个负载分担路由条目获得);对于入口接口:由入口接口、源IP地址、目的IP地址、源端口号、目的端口号、协议号和TOS组成的七元组确定流。
2.网络流和网络流的区别
Netflow属于思科,华为叫netstream。两者没有太大的本质区别。Netflow的默认端口是9996,而华为的netstream的端口是1到65535之间的任意端口。
另外,Foundry,HP,Alcatel,NEC,Extreme等代表厂商使用的sFlow,和NetFlow一样,sflow是一种推送技术,向采集者发送报告。不同的是,NetFlow是一种基于软件的技术,而sFlow使用内置在硬件中的特殊芯片。这种方法消除了路由器或交换机的CPU和存储器的负担。sFlow系统的基本原理是:分布在网络中不同位置的sFlow代理连续地将sFlow数据报传输到中央sFlow收集器,中央sFlow收集器分析sFlow数据报并生成丰富的、实时的和网络范围的传输流视图。SFlow是一种纯包采样技术,即记录每个采样的X个包的长度,而大部分包被丢弃,只留下样本发送给采集器。由于这种技术是基于样本的,如果没有复杂的算法来尝试猜测会话字节的确切数量,几乎不可能获得每个主机流量的100%的准确值。使用此技术时,交换机每100个数据包(可配置)对每个接口进行采样,然后将其发送给收集器。sFlow的规范还支持1对1的采样率,即每一个数据包都被处理”采样”。数据包最大采样频率的限制取决于具体的芯片制造商和sFlow的实现。NetFlow在路由器上更受支持,而sFlow在交换机上更受欢迎。两者都是开放标准,但在非常大的流量传输环境中,sFlow采样架构可能比NetFlows聚合更好。
本文来自北蕭投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/630818.html