IP 发现使用 DHCP 和 DHCPv6 侦听、地址解析协议 (Address Resolution Protocol, ARP) 侦听、邻居发现 (Neighbor Discovery, ND) 侦听和 VMware Tools 来学习 MAC 和 IP 地址。

注: IPv6 的 IP 发现方法在默认 IP 发现分段配置文件中处于禁用状态。要为分段启用 IPv6 的 IP 发现,必须创建一个启用了 IPv6 选项的 IP 发现配置文件,并将该配置文件连接到分段。此外,请确保分布式防火墙允许所有工作负载之间的 IPv6 邻居发现数据包(默认情况下允许)。

已发现的 MAC 和 IP 地址用于实现 ARP/ND 抑制,以最大限度地减少连接到同一分段的虚拟机之间的流量。ARP/ND 抑制缓存中任何给定端口的 IP 数量由端口 IP 发现配置文件中的设置决定。相关设置包括 ARP 绑定限制、ND 侦听限制、重复的 IP 检测、ARP ND 绑定限制超时以及首次使用时信任 (Trust on First Use, TOFU)。

发现的 MAC 和 IP 地址也供 SpoofGuard 和分布式防火墙 (Distributed Firewall, DFW) 组件使用。DFW 使用地址绑定来确定防火墙规则中的对象的 IP 地址。

DHCP/DHCPv6 侦听检查在 DHCP/DHCPv6 客户端和服务器之间交换的 DHCP/DHCPv6 数据包以学习 IP 和 MAC 地址。

ARP 侦听检查虚拟机的出站 ARP 和 GARP(免费 ARP)数据包以学习 IP 和 MAC 地址。

VMware Tools 是一个在 ESXi 托管的虚拟机上运行的软件,可以提供该虚拟机的配置信息,包括 MAC 和 IP 或 IPv6 地址。该 IP 发现方法仅适用于在 ESXi 主机上运行的虚拟机。

ND 侦听相当于 IPv6 的 ARP 侦听。它会检查邻居请求 (NS) 和邻居通告 (NA) 消息,以学习 IP 和 MAC 地址。

重复地址检测会检查新发现的 IP 地址是否已存在于不同端口的已实现绑定列表中。对同一分段上的端口执行此检查。如果检测到重复地址,则新发现的地址会添加到已发现列表中,而不会将其添加到已实现绑定列表中。所有重复 IP 都有关联的发现时间戳。如果通过将已实现绑定列表上的 IP 添加到忽略绑定列表或者禁用侦听移除该 IP,那么会将具有最早时间戳的重复 IP 移动到已实现绑定列表。通过 API 调用可获得重复地址信息。

默认情况下,发现方法 ARP 侦听和 ND 侦听在“首次使用时信任 (Trust on First Use, TOFU)”模式下运行。在 TOFU 模式中,当发现一个地址并将其添加到已实现绑定列表中时,该绑定将永久保留在已实现列表中。TOFU 会应用到使用 ARP/ND 侦听发现的前“n”个唯一 <IP, MAC, VLAN> 绑定,其中“n”是您可以配置的绑定限制。对于 ARP/ND 侦听,您可以禁用 TOFU。然后,这些方法将在“每次使用时信任”(Trust On Every Use, TOEU) 模式下运行。在 TOEU 模式下,如果发现一个地址,则会将该地址添加到已实现绑定列表中,当该地址被删除或过期时,将从已实现的绑定列表中将其移除。DHCP 侦听和 VM Tools 始终在 TOEU 模式下运行。

注: TOFU 与 SpoofGuard 不同,它不会以与 SpoofGuard 相同的方式来阻止流量。有关详细信息,请参见 了解 SpoofGuard 分段配置文件

对于 Linux 虚拟机,ARP 不稳定问题可能会导致 ARP 侦听获取不正确的信息。可以使用 ARP 筛选器防止该问题。有关详细信息,请参见 http://linux-ip.net/html/ether-arp.html#ether-arp-flux

对于每个端口,NSX Manager 都会维护一个忽略绑定列表,其中包含无法绑定到该端口的 IP 地址。如果您在管理器模式下导航到网络 > 逻辑交换机 > 端口并选择一个端口,则可以将已发现的绑定添加到“忽略绑定”列表中。您也可以通过将现有已发现或已实现绑定复制到忽略绑定来删除这些绑定。