可以使用 RabbitMQ 消息总线在 vsfwd(RMQ 客户端)和 NSX Manager 上托管的 RMQ 服务器进程之间通信。NSX Manager 使用该消息总线将各种信息发送到 ESXi 主机,包括需要在内核中的分布式防火墙上写入的策略规则。

NSX 分布式防火墙是嵌入在管理程序内核中的防火墙,可以查看和控制虚拟化的工作负载和网络。您可以根据 VMware vCenter 对象(如数据中心和群集)、虚拟机名称和标记、网络结构(如 IP/VLAN/VXLAN 地址)以及 Active Directory 中的用户组标识创建访问控制策略。现在,在通过 vMotion 在不同物理主机之间移动虚拟机时,将会强制实施一致的访问控制策略,而无需重写防火墙规则。由于分布式防火墙嵌入在管理程序中,它可以提供接近线路速率的吞吐量,从而在物理服务器上支持更高的工作负载整合。防火墙的分布式特性使架构具有向外扩展性,可在向数据中心添加更多主机时自动扩展防火墙功能。

ESXi 主机上的 NSX Manager Web 应用程序和 NSX 组件通过 RabbitMQ 代理进程相互通信,该进程在与 NSX Manager Web 应用程序相同的虚拟机上运行。使用的通信协议为 AMQP(高级消息队列协议),并使用 SSL 保护通道安全。在 ESXi 主机上,VSFWD(vShield 防火墙守护程序)进程建立并维护到代理的 SSL 连接,并代表其他组件发送和接收消息,这些组件通过 IPC 与其进行通信。

图 1. ESXi 主机用户和内核空间图