VMware NSX是VMware的网络虚拟化平台,他可以过滤任何在超级管理器中来往的流量。

VMware的方法抽象了物理的零信任安全,同时使用分布式的基于超级管理器属性的网络覆盖。管理员可以在一个集中的关系系统中创建规则,而且强制跨分布式防火墙设备。最终实现集中管理的解决方案,每个超级管理程序可以扩展到两位数的Gpbs。


VMware NSX,则更进一步通过网络提供对计算和存储实现的相同虚拟化功能。

NSX网络虚拟化分vSphare环境下的NSX(NSX-V)和多虚拟化环境下的NSX(NSX-MH),是不同的软件,最新版本分别是6.2.0和4.2.4,这点在部署之前就需要了解。其中,NSX-MH更像原生态的Nicira NVP平台,主要在KVM和Xen之上,基于OVS实现网络虚拟化。

但是,无论使用NSX-V还是NSX-MH,其基本逻辑架构都是相同的,不同点仅为数据平面中的一些组件(如NSX-V中,虚拟交换机为vSphare分布式交换机,而NSX-MH中,虚拟交换机为OVS)。下图为NSX网络虚拟化架构的基本示意图。它建立在底层物理网络之上,在逻辑网络中,分数据平面、控制平面、管理平面。其中数据平面中,又分分布式服务(包括逻辑交换机、逻辑路由器、逻辑防火墙)和NSX网关服务。控制平面的主要组件是NSX控制器。而管理平面的主要组件是NSX Manager。请看下图所示。

NSX技术的浅析_nsx

  • 有了这些组件,NSX可以提供的功能服务如下:

交换:在网络中的任何位置实现大二层交换网络的扩展,而无需考虑底层物理网络。

路由:IP子网之间的路由,可以在逻辑网络中完成,不需要有流量出到物理路由器或三层交换机。这种路由是在虚拟机的Hypervisor层执行的,CPU消耗很小,可为虚拟网络架构内的路由表提供最佳路径。

防火墙:有了这个功能,安全防护就可以在Hypervisor层以及虚拟网卡层面执行。这将能够以可扩展的方式实施防火墙规则,而不会在物理防火墙设备上造成瓶颈。防火墙分布在Hypervisor层之上,只产生极少的CPU开销,并且能够线速执行。

逻辑负载平衡:支持四到七层的负载平衡,并且能够执行SSL端接。

×××服务:可实现二、三层×××服务。

NSX-V的架构,其实非常简单,因为它的逻辑层次非常清晰——管理平面、控制平面、数据平面,每个平面中的组件也不多。

在NSX-V架构中,数据平面是基于VDS搭建的。VDS需要在每一个ESXi的hypervisor上启用,而每一个ESXi主机,都有一个用户空间和一个内核空间(如下图所示)。

NSX技术的浅析_nsx_02

我们通过将VMware Installation Bundles(VIBs)安装到ESXi主机hypervisor的内核空间,以实现NSX-V的各种功能——分布式交换和路由、分布式防火墙和VXLAN的封装与解封装。

而用户空间,则是用于与控制平面、管理平面提供通讯路径的组件;

在VMware NSX平台中,我们使用VETP代理工作机制,负责将VXLAN流量从本地子网传输到另一个子网。而传输区域(Transport Zone)则是VNI的可配置的边界。相同传输区域中的vSphere集群,使用了相同的VNI,一个传输区域可以包含不同vSphere集群中的ESXi主机,当然,一个vSphere集群也可以是不同传输区域的一部分。传输区域会告知主机或集群逻辑交换机被创建。

在传统物理网络中,对于同一个主机内的一个Web服务器与App服务器的通信,由于他们处在不同网段,需要三层交换机来处理它们之间的流量,因此,流量在出主机后需要经过ToR二层交换机去往核心交换机,再回到二层交换机并重新进入主机,需要4跳连接。当然,如果ToR交换机开启了三层功能,通信则只需要2跳。而在NSX环境中,由于我们直接在主机的hypervisor层面实现了三层功能,因此,Web服务器与App服务器是直连的,它们之间的通信连接是0跳,如下图所示。值得注意的是,无论NSX-V还是NSX-MH环境,就流量的跳数问题上,达成的效果都是一致的。


2016年5月,VMware悄无声息地对NSX的多hypervisor版本进行了重大更新,推出NSX-T取代NSX-MH。NSX网络虚拟化软件的多hypervisor版本支持KVM、ESXi、Xen hypervisor,这是VMware在2012年收购Nicira及其网络虚拟化平台后在网络虚拟化领域的又一次大动作。 然而,由于NSX-T提供了很多新功能,升级NSX-MH不是简单地本地更新。相反,可能会牵涉到完全重新安装整个产品,用户需要花更多的费用、精力做出技术调整以适应现有环境。


VMware nsx-t旨在解决新兴应用框架和体系结构,异构终端和技术堆栈。除了这些环境的,也可能包括其他的虚拟机管理程序,容器,裸机和公共云。nsx-t允许开发团队选择最适合其特定的应用技术。nsx-t也设计用于管理,IT运营和扩展。


NSX-T 一些关键架构重点包括以下内容:

管理平面:nsx-t管理平面用先进的集群技术设计,使平台能够处理大规模并发API请求。

控制平面:nsx-t控制平面跟踪实时虚拟网络和系统的安全状态。nsx-t控制平面分离控制平面为中心的集群控制平面(CCP)和局部控制平面(LCP)。这大大简化了CCP的工作,使平台能够扩展异构端点。

数据平面的nsx-t:数据平面不依赖于vSwitch,所有的创建,读取,更新和删除(CRUD)操作是通过nsx-t来执行。

备注:NSX-T里面的交换机不同于-V的VDS。VDS的创建、读取、更新和删除都是vCenter进行控制的,-T里面这种功能会移到NSX Mananger来做,包括配置uplink teaming策略和定义QoS等等。所以才能够实现与vSphere的解耦合。分布式路由、分布式防火墙、、NAT、DHCP都在-T集成。


NSX技术的浅析_nsx_03

多租户路由模型

nsx-t支持多层次的路由器功能之间的逻辑分离的路由模型(已知在NSX作为Tier0路由器)和租户路由器的功能(称为一级路由器的NSX)。Tier0逻辑路由器,路由层可由云提供商控制,能够窥视与物理基础设施。

这一逻辑路由器,云租户提供了路由层,可以通过GUI API /每租户和附属于Tier0路由器配置。

nsx-t实例化的hypervisor分布式路由器的路由可优化多层次的东西。


在异构环境中,nsx-t具有一致的操作、监视界面,还有管理和故障排除、复杂环境的异构基础设施运行操作工具箱。nsx-t有端口连接检测和Traceflow,帮助用户跟踪连接虚拟和物理设备。


NSX技术的浅析_nsx_04

NSX的REST API是强大的,是一个开放的规范,可以融合各种语言和绑定相应的插件,包括与CMP整合,也包括OpenStack。

NSX OpenStack插件可供开发建立和维护多租户云服务开发。

NSX边缘节点提供极端的网关和服务性能,使用创新的英特尔DPDK技术。

NSX-T是与vCenter无关的,可以对接其他不同的PaaS平台。