了解叠加 ping 和路由跟踪数据包支持
在虚拟化叠加网络中,现有的 ping 和 traceroute 机制无法提供足够的信息来确定是否在整个网络中建立了连接。现有 ping
和 traceroute
命令只能验证底层物理网络中两个端点之间的基本连接,而不能验证叠加网络中的两个端点之间的基本连接。例如,您可以将瞻博网络设备上用作虚拟隧道端点 (VTEP) 的现有 ping
命令发出至另一台在虚拟可扩展 LAN (VXLAN) 叠加网络中也充当 VTEP 的瞻博网络设备。在此情况下,ping 输出可能指示源和目标 VTEP 之间的连接已启动并正在运行,尽管无法访问其中一个端点(直接运行应用程序的物理服务器)。
从适用于 QFX5100 交换机的 Junos OS 14.1X53-D30 版、EX9200 交换机的 16.1 版和适用于 MX 系列路由器的 16.2 版开始,引入了叠加 ping 和 traceroute 作为叠加网络的故障排除工具。
要使 ping 和 traceroute 机制在叠加网络中正常工作,ping 和 traceroute 数据包(也称为操作、管理和管理 (OAM) 数据包)必须使用与通过叠加分段转发的数据包相同的 VXLAN UDP 标头(外部标头)进行封装。此实施可确保中转节点转发 OAM 数据包的方式与转发该特定叠加网段的数据包的方式相同。
如果特定数据流出现任何连接问题,则与该流对应的叠加 OAM 数据包将遇到与该流的数据包相同的连接问题。
使用 ping 叠加和路由跟踪叠加时,请记住以下几点:
唯一支持的隧道类型是 VXLAN 隧道。
叠加网络中发送和接收叠加 ping 数据包的 VTEP 必须是支持叠加 ping 和 traceroute 的瞻博网络设备。
叠加 ping 和路由跟踪功能
叠加 ping 和跟踪路由数据包作为用户数据报协议 (UDP) 回显请求和回复发送,并封装在 VXLAN 报头中。VTEP 可启动和终止叠加隧道,发送和接收叠加 OAM 数据包。仅在发送和接收 VTEP 均为瞻博网络设备的 VXLAN 叠加网络中支持叠加 ping 和路由跟踪。
叠加 ping 功能可验证数据平面以及 VTEP 的 MAC 地址和 IP 地址。这种额外的验证不同于更常见的 IP ping 功能,在更常见的 IP ping 功能中,实际目标在没有覆盖分段上下文的情况下回复回显请求。
在 VXLAN 叠加网络中追踪路由时,沿路由支持叠加跟踪路由的瞻博网络设备还会提供时间戳。不支持叠加跟踪路由的第三方设备和瞻博网络设备不提供此时间戳。
UDP 有效负载的叠加 OAM 数据包格式
叠加 OAM 数据包的格式取决于隧道中传输的有效负载类型。对于 VXLAN 隧道,内部数据包是第 2 层数据包。
仅支持第 2 层 UDP 有效负载。
图 1 显示了 VXLAN 封装的叠加 OAM 数据包上的完整标头。
外部以太网报头 — 包含物理网络中直连节点的源 MAC (SMAC) 和目标 MAC (DMAC) 地址。这些地址在每个跃点都会更改。
外部 IP 报头 — 包含作为启动和终止隧道的 VTEP 的瞻博网络设备的源和目标 IP 地址。
外部 UDP 标头 — 包含与流熵和目标端口关联的源端口。源端口是内部计算的哈希值。目标端口是用于 VXLAN 的标准 UDP 端口 (4789)。
VXLAN 报头 — 包含 VXLAN 网络标识符 (VNI) 或 VXLAN 的分段 ID,以及新路由器警报 (RA) 标志位。
内部以太网报头 — 包含 SMAC 和 DMAC 的控制 MAC 地址 (00-00-5E-90-xx-)。xx此地址不会从 VTEP 转发出去。或者,可以将 SMAC 设置为非控制 MAC 地址。但是,如果使用非控制 MAC 地址,则 VTEP 不得从叠加 OAM 数据包中学习 SMAC。
内部 IP 报头 — 包含可设置为终端或源 VTEP 的 IP 地址的源 IP 地址。目标 IP 地址可设置为 127/8 地址,以确保叠加 OAM 数据包不会从配置为 VTEP 的瞻博网络设备的端口转发出去。
内部 UDP 报头 — 包含内部 UDP 报头的目标端口字段中使用的新保留值。此值将传入的 UDP 数据包标识为覆盖 OAM 数据包。
内部 UDP 有效负载 — 包含所有特定于叠加 OAM 的消息格式以及类型、长度和值 (TLV) 定义。
内部 UDP 有效负载格式如下:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message Type | Reply mode | Return Code | Return Subcode| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Handle | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TimeStamp Sent (seconds) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TimeStamp Sent (microseconds) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TimeStamp Received (seconds) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TimeStamp Received (microseconds) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLVs ... | . . . . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
特定于 OAM 的消息类型为以下类型之一:
Value What it means ----- ------------- 1 Echo Request 2 Echo Reply Reply Mode Values:- Value What it means ----- --------------------------------- 1 Do not reply 2 Reply via an IPv4/IPv6 UDP Packet 3 Reply via Overlay Segment
VXLAN ping 的 TLV 定义如下:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 1(VXLAN ping IPv4) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VXLAN VNI | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IPv4 Sender Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
多路由实例支持
从 Junos OS 19.3R1 版开始,您可以使用和traceroute overlay
命令在ping overlay
具有多个路由实例的静态 VxLAN 隧道中验证连接并检测故障。为 和ping overlay
traceroute overlay
命令创建的 ping 和 traceroute 数据包遵循与数据包相同的底层网络路径。这可让您验证叠加 VxLAN 隧道中两个 VTEP 之间的连接。配置为源和目标 VTEP 的设备必须都运行支持多个路由实例的 Junos OS 版本,但传输设备则不支持。
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。
traceroute overlay
命令在
ping overlay
具有多个路由实例的静态 VxLAN 隧道中验证连接并检测故障。