Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:在 QFX 系列交换机上使用叠加 ping 和叠加 Traceroute 对 VXLAN 叠加网络进行故障排除

在虚拟可扩展 LAN (VXLAN) 叠加网络中,现有 pingtraceroute 命令可以验证两个瞻博网络设备之间的基本连接,这两个设备在底层物理网络中充当虚拟隧道端点 (VTEP)。但是,在两个 VTEP 之间,可能存在通过中间设备到达相同目标的多个路由,ping 和 traceroute 数据包可能会成功到达其目标,而数据包通常转发的另一条路由中存在连接问题。

因此,我们将 and ping overlay traceroute overlay 命令作为 and traceroute 命令的ping扩展来提供,以便更准确地监控 VXLAN 叠加网络并排除故障。

若要使 ping 和 traceroute 机制在 VXLAN 叠加网络中正常工作,ping 和 traceroute 数据包(也称为操作、管理和管理 (OAM) 数据包)必须使用与通过 VXLAN 分段转发但可能存在连接问题的数据包相同的 VXLAN UDP 报头(外部报头)进行封装。如果出现任何连接问题,叠加 OAM 数据包将遇到与数据包相同的问题。

此示例说明如何在 VTEP 上使用叠加 ping 和叠加路由跟踪操作,以验证 VXLAN 叠加网络中的以下内容:

  • 场景 1 — 验证是否在其他 VTEP 上配置了特定 VXLAN。

  • 场景 2 — 验证特定端点的 MAC 地址是否与其他 VTEP 上的 VXLAN 相关联。

  • 方案 3 — 验证发送端点和接收端点之间的特定数据流中是否存在问题。

注意:

发出 and ping overlay traceroute overlay 命令时,发出命令的源 VTEP 和接收 ping 或 traceroute 数据包的目标 VTEP 必须是支持叠加 ping 和叠加 traceroute 的瞻博网络设备。

要求

此示例使用以下硬件和软件组件:

  • 三台物理(裸机)服务器,在其上直接运行应用。

  • 两台 QFX5100 交换机。这些交换机用作 VTEP。

    注意:您可以在其他 Junos OS 交换机上使用此过程,这些交换机也支持对 VXLAN 叠加进行叠加 ping 和叠加路由追踪操作。请参阅功能浏览器,了解我们支持这些操作的设备和版本。
  • 两台第 3 层路由器,可以是 Junos OS 路由器,也可以是其他供应商提供的路由器。

在发出 ping overlay and traceroute overlay 命令之前,请收集用于特定场景的每个参数(例如 IP 地址或 MAC 地址)所需的信息。请参阅 表 1 以确定每种方案使用哪些参数。

概述和拓扑

图 1 所示的 VXLAN 叠加网络拓扑包括直接运行应用的物理服务器 A、B 和 C。物理服务器 A 和 B 上的应用程序需要与物理服务器 C 上的应用程序进行通信。这些服务器位于同一子网中,因此应用之间的通信发生在第 2 层级别,而 VXLAN 封装或隧道用于通过第 3 层网络传输其数据包。

图 1:使用叠加 ping 和叠加 traceroute 对 VXLAN 叠加网络Using Overlay Ping and Overlay Traceroute to Troubleshoot a VXLAN Overlay Network进行故障排除

在此拓扑中,有两台 QFX5100 交换机充当 VTEP。VTEP1 启动和终止物理服务器 A 和 B 的 VXLAN 隧道,VTEP2 对物理服务器 C 执行相同的操作。VTEP1 和 VTEP2 在 VXLAN 100 中。

从物理服务器 A 发送的数据包通常被路由到 IP 地址为 192.0.2.30 的第 3 层路由器,以到达物理服务器 C。

在此 VXLAN 叠加网络拓扑中,物理服务器 A 和 C 之间会出现通信问题。要对此数据流的问题进行故障排除,可以在 VTEP1(源 VTEP 或 tunnel-src)上启动 ping overlay and traceroute overlay 命令,并将 VTEP2 指定为目标 VTEP 或 tunnel-dst

ping overlaytraceroute overlay命令包含多个参数。表 1 解释了用途,并为方案 1、2 和 3 中使用的每个参数提供了一个值。

表 1 不包括所有可用 ping overlay 参数 traceroute overlay 。此示例使用这些省略参数的默认值。

表 1:场景 1、2 和 3 的 ping 叠加和 traceroute 叠加命令参数

ping overlaytraceroute overlay 参数

描述

参数适用的场景

value

tunnel-type

确定要进行故障排除的隧道类型。

全部

VXLAN

vni

此示例中使用的 VXLAN 的 VXLAN 网络标识符 (VNI)。

全部

100

tunnel-src

VTEP1 的 IP 地址,您在其上发起叠加 ping 或 traceroute。

全部

192.0.2.10

tunnel-dst

VTEP2 的 IP 地址,用于接收叠加 ping 或 traceroute 数据包。

全部

192.0.2.20

mac

物理服务器 C 的 MAC 地址,即目标端点。

仅限场景 2 和 3

00:00:5E:00:53:cc

count

VTEP1 发送的叠加 ping 请求数。

注意:

count 参数不适用于叠加 traceroute。

全部

5

hash-source-mac

物理服务器 A 的 MAC 地址,即源端点。

仅限场景 3

00:00:5E:00:53:aa

hash-destination-mac

物理服务器 C 的 MAC 地址,即目标端点。

注意:

为场景 3 指定此参数时,MAC 地址必须与为参数指定的 mac MAC 地址相同。

仅限场景 3

00:00:5E:00:53:cc

hash-source-address

物理服务器 A 的 IP 地址。

仅限场景 3

198.51.100.1

hash-destination-address

物理服务器 C 的 IP 地址。

仅限场景 3

198.51.100.3

hash-vlan

源端点的 VLAN ID。

注意:

如果源端点不是 VLAN 的成员,则无需使用此参数。

仅限场景 3

150

hash-input-interface

数据流发起的 VTEP1 接口。

仅限场景 3

xe-0/0/2

hash-protocol

数据流中使用的协议值。

仅限场景 3

17

hash-source-port

外部 TCP/UDP 源端口的值。

仅限场景 3

4456

hash-destination-port

外部 UDP 目标端口的值。

仅限场景 3

4540

表 1 包括几个哈希参数,用于方案 3。对于其中每个参数,您必须指定与要进行故障排除的数据流关联的值。系统将根据您指定的值计算 VXLAN UDP 报头源端口散列,该散列包含在叠加 ping 和叠加 traceroute 数据包的 VXLAN UDP 报头中。在 VXLAN UDP 报头中包含计算出的散列值,使叠加 ping 和叠加 traceroute 数据包能够模拟您要排除故障的流中的数据包。

最佳实践:

使用哈希参数时,建议为每个参数指定一个值。此准则的例外情况是 hash-vlan 参数,如果源端点不是 VLAN 成员,则不必使用该参数。此做法可确保叠加 ping 和叠加 traceroute 进程成功,并确保每个命令的输出准确无误。如果未为一个或多个散列参数指定值,则系统将发送可能包含不正确散列值的 OAM 请求并生成警告消息。

验证

本节包含以下验证任务:

场景 1:验证是否在 VTEP2 上配置了 VXLAN 100

目的

验证是否在 VTEP2 上配置了 VNI 为 100 的 VXLAN。您可以使用叠加 ping 或 traceroute 来执行此验证。

行动

叠加 Ping

在 VTEP1 上,发起叠加 ping:

叠加跟踪路由

在 VTEP1 上,启动叠加 traceroute:

意义

示例叠加 ping 输出指示以下内容:

  • VTEP1 向 VTEP2 发送了 5 个 ping 请求,VTEP2 响应每个请求。

  • VTEP2 表示未配置 VNI 100 (Overlay-segment not present at RVTEP 192.0.2.20),并在其对 VTEP1 的响应中包含此信息。

示例叠加 traceroute 输出指示以下内容:

  • 收到生存时间 (TTL) 值为 1 跃点的叠加 traceroute 数据包后,第 3 层路由器会响应 VTEP1。

  • 收到 TTL 值为 2 跃点的叠加 traceroute 数据包后,VTEP2 会响应 VTEP1。

  • VTEP2 表示未配置 VNI 100 (Overlay-segment not present at RVTEP 192.0.2.20),并在其对 VTEP1 的响应中包含此信息。

注意:

叠加 traceroute 输出的“接收方时间戳”列中的星号 (*) 表示接收叠加 traceroute 数据包的第 3 层路由器不是瞻博网络设备,或者是不支持叠加 traceroute 的瞻博网络设备。

鉴于叠加 ping 和叠加 traceroute 的输出都指示 VXLAN 100 不存在,请检查 VTEP2 上的此配置。如果必须在 VTEP2 上配置 VNI 100,请在层次结构级别使用 vni [edit vlans vlan-id vxlan] configuration 语句,然后重新发出 or traceroute overlay 命令ping overlay以验证现在是否可识别 VXLAN 100。

场景 2:验证目标端点的 MAC 地址是否在 VTEP2 上

目的

验证目标端点物理服务器 C 的 MAC 地址 (00:00:5E:00:53:cc) 是否在 VTEP2 的转发表中。您可以使用叠加 ping 或 traceroute 来执行此验证。

行动

叠加 Ping

在 VTEP1 上,发起叠加 ping:

叠加跟踪路由

在 VTEP1 上,启动叠加 traceroute:

意义

示例叠加 ping 输出指示以下内容:

  • VTEP1 向 VTEP2 发送了 5 个 ping 请求,VTEP2 响应每个请求。

  • VTEP2 验证是否配置了 VNI 100 (Overlay-segment present at RVTEP 192.0.2.20),但物理服务器 C 的 MAC 地址不在转发表 (End-System Not Present) 中。VTEP2 在其对 VTEP1 的回应中包含了这一信息。

示例叠加 traceroute 输出指示以下内容:

  • 收到 TTL 值为 1 跃点的叠加 traceroute 数据包后,第 3 层路由器会响应 VTEP1。

  • 收到 TTL 值为 2 跃点的叠加 traceroute 数据包后,VTEP2 会响应 VTEP1。

  • VTEP2 验证是否配置了 VNI 100 (Overlay-segment present at RVTEP 192.0.2.20),但物理服务器 C 的 MAC 地址不在转发表 (End-System Not Present) 中。VTEP2 在其对 VTEP1 的回应中包含了这一信息。

注意:

叠加 traceroute 输出的“接收方时间戳”列中的星号 (*) 表示接收叠加 traceroute 数据包的第 3 层路由器不是瞻博网络设备,或者是不支持叠加 traceroute 的瞻博网络设备。

鉴于叠加 ping 和叠加 traceroute 的输出都指示 VTEP2 不知道物理服务器 C 的 MAC 地址,您必须进一步调查以确定为什么此 MAC 地址不在 VTEP2 的转发表中。

场景 3:验证数据流

目的

验证是否不存在可能阻碍数据从物理服务器 A 流到物理服务器 C 的问题。支持此流的网络设备包括 VTEP1(IP 地址为 192.0.2.30 的第 3 层路由器)和 VTEP2(参见 图 1)。

最初,使用叠加 ping,如果叠加 ping 结果指示存在问题,则使用叠加 traceroute 确定问题存在于路径的哪个段中。

使用叠加 ping 和叠加 traceroute 时,使用散列参数指定有关此数据流中的设备的信息,以便系统可以计算 VXLAN UDP 报头源端口散列,该散列包含在叠加 ping 和叠加 traceroute 数据包的 VXLAN UDP 报头中。借助 VXLAN UDP 报头中包含的计算散列值,叠加 ping 和叠加 traceroute 数据包可以模拟此流中的数据包,从而生成更准确的 ping 和 traceroute 结果。

最佳实践:

使用哈希参数时,建议为每个参数指定一个值。此准则的例外情况是 hash-vlan 参数,如果源端点不是 VLAN 的成员,则不必使用该参数。此做法可确保叠加 ping 和叠加 traceroute 进程成功,并确保每个命令的输出准确无误。如果未为一个或多个散列参数指定值,则系统将发送可能包含不正确散列值的 OAM 请求并生成警告消息。

行动

叠加 Ping

在 VTEP1 上,发起叠加 ping:

叠加跟踪路由

如果需要,在 VTEP1 上启动叠加 traceroute:

意义

示例叠加 ping 输出表明,VTEP1 向 VTEP2 发送了 5 个 ping 请求,但 VTEP2 未响应任何请求。VTEP2 没有响应表示 VTEP1 与第 3 层路由器之间的路径或第 3 层路由器与 VTEP2 之间的路径存在连接问题。

要进一步排除问题所在的路径,可使用叠加 traceroute。示例叠加 traceroute 输出指示以下内容:

  • 收到 TTL 值为 1 跃点的叠加 traceroute 数据包后,第 3 层路由器会响应 VTEP1,表示 VTEP1 与第 3 层路由器之间的路径已开启。

  • VTEP2 不响应叠加 traceroute 数据包,这表示第 3 层路由器与 VTEP2 之间的路径可能已关闭。

注意:

叠加 traceroute 输出的“接收方时间戳”列中的星号 (*) 表示接收叠加 traceroute 数据包的第 3 层路由器不是瞻博网络设备,或者是不支持叠加 traceroute 的瞻博网络设备。

鉴于叠加 traceroute 输出指示第 3 层路由器与 VTEP2 之间存在连接问题,您必须进一步调查此路径段以确定问题的来源。