通过使用流跟踪,您可以将一个数据包注入网络,然后监控该数据包在网络中的传输情况。这样,您就可以监控网络,并找出瓶颈或中断等问题。

通过使用流跟踪,您可以确定数据包到达目标所经过的一个或多个路径,或者反过来沿这些路径查找丢弃数据包的位置。每个实体都会报告输入和输出上的数据包处理,因此您可以确定接收数据包或转发数据包时是否出现问题。

NSX Manager 界面会根据您设置的参数(IP 地址类型、流量类型、源和目标)以图形方式显示跟踪路线。此显示页面还允许您编辑参数、追溯流跟踪或创建新参数。
图 1. 流跟踪示例图

什么是流跟踪?

流跟踪与客户机虚拟机堆栈之间传输的 ping 请求/响应不同。流跟踪观察标记的数据包在通过覆盖网络时的情况,并监控每个数据包通过覆盖网络时的情况,直至其到达目标客户机虚拟机或 Edge 上行链路。请注意,绝不会将注入的标记的数据包实际传输到目标客户机虚拟机。

可以在传输节点上使用流跟踪,它支持 IPv4 和 IPv6 协议,其中包括:ICMP、TCP、UDP、DHCP、DNS 和 ARP/NDP。

流跟踪参数

您可以使用自定义标头字段和数据包大小构造数据包。流跟踪的源或目标可以是逻辑交换机端口、逻辑路由器上行链路端口、CSP 或 DHCP 端口。目标端点可以是 NSX-T 覆盖或底层中的任何设备。不过,您无法选择 NSX Edge 节点北面的目标。目标必须位于相同的子网上,或者必须能够通过 NSX-T 分布式逻辑路由器达到目标。

如果配置了 NSX-T 桥接,则包含未知目标 MAC 地址的数据包将始终发送到网桥。通常,网桥会将这些数据包转发到 VLAN 并将流跟踪数据包报告为“已传送”。报告为“已递送”的数据包不一定表示跟踪数据包已传送到指定的目标。

对于单播流跟踪数据包,您可以在流跟踪观察中观察数据包复制和/或泛洪情况。

  • 如果逻辑交换机不知道要将流跟踪数据包传输到哪个或哪些 TEP,则会复制该数据包。
  • 如果 N-VDS 或 VDS 不知道要将流跟踪数据包传输到哪个或哪些虚拟交换机端口,则该数据包会泛洪。

您可以将多播和广播数据包指定为流跟踪数据包。

  • 对于多播流量,源为虚拟机 vNIC 或逻辑端口,目标为多播 IP 地址。
  • 对于广播流量,源为虚拟机 vNIC 或逻辑端口,第 2 层目标 MAC 地址为 FF:FF:FF:FF:FF:FF。

要为防火墙检测创建有效的数据包,广播流跟踪操作需要子网前缀长度。子网掩码使 NSX-T 可以计算数据包的 IP 网络地址。可以将多播或广播流跟踪数据包传送到多个虚拟机 vNIC 或 Edge 上行链路,从而生成多个传送的观察。