IT的发展历程是一个螺旋上升的过程。早期的大型电脑时期,IT是及其专业的领域,所有的电脑系统都是封闭系统,一个公司提供了从硬件到软件及维修甚至软体改版升级的服务,可以说那时系统的封闭是由于整个产业的不完善所造成的。但是整个IT产业却不断朝向开放的道路上前进,自从IBM PC标准开放以来,IT产业迅速成熟,时至今日完全改变了社会信息的传递模式。标准化的系统可以在短时间内迅速成熟,是因为在开放的系统中,标准是由几个大厂主导协商出来的,标准制定的过程可以看见各种妥协的影子,甚至有不同的标准互相竞争。理论上经过这种自由市场的运作机制,因为竞争激烈,消费者可以享有最好的标准化产品。而相反封闭系统的厂商在今天产业分工高度专业化和细化的背景下,将导致技术的进步幅度及其缓慢,也难以形成规模。
现在,在数据中心网络技术领域,也同样出现了开放系统和封闭系统两条路线之争,我们下面分析一下这种技术之争的来龙去脉。
道路之争一:VEB vs VEPA
随着商用虚拟化技术的成熟和x86 CPU性能的发展,越来越多的数据中心开始向虚拟化转型,新一代数据中心一个典型的特点是从“物理服务器互联”转变为“虚拟服务器”互联。虚拟化给数据中心带来了服务器整合、业务连续和弹性等特点,同时也给数据中心带来了新的挑战,即如何实现针对虚拟机的边缘虚拟桥接(Edge Virtual Bridge)。
惯性的解决思路是通过软件的方式,通过服务器内部平台解决,也就是所谓的虚拟边缘桥接(VEB, Virtual Ethernet Bridge)。所谓VEB就是在一个物理终端工作站/服务器上支持多个虚拟机的本地交换,通常是通过软件模拟一个虚拟交换机来实现。例如作为推动X86平台虚拟化的始作俑者,VMWare在其vSphere平台内置了虚拟交换机vSwitch,甚至更进一步,实现了分布式虚拟交互机VDS(vNetwork Distributed Switch),为一个数据中心内提供一个统一的网络接入平台,当虚拟机发生vMotion时,所有端口上的策略都将随着虚拟机移动。但是其存在两个根本的问题:
1.虚拟交换机的功能过于简单。目前的vSwitch最多只是一个简单的SOHO级二层交换机,只是解决连通问题,没有ACL策略、没有流量监管、更别说QoS。当然这方面的原因主要是因为网络并非 VMWare所重点关注的领域。
2.网络和主机管理界面模糊。多个虚拟机的数据交换都集聚于一个物理出口,虚拟服务器端口和实体网络端口之间不再是一一对应的关系,从传统网络管理者的角度出发,原来的一系列网络策略都是基于端口部署的,而现在则无法使用同样的方法部署,极大的增加了管理成本和难度。而目前的主流虚拟平台上,都没有针对网络管理和配置的独立界面,这就造成虚拟化服务器一旦出现问题,不仅故障定位需要更多时间,而且管理人员(网络管理者和服务器管理者)的权责定位及分工也会处于混乱状态。数据中心的接入层网络已从物理的实体网络延伸至服务器的虚拟机实例,必须要实现对虚拟机网络端口的对应接入。
业界网络巨头思科公司针对EVB提出了几种不同的解决方案路线,其中一个很重要的路线就是增强型VEB,具体点讲就是用CISCO自己的nexus 1000v软交换机代替vmware的vswitch,嵌入到VMware的虚拟化平台上去。这样一来,思科声称可以实现专业的虚拟交换机,这些nexus 1000v虚拟交换机具有思科交换机丰富的功能特性,同时可以实现和思科物理交换机的统一管理。思科公司在市场营销也对nexus1000v解决方案投入了大量的人力物力,使得这个方案听起来很美,但是实际情况呢?仔细的分析一下,我们可以看到这个解决方案存在下面的问题。
1.还是没有解决网络和主机管理界面模糊的问题。Nexus 1000v作为用服务器CPU模拟的软件交换机,使得虚拟机的交换界面还存在主机内部,根本无法实现“网络的归网络,主机的归主机”这样的厘清管理界面的目的。
2.nexus 1000v是用CPU来模拟的软交换机,需要服务器额外开销,存在着交换性能低下的问题,并且可能造成系统的不稳定。
3.最重要的问题,思科这个解决方案是一个封闭体系的解决方案,目前可以看到其只支持VMware虚拟化平台,针对其他虚拟化平台,如xen和hyper-V目前没有看到有相关的解决方案。
在某种程度上可以说思科利用其在业界的技术品牌优势,通过对一个封闭体系的解决方案进行大力营销,是一种对客户进行某种程度的“绑架”,使得客户失去了选择权。
因此,业界需要一个开放、标准、简单的解决方案。这时VEPA(Virtual Ethernet Port Aggregator)标准就应势而出。VEPA是HP协同H3C向IEEE提出的新一代数据中心虚拟接入解决方案标准草案,其目标是要将虚拟机之间的交换从服务器内部移出到接入交换机上。工作原理如下:当两个处于同一服务器内的虚拟机要交换数据时,从虚拟机A出来的数据帧首先会经过服务器网卡送往上联交换机,上联交换机通过查看帧头中带的MAC地址(虚拟机MAC地址)发现目的主机在同一台物理服务器中,因此又将这个帧送回原服务器,完成寻址转发。整个数据流好像一个发卡一样在上联交换机上绕了一圈,因此这个行为又称作“发卡式转发”。为了实现“发卡式转发”,VEPA需要修改生成树协议,或者说在下联端口上强制进行反射数据帧的行为(Reflective Relay)。同时VEPA使用Q-in-Q技术在基本的802.1q标记外增加了一层表示不同虚拟机的定义,基本就可以将不同的虚拟机流量区分开来,并进行处理。
我们可以看到,VEPA本着简单实用的原则,充分利用现有标准协议,实现了虚拟机的“硬交换”。目前的网络设备来说只要把软件稍做修改,就能够快速推出支持。正因为VEPA的标准化和开放化,使得其得到了Juniper、IBM、Qlogic、Brocade等等厂商的支持。H3C坚信,走开放标准化道路是王道,未来的EVB解决方案的主流一定是基于VEPA标准的解决方案。
道路之争二:OTV vs VPLS or VPLSoGRE
传统数据中心的建设由单一主中心模式发展到了目前成熟的异地多中心模式,目前数据中心的互联主要通过三种方式,分别为三层互联、二层互联和SAN互联。
三层互联:也称为数据中心前端网络互联,所谓“前端网络”是指数据中心面向企业园区网或企业广域网的出口。不同数据中心(主中心、灾备中心)的前端网络通过IP技术实现互联,园区或分支的客户端通过前端网络访问各数据中心。当主数据中心发生灾难时,前端网络将实现快速收敛,客户端通过访问灾备中心以保障业务连续性。
二层互联:也称为数据中心服务器网络互联(以下简称DCI)。在不同的数据中心服务器网络接入层,构建一个跨数据中心的大二层网络(VLAN),以满足服务器集群(所有节点需在一个网段,因为只有一个对外的虚IP)或虚拟机动态迁移(为保持虚拟机迁移前后的通信状态,迁移后的虚拟机必须与迁移之前的虚拟机在同一个二层网络中)等场景对二层网络接入的需求。
SAN互联:也称为后端存储网络互联。借助传输技术(DWDM、SDH等)实现主中心和灾备中心间磁盘阵列的数据复制。
在新一代计算数据中心,由于虚拟机的大量部署,以及基于虚拟机的计算集群技术的部署,要求我们在数据中心之间部署大量的二层互联技术,也就是我们讲的“云间网”。目前能实现数据中心二层互联的技术主要分三类:
首先是直接基于以太网的实现,这种方案要求互联的物理链路能保证是裸光纤或DWDM,使得其和数据中心内部链路形态一致,在此基础之上通过网络虚拟化技术,如H3C的IRF2或TRILL技术直接在以太层面打通数据通道。这种技术优点是简单,缺点是需要大量的光纤资源,并且无法实现城域/广域部署,或者城域/广域部署价格昂贵(DWDM)。
其次是基于MPLS技术的实现方案,也就是要求数据中心之间的互联网络是已部署为MPLS技术的核心网,这样可以直接通过VLL和VPLS完成数据中心直接的二层互联。这种技术的优点是基于MPLS技术可以较为简单的实现城域/广域部署,缺点是需要核心网/城域网支持MPLS技术。
最后是基于IP技术的实现,在任意IP网络开启相应的二层隧道来实现数据中心的互联,这个方案摆脱了数据中心之间互联链路的类型限制,是目前的发展方向。代表方案是思科公司的OTV技术,或者是H3C实现的VPLSoGRE技术
OTV(Overlay Transport Virtualization)虚拟化中继传输技术,是由思科公司提出,其核心思想是通过“MAC in IP”的方式,通过隧道技术穿越三层网络实现二层网络的互通。OTV技术可以说是专门针对数据中心二层互联所提出的,首先它解决了物理链路种类的限制,其次对MAC地址的学习通过控制平面借鉴IS-IS协议来实现,隧道封装采用类似GRE的动态封装方式,最后可以支持双归属的高可用部署方式。
同样的问题,用标准的技术组合,如VPLSoGRE技术也可以完全解决。VPLSoGRE通过在IP网络上建立GRE隧道,传递经过标签封装后的二层数据报文,从而实现跨数据中心的二层互通。其实,OTV在传统以太网报文前增加了46 Byte的封装,通过比较,我们可以发现其封装方式和VPLSoGRE基本一致。
一个是看似光鲜亮丽的新技术,一个是原有成熟技术的灵活组合,既然实现原理基本一致,那么这两种技术最大的区别在哪里?最大的区别体现在部署时的命令行里,对于隧道封装,大家最头痛的就是隧道的相关配置,OTV技术对进行了大幅简化,但要发挥这一优势,需要注意一个重要的前提就是,所有作为OTV边界的网络设备必须是思科的设备,而且目前只有N7000系列的特定板卡可以支持。同时思科将OTV技术申请了专利,目前还未通过审批,可以预见的是,这又是一个封闭的技术体系,再一次从数据中心互联的层面“绑架”用户。而对于VPLSoGRE技术来说,是完全开放的标准技术,在目前已有的大部分产品上都可以实现。H3C将通过对开放协议不断优化,实现灵活的数据中心二层互联,不局限与地域距离,更不局限与产品差异。
道路之争三:分立平台 vs 统一平台
网络设备的软件平台是维持网络运转的灵魂,所有网络互联互通的实现都以此为基础。在网络业界,思科公司在网络软件平台上拥有众多的分类,属于典型的分立平台模式。在ISR上运行的IOS;在交换机系列产品上原来使用CAT OS,后来改为IOS;在核心路由器CRS-1上运行的是IOS-XR;而在边缘的GSR既有IOS又有IOS-XR的,如7600系列有IOS的可能也有XR的,ASR 9000是IOS-XR的,而ASR 1000又是另外的IOS-XE;在数据中心领域,思科数据中心交换机NEXUS系列交换机又采用的是NX-OS平台。思科公司收购战略给思科公司带来了快速切入市场的好处,但是产品整合也面临着诸多困难,因此也面临着产品平台分立的问题。
如此纷繁的平台常常造成用户的迷茫,对日常的运维升级带来一定困难。以数据中心为例,在传统数据中心中,思科已经大量部署S6500交换机,但是现在数据中心思科又主动在推nexus系列交换机。大家知道nexus交换机是思科收购公司的产品,在新一代数据中心特性上有一定的领先性,但是其和思科传统的数据中心产品整合面临着诸多问题:
1、技术特性实现不一致:例如,N:1的虚拟化已成为一个基本特性,思科65系列交换机上对应技术称为VSS,类似于H3C的IRF2技术,可以将多台交换机“虚拟化”成一台交换机,统一管理,统一控制,分布转发,消除生成树。但是在nexus产品系列上则没有这种对应技术,只有一个简化版本的vPC技术,可以实现消除生成树,但是根本无法实现统一管理、统一控制和分布式转发。
2、技术特性丰富程度不一致:例如思科S6500系列产品有丰富的功能特性和安全板卡,但是nexus产品功能特性比较单一,目前连MPLS特性还不具备,也没有安全业务板卡。
3、维护和管理困难:网络接入层、汇聚层、核心层的平台不一致,会给补丁升级和维护带来很多问题,影响可靠性的问题大量出现,同时也会降低网络性能。
而H3C所有网络设备使用统一的软件平台Comware,同样是N:1的虚拟化技术,不管是在中低端交换机5系列、7系列,还是高端设备105系列和125系列都能实现,功能特性相同、操作模式相同。统一平台,软件系统应当基于单一源代码的单一操作系统,允许网络管理员使用相同的工具来配置并管理从交换机到路由的所有设备,以监控、管理并更新整个网络。这种强大的互操作性能够简化新特性的部署、软件升级和其他网络改造工作,实现了IT团队提高工作效率,同时缩短培训时间并降低成本;每个新版本都是上一个版本的升级版本,可确保新版本中包含并兼容上个版本的全部特性。此外,每个新版本都面向所有路由器和交换机同时发布,这可有效避免业务中断风险以及维护和升级的复杂性。
总结
在IT技术的不断进步中,不乏曾试图把持整个产业链的厂商,但这样的做法往往会随着开放的趋势而使其陷入危机当中,因为从IT系统的发展史来看,开放的脚步从未停过,开放的动力来自于规模经济的需求。一个厂商独揽所有的事情生产出一项产品,或提供一个解决方案,然后面向全世界的行业市场上,这样的技术发展动力永远比不上开发模式,大量厂商共同促进。对于以太网技术,自从上世纪90 年代末的网络建设热潮过后,缺乏新技术理念,沦为大量产品的同质化竞争和低层次价格战的焦土。而数据中心,这个IT技术新的明珠,一系列新的网络架构、新的性能要求、新的管理方式、使以太网技术又焕发了活力,原有的格局,原有的技术体系都将随着新的应用模式所改变。据分析机构Gartner 预测, 超过70% 的全球1000 强企业将在今后5年中大幅度改造其数据中心基础设施。这使得IT技术特别是网络领域正像中国历史上极具传奇色彩的战国时代,群雄逐鹿,诸子百家,你争我夺,精彩的大幕正徐徐拉开,无数的IT英豪在此背景下向着云计算的目标冒险、拼杀。最终的胜者将属于以用户需求为导向的厂商,属于真正提供标准化、开放化、松耦合解决方案的厂商。