在网络中,可以累计数据路径的多个端点上的延迟。作为网络管理员,您需要能够监控网络延迟,以诊断和排除网络中的性能瓶颈。

在主机传输节点上,可以计算以下网络延迟统计数据:
  • pNIC 到 vNIC
  • vNIC 到 pNIC
  • vNIC 到 vNIC
  • VTEP 到 VTEP
NSX 中,计算延迟统计数据时以下限制适用:
  • 在数据平面中,仅支持在 ESXi 主机传输节点上计算网络延迟。
  • 不支持 Edge 传输节点。
  • 在 VLAN 分段上,仅当两个 vNIC 属于同一 ESXi 主机上的虚拟机时,才会计算网络延迟。
  • 如果虚拟机连接到不同的分段,则仅当数据流量通过 ESXi 主机传输节点上的分布式路由器 (Distributed Router, DR) 实例进行路由时,才会计算网络延迟。如果数据流量通过 Edge 传输节点上的 DR 实例进行路由,则不会计算网络延迟。
  • 增强型网络堆栈 (Enhanced Networking Stack, ENS) 不支持 vNIC 到 pNIC、pNIC 到 vNIC 以及 vNIC 到 vNIC 延迟。
  • 如果使用合作伙伴服务虚拟机配置东西向网络流量保护,则不支持计算延迟。服务虚拟机 (SVM) 和客户机虚拟机的端口上将禁用延迟监控。
  • 数据处理单元 (DPU) 不支持计算延迟。

您可以将延迟数据导出到外部网络性能监控工具,并对数据运行分析。外部监控工具也称为收集器。通过使用收集器,您可以更好地了解网络、优化网络性能并识别数据路径中导致网络出现重大延迟的端点。

在将主机配置为计算网络延迟统计数据后,主机上的网络操作代理 (netopa) 会定期轮询数据平面。当延迟数据可用时,该代理会按预先配置的时间间隔将数据导出到外部收集器。

注:
  • netopa 代理只能将网络延迟统计数据导出到 vRealize Network Insight (vRNI)。目前,不支持其他收集器工具。
  • 您可以将 ESXi 主机配置为仅使用 NSX REST API 计算网络延迟统计数据。

以下支持列表汇总了各种网络延迟统计数据所支持的传输节点和收集器。

表 1. 支持列表
网络延迟统计数据 NSX 版本开始 支持的传输节点 支持的收集器 注释

VTEP 到 VTEP

2.5

ESXi 主机

vRNI 5.0 或更高版本

pNIC 到 vNIC

vNIC 到 pNIC

vNIC 到 vNIC

3.0

ESXi 主机

vRNI 5.3 或更高版本

NSX 3.0.2 开始,支持将统计信息导出到 vRNI 5.3 或更高版本。

您可以计算独立 ESXi 主机和属于 VMware vCenter 集群一部分的 ESXi 主机的网络延迟统计数据。但是,只能将来自 vCenter 管理的 ESXi 主机的网络延迟统计数据导出到 vRNI。vRNI 不支持从不受 VMware vCenter 管理的独立 ESXi 主机收集延迟统计数据。

pNIC 到 vNIC 和 vNIC 到 pNIC 延迟

在主机传输节点上启用 pNIC 延迟计算后,将为主机传输节点上的每个 vNIC 计算 vNIC 到 pNIC 延迟和 pNIC 到 vNIC 延迟。


此图显示了单个主机上的 pNIC 到 vNIC 和 vNIC 到 pNIC 延迟。

pNIC 到 vNIC 和 vNIC 到 pNIC 延迟统计数据将按以下格式导出到外部收集器:

Endpoint1, Endpoint2, Max, Min, Avg
其中:
  • Endpoint1, Endpoint2 可以是虚拟接口 ID (VIF ID),也可以是 ESXi 主机 (vmnic) 上的物理适配器名称。
  • MaxMinAvg 分别表示两个端点之间的最大、最小和平均延迟值(以微秒为单位)。

vNIC 到 vNIC 延迟

此延迟表示数据包在同一 ESXi 主机或不同 ESXi 主机上从源 vNIC 传输到目标 vNIC 所用的时间。如果 vNIC 位于不同的 ESXi 主机上,则主机之间的覆盖网络隧道中将仅支持 GENEVE 封装协议。


此图显示了同一主机和不同主机上虚拟机之间的 vNIC 到 vNIC 延迟。
vNIC 到 vNIC 网络延迟的计算方式如下:
  • 当 VM1 上的源 VNIC1 与 VM2 上的目标 VNIC2 位于同一主机上时,将计算每个路程的单程延迟,并将其导出到收集器。换言之,将单独计算每次从 VNIC1 到 VNIC2 的延迟和每次从 VNIC2 到 VNIC1 的延迟。
  • 当 VM1 上的源 VNIC1 与 VM2 上的目标 VNIC2 位于不同的主机上时,将计算总往返延迟,并且仅将单个延迟值导出到收集器。如果没有从 VNIC2 到 VNIC1 的返回流量,则不会将网络延迟导出到收集器。
注: NSX 可直接使用 GENEVE 封装数据包中的时间戳计算主机之间的 vNIC 到 vNIC 延迟。您无需在主机上启用 pNIC 延迟计算以及 VTEP 到 VTEP 延迟计算。pNIC 到 vNIC、vNIC 到 pNIC 以及 VTEP 到 VTEP 统计数据与 vNIC 到 vNIC 统计数据无关。

vNIC 到 vNIC 延迟统计数据将按以下格式导出到外部收集器:

VIF1, VIF2, Max, Min, Avg
其中:
  • VIF1, VIF2 表示虚拟接口或 vNIC。
  • MaxMinAvg 分别表示两个 vNIC 之间的最大、最小和平均延迟值(以微秒为单位)。

VTEP 到 VTEP 延迟

此延迟表示数据包从源 VTEP 传输到目标 VTEP 所用的总往返时间。要计算 VTEP 到 VTEP 延迟,您必须在传输区域配置文件中启用延迟。


此图显示了主机之间的 VTEP 到 VTEP 延迟。

要计算 ESXi 主机之间的 VTEP 到 VTEP 延迟,需使用双向流量检测 (BFD) 协议。NSX 可扩展负载中带有时间戳的 BFD 协议,以支持计算 VTEP 之间的延迟。BFD 数据包将在主机之间的每个隧道中按一定的时间间隔定期传输,以计算 VTEP 到 VTEP 延迟。