SDN VMware NSX网络原理与实践-NSX 网络虚拟化概览【1.4】

2.1.3 NSX 解决方案概览

        NSX 网络虚拟化分为 vSphere 环境下的 NSX(NSX-V)和多虚拟化环境下的 NSX (NSX-MH)。它们是不同的软件,最新版本(2016 年 3 月 3 日更新) 分别是 6.2.2 和 4.2.5。 这点在部署之前就需要了解,以避免错误部署。之后会分别详细讨论这两种不同环境下部署 的 NSX 网络虚拟化平台。

        无论使用 NSX-V 还是 NSX-MH,其基本逻辑架构都是相同的,不同点仅体现在安装 软件和部署方式、配置界面, 以及数据平面中的一些组件上(NSX-V 中的虚拟交换机为 vSphere 分布式交换机,而 NSX-MH 中的虚拟交换机为 OVS)。图 2.4 是 NSX 网络虚拟化 架构的基本示意图,它分为数据平面、控制平面(这两个平台的分离,与第 1 章提到的 SDN架构完全吻合)、管理平面。其中数据平面中,又分分布式服务(包括逻辑交换机、逻辑路 由器、逻辑防火墙)和 NSX 网关服务。控制平面的主要组件是 NSX Controller(还会包含 DLR Control VM),而管理平面的主要组件是 NSX Manager(还会包含 vCenter)。

        下面简单说明一下各个组件(后续章节会进行更具体的分析)。 NSX 数据平面主要由 NSX 虚拟交换机组成。虚拟机交换机基于 vSphere 中的分布式交换 机(VDS),或基于非 VMware 虚拟化环境中的 OVS(Open vSwitch)。通过将内核模块(VIB) 安装在 Hypervisor 之上,实现 VXLAN、分布式路由、分布式防火墙等服务。

        这里的 NSX 虚拟交换机可以对物理网络进行抽象化处理并直接在 Hypervisor 层之上提供 交换、路由、防火墙功能。这样能获得哪些好处呢?首先, NSX 虚拟交换机有了一个统一的 配置界面。此外, NSX 虚拟交换机利用 VXLAN 或 STT 协议实现 Overlay 功能,在现有物理 网络之上创建一个与之解耦的独立虚拟网络,容易部署和维护。 而这个虚拟网络和以前我们所 熟悉的网络架构并不一样—传统的网络,不同 VLAN 之间地址是不能重复、冲突的,而运 行在 Overlay 之上的虚拟网络,允许不同租户使用相同的网关或 IP 地址,同时保持隔离。 NSX 虚拟交换机连接的虚拟机是独立于虚拟网络的,并且就像连接到物理网络一样运行,新创建的 虚拟交换机可以有效进行配置备份和还原,而它在连接虚拟机时还能实现 QoS 和链路聚合等 诸多功能。

        NSX 虚拟交换机还有利于实现大规模扩展,而端口镜像、 NetFlow、网络运行状况 检查等多种功能可以在虚拟网络内进行全面的流量管理、监控和故障排除。 数据平面还包含边界网关设备,它可以作为虚拟网络和物理网络进行通信的网关。这种设 备通常是 NSX Edge(NSX-V 中)或二/三层网关(NSX-MH 中),它以虚拟服务的形式注册到NSX Manager, 在虚拟网络与外界通信时, VXLAN 到 VLAN 的转换无论发生在二层网络(桥 接时)还是三层网络(路由), 都可以由边界网关来进行处理。 Edge、二/三层网关除了处理南 北向流量外,也提供了类似 NFV 的一些功能,如实现 NAT、 VPN、负载均衡等。 NSX 控制平面中的主要组件是 NSX Controller。它仍然是以虚拟机的形式安装,并以虚拟 服务的形式与 NSX Manager 集成。 NSX Controller 在虚拟网络内部,可以看作是数据平面的控 制单元。 它与数据平面之间不会有任何数据流量的传递,只会将信令发布给数据平面,再由数 据平面进行工作。 因此 NSX Controller 发生任何故障都不会对数据平面的流量造成影响(其实 这种故障也不常见,因为 NSX Controller 一般都是冗余部署的)。而对外(物理网络), NSX Controller 可以使用 OVSDB 和 OpenFlow 协议,作为物理网络的 SDN 控制器,但是 VMware 尚未针对这个功能提供官方的图形化配置界面,因此要实现这个功能,需要开发人员在 API 之上通过编程来实现。 目前 Arista Networks 和 Brocade 两家物理硬件网络厂商的研发人员通过 再开发,实现了其网络设备可以交由 NSX Controller 控制。 除了 NSX Controller,控制平面中的其他组件还包括 DLR Controller VM,用来处理三 层路由协议的控制。         NSX 管理平面中的主要组件是 NSX Manager, 可以通过 NSX Manager 提供的 Web 界 面配置和管理整个 NSX 网络虚拟化环境的所有组件。 NSX Manager 提供的 REST API 可以 为 VMware 高级云管理平台或第三方云管理平台( CMS/CMP)提供接口。 OpenStack 同样 可以在这里与 NSX Manager 集成,使得 NSX 与 OpenStack 实现融合。 有了这些组件,我们不难看出, NSX 可以提供如下网络服务( 见图 2.5)。

 交换:在物理网络中的任何位置实现大二层交换网络的扩展,而无需关心底层物理网络架构。
 路由: IP 子网之间的路由,可以完全在逻辑网络中完成。由于三层网关由 NSX
Controller 控制并下发至所有 Hypervisor,因此流量无需经过物理路由器或三层交换机。 NSX 网络虚拟化环境中的路由是在 Hypervisor 层通过分布式的方式执行的,每台 ESXi 主机的 CPU 消耗很小,可为虚拟网络架构内的路由表提供最佳路径。
 防火墙: 安全防护可以在 Hypervisor 层以及虚拟网卡层面执行。 它使用可扩展的方式实施防火墙规则,而不会像传统部署中在物理防火墙设备上形成流量的瓶颈。 NSX防火墙分布式基于 Hypervisor 内核,只产生极少的 CPU 开销,并且能够线速执行。
 逻辑负载均衡:支持四到七层的负载均衡服务。
 VPN 服务:可实现二、三层 VPN 服务和 SSL VPN。
 物理网络连接: NSX Edge(或网关) 提供虚拟网络到物理网络的二层桥接或三层路由功能。
        有了 NSX 网络虚拟化解决方案, VMware 进一步完善了软件定义数据中心(Software Defined Data Center, SDDC) 解决方案,即在数据中心中同时满足软件定义网络、软件定义计 算、软件定义存储,并实现应用交付的自动化、新旧应用的快速创建和删除,如图 2.6 所示。 SDDC 解决方案的核心是让客户以更小的代价来获得更灵活的、快速的业务部署、运维和管理。

        SDDC 是相对于传统的硬件定义数据中心(HDDC)提出的。由于没有任何一家 IT 厂商
可以提供底层网络、存储、 x86 服务器平台与虚拟化软件的全套产品, 对不同厂商的产品,也
没有一个统一的管理界面,因此传统的 HDDC 解决方案的效率比较差—IT 管理人员需要一
一登录到不同设备中进行特殊的、差异化的配置。这样的模式不仅部署和运维的效率较低,而
且根本无法实现自动化。而 SDDC 的核心理念就是通过一套单一的数据中心管理软件,可以在
任何 x86 平台、存储平台、网络平台之上,实现高效地部署和运维,最终实现数据中心自动化。

        尽管 VMware 并不生产物理硬件,但对于数据中心的底层功能而言,其在 SDDC 拥有 全套解决方案—软件定义网络(NSX)、软件定义计算(vSphere)、软件定义存储(VSAN)。 该解决方案无需绑定任何物理硬件厂商设备,即可实现数据中心自动化。 VMware 还有针 对 SDDC 统一部署和管理的云管理平台。 2.1.4 NSX 网络虚拟化应用场景 NSX 网络虚拟化平台,适用于所有不同类型的行业中的各种客户。

          对于政府和国企用户,由于其网络设备购买方式往往是集中采购,导致每年不同 项目的网络设备的品牌可能都不相同,而 IT 管理人员也希望这些不同品牌的网络 设备搭建的复杂的大规模网络能够易于维护。 NSX 网络虚拟化平台独立于物理网 络之上,提供了一套逻辑网络, 它不关心底层架构,只要底层网络互通, IT 管理 人员就可以针对不同应用便捷地创建和删除逻辑网络,使得 IT 底层架构更加灵活。  对于医疗和教育行业,它们的数据中心往往会分布在不同院区或校区, NSX 网络 虚拟化平台可以跨越不同数据中心实现一套单一的逻辑网络。

          对于金融和证券行业,它们同样有异地数据中心的需求。 此外,它们对安全的要 求会更高。 NSX 基于微分段的分布式防火墙可以帮助这些对安全有着更高要求的 用户实现数据中心内部不同应用和业务资源池的精细化安全控制。该行业客户都 需要满足各自上级的合规性监管要求,需要可追溯和审计,甚至实时把控其流量 和交易的具体信息。该行业的一些应用, 如在线交易系统,对流量的延迟、抖动 都非常敏感。 NSX 网络虚拟化平台通过 Hypervisor 之上的分布式路由、防火墙、 负载均衡服务,可以大幅优化流量路径,有效解决了延迟、抖动等问题。

         对于电信运营商,除了异地数据中心的需求和需要实现高灵活性、高可扩展性外, 往往还需要实现多租户。 NSX 基于主机的 Overlay 技术,可以创建多个独立的逻 辑网络,有效解决了多租户问题。

         对于 OTT 和互联网行业,业务需要极快的上线、下线速度。 NSX 网络虚拟化平台可 以像在 vSphere 中创建和删除虚拟机一样, 针对新旧业务快速创建和删除逻辑网络, 实现完全自动化的计算资源池。此外,该行业对异地数据中心、安全性和可扩展性也 有很高的要求,而这些都是 NSX 网络虚拟化平台所擅长的。  对于制造业或设计公司,为了安全起见,其研发、测试、生产环境往往需要在物 理上进行隔离,而研发并成功通过测试的产品,需要快速投放到生产网络中。在 以往,这些研发和测试往往需要在独立的网络中进行,导致将产品迁移到生产环 境的过程繁琐而漫长。 NSX 网络虚拟化平台可以创建完全隔离的逻辑网络供研发 和测试使用,并在研发和测试成功后,通过去除微分段的安全策略和重新关联子网,无缝切换到生产环境。此外,设计公司往往会使用桌面虚拟化解决方案,而 在以往,虚拟桌面之间(尤其是同一网段内的虚拟桌面)可能并没有有效的安全 防护措施。 NSX 基于微分段技术的分布式防火墙可以完美地解决这个问题。  对于一般企业,还可能产生公司并购、合并的问题,而合并后的公司网络由于合 并之前存在架构差异,就算路由可以互通, 也可能产生流量不优化的问题。 NSX 网络虚拟化平台独立于物理网络, 可以帮助这种类型的公司解决物理网络的路由 难题。 此外, 一般的企业都会面临灵活性、安全性等问题, NSX 网络虚拟化平台 都可以帮助这些企业解决这些难题。 一句话总结 NSX 网络虚拟化平台的应用场景:当企业的网络需要实现高灵活性、 高安 全性、自动化和业务连续性的时候, NSX 网络虚拟化平台就是极佳的解决方案。这些技术 的实现方法,在本书都会有详细阐述。

2.2 当前主流的 Overlay 隧道技术

        目前,市面上除了 VMware 外, Cisco 和 Microsoft 等公司都能提供网络虚拟化解决方 案。 在介绍其网络虚拟化解决方案并进行对比之前,需要先讨论一下现在的网络虚拟化使 用的 Overlay 技术分为哪几种。经各大厂商努力,已经有三种 Overlay 技术成形,即 VXLAN、 NVGRE、 STT。

2.2.1 VXLAN 技术

        首先讨论 VXLAN。 VXLAN 是 Virtal Extensible LAN(虚拟可扩展局域网)的缩写。 它是为了解决前文提到的数据中心的三个问题,由 Cisco、 VMware、 Broadcom 这几家行业 内的巨头,外加快速窜红的新兴网络设备公司 Arista Networks 联合向 IETF 提出的。 它能 将通过 OTV、 TRILL、 FabricPath 等技术实现的二层网络扩展得更大。 VXLAN 的核心技术理念是对现有标签技术进行彻底的改变,以优化 VLAN 的缺陷。其 实 Cisco 之前提出的 OTV 协议已经使用了类似的技术—通过隧道机制,在使用了 IS-IS 协 议的三层网络之上,叠加一个二层的虚拟网络,从而绕过 VLAN 标签的限制。 而 VXLAN 则 更进一步,它是将以太网报文封装在 UDP 传输层上的一种隧道转发模式。

         VXLAN 定义了一个名为 VTEP(VXLAN Tunnel End Point, VXLAN 隧道终结点)的 实体。 VTEP 对数据包的封装可以在虚拟交换机上完成,也可以在物理交换机上完成。 它 会将数据在出服务器(主要是虚拟机,其实也可以是物理服务器)时封装到 UDP 中再发送 到网络,在传输过程中这台服务器的 MAC 地址、 IP 地址、 VLAN 信息等,都不会再作为 转发依据。如果 VTEP 功能直接集成到虚拟机的 Hypervisor 内,那么所有虚拟机流量在进入 物理交换机之前, 就可以在虚拟交换机所在的 Hypervisor 之上打上 VXLAN 标签和 UDP 包头,相当于在任意两点间建立了隧道。因此, VXLAN 技术更适合虚拟化环境,且更应该把 VTEP 功能集成到服务器的虚拟交换系统内—如果 VTEP 在物理交换机上实现,那么物理 交换机与虚拟交换机通信时,需要执行一次 VXLAN-VLAN 的转换,这样效率并不高。

        由于虚拟机本身的 VLAN 信息对外已不可见, VXLAN 添加了一个新的标签 VNI(VXLAN Network Identifier, VXLAN 标识符)。 VNI 取代 VLAN 用来标识 VXLAN 的网段,只有拥有相 同的 VNI,即在同一个 VXLAN 里的虚拟机才能实现二层通信,它类似于 VLAN ID 的作用。 VNI 是一个 24 比特的二进制标识符,把 VLAN 的 4096(2 的 12 次方)做了一个级数级别的扩展, 达到了 16777216(2 的 24 次方)个网段,就目前超大规模数据中心而言,暂时是绰绰有余了。

        新的 UDP 包头意味着 VNI 有新的帧结构。 VTEP 收到数据包时,会在这个数据包上增 加 4 个部分,以形成新的帧头。如图 2.7 所示,这个新的帧头从内而外分别是 VXLAN 头 部、 UDP 头部、外部三层 IP 头部、外部二层 MAC 头部。

        VXLAN 头部的作用是携带 VTEP 分配的 VNI 标识符。 UDP 头部是一个标准的 UDP 头部,包含了源目端口号,其中源端口号是 VXLAN 通过将原始以太网数据头部(MAC、 IP、 四层端口号等) 进行哈希后得出的值,这样就能提供更好的负载均衡、更好的等价多 路径;而目的端口尚未从 IANA 申请固定端口号。外部三层 IP 头部已不再是虚拟机的通信 地址,而是隧道两端 VTEP 的通信地址—如果虚拟机的 Hypervisor 直接承担 VTEP 的工 作,那么这个地址就是两台服务器的物理网卡 IP 地址。外部二层 MAC 头部与虚拟机原本 自带的 MAC 地址已经没有任何关系了。 有了新的帧头, VTEP 就可以依照 VNI 来决定流量走向,在整网的物理交换环境内完 成数据转发。转发过程中,新的包头只有到达了目的地才会被对端的 VTEP 终结掉,这就 意味着, VXLAN 数据包在转发过程中保持了内部数据的完整性。这种数据转发机制叫做 隧道机制—即链路两端有一对用于隧道封装的设备,类似 IPSec VPN,其好处是可以减少对现网拓扑的改动,且方便网络在改动时实现快速收敛。

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值