本页内容
了解带内流分析器 2.0
带内网络遥测 (INT) 是一个不受供应商制约的网络监控框架,在转发(数据)平面中提供逐跳细粒度数据。INT 允许您观察由微爆发、数据包传输延迟、每个节点的延迟以及流路径中的新端口引起的流模式变化。
带内流分析器 (IFA) 2.0 是在 Junos OS 交换机中实施 INT,用于收集流数据并将数据导出到外部收集器进行逐跳或端到端分析。IFA 使用探测数据包收集单跃点延迟、每跃点入口和出口端口、数据包接收 (RX) 时间戳(秒)、队列 ID、拥塞和出口端口速度等数据。IFA 数据包在网络中遍历同一路径,并使用与转发平面中的数据包相同的队列。因此,IFA 数据包会经历与转发平面中的数据包类似的延迟和拥塞情况。
设备配置
QFX5120-32C 和 QFX5120-48Y 设备使用 IFA 2.0 支持带内网络遥测 (INT)。IFA 探测数据包收集流量指标,并采用互联网协议流信息导出 (IPFIX) 格式导出数据。从 4.2.0 版开始,Paragon Insights 支持使用 IFA 传感器分析 IPv4 虚拟可扩展 LAN (VXLAN) 流数据。如果标准 VXLAN 端口 4789 作为外部 L4 标头(第 4 层标头)中的目标端口,Paragon Insights 会识别 VXLAN 流。带有 VXLAN 流数据的 IFA 2.0 数据包格式如图 1 所示。
IFA 使用收入端口将数据导出到收集器。您不能使用管理端口导出 IFA 数据。
有关受支持的平台 和使用 IFA 所需的设备配置的详细信息,请参阅 IFA 配置和设计注意事项。
IFA 探测数据包使用三个节点,这些节点在收集流量信息时具有各自不同的功能:
IFA 发起方节点(入口节点)— 对 IPv4 VXLAN 流量进行采样,通过添加 IFA 标头将数据包转换为 IFA 格式,并使用发起方节点元数据更新 IFA 探测数据包。IFA 报头具有 IFA 元数据堆栈允许的总最大长度。元数据堆栈是每个节点添加其各自特定于跃点的元数据的位置。
IFA 中继节点 — 识别 IFA 数据包并将元数据追加到数据包的元数据堆栈中。中继节点会检查当前长度与 IFA 表头中的总最大长度。如果当前长度等于或超过最大长度,则传输节点不会将其元数据追加到 IFA 元数据堆栈。
IFA 终止节点(出口节点)— 附加其元数据并将流数据的副本导出到 IFA 2.0 应用程序(IFA 固件)。IFA 应用程序添加出口端口号,将数据包转换为 IPFIX 格式,并将它们发送至收集器,如 Paragon Insights。
有关更多信息 ,请参阅 IFA 配置和设计注意事项 。
您必须在 QFX5120-32C 和 QFX5120-48Y 交换机中配置 IFA 发起方节点、IFA 中继节点和 IFA 终止节点。
Paragon Insights 配置
在 Paragon Insights 中,您必须执行以下任务:
在设备中配置 IFA 流 IP 地址,并在设备组中配置部署节点的 IP 地址和 UDP 端口。Paragon Insights 在配置的部署节点上部署 IFA 摄取。
有关更多信息 ,请参阅管理设备、设备组和网络组 。
为 IFA 摄取创建新规则。
有关更多信息,请参阅 Paragon Insights 规则和指南 。
创建操作指南并在设备组中部署指南实例。
有关更多信息,请参阅 Paragon Insights 规则和指南 。
在摄取中配置设备详细信息,如设备名称和设备 ID。请参阅 配置带内流分析器设备的设备详细信息。
Paragon Insights 支持将hb_ifa_v2_0作为 IFA 传感器名称。IFA 传感器支持 表 1 所述的字段。
领域 |
键字段 |
数据类型 |
描述 |
---|---|---|---|
source_ip |
是的 |
字符串 |
IFA 流数据包发起方节点的 IP 地址。 |
source_port |
是的 |
字符串 |
IFA 数据包发起方节点的源端口。 |
dest_ip |
是的 |
字符串 |
终止节点的 IP 地址。 |
dest_port |
是的 |
字符串 |
用于导出 IFA 数据包的终止节点的目标端口。 |
原 |
是的 |
字符串 |
用于 IFA 流的协议值。 |
跳 |
是的 |
字符串 |
跃点字段表示 IFA 数据包遍历的跃点数。如果有 n 个节点,则跃点值从发起方节点 1 开始,传输节点以 2 开头,以如此,直至到达为 n 分配值的终止节点。
注意:
IFA 传感器还可以分配跃点值 65,535,以描述端到端延迟和完整的 IFA 流路径。 在 Paragon Insights 规则中,跃点字段捕获每个跃点的序列号(跃点值)。 |
node_id |
不 |
字符串 |
当跃点字段的值不是 65,535 时,IFA 发起方节点、IFA 中继节点或 IFA 终止符节点的设备 ID。设备 ID 存在于 IFA 元数据堆栈中。 当跃点字段的值为 65,535 时,node_id字段表示 IFA 探测数据包采用的完整路径。 |
node_name |
不 |
字符串 |
如果之前配置了 Paragon Insights 以显示node_name,则显示与 node_id关联的 IFA 节点的名称。 如果未配置 Paragon Insights 来显示node_name,则显示node_id。 |
ingress_port |
不 |
字符串 |
IFA 流进入的节点的入口端口。 |
egress_port |
不 |
字符串 |
IFA 流通过的节点的出口端口。 |
egress_portspeed |
不 |
无符号整数 32 |
出口端口的速度(每秒千兆位)。 |
congestion_bits |
不 |
无符号整数 32 |
拥塞位,指示 IFA 数据包是否出现拥塞。 |
queue_id |
不 |
无符号整数 32 |
节点中的 IFA 数据包所获取的队列标识符 (ID)。 |
residence_time_ns |
不 |
无符号整数 32 |
节点内的 IFA 数据包所获取的时间(纳秒)。 |
rx_ts_ns |
不 |
无符号整数 64 |
当 IFA 探测数据包进入节点时,接收时间戳值。 |
延迟 |
不 |
无符号整数 64 |
当跃点字段的值不是 65,535 时,当前节点与上一个节点的接收时间戳之间的差异。 当跃点字段的值为 65,535 时,延迟字段表示整个路径的端到端延迟。 |
Paragon Insights 将 IFA 数据作为 IPFIX 记录中提取,并在每个 IPFIX 记录的时间序列数据库 (TSDB) 中创建多行条目。TSDB 行捕获每个跃点的详细信息,例如:
入口和出口端口
延迟
接收数据包 (RX) 时间戳
每个跃点递增的序列号
从发起方节点到终止节点的端到端延迟记录