1、目录 序言 2 1. VMware NSX网络虚拟化解决方案简介 2 1.1 VMware服务器虚拟化的前世今生 2 1.2 服务器虚拟化的优势移植到了网络虚拟化 8 1.3 NSX解决方案概览 10 1.4 NSX网络虚拟化应用场景 14 2. 当前主流的Overlay隧道技术 16 2.1 VXLAN技术 16 2.2 NVGRE技术 18 2.3 STT技术 18 2.4 三种Overlay技术的对比和应用场景 19 2.5 下一代Overlay技术——Geneve 20 3. 各厂商的网络虚拟化解决方案 22 3.1 Cisco ACI解决方案 22 3.
2、2 在MicrosoftHyper-V中实现网络虚拟化 24 3.3 JuniperContrail解决方案 25 3.4 各厂商网络虚拟化解决方案的比较 26 4. 与VMwareNSX相关的认证 28 4.1 VMware认证体系简介 28 4.2 与NSX相关的VMware认证与考试 30 总结 31 序言 网络虚拟化技术诞生后,有不少厂商都推出了所谓的网络虚拟化解决方案。这些厂商实现“网络虚拟化”的方式各异,有些是自己研发的项目,有些是通过收购,有些是利用开源项目进行再开发。而VMware NSX网络虚拟化平台的基本架构到底是怎样的,它与别的厂家有哪些不同?这些问题
3、会在本章进行探讨。 1. VMware NSX网络虚拟化解决方案简介 尽管VMware NSX网络虚拟化平台是通过收购Nicira而获得的,但是在收购一年多时间之后,NSX才正式发布。在这一年多时间里,VMware的研发人员与前Nicira的极客们一起通力合作,将VMware服务器虚拟化平台与Nicira网络虚拟化平台进行了融合,我们现在会发现NSX架构和技术细节(尤其是用于vSphere平台的NSX-V),其实与早期的Nicira NVP平台还是有很大区别,它增加了很多VMware的基因在里面。 本节在介绍VMware NSX的一些功能和特性之前,还简单介绍了虚拟化技术以及VMware
4、公司诞生和发展的历史,这些都是值得去了解的故事。 IT行业已经直接从服务器虚拟化中获得了显著好处。服务器虚拟化解决方案降低了物理硬件的复杂性,提高了运营效率,带来了更好的安全性和冗余性,并且能够动态地重新调整底层资源的用途,以便以最佳方式快速满足日益动态化的业务应用需求。除此之外,服务器虚拟化还能节省机房空间,节省用电和制冷成本。 VMware NSX网络虚拟化技术与VMware一直致力推动的服务器虚拟化技术,究竟有什么联系,有哪些类似的地方?读者可以在这一节找到答案。本节会介绍NSX基本架构和基本组件。 1.1 VMware服务器虚拟化的前世今生 介绍VMware网络虚拟化之前,不得
5、不先提VMware服务器虚拟化的发展历史和一些功能特性,因为NSX的很多设计思路和理念,都像极了已经深入人心的服务器虚拟化解决方案。有很多读者可能近几年才接触到服务器虚拟化,其实早在1959年,计算机科学家克里斯托弗· 斯特雷奇(Christopher Strachey)就发表了一篇名为Time Sharing in Large Fast Computers(大型高速计算机中的时间共享)的学术报告。在该报告中,他第一次提出了虚拟化的概念,即使用“时间共享”技术,使多操作系统可以运行在一台计算机之上。但是在当时,他的思想太超前了,计算机也完全没有普及,实现其想法也就困难重重。在相当长的时间内,虚
6、拟化只能作为一个概念存在于新兴的计算机学世界里。 随着科技的发展,大型机出现了,但是它的价格非常昂贵,如何有效利用之成了一个难题。伟大的IT公司IBM基于斯特雷奇的理论,开发了最早的虚拟机技术,允许在一台IBM大型机上运行多个操作系统,让用户尽可能地充分利用和共享昂贵的大型机资源。 20世纪七、八十年代,虚拟化技术进入低谷期——因为随着大规模集成电路的出现,计算机硬件变得越来越便宜,需要增加操作系统时,人们往往选择再购买一台计算机。当初为了共享昂贵的大型机资源而设计的虚拟化技术就无人问津了。 虚拟化技术在20世纪90年代末期迎来复兴。随着x86计算机的普及、CPU的处理能力越来越强、内存
7、容量越来越大,新的基于x86平台的虚拟化技术诞生了,其主要目的是充分利用x86计算机的闲置资源。1998年成立的VMware公司于1999年最早正式发布了基于x86计算机的虚拟化软件,虽然VMware虚拟化技术在刚刚推出时并没有引起轰动,但是为之后的IT变革埋下了伏笔——基于x86计算机的虚拟化技术的飞速发展,使得计算资源可以实现池化,进而催生了之后的云计算。 1997年,斯坦福大学的蒙德尔·罗森布洛姆(Mendel Rosenblum)、艾德瓦德·巴格宁(Edouard Bugnion)和斯科特·迪瓦恩(ScottDevine)三人,在ACM SOSP(Symposiumon Operat
8、ing Systems Principles,计算机操作系统研究领域的旗舰会议)上发表了著名论文Disco: Running Commodity OperatingSystems on Scalable Multiprocessors。Disco其实就是他们在斯坦福大学里的一项科研课题,即在x86计算机之上同时运行多个多操作系统,这也是现代虚拟化技术的开山之作。一年之后,罗森布洛姆在加州大学伯克利分校求学时相识的妻子戴安娜·格林(DianeGreene)也加入了他们的团队(夫妇俩的照片见图2.1),加上一名华裔青年爱德华·王(EdwardWang),他们五人在美国加州的Palo Alto市创立
9、了这家之后在IT界扬名立万的VMware公司。VMware公司的名字是Virtual Machine Software的缩写,公司名字彰显了它从成立之初就一直在坚持的事情——致力于推动虚拟机软件的发展。如今,罗森布洛姆夫妇分别是斯坦福大学教授和Google董事会成员。值得一提的是,巴格宁后来还成为了Cisco UCS之父。 图2.1 戴安娜·格林与蒙德尔·罗森布洛姆 1999年5月,具有划时代意义的VMwareWorkstation产品被这群具有创新精神的年轻人研发出来了。这是业内第一款基于x86平台的虚拟化软件,它允许在一台x86计算机上同时运行多个操作系统,安装环境是Windows
10、98/NT 4.0。2001年,专门用于x86服务器的虚拟化软件VMware ESX Server正式发布,它无需Windows操作系统,而是直接运行在计算机底层。ESX(现在叫做ESXi)这个一直沿用到今天的VMware服务器虚拟化软件内核程序(Hypervisor),是当时VMware实验室里的研发代号Elastic Sky X的缩写。2003年,vCenter发布,它允许多台物理计算机上的所有虚拟机被同一个集中式的管理平面来管理,且可以利用同时发布的vMotion技术在不同物理机之间实现迁移。2004年,这家成立不到6年的年轻公司,被存储巨头EMC公司斥资6.35亿美金收购。今天,VMw
11、are的市值较EMC收购时翻了近100倍,有人不禁感慨:如果晚几年再卖掉,能卖多少钱?如果不卖,现在的VMware又可能是什么样子? 在VMware被EMC收购后,EMC并没有将其并入自己的一个业务部门,或融入自己的产品和解决方案中,而是任由其独立发展,其目的可能是为了2007年的VMware拆分上市——一旦并入EMC的一个部门中,就无法上市了。就结果而言,VMware因为独立发展,势头非常良好。随着CPU和内存的能力不断提升、应用越来越多,市场对虚拟化的需求量也越来越大——企业自然不希望闲置的CPU和内存不能被有效利用,而且通过购买更少的服务器,安装虚拟化软件,还能有效节省物理服务器的采购
12、成本,节省机房空间、用电和制冷成本。VMware将自己的虚拟化软件以每个物理CPU需要一个license的形式卖给客户,从中取了利润,加上上市和融资,VMware有了更多资金,可以不断完善自己解决方案中的功能。 2008年,Microsoft公司和Citrix公司也开始推出自己的虚拟化软件,其中Citrix公司通过收购得到了开源的Xen虚拟化系统的核心技术,而另外一款基于开源代码的KVM虚拟化系统也开始兴起。服务器虚拟化技术蓬勃发展,理念已深入人心,越来越多的企业近几年运用各种虚拟化解决方案来实现P2V,即将物理服务器迁移至虚拟化环境。 有竞争对手的市场总比垄断要好,竞争促使VMware公
13、司研发新的解决方案。如今,VMware不断更新服务器虚拟化的功能,在vSphere 5.5版本中,VMware加入了存储的DRS和存储的I/O控制等功能;在vSphere6.0版本发布之后,跨越vCenter的vMotion、长距离vMotion的功能实现,FT也突破了一个vCPU的限制。此外,最近几年,用来管理云环境的工具的功能也不断完善,加上VSAN和NSX解决方案的提出,都与VMware传统虚拟化解决方案一起成为了VMwareSDDC的拼图。VMware公司还有能力通过桌面虚拟化(VDI)技术帮助企业打造虚拟桌面。 VMware vSphere解决方案的底层使用了ESXi(以前叫做ES
14、X)的虚拟机管理程序,它不依赖于任何一个操作系统,可以被安装到本地物理硬盘、外置SAN环境、闪存、USB驱动器等地方,但必须能够直接访问物理服务器的底层,作为物理服务器的Hypervisor,知晓物理服务器所有信息。安装了ESXi程序的物理服务器叫做ESXi主机。图2.2阐述了VMware vSphere的底层体系结构。VMware服务器虚拟化解决方案的核心思想有以下几点。 ·在一台物理服务器底层安装虚拟化软件,使得一台物理服务器上可以运行多个操作系统,安装多个应用。这些操作系统运行在多虚拟机上,而且其上安装的应用与物理主机上实现的功能完全相同。 ·就用户端而言,每台虚拟机看起来与物理服务
15、器没有任何区别。 ·能够快速并有效地更换虚拟机的虚拟硬件组件,如增加vCPU、增加内存、增加虚拟网卡等。 ·跨物理服务器运行的多个虚拟机可以通过统一的管理平台进行部署、维护。复制、增加、删除虚拟机非常便捷。 ·虚拟机能够在不同物理机中进行快速、安全的迁移,借此技术还能实现高可用性(High Availability,HA)和动态资源分配(Distributed Resource Scheduler,DRS)。 图2.2 VMware vSphere的底层体系结构 VMware使用了vCenter系统来统一部署和管理安装在跨多个物理服务器上的虚拟机。vCenter系统在一个统
16、一的平台管理多台物理服务器上的虚拟机后,能够实现的其他主要功能如下。 ·通过在线迁移(vMotion)技术,将正在运行的虚拟机从一台物理服务器迁移到其他物理服务器,而无需中断。这是VMware最重要的技术之一,DRS、HA等高级功能都基于这个技术。 ·动态资源分配技术,使得多台物理服务器中运行的虚拟机可以实现负载均衡。DRS利用了vMotion技术来实现这个功能——一旦检测到负载升高到一定程度,就能通过vMotion技术进行在线迁移。 ·分布式电源管理(Distributed PowerManagement,DPM)可以结合DRS功能,将多个负载较低的虚拟机集中到少数物理服务器上,把无用
17、的物理服务器关机,节省电力;而在虚拟机负载开始增多时,对没有使用的物理服务器加电开机,再通过DRS实现负载均衡。 ·存储在线迁移(Storage vMotion)技术,允许正在运行的虚拟机的硬盘资源从一个存储设备迁移到另一个设备上。 ·存储的动态资源分配技术(StorageDRS)功能,允许虚拟机从存储的角度进行负载均衡。 ·数据保护(Data Protection)功能,可以备份虚拟机。 ·高可用性,当一台物理服务器出现故障时,将虚拟机迁移到其他物理服务器上。迁移过程又是基于vMotion技术并遵循DRS的。 ·容错(Fault Tolerance,FT)功能,允许在不同物理服务器
18、上运行两台完全一模一样的虚拟机,提供最高等级的冗余性,即使一台物理服务器(或虚拟机)发生故障,业务也不会中断运行。值得注意的是,在vSphere5.5版本之前,FT功能仅能支持1个vCPU,这个限制在vSphere 6.0版本进行了极大的改进,可以支持4个vCPU。企业可以对最核心的应用部署FT,对一般应用部署HA。 ·复制(Replication),可以复制虚拟机的所有镜像到到另一个站点(如灾备中心),进行灾难恢复,保障数据安全。 目前最新的VMware vSphere软件已走到了第六代,它有多个版本,分为基础版(Essentials)、基础加强版(EssentialsPlus)、标准版
19、Standard)、企业版(Enterprise)、企业加强版(Enterprise Plus)五种。不同的版本能实现的功能也不同,其价格是随着其版本不同而不同。表2.1所示为每个版本能实现的功能概览。 表2.1 vSphere不同版本的功能比较 值得注意的是,VMware vSphere试用版本支持所有功能,但是使用期有60天的限制。 此外,可以看到,只有企业加强版(EnterprisePlus)的license才能够支持分布式交换机(VDS),而NSX-V网络虚拟化平台必须建立在分布式交换机之上。因此,搭建NSX-V网络虚拟化平台时,必须确保企业中vSphere的licens
20、e是企业加强版。但是这个限制在NSX 6.2版本发布之后已经消除——NSX6.2 licence自带VDS功能,这意味着现在低版本的vSphere同样可以支持NSX-V网络虚拟化环境。 1.2 服务器虚拟化的优势移植到了网络虚拟化 以前的大二层技术一般是在物理网络底层使用IS-IS路由技术,再在此基础之上实现数据中心网络的二层扩展,如公有的TRILL、SPB技术和Cisco私有的OTV、FabricPath技术。前沿一些的网络虚拟化技术使用了VXLAN、NVGRE等协议,突破VLAN和MAC的限制,将数据中心的大二层网络扩展得更大(这些在第1章都做了阐述)。而使用VMwareNSX,
21、则更进一步——可以对网络提供与对计算和存储实现的类似的虚拟化功能。就像服务器虚拟化可以通过编程方式创建、删除和还原基于软件的虚拟机以及拍摄其快照一样,在NSX网络虚拟化平台中,也可以对基于软件的虚拟网络实现这些同样的功能。这是一种具有彻底革命性的架构,不仅数据中心能够大大提高系统的敏捷性、可维护性、可扩展性,而且还能大大简化底层物理网络的运营模式。NSX能够部署在任何IP网络上,包括所有的传统网络模型以及任何供应商提供的新一代体系结构,无需对底层网络进行重构,只需要注意将底层物理网络的MTU值设置为1600即可,这是因为VXLAN封装之后的IP报文会增加一个头部。不难看出,VMware NSX
22、的核心思想其实就是将VMware多年致力发展的服务器虚拟化技术移植到了网络架构中,如图2.3所示。 图2.3 服务器虚拟化逻辑架构与网络虚拟化逻辑架构 实现服务器虚拟化后,软件抽象层(服务器虚拟化管理程序Hypervisor)可在软件中重现人们所熟悉的x86物理服务器属性,例如CPU、内存、磁盘、网卡,从而可通过编程方式以任意组合来组装这些属性,只需短短数秒,即可生成一台独一无二的虚拟机。而实现网络虚拟化后,与Hypervisor类似的“网络虚拟化管理程序”可在软件中重现二到七层的整套网络服务,例如交换、路由、访问控制、防火墙、QoS、负载均衡。因此,与服务器虚拟化的理念相同,可
23、以通过编程的方式以任意组合来部署这些服务,只需短短数秒,即可生成独一无二的虚拟网络(逻辑网络)。 除此之外,基于NSX的网络虚拟化方案还能提供更多的功能和优势。例如,就像虚拟机独立于底层x86平台并允许将物理服务器视为计算容量池一样,虚拟网络也独立于底层网络硬件平台并允许将物理网络视为可以按需(如按使用量和用途)进行自动服务的传输容量池。对于第1章中提到的业务或应用的激增和激退的情形,数据中心就实现了网络资源的快速分配。与传统体系结构不同,NSX可以通过编程方式调配、更改、存储、删除和还原虚拟网络,而无需重新配置底层物理硬件或改变拓扑。这种革命性的组网方式与企业已经非常熟悉的服务器虚拟化解决
24、方案有着异曲同工之妙。 由于使用了NSX解决方案后的逻辑网络架构产生了质的变化,以NSX网络平台搭建的数据中心最终达到的效果就是:无论系统规模多大,无论物理服务器、虚拟机有多少台,无论底层网络多么复杂,无论多站点数据中心跨越多少地域,在NSX网络虚拟化解决方案的帮助下,对于IT管理人员和用户来说,这些运行在多站点数据中心复杂网络之上的成千上万台的虚拟机,就好像是连接在同一台物理交换机上一样。有了VMwareNSX,就有可以部署新一代软件定义的数据中心所需的逻辑网络。 之前讨论过NSX无需关心底层物理网络,那么它是否一定要部署在VMware的虚拟化环境中?答案也是否定的。NSX可以部署在VM
25、warevSphere、KVM、Xen等诸多虚拟化环境中,这也是Nicira NVP平台本来就具备的功能。 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中的虚拟交换机为
26、vSphere分布式交换机,而NSX-MH中的虚拟交换机为OVS)。图2.4是NSX网络虚拟化架构的基本示意图,它分为数据平面、控制平面(这两个平台的分离,与第1章提到的SDN架构完全吻合)、管理平面。其中数据平面中,又分分布式服务(包括逻辑交换机、逻辑路由器、逻辑防火墙)和NSX网关服务。控制平面的主要组件是NSX Controller(还会包含DLRControl VM),而管理平面的主要组件是NSX Manager(还会包含vCenter)。 图2.4 NSX逻辑架构 下面简单说明一下各个组件(后续章节会进行更具体的分析)。 NSX数据平面主要由NSX虚拟交换机组成。虚拟
27、机交换机基于vSphere中的分布式交换机(VDS),或基于非VMware虚拟化环境中的OVS(Open vSwitch)。通过将内核模块(VIB)安装在Hypervisor之上,实现VXLAN、分布式路由、分布式防火墙等服务。 这里的NSX虚拟交换机可以对物理网络进行抽象化处理并直接在Hypervisor层之上提供交换、路由、防火墙功能。这样能获得哪些好处呢?首先,NSX虚拟交换机有了一个统一的配置界面。此外,NSX虚拟交换机利用VXLAN或STT协议实现Overlay功能,在现有物理网络之上创建一个与之解耦的独立虚拟网络,容易部署和维护。而这个虚拟网络和以前我们所熟悉的网络架构并不一样—
28、—传统的网络,不同VLAN之间地址是不能重复、冲突的,而运行在Overlay之上的虚拟网络,允许不同租户使用相同的网关或IP地址,同时保持隔离。NSX虚拟交换机连接的虚拟机是独立于虚拟网络的,并且就像连接到物理网络一样运行,新创建的虚拟交换机可以有效进行配置备份和还原,而它在连接虚拟机时还能实现QoS和链路聚合等诸多功能。NSX虚拟交换机还有利于实现大规模扩展,而端口镜像、NetFlow、网络运行状况检查等多种功能可以在虚拟网络内进行全面的流量管理、监控和故障排除。 数据平面还包含边界网关设备,它可以作为虚拟网络和物理网络进行通信的网关。这种设备通常是NSX Edge(NSX-V中)或二/三
29、层网关(NSX-MH中),它以虚拟服务的形式注册到NSXManager,在虚拟网络与外界通信时,VXLAN到VLAN的转换无论发生在二层网络(桥接时)还是三层网络(路由),都可以由边界网关来进行处理。Edge、二/三层网关除了处理南北向流量外,也提供了类似NFV的一些功能,如实现NAT、VPN、负载均衡等。 NSX控制平面中的主要组件是NSX Controller。它仍然是以虚拟机的形式安装,并以虚拟服务的形式与NSX Manager集成。NSXController在虚拟网络内部,可以看作是数据平面的控制单元。它与数据平面之间不会有任何数据流量的传递,只会将信令发布给数据平面,再由数据平面进
30、行工作。因此NSXController发生任何故障都不会对数据平面的流量造成影响(其实这种故障也不常见,因为NSXController一般都是冗余部署的)。而对外(物理网络),NSX Controller可以使用OVSDB和OpenFlow协议,作为物理网络的SDN控制器,但是VMware尚未针对这个功能提供官方的图形化配置界面,因此要实现这个功能,需要开发人员在API之上通过编程来实现。目前Arista Networks和Brocade两家物理硬件网络厂商的研发人员通过再开发,实现了其网络设备可以交由NSX Controller控制。 除了NSX Controller,控制平面中的其他组件
31、还包括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)。 图2.5 NSX网络虚拟化平台能够提供的服务 ·交换:在物理网络中的
32、任何位置实现大二层交换网络的扩展,而无需关心底层物理网络架构。 ·路由:IP子网之间的路由,可以完全在逻辑网络中完成。由于三层网关由NSXController控制并下发至所有Hypervisor,因此流量无需经过物理路由器或三层交换机。NSX网络虚拟化环境中的路由是在Hypervisor层通过分布式的方式执行的,每台ESXi主机的CPU消耗很小,可为虚拟网络架构内的路由表提供最佳路径。 ·防火墙:安全防护可以在Hypervisor层以及虚拟网卡层面执行。它使用可扩展的方式实施防火墙规则,而不会像传统部署中在物理防火墙设备上形成流量的瓶颈。NSX防火墙分布式基于Hypervisor内核,只产
33、生极少的CPU开销,并且能够线速执行。 ·逻辑负载均衡:支持四到七层的负载均衡服务。 ·VPN服务:可实现二、三层VPN服务和SSLVPN。 ·物理网络连接:NSX Edge(或网关)提供虚拟网络到物理网络的二层桥接或三层路由功能。 有了NSX网络虚拟化解决方案,VMware进一步完善了软件定义数据中心(Software Defined Data Center,SDDC)解决方案,即在数据中心中同时满足软件定义网络、软件定义计算、软件定义存储,并实现应用交付的自动化、新旧应用的快速创建和删除,如图2.6所示。SDDC解决方案的核心是让客户以更小的代价来获得更灵活的、快速的业务部署
34、运维和管理。 图2.6 VMware的完整SDDC解决方案架构 SDDC是相对于传统的硬件定义数据中心(HDDC)提出的。由于没有任何一家IT厂商可以提供底层网络、存储、x86服务器平台与虚拟化软件的全套产品,对不同厂商的产品,也没有一个统一的管理界面,因此传统的HDDC解决方案的效率比较差——IT管理人员需要一一登录到不同设备中进行特殊的、差异化的配置。这样的模式不仅部署和运维的效率较低,而且根本无法实现自动化。而SDDC的核心理念就是通过一套单一的数据中心管理软件,可以在任何x86平台、存储平台、网络平台之上,实现高效地部署和运维,最终实现数据中心自动化。 尽管VMwar
35、e并不生产物理硬件,但对于数据中心的底层功能而言,其在SDDC拥有全套解决方案——软件定义网络(NSX)、软件定义计算(vSphere)、软件定义存储(VSAN)。该解决方案无需绑定任何物理硬件厂商设备,即可实现数据中心自动化。VMware还有针对SDDC统一部署和管理的云管理平台。 1.4 NSX网络虚拟化应用场景 NSX网络虚拟化平台,适用于所有不同类型的行业中的各种客户。 ·对于政府和国企用户,由于其网络设备购买方式往往是集中采购,导致每年不同项目的网络设备的品牌可能都不相同,而IT管理人员也希望这些不同品牌的网络设备搭建的复杂的大规模网络能够易于维护。NSX网络虚拟化平台独立于物
36、理网络之上,提供了一套逻辑网络,它不关心底层架构,只要底层网络互通,IT管理人员就可以针对不同应用便捷地创建和删除逻辑网络,使得IT底层架构更加灵活。 ·对于医疗和教育行业,它们的数据中心往往会分布在不同院区或校区,NSX网络虚拟化平台可以跨越不同数据中心实现一套单一的逻辑网络。 ·对于金融和证券行业,它们同样有异地数据中心的需求。此外,它们对安全的要求会更高。NSX基于微分段的分布式防火墙可以帮助这些对安全有着更高要求的用户实现数据中心内部不同应用和业务资源池的精细化安全控制。该行业客户都需要满足各自上级的合规性监管要求,需要可追溯和审计,甚至实时把控其流量和交易的具体信息。该行业的一些
37、应用,如在线交易系统,对流量的延迟、抖动都非常敏感。NSX网络虚拟化平台通过Hypervisor之上的分布式路由、防火墙、负载均衡服务,可以大幅优化流量路径,有效解决了延迟、抖动等问题。 ·对于电信运营商,除了异地数据中心的需求和需要实现高灵活性、高可扩展性外,往往还需要实现多租户。NSX基于主机的Overlay技术,可以创建多个独立的逻辑网络,有效解决了多租户问题。 ·对于OTT和互联网行业,业务需要极快的上线、下线速度。NSX网络虚拟化平台可以像在vSphere中创建和删除虚拟机一样,针对新旧业务快速创建和删除逻辑网络,实现完全自动化的计算资源池。此外,该行业对异地数据中心、安全性和可
38、扩展性也有很高的要求,而这些都是NSX网络虚拟化平台所擅长的。 ·对于制造业或设计公司,为了安全起见,其研发、测试、生产环境往往需要在物理上进行隔离,而研发并成功通过测试的产品,需要快速投放到生产网络中。在以往,这些研发和测试往往需要在独立的网络中进行,导致将产品迁移到生产环境的过程繁琐而漫长。NSX网络虚拟化平台可以创建完全隔离的逻辑网络供研发和测试使用,并在研发和测试成功后,通过去除微分段的安全策略和重新关联子网,无缝切换到生产环境。此外,设计公司往往会使用桌面虚拟化解决方案,而在以往,虚拟桌面之间(尤其是同一网段内的虚拟桌面)可能并没有有效的安全防护措施。NSX基于微分段技术的分布式防
39、火墙可以完美地解决这个问题。 ·对于一般企业,还可能产生公司并购、合并的问题,而合并后的公司网络由于合并之前存在架构差异,就算路由可以互通,也可能产生流量不优化的问题。NSX网络虚拟化平台独立于物理网络,可以帮助这种类型的公司解决物理网络的路由难题。此外,一般的企业都会面临灵活性、安全性等问题,NSX网络虚拟化平台都可以帮助这些企业解决这些难题。 2.当前主流的Overlay隧道技术 目前,市面上除了VMware外,Cisco和Microsoft等公司都能提供网络虚拟化解决方案。在介绍其网络虚拟化解决方案并进行对比之前,需要先讨论一下现在的网络虚拟化使用的Overlay技术分为哪几种。经
40、各大厂商努力,已经有三种Overlay技术成形,即VXLAN、NVGRE、STT。 2.1 VXLAN技术 首先讨论VXLAN。VXLAN是Virtal Extensible LAN(虚拟可扩展局域网)的缩写。它是为了解决前文提到的数据中心的三个问题,由Cisco、VMware、Broadcom这几家行业内的巨头,外加快速窜红的新兴网络设备公司AristaNetworks联合向IETF提出的。它能将通过OTV、TRILL、FabricPath等技术实现的二层网络扩展得更大。 VXLAN的核心技术理念是对现有标签技术进行彻底的改变,以优化VLAN的缺陷。其实Cisco之前提出的OTV协议已
41、经使用了类似的技术——通过隧道机制,在使用了IS-IS协议的三层网络之上,叠加一个二层的虚拟网络,从而绕过VLAN标签的限制。而VXLAN则更进一步,它是将以太网报文封装在UDP传输层上的一种隧道转发模式。 VXLAN定义了一个名为VTEP(VXLANTunnel End Point,VXLAN隧道终结点)的实体。VTEP对数据包的封装可以在虚拟交换机上完成,也可以在物理交换机上完成。它会将数据在出服务器(主要是虚拟机,其实也可以是物理服务器)时封装到UDP中再发送到网络,在传输过程中这台服务器的MAC地址、IP地址、VLAN信息等,都不会再作为转发依据。如果VTEP功能直接集成到虚拟机的H
42、ypervisor内,那么所有虚拟机流量在进入物理交换机之前,就可以在虚拟交换机所在的Hypervisor之上打上VXLAN标签和UDP包头,相当于在任意两点间建立了隧道。因此,VXLAN技术更适合虚拟化环境,且更应该把VTEP功能集成到服务器的虚拟交换系统内——如果VTEP在物理交换机上实现,那么物理交换机与虚拟交换机通信时,需要执行一次VXLAN-VLAN的转换,这样效率并不高。 由于虚拟机本身的VLAN信息对外已不可见,VXLAN添加了一个新的标签VNI(VXLAN Network Identifier,VXLAN标识符)。VNI取代VLAN用来标识VXLAN的网段,只有拥有相同的VN
43、I,即在同一个VXLAN里的虚拟机才能实现二层通信,它类似于VLAN ID的作用。VNI是一个24比特的二进制标识符,把VLAN的4096(2的12次方)做了一个级数级别的扩展,达到了16777216(2的24次方)个网段,就目前超大规模数据中心而言,暂时是绰绰有余了。 新的UDP包头意味着VNI有新的帧结构。VTEP收到数据包时,会在这个数据包上增加4个部分,以形成新的帧头。如图2.7所示,这个新的帧头从内而外分别是VXLAN头部、UDP头部、外部三层IP头部、外部二层MAC头部。 图2.7 VXLAN帧结构 VXLAN头部的作用是携带VTEP分配的VNI标识符。UDP头部是一个标
44、准的UDP头部,包含了源目端口号,其中源端口号是VXLAN通过将原始以太网数据头部(MAC、IP、四层端口号等)进行哈希后得出的值,这样就能提供更好的负载均衡、更好的等价多路径;而目的端口尚未从IANA申请固定端口号。外部三层IP头部已不再是虚拟机的通信地址,而是隧道两端VTEP的通信地址——如果虚拟机的Hypervisor直接承担VTEP的工作,那么这个地址就是两台服务器的物理网卡IP地址。外部二层MAC头部与虚拟机原本自带的MAC地址已经没有任何关系了。 有了新的帧头,VTEP就可以依照VNI来决定流量走向,在整网的物理交换环境内完成数据转发。转发过程中,新的包头只有到达了目的地才会被对
45、端的VTEP终结掉,这就意味着,VXLAN数据包在转发过程中保持了内部数据的完整性。这种数据转发机制叫做隧道机制——即链路两端有一对用于隧道封装的设备,类似IPSecVPN,其好处是可以减少对现网拓扑的改动,且方便网络在改动时实现快速收敛。 2.2 NVGRE技术 介绍完了VXLAN,再来讨论NVGRE。NVGRE是Network Virtualization usingGeneric Routing Encapsulation的缩写,是将以太网报文封装在GRE内的一种隧道转发模式,最初由Microsoft提出,并联合了Intel、HP、DELL等公司,向IETF提出。其实与VXLAN相比
46、它除了将MAC封装在GRE内(与VXLAN将MAC封装在UDP内不同)外,其他功能几乎完全相同。比如,NVGRE定义了一个类似VNI的TNI(TenantNetwork Identifier),长度同样是24比特,同样可以扩展到16777216(2的24次方)个网段(NVGRE里面叫做租户)。 硬说两者有什么区别的话,就是VXLAN新的UDP头部中包含了对原始二层帧头的哈希结果,容易实现基于等价多路径的负载均衡,而GRE的头部实现负载均衡要困难些——很多网络设备不支持用GRE的Key来做负载均衡的哈希计算。 VXLAN和NVGRE技术有惊人的相似之处,或许两者都无法最终成为行业标准,只能
47、在围绕着Cisco、VMware、Microsoft的战略联盟(Ecosystem)内部进行标准化。 2.3 STT技术 再来讨论另一种隧道技术STT(Stateless Transport Tunneling,无状态传输隧道),它是Nicira的私有协议。STT利用MAC over IP的机制,与VXLAN、NVGRE类似,把二层的帧封装在一个IP报文之上。STT协议很聪明地在STT头部前面增加了一个TCP头部,把自己伪装成一个TCP包。但和TCP协议不同的是,这只是一个伪装的TCP包,利用了TCP的数据封装形式,但改造了TCP的传输机制——数据传输不遵循TCP状态机,而是全新定义的无状
48、态机制,将TCP各字段的意义重新定义,无需三次握手建立TCP连接,也没有用到TCP那些拥塞控制、丢包重传机制,因此STT被Nicira称为无状态TCP。STT技术除了用于隧道封装,还可以用于欺骗网卡——数据中心内部的TCP报文往往非常大,在发出去之前经常需要分片,但分片以前往往需要CPU处理,从而影响CPU性能,因此现在绝大多数服务器网卡支持报文分片,不由CPU来处理,也就减轻了CPU的负担。然而通过网卡进行分片只能针对TCP报文,通过VXLAN或者NVGRE协议封装的原始TCP报文到达网卡后,网卡认为它们不是TCP报文,就无法分片了,这就还是需要CPU来进行分片工作,也就增加了CPU负担,降
49、低了服务器性能(最新推出的一些网卡声称可以对VXLAN进行分片,但其技术上不成熟)。而STT的头部是TCP格式,这样网卡就会认为它是TCP,从而对大包进行分片。但实际上它不是TCP,也无需三次握手,因此提高了CPU的效率。STT技术在Nicira被VMware收购前只能用于NiciraNVP平台之上,被收购后主要用在部署了多Hypervisor的NSX网络虚拟化环境,即NSX-MH架构中。 2.4 三种Overlay技术的对比和应用场景 介绍完三种Overlay隧道技术,我们将其做一个对比,如表2.2所示。 VMware的NSX-V网络虚拟化解决方案在Overlay层使用VXLAN技
50、术,为虚拟网络提供服务——利用VMware的NSX环境中支持VXLAN的分布式逻辑交换机对数据包进行封装和解封装,从而实现网络虚拟化,而其中间的物理网络变得就不重要了。VXLAN甚至可以在多数据中心之间进行扩展,因为无论数据中心之间的运营商链路、路由协议多么复杂,只要打通了隧道,就可以看作一个简单的二层链路。VMwareNSX利用这个技术,在三层网络之实现了大二层扩展和多租户环境。 其他物理硬件厂商近几年新推出的交换机,大多都支持VXLAN,可以由连接服务器的ToR交换机对VXLAN流量进行封装和解封装。当然这种解决方案不是基于主机的Overlay,也没有实现控制平面和转发平面的分离。 而
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818