Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

了解如何使用 sFlow 技术进行网络监控

 

SFlow 网络技术是一种面向高速交换或路由网络的监控技术。sFlow 会随机采样网络数据包,并将示例发送至称为收集器的监控站。

本主题介绍:

SFlow 技术的优势

  • sFlow 可供软件工具(如网络分析器)用于同时连续监控数十个交换机或路由器端口。

  • 因为 sFlow 使用网络采样(将一个数据包从 n总数据包数)要进行分析,不需要占用大量资源(例如处理、内存等)。采样在特定于硬件的集成电路(Asic)上完成,因此很简单,更准确。

SFlow 技术的采样机制和架构

sFlow 技术采用以下两种抽样机制:

  • 基于数据包的采样—从支持 sFlow 技术的接口上的指定数量的数据包中抽取一个数据包。只有每个数据包的前128字节发送到收集器。收集的数据包括以太网、IP 和 TCP 标头以及其他应用程序级别标头(如果存在)。虽然这种类型的采样可能无法捕获不频繁的数据包流,但大多数流会随着时间的推移而报告,从而使收集器能够生成准确的网络活动表示。要配置基于数据包的采样,必须指定采样速率。

  • 基于时间的采样—按指定间隔从支持 sFlow 技术的接口采样接口统计信息。捕获了以太网接口错误等统计信息。要配置基于时间的采样,必须指定轮询间隔。

采样信息用于创建网络流量可见性图片。瞻博网络 Junos 操作系统(Junos OS)完全支持 RFC 3176 中所述的 sFlow 标准, InMon Corporation 的 sFlow:用于监控交换和路由网络中的信息流的方法(请参阅http://faqs.org/rfcs/rfc3176.html)。

注意

在交换机上,sFlow 技术仅样本原始数据包标头,即完整的第2层网络帧。

SFlow 监控系统由嵌入在路由器或交换机中的 sFlow 代理和集中式收集器组成。SFlow 代理’的两个主要活动是随机抽样和统计信息收集。它将接口计数器和流样本相结合,并将其通过网络发送到 sFlow 收集器,将其作为 UDP 数据报,将这些数据报定向到收集器的 IP 地址和 UDP 目标端口。每个数据报都包含以下信息:

  • SFlow 代理的 IP 地址

  • 样本数

  • 数据包进入代理所用的接口

  • 数据包退出代理的接口

  • 数据包的源和目标接口

  • 数据包的来源和目标 VLAN

小心

对于双 Vlan,可能不会报告所有字段。

路由器和交换机可以采用分布式 sFlow 架构。SFlow 代理具有代理。每个子代理负责监控一组网络端口,并拥有一个唯一 ID,由收集器用于识别数据源。子代理具有自己的独立状态,并将自己的示例消息转发给 sFlow 代理。SFlow 代理负责将示例打包到数据报中,并将其发送至 sFlow 收集器。由于采样分布在多个代理之间,因此与 sFlow 技术相关的协议开销在收集器中显著减少。

注意

在 QFabric 系统上,sFlow 收集器必须可通过网络到达。由于每个节点设备都在默认路由实例中存储了所有路由,因此收集器 IP 地址应包含在默认路由实例中,以’确保收集器可从节点设备中访问。

注意

您不能在链路聚合组(LAG)上配置 sFlow 监控,但您可以在 LAG 成员接口上单独配置。

在 sFlow 信息中可能不会报告不常用的采样流,但随着时间的推移,大部分流量都会报告。基于配置的采样速率 N,1个,共 N捕获数据包并发送至收集器。此类采样不能在分析中提供精确的100百分比结果,但确实提供了可量化准确性的结果。用户配置的轮询间隔定义了将特定接口的 sFlow 数据发送至收集器的频率,但 sFlow 代理还可以计划轮询。

注意

对于 EX9200 交换机和 MX 系列路由器,建议为线卡中的所有端口配置相同的采样速率。如果配置不同的采样速率,则最小值用于线卡上的所有端口。

注意

如果主控权分配在集群交换设置中发生变化,sFlow 技术将继续起作用。

自适应采样

自适应取样是监控网络设备上的总传入信息流的过程,并向接口提供智能反馈,以根据信息流条件动态调整接口上的采样速率。自适应采样可防止 CPU 在最佳级别过载和维护系统,即使接口上的流量模式发生变化也是如此。采样速率是已配置的出口或入口数据包数,超出了其中一个数据包的抽样率,自适应采样速率是每个线卡生成的最大样本数,’即给定的限制自适应采样。样本负载是在给定时间点(取样)在网络上移动的数据量(或数据包数量)。增加采样速率时,会降低示例负载,反之亦然。例如,假设配置的采样速率为2(表示将1个数据包从2个数据包中采样),然后该速率加倍,将其设置为4,或者只对1个数据包进行了4个数据包采样。

您可配置自适应采样速率,即在[edit protocols sflow adaptive-sample-rate层次结构级别上每个线卡生成的最大取样数。

自适应采样的工作原理

每隔几秒或每次循环,sFlow 代理都会收集接口统计信息。从这些聚合统计数据中,每秒平均采样数是为周期计算的。周期长度取决于平台:

  • EX 系列和 QFX5K 交换机以及 MX 系列和 PTX 系列路由器每隔12秒

  • 对于 QFX5K 以外的 QFX 系列交换机,每隔5秒

如果线卡上所有接口的组合采样速率超过自适应采样速率,将启动二进制回退算法,从而减少接口上的示例负载。自适应采样将受影响接口上的采样速率加倍,从而减少了一半的采样负载。此过程将重复进行,直到给定线卡上的 sFlow 导致 CPU 负载下降到可接受的水平。

线卡上的哪些接口参与自适应采样取决于平台:

  • 对于 MX 系列路由器和 EX 系列交换机,线卡上所有接口上的采样速率均已改编。

  • 对于 PTX 系列路由器和 QFX 系列交换机,仅对线卡上具有最高采样率的五个接口进行改编。

注意

在 QFabric 系统上,sFlow 技术将每个节点设备上的接口监控为一个组,并根据此组接口上的流量实施二进制回退算法。

对于所有平台,增加的采样率将一直生效,直至满足以下条件之一:

  • 设备重新启动。

  • 配置新的采样速率。

如果您已启用自适应采样回退功能,并且由于流量峰值,样本数将增加为配置的采样限制阈值,而自适应采样速率将反转。请参阅自适应抽样回退

自适应抽样回退

自适应采样回退功能在配置后和自适应采样之后,使用二进制备份算法减少采样速率(因此增加采样负载),而生成的样本数小于配置sample-limit-threshold的值,不会影响正常信息流。

从 Junos OS Release 18.3 R1 开始,对于 EX 系列交换机,Junos OS 支持自适应采样回退功能。 从 Junos OS Release 19.1 R1 开始,对于 MX 系列、PTX 系列和 QFX 系列设备,Junos OS 支持自适应采样回退功能。

自适应采样回退默认情况下是禁用的。要启用此功能,请在fallback[edit protocols sflow adaptive-sample-rate]层次adaptive-sample-rate sample-limit-threshold结构级别中包括和选项。

自适应取样发生后,线卡表现不佳—也就是说,一个周期中生成的样本数小于用于自适应取样五个连续周期的sample-limit-threshold语句—的配置值,改编的速率已逆转。如果已进行反向调整,并且周期中生成的样本数再次小于当前已改编速率的一半(因此,对于五个连续循环),则可能发生另一个反向适配。

如果接口已达到配置的速率,则不会进行反向适配。

自适应采样限制

以下是自适应示例功能的局限性:

  • 在独立路由器或独立 QFX 系列交换机上,如果您在多个接口上配置 sFlow,并且采样率较高,则建议您在数据网络而非管理网络上指定收集器。管理网络上的大量 sFlow 流量可能会干扰其他管理接口流量。

  • 在路由器上,sFlow 不支持平滑重新启动。当发生平滑重新启动时,自适应采样速率设置为用户配置的采样速率。

  • 在可选择速率更高的线卡(支持多种速度)上,将选择自适应采样回退的具有最大样本数的接口。备份算法会选择这些接口,自适应采样速率增加最大次数,然后每隔五秒降低一次这些接口上的采样速率。但是,在单速率线卡上,每个线卡仅支持一个采样速率,而自适应采样回退机制将在线卡的所有接口上备份采样速率。

sFlow 代理地址分配

SFlow 收集器使用 sFlow 代理’的 IP 地址确定 sFlow 数据的来源。您可以配置 sFlow agent 的 IP 地址,以确保 sFlow agent 的代理 ID 保持不变。如果未指定要分配给代理的 IP 地址,IP 地址将根据以下在设备上配置的接口优先级顺序自动分配给代理:

路由器和 EX 系列交换机

QFX 系列设备

  1. 虚拟管理以太网(VME)接口

  2. 管理以太网接口

  1. 管理以太网接口 me0 IP 地址

  2. Me0 IP 地址不可用时,任何第3层接口

如果未配置特定接口,则优先级列表中下一个接口的 IP 地址将用作该代理的 IP 地址。一旦将 IP 地址分配给代理,代理 ID 就不会修改,直到重新启动 sFlow 服务。必须为分配给代理的 IP 地址至少配置一个接口。自动分配代理’ip 地址时,ip 地址是动态的,设备重新启动时更改。

在 QFabric 系统上,如果未配置可选参数,则使用以下默认值:

  • 代理 ID 是默认分区的管理 IP 地址。

  • 源 IP 是默认分区的管理 IP 地址。

此外,QFabric 系统子代理 ID (包含在 sFlow 数据报中)是将数据报发送至收集器的节点组的 ID。

sFlow 数据可用于提供网络信息流可见性信息。您可以显式配置要分配给 sFlow 数据报的来源 IP 地址。如果未显式配置 IP 地址,则任何配置的第3层网络接口的 IP 地址将用作源 IP 地址。如果未配置第3层 IP 地址,则代理 IP 地址将用作源 IP 地址。

路由器的 sFlow 限制

在路由器上,sFlow 信息流抽样的局限性包括以下几项:

  • Trio 芯片组无法支持每个系列的不同采样速率。因此,每个线卡只能支持一个采样速率。

  • 自适应负载平衡按线卡应用,而不是按线卡下的接口进行。

路由器仅支持在线卡上配置一个采样速率(包含出入速率和出口率)。为了支持与其他瞻博网络产品的 sflow 配置兼容,路由器仍然在同一线卡的不同接口上接受多个速率配置。但是,路由器会将最低速率作为该线卡所有接口的采样速率。(show sflow interfaces)命令显示配置的速率和实际(有效)速率。但是,瞻博网络路由器上仍支持不同线卡上的不同速率。

sFlow 对交换机的限制

在 QFX 系列上,sFlow 流量采样的局限性包括:

  • 入口接口上的 sFlow 取样不会捕获 CPU 绑定的信息流。

  • 传出接口上的 sFlow 采样不支持广播和多路广播数据包。

  • 出口样品不包含对出口管道中的数据包所做的修改。

  • 如果数据包由于防火墙过滤器而被丢弃,则丢弃数据包的原因代码不会发送到收集器。

  • 在 EX9200 交换机和 QFX 系列交换机(QFX10K-12C-DWDM 交换机除外)中,sFlow 不支持 true OIF (传出接口)。

  • VLAN 的 out 优先级字段在入口和出口样本上始终设置为0(零)。

  • 在 QFX5100 独立交换机和 QFX 系列集群交换(包括混合 QFX 系列集群交换)上,出口防火墙过滤器不会应用于 sFlow 抽样数据包。在这些平台上,软件架构不同于其他 QFX 系列设备—上的 sFlow 数据包由路由引擎(而不是主机上的线卡)发送,并且不传输交换机。出口防火墙会影响经过交换机上的数据包,但不会影响路由引擎发送的数据包。因此,sFlow 抽样数据包将始终发送到 sFlow 收集器。

EX9200 交换机仅支持在 FPC (或线卡)上配置一种采样率(包括出入速率和出口速率)。为了支持与其他瞻博网络产品的 sflow 配置兼容,EX9200 交换机仍然在同一 FPC 的不同接口上接受多个速率配置。但是,交换机会将最低速率作为该 FPC 所有接口的采样速率。(show sflow interfaces)命令显示配置的速率和实际(有效)速率。但是,EX9200 交换机上仍支持不同 Fpc 上的不同速率。

Release History Table
版本
说明
从 Junos OS Release 19.1 R1 开始,对于 MX 系列、PTX 系列和 QFX 系列设备,Junos OS 支持自适应采样回退功能。
从 Junos OS Release 18.3 R1 开始,对于 EX 系列交换机,Junos OS 支持自适应采样回退功能。