每个主机传输节点是一个隧道端点。每个隧道端点具有一个 IP 地址。这些 IP 地址可以位于同一子网中,也可以位于不同的子网中,具体取决于传输节点的 IP 池或 DHCP 配置。

在不同主机上的两个虚拟机直接通信时,将在与两个 Hypervisor 关联的两个隧道端点 IP 地址之间传输单播封装流量,而无需进行泛洪。

不过,与任何第 2 层网络一样,虚拟机发出的流量有时需要进行泛洪,这意味着需要将其发送到属于同一逻辑交换机的所有其他虚拟机。第 2 层广播、未知单播和多播流量(BUM 流量)就属于这种情况。回想一下,单个 NSX 逻辑交换机可以跨多个 Hypervisor。需要将给定 Hypervisor 上的虚拟机发出的 BUM 流量复制到远程 Hypervisor,这些 Hypervisor 托管连接到同一逻辑交换机的其他虚拟机。要启用这种泛洪,NSX 支持两种不同的复制模式:

• 分层双层(有时称为 MTEP)

• 头(有时称为源)

以下示例说明了分层式双层复制模式。假设主机 A 具有连接到虚拟网络标识符 (VNI) 5000、5001 和 5002 的虚拟机。请将 VNI 视为与 VLAN 类似,但每个逻辑交换机具有单个关联的 VNI。因此,有时可以将术语 VNI 和逻辑交换机换用。在我们说到主机位于 VNI 上时,我们的意思是主机的虚拟机连接到具有该 VNI 的逻辑交换机。

隧道端点表显示主机到 VNI 的连接。主机 A 检查 VNI 5000 的隧道端点表,并确定 VNI 5000 上的其他主机的隧道端点 IP 地址。

其中的一些 VNI 连接位于与主机 A 上的隧道端点相同的 IP 子网(也称为 IP 分段)上。对于其中的每个连接,主机 A 创建每个 BUM 帧的单独副本,并将该副本直接发送到每个主机。

其他主机的隧道端点位于不同的子网或 IP 分段上。对于具有多个隧道端点的每个分段,主机 A 将其中的一个端点提名为复制程序。

复制程序从主机 A 中接收 VNI 5000 的每个 BUM 帧的一个副本。该副本在封装标头中标记为本地复制。主机 A 不会将副本发送到与复制程序相同的 IP 分段中的其他主机。由复制程序负责为它了解的每个主机(位于 VNI 5000 上与复制程序主机相同的 IP 分段中)创建 BUM 帧副本。

将为 VNI 5001 和 5002 重复该过程。对于不同的 VNI,隧道端点列表和产生的复制程序可能是不同的。

头复制也称为头端复制,这种复制没有复制程序。主机 A 直接为 VNI 5000 上它了解的每个隧道端点创建每个 BUM 帧的副本并发送该副本。

如果所有主机隧道端点位于同一子网上,选择复制模式不会产生任何差异,因为这些行为是相同的。如果主机隧道端点位于不同的子网上,分层式双层复制有助于在多个主机之间分摊负载。分层双层是默认模式。