Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

带内流分析器 (IFA) 2.0 实时流监控

带内流分析器 (IFA) 2.0 以网络的每跃点为基础收集数据。您可以将此数据导出到外部收集器,以执行本地化或端到端分析。

带内流分析器 2.0

带内流分析器 2.0 概述

带内流分析器 2.0 (IFA 2.0) 是一项功能,可用于在数据包进出网络时对其进行监控和分析。作为网络管理员,您可以使用此功能收集与数据包通过网络的路径以及数据包在每个跃点上花费的时间相关的数据。这些数据表明延迟过大,可能存在拥塞。此功能通过收集数据平面上的单跃点流数据,帮助您获得有关复杂网络的见解。

IFA 使用实时模式或探测模式收集网络范围的流数据。当节点在实时模式下运行时,软件会将 IFA 基本报头和 IFA 元数据插入实时数据包中。当节点在探测模式下运行时,软件会对实时数据包流进行采样并复制采样数据包,以创建承载 IFA 层的初始数据包。这些探查数据包代表原始流量,具有与原始流量相同的特征。这意味着 IFA 探测数据包在网络中遍历与原始实时数据包相同的路径和网络元素中的相同队列。因此,IFA 探针数据包遍历与原始流量相同的网络路径,会经历类似的延迟和拥塞。

您可以使用带内流分析器 2.0 (IFA 2.0) 收集流数据信息,例如:

  • 停留时间(延迟)

  • 单跃点延迟

  • 单跃点入口端口号

  • 单跃点出口端口号

  • 收到的数据包时间戳值

  • 队列 ID

  • 拥塞通知

  • 出口端口速度

IFA 2.0 在标题为 带内流分析器的 IETF 草案 draft-kumar-ippm-ifa-02 中定义。

请参阅 功能浏览器:带内流分析器 (IFA) 2.0 ,以确认平台和版本支持。

优势

  • IFA 探测数据包遍历与原始流量相同的网络路径,有助于监控网络是否存在故障和性能问题。
  • 监控实时流量,从而帮助执行数据包级延迟分析和队列拥塞监控,以优化网络性能。

模式(仅限 Junos OS Evolved)

从 Junos OS 演化版 25.4R1 版开始,IFA 2.0 功能支持两种模式。新模式如下:

  • 在实时模式下,对于支持它的交换机,IFA 2.0 将原始数据包用作 IFA 数据包。

  • 在探查模式下,IFA 2.0 使用原始数据包的副本作为 IFA 探测数据包。这是默认模式。

将 IFA 发起器节点配置为发起 IFA 数据包时:

  • 在实时模式下,发起方会将 IFA 标头和元数据插入实时数据包中。

  • 在探查模式下,发起方对流量进行采样并复制该采样以创建探查。

配置 IFA 终止器节点来解析数据包中的 IFA 报头时:

  • 如果是实时数据包,则终止程序将剥离 IFA 层,并将修改后的实时数据包转发到其目标。终止器还将 IFA 数据包的镜像副本(包含所有 IFA 元数据)发送到 IFA 收集器。

  • 如果数据包是探测数据包,则终止器将丢弃数据包,并向收集器发送包含所有 IFA 元数据的镜像副本。

要指定模式,请在层次结构级别配置mode (live | probe)[edit services inband-flow-telemetry]该语句。默认模式为 probe。使用此show services inband-flow-telemetry global命令可查看包含模式信息的结果。

带内流分析器进程

IFA 使用以下处理节点(如 图 1 所示)来监视和分析流量:

  • IFA 发起节点(也称为入口节点)

  • IFA 中继节点

  • IFA 终止节点(也称为出口节点)

IFA 2.0 支持处理第 3 层 (L3) 和 VXLAN 流,但您不能在同一设备上同时为 L3 和 VXLAN 流配置 IFA。流类型选项是互斥的。您可以使用配置 flow-type 语句设置关注的流量类型 — L3 或 VXLAN。您仅为 IFA 发起方和 IFA 终止方节点(通常是叶节点)配置该 flow-type 语句。对于 IFA 中转节点(通常是主干节点),无需配置 flow-type 该语句。

图 1:IFA 处理 Flow diagram illustrating IFA data collection: Initiator Node, Transit Node, terminator Node, and Collector with blue arrow for original flow and black arrow for IFA copy.

表 1 总结了 IFA 处理节点执行的不同功能:

表 1:IFA 节点功能
IFA 节点 功能

IFA 发起器节点

对感兴趣的流量(L3 或 VXLAN)进行采样,并通过向每个样本添加 IFA 报头来创建 IFA 副本。如果配置了实时模式,则发起方会将 IFA 标头和元数据插入实时数据包中。

IFA 中继节点

标识 IFA 数据包,并将其元数据追加到数据包中的元数据堆栈。
  • 如果任何数据包带有 IFA 标头,则该节点会将元数据插入元数据堆栈并转发。如果跃点限制为 0,则节点不会插入元数据。

  • 当非 IFA 设备收到 IFA 数据包时,设备会转发该数据包,而不进行 IFA 处理。

  • 作为 IFA 过渡节点的 QFX5220 无法将元数据插入 IFA 探测数据包标头的元数据堆栈中。相反,QFX5220 会在 IFA 探测数据包末尾添加一个尾戳,其中包含时间戳和其他元数据。

IFA 终止器节点

  • 将终止器节点元数据插入到 IFA 数据包中。

  • 将 IFA 数据包格式化为 IP 流信息导出 (IPFIX) 格式,并将数据包发送至配置的收集器。您可以使用任何支持 IPFIX 格式的收集器(或应用程序)。与 QFX5120 交换机不同,QFX5240 交换机不使用 IPFIX 格式。相反,QFX5240 交换机使用 IPFIX PSAMP 格式对发送至收集器的数据进行格式化。

注意:

IFA 终结器功能需要有效的瞻博网络高级遥测功能 (ATF) 许可证。QFX5240交换机不需要许可证即可终止 IFA。

IFA 探针数据包标头

IFA 2.0 探测数据包包含以下内容:

  • IFA 报头

  • IFA 元数据报头

  • IFA 元数据堆栈

图 2 显示了 IFA 发起方节点上的 L3 IFA 2.0 数据包格式:

图 2:IFA 发起方节点上的第 3 层 IFA 2.0 数据包格式 Diagram of network packet structure showing layers: L2 Header, L3 Header, IFA Header, L4 Header, IFA Metadata Header, IFA Metadata Stack, and Payload. IFA components are highlighted.

图 3 显示了 IFA 发起节点上的 VXLAN IFA 2.0 数据包格式。

图 3:IFA 发起节点上的 VXLAN IFA 2.0 数据包格式 Packet structure showing encapsulation layers and headers for telemetry: outer L2, L3, L4, IFA headers, VxLAN, inner L2, L3, L4, and payload.
注意:

使用 VXLAN 时,将使用三遍机制在 VXLAN 封装之后添加 IFA 报头。

IFA 报头

IFA 2.0 定义了上层报头 (ULH),类似于 TCP、UDP、通用路由封装 (GRE) 和生成树协议 (STP) 对 ULH 的定义。IFA ULH 始终是 IP 报头后的第一个报头,即使还有一些其他 IPv4 扩展报头也是如此。该 NextHdr 字段(即 Protocol Type IFA 报头中的字段)携带原始 IP 报头协议字段值。 图 4 显示了 IFA 标头格式。

图 4:IFA 标头 IFA header format with fields: IFA Version 4 bits, GNS 4 bits, Protocol Type 8 bits, FLAGS 8 bits, MAX Length 8 bits.
表2 提供有关 IFA 头字段的详细信息。
表 2:IFA 表头字段
IFA 表头字段 描述

IFA 版本

IFA 标头的版本。在当前实现中,IFA 版本为 2.0。

GNS

IFA 元数据的全局命名空间 (GNS)。IFA 发起器节点将此字段的值设置为0xF。

协议类型

IP 报头协议类型。此值从 IP 报头复制。

标志

未使用

最大长度

元数据堆栈允许的最大长度(以四个八位位组的倍数为单位)。发起方节点将初始化此字段。路径中的每个节点都会比较当前长度和最大长度。如果当前长度等于或超过最大长度,则传输节点将停止插入元数据。您可以配置此最大允许长度。默认值为 240 个八位位组(30 个跃点)。

IFA 元数据报头

IFA 2.0定义了一个紧凑的4字节元数据标头,如 图5所示。IFA 发起器节点会将此报头添加到探查数据包中。

图 5:IFA 元数据标头格式 Data structure with four 8-bit fields: Request Vector, Action Vector, Hop Limit, and Current Length; identifier jn-000099.
表3 提供有关 IFA 元数据标头字段的详细信息。
表 3:IFA 元数据头字段
IFA 元数据头字段 描述

请求向量

指定 GNS 指定的字段的存在。未使用。

动作向量

指定对 IFA 数据包的节点本地或端到端操作。未使用。

跳跃限制

指定 IFA 区域中允许的最大跃点数。发起方节点将初始化此字段。跃点限制在每个跃点处递减。如果传入数据包的跃点限制为 0,则当前节点不会插入元数据。您可以配置此限制。默认值为 250。

终结节点不执行跃点限制检查。

当前长度

指定元数据堆栈的当前长度(以 4 个八位位组的倍数表示)。

IFA 元数据堆栈

对于 Junos OS 和 2026 年之前发布的受支持的 Junos OS Evolved 版本,每个 IFA 跃点都会将特定于跃点的元数据插入 IFA 元数据堆栈中,如 图 6 所示。对于 Junos OS 演化版 25.2X100-D20(如 图 7 所示),IFA 元数据堆栈中添加了 3 个出口队列相关字段:

  • 出口队列 Tx 字节数

  • 出口队列当前字节数(当前缓冲区占用率)

  • 出口队列最大字节数(峰值缓冲区占用)

IFA 发起器节点在 L4 标头之后添加元数据标头。

例外情况:

  • 作为过渡节点的 QFX5220 无法将元数据插入 IFA 探针数据包标头的元数据堆栈中。相反,QFX5220 会在 IFA 探测数据包末尾添加一个尾戳,其中包含时间戳和其他元数据。有关这些尾戳的详细信息,请参阅 IFA 探测数据包的尾戳(仅限 QFX5220)。

  • QFX5230 不支持 IFA 2.0 元数据堆栈中的出口端口速度字段。无论出口端口速度如何,该字段中的值始终为“0”。

图 6:IFA 元数据堆栈标头 Diagram of data packet structure with fields: LNS 4 bits, Device ID 20 bits, IP TTL 8 bits, Egress Port Speed 4 bits, Congestion 2 bits, Queue ID 6 bits, Rx Timestamp Seconds 20 bits, Egress Port Number 16 bits, Ingress Port Number 16 bits, RX Timestamp Nano Seconds 32 bits, Residence Time Nano Seconds 32 bits, Opaque Data 1 Reserved 32 bits, Opaque Data 2 Hi Reserved 16 bits, Opaque Data 2 Low Reserved 16 bits, Opaque Data 3 Reserved 32 bits.
图 7:带有附加出口队列字段的 IFA 元数据堆栈标头(Junos OS 演化版 25.2X100-D20) Diagram of data packet structure with fields: LNS 4 bits, Device ID 20 bits, IP TTL 8 bits, Egress Port Speed 4 bits, Congestion 2 bits, Queue ID 6 bits, Rx Timestamp Seconds 20 bits, Egress Port Number 16 bits, Ingress Port Number 16 bits, RX Timestamp Nano Seconds 32 bits, Residence Time Nano Seconds 32 bits, Egress Queue Tx Bytes 32 bits, Egress Queue Current Bytes (Current Buffer Occupancy) 32 bits, Egress Queue Maximum Bytes (Peak Buffer Occupancy) 32 bits.
表4 提供有关 IFA 元数据堆栈头字段的详细信息。
表 4:IFA 元数据堆栈标头字段
IFA 元数据堆栈标头字段 描述

LNS

本地命名空间。您必须将 LNS 值设置为 1。

设备 ID

用户可配置的设备 ID。您可以显式配置设备 ID 或配置 device-id auto 语句。如果配置 device-id auto,则设备 ID 将从路由器 ID 或管理 IP 地址内部生成。

IP TTL

每个跃点的 IP 生存时间 (TTL) 值。

出口端口速度

编码为 0–10Gbps、1–25Gbps、2–40Gbps、3–50Gbps、4–100Gbps、5–200Gbps、6–400Gbps、7–800Gbps。

出口端口速度与 IFA 元数据映射。例如,当出口端口速度为 10Gbps 时,IFA 数据包的速度字段设置为 0。

拥堵

指示数据包是否出现拥塞。您必须在出口端口上启用显式拥塞通知 (ECN)。

队列 ID

出口端口队列 ID。

Rx 时间戳秒

收到的数据包时间戳值(以秒为单位)。收集器负责从这些 20 位值中检索一天的时间 (ToD)。20 位秒将每 12 天绕行一次。收集器必须在环绕时间内定期同步 ToD,并将其与元数据中的 20 位一起使用,以派生 32 位 Rx Timestamp Seconds 值。

出口端口号

出口硬件 (ASIC) 端口号。

入口端口号

入口硬件端口号。

Rx 时间戳纳秒

收到的时间戳值(以纳秒为单位)。此时间戳是时间戳之后的确切值(以秒为单位)。将其添加到 Rx 时间戳秒数值,以获得纳秒精度的精确时间戳。

停留时间纳秒

单跃点延迟(以纳秒为单位)。对于QFX5120,停留时间计算为 0x3B9ACA00(1 秒以纳秒为单位)+ TX_NSEC - RX_NSEC。(每个数据包都会额外增加一秒,以避免环绕处理。相反,对于QFX5130、QFX5220、QFX5230、QFX5240、QFX5241 和 QFX5700,停留时间将作为实际值更新。

出口队列 Tx 字节数

指示出口端口队列传输字节。

出口队列当前字节数(当前缓冲区占用率)

指示出口端口队列的当前缓冲区占用情况,表示信元大小 254 字节的倍数。

Bit[19:0]:

统计值(当前缓冲区占用率)

Bit[20]:

保留

Bit[23-21]:

统计类型(始终为 1)

Bit[24-31]:

未使用

例如,值 0x00200002 表示出口队列的当前缓冲区占用率为 2*254 = 508 字节。

出口队列最大字节数(峰值缓冲区占用)

指示出口端口队列的缓冲区峰值占用率,以信元大小 254 字节的倍数表示。

Bit[19:0]:

统计值(缓冲区占用峰值)

Bit[20]:

保留

Bit[23-21]:

统计类型(始终为 2)

Bit[24-31]:

未使用

例如,值 0x00400004 表示出口队列的峰值缓冲区占用率为 4*254 = 1016 字节。

IFA 探测数据包的尾戳(仅限 QFX5220)

作为过渡节点的 QFX5220 无法将元数据插入 IFA 探针数据包标头的元数据堆栈中。相反,QFX5220 会在 IFA 探测数据包末尾添加一个尾戳,其中包含时间戳和其他元数据。QFX5220 总共添加 28 字节的元数据作为尾戳。收到 IFA 探测数据包后,IFA 终止节点使用元数据中的 TTL 值来识别尾戳的数量(即,两个 QFX5120 或 QFX5130 设备之间路径上的 QFX5220 跃点数)。然后,尾戳被转换为正确的元数据格式,并插入到元数据堆栈中的正确位置,以便元数据按照中转节点添加它们的顺序显示。完成后,IFA 终止节点会将数据以 IPFIX 格式导出到配置的外部收集器。

由于无法将元数据插入堆栈中,因此在收集器上接收的 IFA 元数据堆栈字段 IP TTLCongestion Egress Port Speed QFX5220 的值为 0。您必须将收集器配置为忽略 QFX5220 中这些不受支持的字段。

尾戳包括 14 个字节的入口 (Rx) 尾戳和 14 个字节的出口 (Tx) 尾戳。 图 8图 9 提供了有关这些时间戳格式的详细信息。

图 8:入口 (Rx) 尾戳格式 Diagram of a network protocol data packet structure with fields: Timestamp Seconds, Timestamp Nano Seconds, Reserved, Origin_ID with Device ID and Port Number, R/T, and FCS for error-checking.
图 9:出口 (Tx) 尾戳格式 Diagram of a data packet structure with fields: Timestamp Seconds, Timestamp Nano Seconds, T, R, Q, C flags, Origin_ID, R/T flag, and FCS for error detection.

IFA 节点上支持的功能

表 5 列出了 IFA 节点支持的功能。

表 5:IFA 节点上支持的功能
IFA 节点 支持的功能

IFA 发起器

流量和接口类型:

  • IPv4 和 IPv6 流量。

  • VXLAN 流量。

  • UDP 和 TCP。

  • 已标记和未标记的数据包。

  • 聚合链路 (LAG) 和多机箱 LAG (MC-LAG)。如果出现 LAG 出口,则原始数据包和 IFA 探查副本使用相同的端口退出。

  • IRB 接口。( inband-flow-telemetry-init 必须在 IRB 流量的底层第 2 层接口上应用和 inband-flow-telemetry-terminate 过滤器。)

  • ECMP 流量。如果是 ECMP 流量,原始数据包和 IFA 探查副本使用相同的端口退出。

  • 接口速度,例如 10 Gbps、25 Gbps、40 Gbps、50 Gbps、100 Gbps、200 Gbps、400 Gbps 和 800 Gbps。

IFA 中继

识别 IFA 数据包,附加其元数据并转发。

IFA 终止器

  • 支持将 IFA 数据以 IPFIX 格式导出到任何配置的 IPv4 收集器。

  • (仅限 QFX5120 交换机)支持将多个 IFA 数据包合并为单个 IPFIX 导出。

  • (仅限 QFX5240 交换机)支持单个 IPFIX PSAMP 导出中的单个数据包。

支持的 IFA 2.0 IPFIX 格式(终结节点)

终止器节点将 IFA 2.0 数据包格式化为 IPFIX 格式,更新出口端口信息,并将数据包发送到配置的收集器。IFA 2.0 IPFIX 模板对于 L3 流量和 VXLAN 流量是相同的。 图 10 显示了 IPFIX 模板,其中终止器节点在其中对 IFA 2.0 数据进行格式化并将其发送到收集器。

当 QFX5240 交换机为 IFA 终止器模式时,不能将 QFX5220 交换机用作 IFA 中继节点。

QFX5240 交换机不使用这些 IPFIX 模板。相反,QFX5240交换机会终止 IFA 数据包,对其进行镜像封装,然后为每个 IFA 数据包向收集器发送一个 IPFIX PSAMP 数据包。PSAMP 数据包包含收集器的目标 MAC 地址、收集器的源 MAC 地址、用户可配置的源 IP 地址、用户可配置的目标 IP 地址、UDP 源端口、用户可配置的 UDP 目的端口、IPFIX PSAMP 报头以及 IFA 或原始数据包的 MAC 源和目标地址。这些字段后面跟着 IP 层标头、IFA 标头、L4 层 (UDP/TCP) 标头、IFA 元数据标头和 IFA 元数据堆栈,以及有效负载。

图 10:IFA 2.0 IPFIX 模板 Decoded IPFIX packet showing protocol version 10, message length 48 bytes, timestamp Jan 11 1970, flow sequence 1128891, observation domain ID 305419896, and a data template with ID 257 and three fields with types 100, 101, and 102.

图 11 显示了收集器接收的 IFA 2.0 IPFIX PSAMP 数据包的模板。

图 11:IFA 2.0 IPFIX PSAMP 模板 IPFIX PSAMP packet template image showing a data template.

图 12 显示了配置的收集器接收的 IPFIX 格式的 VXLAN IFA 2.0 数据包示例。

图 12:VXLAN IFA 2.0 IPFIX 示例数据包 Network flow data packet screenshot from a monitoring tool showing IPFIX protocol version 10, flow details with version, length, timestamp, flow sequence, observation domain id, set id 257, and enterprise-specific entries in hexadecimal.

IFA 2.0 配置的限制

在运行 Junos OS 的设备上配置 IFA 2.0 之前,必须了解以下限制:

  • 协议号 — IFA 2.0 使用实验协议号 253。如果交换机收到协议号为 253 的任何流量,这些数据包将命中 IFA 中转过滤器。在这种情况下,QFX5220 会向这些数据包添加一个 28 字节的尾戳。对于 QFX5130、QFX5230、QFX5240、QFX5241 和 QFX5700 交换机,即使数据包命中过滤器,IFA 元数据也不会添加到数据包中。但是,IFA 传输统计信息确实会递增。

  • 过滤器资源分配 (Filter Resource Allocation) - 如果系统中的过滤器硬件资源已耗尽,则 IFA 功能无法运行,因为它需要过滤器资源。您可以监控系统日志 (syslog) 以查找过滤器空间耗尽错误。

  • 第 2 层和 BUM 流量 — 第 2 层交换流量和广播、未知单播和组播 (BUM) 流量不支持 IFA 2.0。

  • IFA 第 3 层和 VXLAN 流

    • IFA 2.0 支持同时处理 L3 和 VXLAN 流,但您不能在同一设备上同时为 L3 和 VXLAN 流配置 IFA。选项 flow-type 是互斥的。您可以使用配置 flow-type 语句设置关注的流量类型 — L3 或 VXLAN。此限制仅适用于 IFA 发起器和终止节点(通常是叶节点)。对于 IFA 传输节点(通常是主干节点),不需要配置流类型。

    • (仅适用于 QFX5120 交换机)对于 VXLAN IFA 流,终止器节点的出口端口相关元数据(包括出口端口号、速度、队列 ID 和拥塞)不正确。建议忽略 VXLAN 流的终止器节点出口端口相关元数据。

    • (仅适用于 QFX5240 交换机)对于 VXLAN 流,发送到收集器的 IFA 终止数据包仅包含来自发起方节点和所有中转节点的元数据。这些数据包不包含来自终止器节点的元数据。

    • IFA 流类型(L3 或 VXLAN)更改需要移除并重新配置 IFA 过滤器。如果流量类型不匹配(例如, flow-type 配置为 VXLAN,而传入流量为 L3,反之亦然),我们无法保证 IFA 行为(IFA 数据包可能使用无效字段启动)。
  • IFA 发起器节点

    • L4 报头 (UDP/TCP) 对于 IFA 启动是必需的。

    • 如果出口端口配置为充当链路聚合组 (LAG)(将叶连接到主干的链路),则 VXLAN 流的 IFA 启动不起作用。

  • IFA 传输节点 — 运行 Junos OS 和 Junos OS Evolved 的设备不支持元数据堆栈的最大长度检查。配置该hop-limit选项以限制在传输节点上插入元数据。QFX5220 中转节点无法执行跃点限制检查来插入尾戳。QFX5220 中转节点也无法将元数据插入 IFA 探测数据包标头的元数据堆栈中;相反,QFX5220 中转节点会在 IFA 探测数据包的末尾附加一个尾戳。

    QFX5220 中转节点仅支持 18 位的 Rx Seconds Timestamp 值。QFX5130、QFX5230、QFX5240、QFX5241、QFX5250 和 QFX5700 中转节点支持 20 位 Rx Seconds Timestamp 值。

    Residence Time Nano Seconds 字段将更新为 QFX5220、QFX5230、QFX5240、QFX5241、QFX5250、QFX5130 和 QFX5700 传输节点上的实际值,但在QFX5120传输节点上,1 秒 (10000000000 ns) 与实际停留时间一起添加。

  • IFA 终止器节点

    • 您只能在终止器节点上配置一个 IPv4 收集器。

    • (仅限 QFX5120 终结器节点)终止器节点元数据的队列 ID 为 47。此队列 ID 保留用于 IFA 数据包导出。

    • (仅限 QFX5120 终结器节点)终结节点不执行跃点限制检查。即使传入 IFA 数据包 hop-limit 设置为 0,终止节点也会插入元数据并将跃点限制减少 1,从而将值重置 hop-limit 为 255。

使用注意事项

以下是与 IFA 2.0 相关的使用注意事项:

  • 采样的 IFA 数据包在发起方节点上出口时,还有额外的 40 个字节(4 字节 IFA 报头 + 4 字节 IFA 元数据报头 + 32 字节元数据)。在后续 IFA 节点上,每个跃点都会插入 32 字节的 IFA 元数据。由于将每跃点元数据插入 IFA 数据包中,因此数据包大小在每一跳后都会增长。您必须沿网络路径相应配置接口的最大传输单元 (MTU)。如果 IFA 区域具有大量传输节点,则必须注意 MTU。或者,您可以在发起方节点上配置该 hop-limit 选项,以确保 IFA 数据包的大小永远不会超过指定的 MTU 值。

  • 要选择感兴趣的流量,可以使用源 IP 地址、目标 IP 地址、源端口、目标端口和协议匹配限定符的任意组合。对于终止器节点上的 VXLAN 终止,请使用外部源 IP 地址和目标 IP 地址作为匹配限定符。IFA 2.0 不支持 QFX5120 交换机的任何其他匹配限定符。对于 QFX5240 终止器节点,建议使用外部源 IP 地址和目标 IP 地址、源端口、目标端口和协议的任意组合作为匹配限定符,但您也可以使用术语下的任何其他可用匹配限定符来选择流。

    另一种选择是配置不带任何限定符的启动或终止过滤器。在这种情况下,端口上的所有传入 IFA 数据包都将被启动或终止。

  • 您必须为 IFA 区域内的每个跃点配置唯一的设备 ID。如果已配置 auto 设备 ID 选项,则设备 ID 将从路由器 ID 或管理 IP 地址的最后 20 位生成。

  • 如果已将采样率配置为 aggressive,则出口端口可能会由于 IFA 副本较多而出现拥塞。当 IFA 副本发送到芯片处理器进行 IPFIX 导出时,这种端口拥塞可能会在终止器节点上造成拥塞。我们建议您相应地选择采样率。

  • 配置 IFA 2.0 发起器时,将为环路端口创建内部镜像会话。因此,用户可配置的镜像会话数在QFX5120交换机上从 4 个减少到 3 个,或者在QFX5240交换机上从 8 个减少到 7 个。

  • 终止器节点接受最大 9000 字节的 IFA 数据包(包括 IFA 标头)。在终止器节点上,收到的多个 IFA 数据包会合并为一个 IPFIX 导出数据包。在一个 IPFIX 导出数据包中最多可组合 10 条 IFA 记录。默认情况下,最多 256 字节的原始流数据包与 IFA 报头一起作为 IPFIX 导出的一部分导出。单个 IPFIX 数据包的最大大小为 9000 字节。您必须在收集器端口上正确配置 MTU。由于单个 IPFIX 数据包的最大大小为 9000 字节,因此 IPFIX 数据包的最大裁剪长度等于或小于: 9000 字节 -(IFA 标头长度 + IFA 元数据标头长度 + IFA 元数据堆栈长度)。

  • 在QFX5240终止器模式下,无论是实时模式还是探测模式,对于第 3 层和第 VXLAN 层流,整个 IFA 数据包均使用 IPFIX PSAMP 格式进行镜像封装。对于每个 IFA 数据包,软件会向收集器发送一个 IPFIX PSAMP 数据包。

  • 建议仅在 IFA 区域中使用 IFA 感知(受支持)设备。我们无法保证使用 IFA 感知不及时的设备能实现正确的 IFA 行为。

配置带内流分析器 2.0

IFA 是一种带内网络遥测 (INT),可让您通过数据平面收集有关网络状态的信息。

要配置 IFA 2.0 来监控网络故障、性能问题并收集数据进行分析,需要先配置 IFA 角色。您可以在支持 IFA 功能的 Junos OS 或 Junos OS 演化版设备上配置 IFA 角色。有关支持的设备,请参阅 功能浏览器:带内流分析器 (IFA) 2.0

表 6 描述了 QFX5240 交换机与其他受支持 IFA 发起方、传输方和终结方角色的设备的互操作性:

表 6:按设备型号支持的 IFA 角色
IFA 发起器 IFA 中继 IFA 终止器

QFX5240、实时或探测模式

QFX5120、QFX5130、QFX5230、QFX5240、QFX5241 和 QFX5250

QFX5240(未在终结节点上配置模式)

QFX5240探测模式

QFX5120、QFX5130、QFX5220、QFX5230、QFX5240、QFX5241 和 QFX5250

QFX5120(此平台上仅支持探测模式)

注意:对于 QFX5220 中转节点,我们仅支持 QFX5120 交换机作为终止节点,因为 QFX5120 交换机可以将尾戳转换为元数据。

QFX5120(此平台上仅支持探测模式)

QFX5120、QFX5130、QFX5230、QFX5240、QFX5241 和 QFX5250

QFX5240(未在终结节点上配置模式)

QFX5120(此平台上仅支持探测模式)

QFX5120、QFX5130、QFX5220、QFX5230、QFX5240、QFX5241 和 QFX5250

QFX5120(此平台上仅支持探测模式)

以下是为 IFA 角色配置 Junos OS 设备的一些准则:

  • 您可以使用相同型号的交换机或不同的交换机来为特定 IFA 流扮演 IFA 角色(发起方、中继方、终止方)。
  • 您可以使用同一设备为不同的流执行所有三个不同的 IFA 角色。
  • 在 IFA 流中,传输 IFA 角色可选。

图 13 展示了在 Junos OS 设备上配置 IFA 节点的示例场景。在此场景中,支持 IFA 功能的不同 Junos OS 设备在单个 IFA 流中扮演不同的 IFA 角色。

图 13:带内流分析器 Network flow diagram of Inband Flow Analyzer process showing data path between Host A and Host B via Juniper QFX5120 switches with IFA headers.示例场景

以下是有关配置 IFA 节点的一些准则:

  • 只能通过防火墙过滤器配置在接口上启用 IFA 配置。
  • 您只能对端口上的入口方向应用 IFA 过滤器。

表 7 总结了 IFA 发起器节点、中继节点和终止器节点的配置。

表 7:IFA 角色的 IFA 配置

IFA 配置参数

配置语句

IFA 角色

(必填)配置设备 ID

user@host# set services inband-flow-telemetry device-id (<1 - 1048575> | auto)
IFA 启动器节点、中继节点和终止器节点的必需配置。

(可选,仅限 QFX5120-48YM 或 QFX5220)配置更准确的时钟源

user@host# set services inband-flow-telemetry clock-source (ntp|ptp)
IFA 发起器节点、中继节点和终止器节点。

(选答)IFA 最大元数据堆栈长度

user@host# set services inband-flow-telemetry meta-data-stack-length <8 - 255>

默认值:240(用于 30 跳)

IFA 发起器节点

(选答)IFA 最大跃点限制

user@host# set services inband-flow-telemetry hop-limit <1 - 250>

默认值 : 250

IFA 发起器节点

(选答)IPv6 地址不匹配

user@host# set services inband-flow-telemetry no-ipv6-address-match
IFA 发起器/终止器节点

(必填)IFA 流类型

user@host# set services inband-flow-telemetry flow-type (l3 | vxlan)
IFA 启动器和终止节点的必需配置。IFA 中继节点不需要此配置。
(选答)模式
user@host# set services inband-flow-telemetry mode (live | probe)

探测模式是默认设置。因此,除非您想在支持该功能的设备上配置实时模式,否则无需配置此语句。

IFA 发起器节点

IFA 采样

user@host# set services inband-flow-telemetry profile ifa-profile-name sample-rate <1-16777215>
IFA 发起器节点

收集器信息

user@host# set services inband-flow-telemetry profile ifa-profile-name collector source-address IP-address
user@host# set services inband-flow-telemetry profile ifa-profile-name collector destination-address IP-address
user@host# set services inband-flow-telemetry profile ifa-profile-name collector destination-port port-number
user@host# set services inband-flow-telemetry profile ifa-profile-name collector maximum-clip-length length
user@host# set services inband-flow-telemetry profile ifa-profile-name collector mtu size
IFA 终止器节点

用于 L3 流的 IFA 过滤器

例如:

user@host# set firewall family inet filter f1 term t1 from match-condition
user@host# set firewall family inet filter f1 term t1 then inband-flow-telemetry-init p1
user@host# set firewall family inet filter f1 term t2 from match-condition
user@host# set firewall family inet filter f1 term t2 then inband-flow-telemetry-terminate p2
user@host# set interfaces (interface-name | wildcard) unit 0 family inet filter input f1
IFA 发起器/终止器节点

用于 VXLAN 流的 IFA 过滤器

例如:

user@host# set firewall family ethernet-switching filter f1 term term1 from match-condition
user@host# set firewall family ethernet-switching filter f1 term t1 then inband-flow-telemetry-init p1
user@host# set firewall family ethernet-switching filter f1 term t2 from match-condition
user@host# set firewall family ethernet-switching filter f1 term t2 then inband-flow-telemetry-terminate p2
user@host# set interfaces (interface-name | wildcard) unit 0 family ethernet-switching filter input f1
IFA 发起器/终止器节点

配置 IFA 发起器节点

要将设备配置为 IFA 2.0 发起方,请执行以下操作:

  1. 配置设备 ID。您还可以配置 的device-idauto。如果配置device-idauto,则从device-id路由器 ID 或管理 IP 地址内部生成。

    在此示例中,IFA 发起器节点的设备 ID 配置为 10000。

  2. 配置流类型。您可以配置两种流类型之一, l3vxlan。您不能在同一台设备中同时配置 L3 和 VXLAN 流。

    在此示例中,流类型配置为 l3。如果在启动器节点中配置 l3 了 flow-type,则还必须为终止器节点选择 l3 flow-type。

  3. (可选)配置最大元数据堆栈长度。每个 IFA 跃点都会将特定于跃点的元数据插入到 IFA 元数据堆栈中。

    在此示例中,元数据堆栈长度配置为 80。

  4. 配置跃点限制。

    在此示例中, hop-limit 配置为 10。跃点限制在每个跃点处递减。如果传入跃点限制为 0,则当前节点不会插入元数据。

  5. 配置 IFA 采样。采样率是一秒钟内获得的平均样本数。端口上启用的 IFA 发起器节点上不能为不同的流量设置不同的采样率。端口内的所有流量应具有相同的采样率。

    在此示例中,采样率配置为 1000;这意味着在 1000 个数据包中,每秒将对 1 个数据包进行采样。

  6. 配置 IFA 防火墙过滤器以选择流量。您可以使用以下任何匹配条件配置防火墙过滤器:
    • 源 IP 地址
    • 目标 IP 地址
    • 源端口
    • 目标端口
    • 协议

    对于 QFX5120 交换机,我们仅支持以下匹配条件。对于 QFX5240 交换机,我们支持所有匹配条件,但建议您使用上述匹配条件来选择流量。

    创建防火墙并配置操作 inband-flow-telemetry-init

    在此示例中,您将配置名为 f1的防火墙过滤器,其中包含包含操作inband-flow-telemetry-init的术语名称t1,以及映射到该操作的带内流遥测发起方配置文件p1

  7. 防火墙过滤器映射到已配置接口的逻辑单元下的家族,以在入口方向上应用操作inband-flow-telemetry-init

    要映射防火墙过滤器,请执行以下操作:

    在此示例中,您将防火墙过滤器映射 f1inet 物理接口 et-0/0/0 的逻辑接口 0 家族:

配置 IFA 中继节点

要将设备配置为 IFA 中继节点:

配置设备 ID。您还可以配置 的device-idauto。如果配置device-idauto,则从device-id路由器 ID 或管理 IP 地址内部生成。

例如:

配置 IFA 终止器节点

要将设备配置为 IFA 终止节点:

  1. 配置设备 ID。您还可以配置 的device-idauto。如果配置device-idauto,则从device-id路由器 ID 或管理 IP 地址内部生成。

    例如:

  2. 配置流类型。您可以配置两种流类型之一, l3vxlan。您不能在同一台设备中同时配置 L3 和 VXLAN 流。

    如果在启动器节点中配置 l3 了 flow-type,则还必须为终止器节点选择 l3 flow-type。

  3. 使用终止器节点的收集器信息配置 IFA 配置文件。

    例如:

  4. 您可以使用以下任何匹配条件配置防火墙过滤器:
    • 源 IP 地址
    • 目标 IP 地址
    • 源端口
    • 目标端口
    • 协议

    对于 QFX5120 交换机,我们仅支持以下匹配条件。对于 QFX5240 交换机,我们支持所有匹配条件,但建议您使用上述匹配条件来选择流量。

    创建防火墙并配置操作 inband-flow-telemetry-terminate

    在此示例中,您配置名为 f2的防火墙过滤器,其中包含包含操作 inband-flow-telemetry-terminate的术语名称t1,以及映射到它的 inband-flow-遥测-terminate 配置文件p2

  5. 防火墙过滤器映射到已配置接口逻辑单元下的家族,以便在出口方向上应用inband-flow-telemetry-terminate操作。

    要映射防火墙过滤器,请执行以下操作:

    在此示例中,您将防火墙过滤器映射 f2inet 物理接口 et-0/0/0 的逻辑接口 0 家族:

查看带内流分析器统计信息

您可以查看以下 IFA 相关信息:

  • 使用操作模式命令的 show services inband-flow-telemetry stats IFA 统计信息。
  • IFA show services inband-flow-telemetry global 全局参数。
  • 使用操作模式命令配置的 show services inband-flow-telemetry profile IFA 配置文件。

您可以使用操作模式命令清除 clear inband-flow-telemetry stats IFA 统计信息。

IFA 统计信息直接从 PFE 中检索,不在路由引擎中维护。因此,PFE 进程重新启动将清除 IFA 统计信息,而路由引擎进程重新启动不会影响 IFA 统计信息。

示例 - 配置带内流分析器 2.0 以进行流量监控

使用此示例在 QFX 系列交换机上配置 IFA 2.0 节点,以便分析第 3 层或 VXLAN 流量。 图 14 显示了在支持 IFA 2.0 功能的 QFX 系列交换机上配置 IFA 2.0 的拓扑。在此拓扑中,VXLAN 流量在发起方受到监控,并在终结器节点上收集数据进行分析。

图 14:使用 IFA 2.0 Network topology diagram showing Juniper QFX5120 switches in spine-leaf architecture with labeled connections. 分析 VXLAN 流量的拓扑

要求

此示例使用以下硬件和软件组件:

  • 将一台 QFX5120-32C 交换机用作主干节点
  • 两台 QFX5120-48Y 交换机作为叶节点
  • Junos OS 21.4R1 版

您可以将其他 QFX 系列交换机用作发起方、中继方和终结方角色。请参阅 表 6 ,了解 QFX 系列交换机在 IFA 2.0 中支持的角色。

先决条件

此示例假设您已拥有基于 EVPN-VXLAN 的网络,并希望在 QFX 交换机上启用流量监控。

开始之前

概述

在此示例中,您将把其中一台 QFX5120-48Y 交换机(枝叶 1)配置为发起节点,将 QFX5120-32C 交换机配置为中转节点,将第二台 QFX5120-48Y 交换机(枝叶 2)配置为终结节点。VXLAN 流量从主机 1 流向主机 2。在入口和出口节点上配置 IFA 可以监控网络运维并识别性能问题。

QFX5120-32C 可用作连接 QFX5120-48Y 叶节点的主干。在终止器节点上,您可以使用 IPv4 收集器应用程序以 IPFIX 格式收集采样流量。

配置

在此示例中,您将在交换机上配置以下功能:

  1. 将叶 1 配置为发起方节点,并配置与发起方相关的属性,如全局设备标识符和采样率。使用操作 AS inband-flow-telemetry-init 配置 IFA 配置文件和防火墙过滤器,并将 IFA 防火墙过滤器绑定到接口。
  2. 将 QFX5120-32C 主干交换机配置为具有全局设备标识符的中转节点。配置全局设备标识符时,主干设备将添加 IFA 元数据并转发 IFA 探测数据包。
  3. 将叶 2 配置为终止节点。使用收集器信息配置 IFA 配置文件,将操作配置 inband-flow-telemetry-terminate为防火墙过滤器,并将 IFA 防火墙过滤器绑定到接口。

CLI 快速配置

要在 QFX 系列设备上快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,然后将命令复制并粘贴到层次结构级别的 [edit] CLI 中。

QFX5120-48Y 交换机上的配置(枝叶 1 - IFA 发起器节点)

注意:

回想一下,在此示例中,您将 IFA 添加到预配置的 EVPN-VXLAN 基准中。此处显示的配置侧重于将 IFA 添加到基线所需的增量。我们展示了一些现有配置,以最好地显示 IFA 增量与基线的关系。

QFX5120-32C 交换机上的配置(IFA 中转节点)

QFX5120-48Y 交换机上的配置(枝叶 2 — IFA 终止器节点)

分步程序

将 QFX5120-48Y 交换机(叶 1)配置为发起节点

IFA 发起器节点对流执行以下功能:

  • 根据配置对感兴趣的流量进行采样。
  • 通过向每个示例添加 IFA 标头,将流量转换为 IFA 流。
  • 使用发起方节点元数据更新数据包。
  1. 配置 IFA 发起器节点属性。流量类型配置为发起方节点的 VXLAN。请注意,您必须为发起方和终止方节点(L3 或 VXLAN)配置相同的流类型。如本例所示,如果为发起方节点配置了 VXLAN 流量类型,请确保也为终止方节点配置 VXLAN 流量类型。

    当配置为值为 1 时sample-rate,将对入口端口接收到的每个数据包进行采样。如果您更喜欢不太激进的采样,请增加该sample-rate 值。
  2. 将过滤器绑定到发起方节点入口接口。

  3. 创建防火墙以控制 IFA 采样。首先定义应采样的主机流量类型。在此示例中,您希望对 UDP 和 TCP 流量流执行分析。在此示例中,您将配置一个名为 f_init的防火墙过滤器,术语名称 term1为 。

    您可以通过向术语添加t1操作修饰符inband-flow-telemetry-init来配置过滤器以执行 IFA 采样。请注意,带内流遥测配置文件ifa_profile_host1链接到过滤器:

将 QFX5120-32C 交换机配置为过渡节点

IFA 中继节点在指定 VXLAN 流的 IFA 数据包中插入中继节点元数据。

为过渡节点 QFX5120-32C 交换机配置全局设备标识符。

将 QFX5120-48Y 交换机(叶 2)配置为终结节点

IFA 终止器节点对流执行以下操作:

  • 在 IFA 数据包中插入终止器节点元数据。
  • 对一个或多个元数据段执行本地分析功能,例如,停留时间阈值突破、拥塞通知等。
  • 在克隆流量的情况下过滤 IFA 流。
  • 将数据包的副本或报告发送到收集器。
  • 移除 IFA 标头并在有实时流量的情况下转发数据包。
  1. 配置终端节点相关属性,如全局设备标识符和流量类型。

    使用收集器相关信息配置 IFA 配置文件。

  2. 为终结器节点叶 2 配置收集器接口。

    将防火墙过滤器应用于预配置接口,以激活叶 2 的带内流遥测出口处理。

    在此示例中,您将防火墙过滤器映射 f-terminet 物理接口 xe-0/0/18 的逻辑接口 0 家族:
  3. 创建防火墙过滤器并配置操作 inband-flow-telemetry-terminate

    在此示例中,您配置名为 f-term的防火墙过滤器,其术语名称 t1 包含操作 inband-flow-telemetry-terminate,并将带内流遥测终止配置文件 p_term 映射到它:

结果

QFX5120-48Y 交换机上的结果(叶 1 - IFA 发起器节点)

在操作模式下,输入 show configuration servicesshow configuration interfacesshow configuration firewall 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

注意:

输出显示了预先存在的 EVPN-VXLAN 基准的某些部分,以便为添加 IFA 所需的配置增量提供上下文。

在设备上完成该功能的配置后,从配置模式进入。commit

QFX5120-32C 交换机(IFA 中转节点)上的结果

在操作模式下,输入 show configuration servicesshow configuration interfaces 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

在设备上完成该功能的配置后,从配置模式进入。commit

QFX5120-48Y 交换机上的结果(枝叶 1 - IFA 终止器节点)

在操作模式下,输入 show configuration servicesshow configuration interfacesshow configuration firewall 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

在设备上完成该功能的配置后,从配置模式进入。commit

验证

在 QFX5120-48Y 交换机上进行验证(叶 1 - IFA 发起器节点)

验证 IFA 统计信息

目的

显示启动器节点上的 IFA 统计信息。

行动

在操作模式下,输入命令 show services inband-flow-telemetry stats

验证 IFA 全局配置

目的

显示在启动器节点上配置的 IFA 全局参数。

行动

在操作模式下,输入命令 show services inband-flow-telemetry global

验证 IFA 配置文件

目的

显示在启动器节点上配置的 IFA 配置文件。

行动

在操作模式下,输入命令 show services inband-flow-telemetry profile

QFX5120-32C 交换机(IFA 中继节点)上的验证

验证 IFA 统计信息

目的

显示传输节点上的 IFA 统计信息。

行动

在操作模式下,输入命令 show services inband-flow-telemetry stats

验证 IFA 全局配置

目的

显示在传输节点上配置的 IFA 全局参数。

行动

在操作模式下,输入命令 show services inband-flow-telemetry global

QFX5120-48Y 交换机上的验证(枝叶 2 — IFA 终止器节点)

验证 IFA 统计信息

目的

显示终止器节点上的 IFA 统计信息。

行动

在操作模式下,输入命令 show services inband-flow-telemetry stats

验证 IFA 全局配置

目的

显示在终止器节点上配置的 IFA 全局参数。

行动

在操作模式下,输入命令 show services inband-flow-telemetry global

验证 IFA 配置文件

目的

显示在终止器节点上配置的 IFA 配置文件。

行动

在操作模式下,输入命令 show services inband-flow-telemetry profile

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
25.4R1-EVO
我们在 QFX5240 交换机中添加了对配置实时模式的支持Junos OS Evolved。
24.4R1-EVO
我们已将对发起方和终止方角色的支持扩展到 Junos OS Evolved。
22.4R1-EVO
我们已将对 IFA 2.0 传输节点角色的支持扩展到 Junos OS Evolved。
22.2R1
我们添加了对配置 IFA 数据包的 MTU 和最大裁剪长度以及 QFX5120-48YM 交换机的支持,支持设置 IFA 时钟源。
21.4R1
我们已在 QFX 系列交换机上推出了对 IFA 2.0 的支持。IFA 2.0 在数据包进出网络时对其进行监控和分析。您可以使用 IFA 2.0 监控网络的故障和性能瓶颈。IFA 2.0 同时支持第 3 层和 VXLAN 流。