本页内容
了解在 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-timestamp语句配置的 ACX 路由器。这项支持始于 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) 不支持伪硬件时间戳。
-
要指定探测的数据包和协议内容,请在[edit services rpm probe owner test test-name]层次结构级别包含probe-type语句。支持以下探针类型:
-
http-get—向目标 URL 发送超文本传输协议 (HTTP) get 请求。 -
http-metadata-get- 向目标 URL 发送元数据的 HTTP get 请求。 -
icmp-ping- 向目标地址发送 ICMP 回显请求。 -
icmp-ping-timestamp- 将 ICMP 时间戳请求发送到目标地址。 -
tcp-ping- 将 TCP 数据包发送到目标。 -
udp-ping- 将 UDP 数据包发送到目标。 -
udp-ping-timestamp- 将 UDP 时间戳请求发送到目标地址。
IPsec 和 GRE 隧道支持
如果您使用的是 MS-MPC 或 MS-MIC,则可以将 RPM 应用于 IPsec 隧道以及基于 PIC 和基于路由引擎的 RPM 客户端和服务器的 GRE 隧道。IPsec 隧道不支持基于数据包转发引擎的 RPM。支持 IPSec 隧道上的 RPM,可对在 IPSec 隧道中传输的流量进行服务级别协议 (SLA) 监控。
逻辑系统不支持 RPM。
使用 功能浏览器:IPsec 和 GRE 隧道的 RPM 支持 来确认平台和版本对此功能的支持。
RPM 跟踪静态路由
在 Junos OS 中,您还可以配置 RPM 服务以自动确定主机设备与其配置的 BGP 邻接方之间是否存在路径。您可以使用 SNMP 客户端查看发现的结果。结果存储在 pingResultsTable、 jnxPingResultsTable和 jnxPingProbeHistoryTablepingProbeHistoryTable中。
使用 功能浏览器:根据 RPM 测试结果激活或停用静态路由、 功能浏览器:跟踪跨多个下一跃点的静态 RPM 路由,以及 功能浏览器:对 RPM 跟踪的静态路由的扩展, 以确认平台和版本对此功能的支持。
对于支持此功能的设备,您可以使用 RPM 探测检测链路状态,并根据探测结果更改首选路由状态。RPM 跟踪的路由可以是 IPv4 或 IPv6,并支持单个 IPv4 或 IPv6 下一跃点。您可以使用rpm-tracking语[edit routing-instances routing-options]句在[edit routing-options]层次结构级别配置此功能。例如,可以将 RPM 探针发送到某个 IP 地址,以确定链路是否已打开,如果已启动,软件会在路由表中安装静态路由。RPM 跟踪的静态路由以优先级 1 安装,因此优先于同一前缀的任何现有静态路由。对于支持多个下一跃点的设备,您可以为每个 IPv4 或 IPv6 RPM 跟踪的静态路由跟踪多达 16 个下一跃点,并且可以为每个 IPv4 或 IPv6 目标前缀配置路由优先级和标记值。
MPC、MS-MIC/MPC 和路由引擎上的 RPM 和相关时间戳支持
表 1 提供了有关 MPC、MS-MIC/MPC 和路由引擎对 RPM 和相关时间戳支持的信息:
| 特征 |
角色 |
IP 版本 |
支持 (Y/N) |
路由引擎上的时间戳 |
MPC 上的时间戳(硬件时间戳) |
MPC 上的时间戳(si-interface) |
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 演化版支持
探针配置和结果
从支持此功能的设备的 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.4 R1 中添加)
必须将
offload-type语句none设置为才能配置此探测类型。 -
ICMP-ping
-
ICMP 时间戳
-
tcp-ping(在 Junos OS 演化版 23.4R1 中添加)
必须将
offload-type语句none设置为才能配置此探测类型。 -
UDP-平
-
UDP 时间戳
-
-
探查历史记录管理
-
仅通过系统日志报告
从 Junos OS 演化版 21.2R1 开始,RPM 支持通过 SNMP MIB 对象进行报告。
使用 功能浏览器: 内联 RPM 服务 确认平台和版本对 Junos OS 演化版的支持。
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探针。