了解如何使用探针对 ACX、MX 和 PTX 系列路由器以及 EX 和 QFX 交换机进行实时性能监控
借助实时性能监控 (RPM),您可以配置主动探测来跟踪和监控流量。探针会根据每个目标和应用收集数据包,包括 PING 互联网控制消息协议 (ICMP) 数据包、带有用户配置端口的用户数据报协议和传输控制协议 (UDP/TCP) 数据包、用户配置的差异服务代码点 (DSCP) 服务类型 (ToS) 数据包以及超文本传输协议 (HTTP) 数据包。RPM 提供管理信息库 (MIB) 支持,并扩展了 RFC 2925, 用于远程 Ping、Traceroute 和查找作的托管对象的定义。有关瞻博网络支持的 SNMP MIB 的更多信息,请参阅 SNMP MIB 资源管理器。
概述
在设备上配置 RPM 后,设备会根据数据包响应时间、抖动和数据包丢失来计算网络性能。设备通过向由 IP 地址标识的指定探测目标发送探测来收集 RPM 统计信息。当目标接收到探针时,它会生成设备接收的响应。一个测试可以包含多个探针。探针类型指定探针的数据包和协议内容。您可以使用最近 50 次探测的历史记录来分析网络趋势并预测未来需求。
使用 功能浏览器:实时性能监控 和 功能浏览器:RPM 和 TWAMP 来确认平台和版本支持。
使用探针,您可以监控:
-
平均往返时间
-
往返时间抖动 — 最小和最大往返时间之间的差值
-
最长往返时间
-
最短往返时间
-
往返时间的标准差(仅限 Junos OS)
ICMP 时间戳探针的单向测量包括:
-
出口和入口时间的最小值、最大值、标准偏差和抖动测量值
-
收到的探针响应数
-
发送的探针数
-
探针丢失百分比
您可以设置阈值,以便在超过这些值时触发 SNMP 陷阱。您可以配置以下 RPM 阈值:
-
入口/出口延迟
-
抖动
-
往返时间
-
标准偏差(仅限 Junos OS)
-
连续丢失探针
-
丢失的探针总数(每个测试)
您还可以使用 dscp-code-points 配置语句配置 CoS 分类器,以及 RPM 数据包优先于输入接口上接收的常规数据包的优先级。
硬件时间戳
为了考虑探查消息通信中的延迟或抖动,可以启用探查数据包的时间戳记(硬件时间戳)。如果未配置硬件时间戳,则使用的是基于软件的时间戳。在软件级别生成的时间戳不如硬件时间戳的准确性。
使用 功能浏览器:RPM 探测消息的硬件时间戳、 功能浏览器:具有路由 VLAN 接口的 RPM 硬件时间戳和 功能浏览器:RPM 和 TWAMP 硬件时间戳和 RTT 测量 来确认对此功能的平台和版本支持。
RPM 硬件时间戳仅在 Junos OS 上受支持,但有一些限制:
-
ACX 系列路由器: ACX710 和 ACX5448 系列路由器是运行 Junos OS 的唯一支持语句配置的
hardware-timestampACX 路由器。这项支持始于 Junos OS 22.3R1 版。 -
EX 系列交换机: EX 系列交换机支持 UDP 和 ICMP 探测的硬件时间戳。EX 系列交换机不支持用于 HTTP 或 TCP 探测的硬件时间戳。
在 EX4300 交换机上,RPM 时间戳记将在软件中执行。请求方和响应方设备上的 RPM 探测在数据包转发引擎中添加时间戳,而不是在路由引擎上运行的 Junos OS 进程 (rmopd)。此时间戳记方法称为伪硬件时间戳记。
-
QFX 系列交换机: QFX 系列交换机不支持硬件时间戳。
您可以为以下 RPM 探针添加时间戳,以改进延迟或抖动的测量。
-
ICMP ping
-
ICMP ping 时间戳
-
UDP ping
-
UDP ping 时间戳
icmp-ping 是运行 Junos OS 的设备上的默认探测类型。
探测数据包带有时间戳,其中包含它们在源端点和目标端点上发送和接收的时间。
您应该使用硬件时间戳(参见 图 1)配置请求者(RPM 客户端),以获得比没有时间戳更有意义的结果。响应方(RPM 服务器)无需配置为支持硬件时间戳。如果响应方支持硬件时间戳,则会为 RPM 探测添加时间戳。如果响应方不支持硬件时间戳,则 RPM 只能报告包含响应方处理时间的往返度量值。
在 EX4300 交换机上,您必须将交换机同时配置为请求方(RPM 客户端)和响应方(RPM 服务器),以便为 RPM 数据包添加时间戳。
图 1 显示了时间戳:
-
T1 是数据包离开请求方端口的时间。
-
T2 是响应方收到数据包的时间。
-
T3 是响应方发送响应的时间。
-
T4 是请求方收到响应的时间。
往返时间为 T4 – T1 – (T3 – T2)。如果响应方不支持硬件时间戳,则往返时间为 (T4 – T1),因此包括响应方的处理时间。
您可以使用 RPM 探针查找以下时间测量值:
-
最短往返时间
-
最长往返时间
-
平均往返时间
-
往返时间的标准差
-
往返时间抖动 — 最小和最大往返时间之间的差值
RPM 功能提供了一个配置选项,用于设置单向硬件时间戳。如果需要有关数据包在请求方和响应方之间遍历网络的单向时间(而不是往返时间)的信息,请使用单向时间戳。如 图 1 所示,单向时间戳表示时间 T2 – T1 和从 T4 – T3 的时间。如果要收集有关每个方向延迟的信息并查找出口和入口抖动值,请使用单向时间戳。
为了进行正确的单向测量,请求方和响应方的时钟必须同步。如果时钟不同步,则单向抖动测量和计算可能包括显着变化,在某些情况下比往返时间大几个数量级。
在探针中启用单向时间戳时,将报告以下单向测量值:
-
出口和入口时间的最小值、最大值、标准偏差和抖动测量值
-
发送的探针数
-
收到的探针响应数
-
探针丢失百分比
Junos OS 支持
探针配置和结果
在 Junos OS 中,命令行界面 (CLI) 和 SNMP 都支持探测配置和探测结果。您可以在 [edit services rpm probe owner] 层次结构级别的语句中test test-name设置探查选项。您可以使用该show services rpm probe-results命令查看最近 RPM 探测的结果。
EX 系列和 QFX 系列交换机的限制:
-
QFX 交换机不支持双向有源测量协议 (TWAMP)。
-
交换机不支持用户配置的服务等级 (CoS) 分类器,也不支持 RPM 数据包优先于输入接口上接收的常规数据包。
-
时间戳:
-
如果响应方不支持硬件时间戳,则 RPM 只能报告往返测量值,无法计算往返抖动。(QFX 系列交换机不支持硬件时间戳。)
-
EX 系列交换机不支持用于 HTTP 和 TCP 探测的硬件时间戳或伪硬件时间戳。
-
时间戳仅适用于 IPv4 流量。
-
不中断服务的软件升级 (ISSU) 和不间断软件升级 (NSSU) 不支持伪硬件时间戳。
-
要指定探测的数据包和协议内容,请在层次结构级别包含probe-type[edit services rpm probe owner test test-name]该语句。支持以下探针类型:
-
http-get— 向目标 URL 发送超文本传输协议 (HTTP) 获取请求。 -
http-metadata-get— 将元数据的 HTTP get 请求发送到目标 URL。 -
icmp-ping— 将 ICMP 回显请求发送到目标地址。 -
icmp-ping-timestamp— 将 ICMP 时间戳请求发送到目标地址。 -
tcp-ping— 向目标发送 TCP 数据包。 -
udp-ping— 向目标发送 UDP 数据包。 -
udp-ping-timestamp— 将 UDP 时间戳请求发送到目标地址。
IPsec 和 GRE 隧道支持
如果您使用的是 MS-MPC 或 MS-MIC,则可以将 RPM 应用于基于 PIC 和基于路由引擎的 RPM 客户端和服务器的 IPsec 隧道和 GRE 隧道。IPsec 隧道不支持基于数据包转发引擎的 RPM。支持 IPSec 隧道上的 RPM,可以对在 IPSec 隧道中传输的流量进行服务级别协议 (SLA) 监控。
逻辑系统不支持 RPM。
使用 功能浏览器:IPsec 和 GRE 隧道的 RPM 支持 来确认对此功能的平台和版本支持。
RPM 跟踪静态路由
在 Junos OS 中,您还可以配置 RPM 服务来自动确定主机设备与其配置的 BGP 邻接方之间是否存在路径。您可以使用 SNMP 客户端查看发现的结果。结果存储在 pingResultsTable、 jnxPingResultsTable、 jnxPingProbeHistoryTable和 pingProbeHistoryTable中。
使用 功能浏览器:根据 RPM 测试结果激活或停用静态路由、 功能浏览器:跨多个下一跃点跟踪静态 RPM 路由以及 功能浏览器:对 RPM 跟踪静态路由的扩展 ,用于确认平台并发布对此功能的支持。
对于支持此功能的设备,您可以使用 RPM 探测来检测链路状态,并根据探测结果更改首选路由状态。RPM 跟踪的路由可以是 IPv4 或 IPv6,并支持单个 IPv4 或 IPv6 下一跃点。您可以在层次结构级别使用[edit routing-options][edit routing-instances routing-options]语句配置rpm-tracking此功能。例如,可以将 RPM 探针发送到 IP 地址以确定链路是否开启,如果是,软件将在路由表中安装静态路由。RPM 跟踪的静态路由安装时优先级 1,因此优先于同一前缀的任何现有静态路由。对于支持多个下一跃点的设备,您最多可以为每个 IPv4 或 IPv6 RPM 跟踪的静态路由跟踪 16 个下一跃点,并且可以为每个 IPv4 或 IPv6 目标前缀配置路由首选项和标记值。
MPC、MS-MIC/MPC 和路由引擎上的 RPM 和相关时间戳支持
表 1 提供了有关 MPC、MS-MIC/MPC 和路由引擎上的 RPM 和相关时间戳支持的信息:
| 功能 |
角色 |
IP 版本 |
支持(是/否) |
路由引擎上的时间戳 |
MPC 上的时间戳(硬件时间戳) |
MPC 上的时间戳(si 接口) |
MS-MIC/MPC 上的时间戳(委托探针) |
|---|---|---|---|---|---|---|---|
| 转速 |
客户端 |
IPv4 |
Y |
Y(微秒) 最多 2000 个探头 |
Y(微秒) 最多 2000 个探头 |
N |
Y(毫秒) 最多 100 万个探针 |
| IPv6 |
Y |
Y(微秒) 最多 2000 个探头 |
N |
N |
Y(毫秒) 最多 100 万个探针 |
||
| 服务器 |
IPv4 |
Y |
Y(微秒) 最多 2000 个探头 |
Y(微秒) 最多 2000 个探头 |
N |
Y(毫秒) 最多 100 万个探针 |
|
| IPv6 |
Y |
Y(微秒) 最多 2000 个探头 |
N |
N |
Y(毫秒) 最多 100 万个探针 |
Junos OS Evolved 支持
探针配置和结果
从 Junos OS 演化版 20.1R1 开始,对于支持此功能的设备,您可以配置 RPM 探针。对于 Junos OS 演化版,RPM 在层次结构级别配置 [edit services monitoring rpm] 。支持范围仅限于:
-
探针生成和接收(客户端)以及反射(服务器),适用于以下 RPM 探针类型:
-
http-get(在 Junos OS 演化版 23.4R1 中添加)
必须将语句设置为
offload-type才能none配置此探测类型。 -
http-metadata-get(在 Junos OS 演化版 23.4R1 中添加)
必须将语句设置为
offload-type才能none配置此探测类型。 -
ICMP-ping
-
ICMP 时间戳
-
tcp-ping(在 Junos OS 演化版 23.4R1 中添加)
必须将语句设置为
offload-type才能none配置此探测类型。 -
UDP-ping
-
udp 时间戳
-
-
探针历史记录管理
-
仅通过系统日志报告
从 Junos OS 演化版 21.2R1 版开始,RPM 支持通过 SNMP MIB 对象进行报告。
使用 功能浏览器:内联 RPM 服务 确认对 Junos OS Evolved 的平台和版本支持。
RPM 跟踪静态路由
从 Junos OS 演化版 24.4R1 版开始,对于支持此功能的设备,我们已将静态路由跟踪支持扩展到 Junos OS 演化版,并加入了双向主动测量协议 (TWAMP) 测试支持。您可以使用 RPM 或 TWAMP 探针检测链路状态,并根据探测结果更改首选路由状态。跟踪的静态路由可以是 IPv4 或 IPv6,每个 IPv4 和 IPv6 跟踪的静态路由最多支持 16 个下一跃点。您还可以为每个 IPv4 或 IPv6 目标前缀配置度量、路由首选项和标记值。但是,您在 Junos OS 演化版设备上对此功能的配置会有所不同;您在层次结构级别配置[edit routing-options]该sla-tracking语句。您还可以使用其他命令 来show route sla-tracking查看有关这些路由的信息。对于 Junos OS,您可以在同一层级配置该rpm-tracking语句,并使用命令show route rpm-tracking查看有关这些路由的信息。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。
[edit routing-options]该
sla-tracking语句。对于 Junos OS,您需要在同一层级配置该
rpm-tracking语句。
tcp-ping、
http-get和
http-metadata-get 探针。