了解双向主动测量协议
了解如何使用双向主动测量协议 (TWAMP) 测量网络中任意两台设备之间的网络性能。
RFC 5357 中描述的双向主动管理协议 (TWAMP) 是单向主动管理协议 (OWAMP) 的扩展,提供双向或往返测量,而不是单向功能。双向测量很有帮助,因为往返延迟不需要主机时钟同步,远程支持可能是一个简单的回显功能。但是,用于此目的的 Internet 控制消息协议 (ICMP) 回显请求/回复(由 ping 使用)有几个缺点。TWAMP定义了一个开放的协议,用于使用时间戳(也可以考虑处理延迟)来测量双向或往返指标,比其他方法更准确。
使用 功能浏览器:双向主动测量协议 确认平台和版本对特定功能的支持。
查看特定 于平台的 TWAMP 行为 部分,了解与您的平台相关的说明。
TWAMP的好处
-
TWAMP探针配置可帮助您端到端地激活、测试、监控和故障排除网络,而无需使用专用的测试设备。
-
与其他方法相比,TWAMP 时间戳提供的双向或往返指标具有更高的准确性(也可以考虑处理延迟)。
-
TWAMP 通常用于检查服务级别协议 (SLA) 合规性,并且 TWAMP 功能通常用于该上下文。
-
双向测量优于单向测量,因为往返延迟不需要主机时钟同步。这是可能的,因为反射器在数据包中放置了自己的序列号。
我们建议您不要在同一设备上配置 RPM 客户端和 TWAMP 服务器。这可能会导致 RPM 探测结果出现一些问题。
了解双向主动测量协议 (TWAMP)
通常,TWAMP在两个设备上的接口之间运行,扮演特定角色。TWAMP 通常用于检查服务级别协议 (SLA) 合规性,并且 TWAMP 功能通常在此上下文中显示。TWAMP使用两个相关的协议,在几个定义的元素之间运行:
-
TWAMP-Control - 启动、启动和结束测试会话。TWAMP-Control 协议在 Control-Client 元素和 Server 元素之间运行。
-
TWAMP-Test — 在两个 TWAMP 元素之间交换测试数据包。TWAMP-Test 协议在 Session-Sender 元素和 Session-Reflector 元素之间运行。
这四个元素如 图 1 所示:
的四个要素
尽管四种不同的TWAMP设备可以执行TWAMP控制客户端、服务器、会话发送方和会话反射器这四个逻辑角色,但不同的设备可以扮演不同的角色。常见的实现将一台设备中的 Control-Client 和 Session-Sender 角色(称为 TWAMP 控制器或 TWAMP 客户端)与另一台设备中的 Server 和 Session-Reflector 角色(称为 TWAMP 响应器或 TWAMP 服务器)结合在一起。在这种情况下,每个设备都运行TWAMP-Control(在Control-Client和Server之间)和TWAMP-Test(在Session-Sender和Session-Reflector之间)协议。
实现的TWAMP客户端-服务器架构如下所示:
-
TWAMP 客户端
-
Control-Client 设置、启动和停止 TWAMP 测试会话。
-
Session-Sender 创建 TWAMP 测试数据包,这些数据包发送到 TWAMP 服务器中的 Session-Reflector。
-
-
TWAMP服务器
-
当收到测试数据包时,Session-Reflector 会发回测量数据包,但不会保留此类信息的记录。
-
服务器管理与TWAMP客户端的一个或多个会话,并侦听TCP端口上的控制消息。
-
将这些元素打包到 TWAMP 客户端和 TWAMP 服务器进程中如 图 2 所示。
TWAMP Light 支持
如 RFC 5357 附录 I 中所定义的 TWAMP Light 是 TWAMP 的无状态版本,其中测试参数是预定义的,而不是协商的。服务器在测试端口上接收到的所有测试数据包都会立即反射回来并立即被遗忘。对于支持它们的设备,您还可以配置 IPv6 目标地址,包括 IPv6 链路本地目标地址。
使用 功能浏览器:双向主动测量协议 确认平台和版本对特定功能的支持。
简单的双向主动测量协议 (STAMP) 支持
如 RFC 8762 简单 双向主动测量协议中所定义,STAMP 标准化并扩展了 TWAMP Light作模式,该模式在 RFC 5357 的附录 I 中定义, 双向主动测量协议 (TWAMP) 中定义。对于支持 STAMP 的设备,符合 STAMP 标准的反射器可确保对称的有效负载大小(符合 RFC 6038),并在无状态或有状态模式下运行,具体取决于反射有效负载中的序列号是从客户端帧复制还是独立生成。有状态反射器可以检测发生跌落的方向。在以前的版本中,我们支持对称有效负载和无状态反射。我们支持有状态反射,完全符合STAMP标准,以及客户端的单向丢弃值。我们不仅支持STAMP客户端的单向丢弃值,还支持TWAMP管理模式客户端的单向丢弃值。对于 Junos OS 演化版,STAMP 是在层次结构级别上配置 [edit services monitoring twamp server light] 的。使用 stateful-sequence 语句配置有状态反射。对于服务器,新的默认值 offload-type 是 now pfe-timestamp 而不是 inline-timestamp。
使用 功能浏览器:简单双向主动测量协议 (STAMP) 确认平台和版本支持。
静态路由跟踪
从 Junos OS 演化版 24.4R1 版开始,我们已将对静态路由跟踪的支持扩展到 Junos OS 演化版,还包括对双向主动测量协议 (TWAMP) 测试的支持。您可以使用 TWAMP 探测检测链路状态,并根据探测结果更改首选路由状态。跟踪的静态路由可以是 IPv4 或 IPv6,每个 IPv4 和 IPv6 跟踪的静态路由最多支持 16 个下一跃点。您还可以为每个 IPv4 或 IPv6 目标前缀配置指标、路由优先级和标记值。但是,在 Junos OS 演化版设备上,此功能的配置方式会有所不同;您可以在[edit routing-options]层次结构级别上配置sla-tracking语句。您还可以使用其他命令 show route sla-tracking,查看有关这些路由的信息。
分段路由支持配置路径
从 Junos OS 演化版 24.4R1 版开始,对于支持该版本的 PTX 路由器,我们增加了对 RFC 8402 中定义的分段路由 (SR) 的双向主动测量协议 (TWAMP) 的支持,该协议大致指定了 SR 架构。我们支持两种类型的 SR for TWAMP 探针:
-
SR-MPLS: 使用标签列表,每个标签表示一个分段端节点。
-
SRv6: 使用 RFC 8754 中引入的 4 类 IPv6 路由标头,其中每个分段终端节点都表示为 IPv6 地址或 IPv6 分段标识符 (SID)。
您可以指定 TWAMP 探头到达反射器的 SR-MPLS 或 SRv6 段列表。此外,还可以为从反射器到客户端的返回路径指定相同的信息。通过使用 Simple TWAMP (STAMP) Extensions for 分段路由 Networks, draft-ietf-ippm-stamp-srpm 中建议的扩展,即返回路径 TLV 及其返回段列表子 TLV(视分段路由类型而定),将此返回路径信息嵌入到探针本身中。TWAMP 探针在路由引擎或数据包转发引擎中带有时间戳。
要配置此功能,请在[edit services monitoring twamp client control-connection name test-session session-name 层次结构级别包含source-routing语句。
Junos OS 演化版:TWAMP 支持方面的差异
Junos OS Evolved 对 TWAMP 的支持仅限于以下几点:
-
IPv4 和 IPv6 流量仅用于控制会话和测试会话。从 Junos OS 演化版 21.4R1 版开始,客户端列表、控制连接和测试会话支持 IPv6 源地址和目标地址(链路本地地址除外)。
-
探测统计信息和历史记录
-
控制和测试会话状态
-
测试会话探针的生成和接收,以及反射
-
由路由引擎或数据包转发引擎为 IPv4 流量设置的时间戳。对于 IPv6 流量,时间戳仅由路由引擎设置。对于 IPv6 流量,从 Junos OS 演化版 22.3R1 版开始,我们支持数据包转发引擎时间戳。在 Junos OS 演化版 22.3R1 之前,对于 IPv6 流量,
从适用于服务器的 Junos OS 演化版 23.4R1 版开始,语句的默认offload-type层次结构级别的语句[edit services monitoring twamp client control-connection name test-session name]应配置为none。从受支持设备的 Junos OS 演化版 22.4R1 版开始,您可以配置inline-timestampingoffload-type语句的选项以启用硬件内联设置的时间戳。offload-type值现在pfe-timestamp为而不是inline-timestamp。 -
仅通过系统日志消息和 SNMP 陷阱报告错误
-
仅限未经过身份验证的模式
Junos OS Evolved 对 TWAMP 的支持还包括一些 Junos OS 中未包含的功能:
-
从 Junos OS 演化版 23.4R1 版开始,我们支持 RFC 8762 简单 双向主动测量协议 (STAMP)。RFC 8762 标准化并扩展了 TWAMP Light作模式,该模式在 RFC 5357 的附录 I 中定义, 双向主动测量协议 (TWAMP) 中定义。有关更多信息,请参阅 简单双向主动测量协议 (STAMP) 支持。
-
从 Junos OS 演化版 24,4R1 开始,我们支持使用 TWAMP 对支持此功能的设备进行静态路由跟踪。有关详细信息,请参阅 静态路由跟踪 。
-
从 Junos OS 演化版 24.4R1 版开始,对于支持该版本的 PTX 路由器,我们添加了对分段路由 (SR) 的双向主动测量协议 (TWAMP) 的支持,如 RFC 8402 中所定义。有关更多信息,请参阅 分段路由对配置路径的支持 。
特定于平台的 TWAMP 行为
使用 功能浏览器:双向主动测量协议 确认平台和版本对特定功能的支持。
使用下表查看您的平台特定于平台的行为。
| 平台 | 差异 |
|---|---|
| ACX 系列 |
|
| EX 系列 |
控制客户端和会话发送方(TWAMP 客户端)都驻留在同一个瞻博网络路由器上。但是,TWAMP客户端不要求服务器和会话反射器位于同一系统上。因此,瞻博网络 TWAMP 客户端能够与第三方服务器实现配合使用。 |
| MX 系列 |
|
| PTX 系列 |
|
| QFX 10000 系列 |
控制客户端和会话发送方(TWAMP 客户端)都驻留在同一个瞻博网络路由器上。但是,TWAMP客户端不要求服务器和会话反射器位于同一系统上。因此,瞻博网络 TWAMP 客户端能够与第三方服务器实现配合使用。 |
| QFX5000 系列(Junos OS 演化版) |
对于 Junos OS 演化版,TWAMP 是在层次结构级别上配置 |
| SRX 系列(SRX300、SRX320、SRX340、SRX345、SRX550M、SRX1500、SRX4100 和 SRX4200 设备和vSRX 虚拟防火墙实例) |
|
对于 MX 系列,下表显示了 RPM 客户端和服务器支持、TWAMP 客户端(带有控制组件)和 TWAMP 服务器(带有响应器组件)支持以及执行时间戳的硬件之间的关系。
| TWAMP 功能支持 |
路由引擎时间戳 |
MS-PIC/MS-DPC 时间戳 |
MS-MIC/MS-MPC 时间戳 |
数据包转发引擎(微内核)时间戳 |
数据包转发引擎 (LU) 时间戳( |
| RPM 客户端 |
是的 |
是的 |
是的 |
是的 |
不 |
| RPM 服务器 |
是的 |
是的 |
是的 |
是的 |
不 |
| TWAMP客户端 |
不 |
不 |
不 |
是的 |
是的 |
| TWAMP服务器 |
不 |
是的 |
不 |
是(无需配置响应程序) |
是的 |
对服务接口(sp-、 ms-、 si- 和接口)的支持都略有不同。
表 3 提供了有关 MX 系列 TWAMP 的信息,以及 MPC、MS-MIC/MPC 和内联对时间戳的支持:
| 特征 |
角色 |
IP 版本 |
支持 (Y/N) |
时间戳内联 |
MPC 上的时间戳(硬件时间戳) |
MPC 上的时间戳(si-interface) |
MS-MIC/MPC 上的时间戳(委托探针) |
|---|---|---|---|---|---|---|---|
| TWAMP的 |
客户 |
IPv4 |
Y |
N |
Y(微秒) 最大 2000 个探针 |
Y(微秒) 最大 2000 个探针 |
N |
| IPv6 |
N |
N |
N |
N |
N |
||
| 服务器 |
IPv4 |
Y |
N |
Y(微秒) 最大 2000 个探针 |
Y(微秒) 最大 2000 个探针 |
N |
|
| IPv6 |
N |
N |
N |
N |
N |