——以计算为中心的下一代数据中心交换网络
在云计算漫漫之旅上,虚拟化将是我们建设架构即服务云不得不跨越的一道坎,而大规模部署虚拟化更是给传统数据中心管理模式、服务器、存储和网络架构规划管理带来巨大的挑战。为培养提高IT团队服务水平和总结有关这些方面的IT管理方法,笔者结合实际工作经验,与大量用户交流与反馈,阅读了国内外一些书籍、互联网资料,在本文就云计算虚拟化交换网络原理、边缘网络、核心网络和产品与发展趋势等方面给出了业务挑战、技术、经济分析和解决方案,希望对读者有所启发。
第一节 云计算虚拟化交换网络——原理篇
架构即服务云计算
云计算是实现方便、快速、简单、按需访问可配置计算资源的管理模型 (部分定义来自nist),云计算是企业IT资源管理的高级阶段,随业务变化而变化,而不仅仅是IT技术简单合并与应用。云计算所包含内容非常广泛,如图1所示,分成不同层次,从最接近用户的上层到最下面的物理层,包含有业务接口层、应用平台层、分布式操作系统层、虚拟化层、硬件架构层和数据中心设施层,同时有支撑不同层次之间管理和平台,技术之外就作为商业模式出现的云服务交付体系和互联互通标准等。而架构即服务云计算是什么呢,很简单,就是根据用户需求,在虚拟化层、硬件层和数据中心设施基础等实现动态资源管理与调配的云计算服务,具备了这些特征计算模式就可以称之为架构即服务云。
图1 云计算架构模型
在实现架构即服务云计算过程中,虚拟化部署与实施是迈向成功的最关键一步。这里的虚拟化概念是更大范围的架构虚拟化,与我们平时所认为的狭义服务器虚拟化不同,架构即服务云的虚拟化应该是端对端的虚拟化,包括数据中心虚拟化和桌面用户虚拟化,而数据中心虚拟化(英文称为Virtual Data Center或更细分为vPoD,Virtual Point of Delivery)又包含了服务器虚拟化、存储虚拟化和网络虚拟化。在所有虚拟化实现方式之中,以网络虚拟化实现、设计和部署难度最大,因为大多数网络还是基于传统硬件芯片转发机制,无法实现灵活升级,所以只有实现了网络虚拟化,我们才能真正最终实现基础架构端对端的虚拟化,才能实现架构资源动态调度。
云计算数据中心资源融合演变
谈到云计算数据中心架构,我们知道,如图2所示,数据中心最基本的三种基础资源组成信息基础架构,即服务器、存储和网络。当前融合趋势之一是服务器与存储相互融合,服务器增加内置硬盘容量替代大量直联和近线存储,以分布式文件系统方式管理,存储设备则利用标准服务器实现更大规模横向、竖向扩展和更高性能架构,将原本在服务器上的文件系统内置于存储架构,通过存储内的元数据信息做到了应用智能感知和处理;融合趋势之一是服务器计算节点虚拟化需要更高比如万兆、更强、更灵活网络设备支持,而传统网络设备功能也从游离在服务器之外进入到内部物理,即虚拟化软件交换机,不但如此还在服务器内部实现了虚拟防火墙或虚拟负载均衡,CPU作为服务器内部计算核心在内部网络实现将发挥更大作用;融合趋势之三是基于IP扁平化存储与网络结合更加紧密,需要优化以IP网络为基础支撑的云存储,作为存储服务被异构服务器或客户端调用。在服务器、存储和网络硬件三种基础资源平台上,虚拟化和管理平台建立统一架构资源池,通过标准如RESTful接口进行即时调度管理。
实际上,我们仔细分析一下,从云计算数据中心存在的三个基础网络就不难理解前面所述架构融合趋势。如图3,第一个网络是服务器与前端客户之间通信网,特点是高接入、协议兼容,目前常用以太网络,用户对网络价格弹性和敏感性较高;第二个网络是服务器与服务器之间进程通信网,特点是高可靠、低延迟,进程消息微秒级实时同步,目前常用InfinitBand网络,大规模部署时对网络价格敏感性高;第三个网络是服务器与存储阵列之间通信网,特点是满足SCSI的Initiator和Target之间高带宽、高IOPS和可靠性传输,目前通常维持独立IP SAN或FC SAN,对网络价格敏感性一般,因为网络在总存储成本只是少部分,来自数据保护和关键业务的需要也降低了价格弹性。这些两两对象之间的需求就是云计算数据中心架构资源包括网络需求在内的最基本需求。要分析业务IT架构需求、了解用户痛点,规划、设计和实现数据中心架构,根据图2和图3确定的基本原则,就可以做到有的放矢,迎刃而解。
图2 架构云计算数据中心基础架构
图3数据中心基本网络I/O需求
进一步分析,在我们建立虚拟化环境后,服务器与服务器之间通信网被融合到单台物理机内部的不同虚拟机之间,从而服务器与存储通信网、服务器与前端客户网络也被拉到单台物理机内部,导致南北流量从90%减少25%,东西流量成为主流占据75%,如图4所示,这样趋势下,传统系统架构和网络设计势必相应改变才能适应设计要求。这就是我们今天要谈的云计算虚拟交换网络。
图4云计算虚拟化数据中心I/O演变
从历史来看,云计算虚拟交换网络由服务器内部基于软件虚拟交换发展而来,进化发展到基于硬件的数据中心边缘网络,再升级到到数据中心核心层演变,层次叠进,由用户需求推动到不同层面技术革新,从技术创新新反哺到用户需求业务发展,又有新需求促进反复作用,不断提高和前进的过程。
云计算计算资源虚拟交换网络——计算资源内部虚拟交换网络
计算资源内部虚拟交换网络原理
简单来讲,计算资源虚拟交换网络就是在物理主机内部,虚拟机管理平台为了实现同一物理机或不同物理之间虚拟机通信而实现的软件交换机。为了便于大家理解虚拟交换网络原理,下面以VMware虚拟交换网络概念为例介绍:
图5 虚拟化交换网络示意图(VMware软件交换)
虚拟化交换网络接口分两大类,一类是位于虚拟化支撑操作系统内部,另一类是位于虚拟客户机操作系统内部。虚拟化支撑操作系统内部网络接口有IP存储网络接口(NFS或iSCSI,需要约2G带宽,存取虚拟机映像或用户数据),资源调度和虚拟机飘移网络接口(如vMotion,一般最大消耗是3.6Gbps带宽,传递飘移信息),保证虚拟机高可用网络接口和容错日志接口(Fault Tolerant Logging,消耗约4Gbps带宽,同步高可用信息)。虚拟化客户机操作系统需求则比较简单,只要客户操作系统内部虚拟接口。从图5,我们看到,每个虚拟化支撑平台内核本身就需要5个通信接口,而每个虚拟化客户机至少配置一个虚拟化接口,每个接口都需要独立IP和MAC地址。为了简化虚拟化软件交换机复杂性、构建更加开放的IT虚拟化生态环境,VMware提供了VNetwork控制平面接口,第三方软件厂家可以自己开发独立虚拟化控制平面交换机,或网络硬件厂家开发出虚拟化管理平台插件,与VMware虚拟化管理平台整合集成,自动化调度网络设备硬件配置随虚拟机飘移而变化。比如Cisco公司Nexus 1000V就是第三方软件交换机解决方案,Force10等还提供了基于VMware虚拟化交换机符合VNetware规范的控制平台插件,与VMware飘移策略集成,虚拟化计算节点智能感知,实现虚拟机调度是网络自动化调度,这里就不费篇幅赘述了,有兴趣读者可以在网上查找资料。
计算资源内部虚拟交换网络挑战
随着虚拟化和云计算的深入发展,人们发现藏在虚拟操作系统内的虚拟化交换机越来越成为头痛的问题。根据IDC统计(图6),到2013年底虚拟机部署数量将是物理机的2.5倍,达到8千2百万台,虚拟机节省了大量的物理购买成本,但在管理复杂度上面造成运营成本增加也非常显著。虚拟交换机既要与现有虚拟管理平台兼容,又要应对高度动态变化端设备,维护虚拟逻辑抽象链接,集成与交换硬件设备功能,从移动性、机动性、维护性和集成性分类如下:
• 跟踪设备移动状态。网络端节点实体(比如虚拟机)的网络状态需要简单确定,不同主机之间可相互迁移节点状体。这些状态包括传统“软状态”,比如数据链路层学习表、三层路由转发状态、路由策略状态、访问控制列表、服务质量策略、配置监控及结构化自动化系统等。简单来讲,就是每个虚拟机移动时,其所带虚拟接口策略如何主动随之漂移。
• 响应网络动态变化。虚拟化环境最大特点是网络高度状态变化。跟踪虚拟机加入和离开,虚拟机往前或往后即时移动,逻辑网络环境快速变化,开放式控制平面控制流量和全局网络自动发现管理。而且由于虚拟机动态变化,防火墙和入侵检测系统无法有效随之变化而保护它们,无法做到及时被动有效反应。更极端情况是,虚拟机机动性变化常常跨越了不同的组织边界,尤其在公共云环境。
• 维护虚拟化逻辑标记。分布式虚拟交换机通常通过增加或管理虚拟机网络数据,来维护虚拟网络或逻辑区域上下文,这是容易理解的简单方式,问题是正确和高效管理这些虚拟化标记非常困难。增加网络标记,就增加新一层网络信息,从另一方面间又增加了网络复杂度。为简化管理和提高效率,常常需要优化虚拟机标记存储方式,包括保存虚拟化地址或重新映射、配置、修改和迁移标志。
• 集成操作系统和硬件。把虚拟数据转发路径设计成“卸载”模式,数据包处理由硬件芯片完成,以独立软件或硬件芯片方式实现灵活控制,增加虚拟化网络性能。独立软件开发商还可以使用接口增强虚拟边界网络功能,减少硬件交付到应用交付的负面影响,从而简化、加速和减轻可扩展云的网络管理。
图6 逻辑主机与物理主机增长趋势图 (来源:IDC)
开放虚拟化软件交换机(Open vSwitch)体系架构简介
随着虚拟化应用普及,需要部署更多虚拟化软交换交换机,而费用昂贵的闭源虚拟交换机让用户不堪重负,于是一群开源社区奉献者开发出了多层虚拟化软件交换机Open vSwitch,它遵循Apache 2.0开源代码版权协议,可用于生产环境,支持跨物理服务器分布式管理、扩展编程、大规模网络自动化和标准化接口,实现了和大多数商业闭源交换机功能类似的软件交换机。
图7 Open vSwitch内部通信图
图8 Open vSwitch功能结构图
Open vSwitch基本部件分为三个部分,其一是ovs-vswtichd守护进程,慢速转发平面,位于用户空间,完成基本转发逻辑包括地址学习、镜像配置、802.1Q VLAN、LACP协议、外部物理端口绑定基于源MAC和TCP负载均衡或主备方式,可以通过OpenFlow远程配置和管理,sFlow、NetFlow或SPAN端口镜像方式保证网络可视性,配置后数据交由ovsdb-server进程存储和管理;其二是核心数据转发平面openvswitch_mod.ko模块,它位于内核空间,完成数据包查询、修改、转发,隧道封装,维护底层转发表,是快速数据转发平面;其三是控制平面OpenFlow,不同物理机的软件交换机通过OpenFlow控制集群组成分布式虚拟化交换机,还实现不同租户虚拟机隔离实现。每个数据转发保持一个OpenFlow链接,没有在转发平面出现的数据流在第一次通过软件交换机时,都被转发到OpenFlow控制平台处理,OpenFlow根据2-4层信息特征匹配,定义转发、丢弃、修改或排队策略,然后第二次数据转发时就直接由核心转发模块处理,加快了后续数据处理过程。根据有关测试报告,Open vSwtich与Linux Bridge表现性能相差无几。
Open vSwitch不但可以独立软件方式在虚拟机管理器内部运行,比如Xen、 XenServer、KVM、Proxmox VE和VirtualBox等虚拟机支撑平台,还可以可部署在硬件上,作为交换芯片控制堆栈。Citrix公司已把Open vSwitch作为XEN Cloud Platform平台缺省内置交换机,Open vSwitch版本1.1.0pre2支持如下功能:
• 支持NetFlow、sFlow(R)、SPAN和RSPAN,监视虚拟机之间通信
• 支持标准802.1Q VLAN Trunk
• 保证最大、最小细分服务质量保证QoS
• 可按虚拟机接口分配流量,定制策略
• 支持绑定网卡、基于源MAC地址负载均衡
• 支持OpenFlow控制平面协议
• 支持本地Python绑定的远程配置协议
• 支持以太网GRE隧道连接
• 兼容Linux桥接代码
• 支持可选内核或用户空间转发引擎
• 流缓冲引擎实现多表转发管道
增强虚拟化软件交换机性能
因为虚拟化软件交换机基于服务器内部处理,消耗大量CPU资源和IO资源,为了提高转发性能,各个组织如CPU厂家Intel、AMD和PCI工业协会一直积极推进提高虚拟化性能。第一种性能提高方式是虚拟主机IO页面地址直接访问功能,Intel VT-x功能是允许虚拟机直接访问由VMM(Virtual Machine Monitor)配置的物理内存空间,直接路径I/O存取,加速DMA数据存取。Intel VT-d与VT-d功能类似,使用DMA描述符号标识虚拟机I/O地址空间,它们共同点是都需要做虚拟机I/O地址转换到物理I/O地址工作,与物理I/O资源需要一一对应关系,无法做到一对多,只能实现虚拟化对应物理资源性能提高,无法I/O资源共享;第二种性能提高方式是卸载软件网络功能到物理网卡,VMDq (Virtual Machine Direct Queue) 就是基于网卡硬件加速的技术,提高虚拟化环境下网络I/O性能。VMDq网卡实现了二层交换机部分功能,分拣和分类数据包,轮询传输,传统模式下由软件交换机实现,据说可以提高2倍性能,但是还需要VMM复制网络数据包;第三种性能提高方式是SR-IOV实现IO设备资源共享,SR-IOV网卡内嵌具有完整功能、支持广播的二层交换机,是基本网络转发平面,由CPU的VMM管理,可实现更加数据分拣、分类与安全等控制平面,还有一些简单QoS控制平面功能。资源共享方式是PCI Mgr (SR PCIM)给每个虚拟机分配一个单独虚拟功能号VF(Virtual Function),最大支持256个子设备号256个虚拟机。性能提高方式是虚拟化软件交换机完成初始资源(CPU、内存和IO虚拟)分配管理,保留基本网络控制平面。建立数据转发连接后,虚拟机虚拟网卡之间通过VF直接转发数据,无需经过主机虚拟化软件交换机,从而加速了虚拟化交换性能。其他性能提高方式还有Intel VT-c/VMDc功能(Virtual Machine Direct Connectivity)实现同一物理口不同虚拟机和虚拟功能之间直接通信模式,可以动态指定不同虚拟机虚拟网卡专用带宽,限于篇幅,这里就不多述了。
图9 SR-IOV系统结构图
#p#
第二节 云计算虚拟化交换网络——边缘篇
虚拟化交换网络层边缘层挑战
熟悉IT发展历史的人都知道,IT技术发展趋势总是这样,进入者在软件上突破和实现,不断应用于客户和取得市场反馈,然后随着性能提升要求和硬件技术发展,移植到高速、简洁的ASIC上,虚拟化交换网络领域也不外乎遵循这样变化轨迹。
前面所讲,计算资源内部虚拟交换网络实际上是通过数据中心边缘计算节点内部的虚拟交换机软件实现。虚拟交换机放在数据中心网络计算节点内部时就被称为虚拟边缘桥接VEB(Virtual Edge Bridge)。这种称谓是非常合适的,因为此时虚拟交换机完成的功能和二十多年前我们使用的物理桥接设备(Bridge)类似,只完成不同网络节点之间的数据转发,没有更细分的交换控制和管理比如网络监视、更多标准协议支持等等。虚拟边缘桥接优点是基于物理主机内部交换,基于计算节点内部资源,不会增加更多外部网络流量,实现物理计算节点内部更快交换速度,不需要额外硬件支持,只需在虚拟机支撑管理平台编写告诉数据转发引擎和开发控制平面,服务器管理人员更容易理解和实施,但是主机软件交换机缺点是一方面是性能提高受制于CPU和网卡IO架构,另一方面是它通常只能由服务器团队通过虚拟机支撑平台配置和管理,传统网络团队难以理解、学习和操作,缺乏链路底层的监控和安全控制,因此IT安全管理策略还需要在虚拟机和物理机不同层面分别实现。为了进一步提高性能和简化管理,把卸载到网卡功能再卸载到强大的物理交换机。
虚拟化交换网络边缘层层技术发展
针对以上数据中心边缘网络技术和管理挑战,目前业界发展“Edge Virtual Bridging”(EVB)边缘虚拟桥接,形成了两种的技术标准:
虚拟以太端口汇聚器(Virtual Ethernet Port Aggregator,简称VEPA)
VEPA技术标准是由HP、IBM、Dell、Juniper和Brocade等公司发起的,统一管理和监控各种虚拟机的桥接标准,目前已被采纳为IEEE标准802.1Qbg,其主要功能由数据中心边缘虚拟交换机硬件实现。VEPA有两种实现模式,一种是标准模式,需要虚拟交换机和上联交换机做少量代码升级;另外一种是多通道模式,需要上联交换机更多智能处理功能。
标准模式VEPA技术特点是实现简单。传统虚拟环境下,同一物理节点的不同虚拟机之间流量发送由虚拟交换机直接处理了,并不会发出网口。在VEPA下,情况发生了一点点改变,虚拟机内部之间流量不再由本地虚拟交换机处理,而是被强制发往物理网卡外部,由网卡上联的VEPA交换机接收处理后才发送回来,这种技术叫Hairpin(发夹)。因为大家知道,传统交换机固件不允许从一个物理接口接收数据帧,又同时从同一口发送同样目的MAC地址的数据帧,所以需要我们需要对传统交换机固件做一些简单修改,允许其绕回。这种方式下,很简单,所有虚拟机流量被重新导向了上联物理交换机,用户可以轻松地以传统管理方式,在修改后的物理交换机上实现流量统计、安全控制管理,减少物理节点宝贵CPU资源,不必浪费在简单的网络I/O层面。不过VEPA实现方式也有明显缺点,所有虚拟机之间流量在物理节点和交换机来回了两次,浪费了网络带宽和增加数据延迟,但是与安全管理简单控制收益相比,这些代价是值得的。另外一方面,专用网络设备芯片对网络流量转发和控制效率通常比我们标准服务器来得更加经济有效,我们还可以结合第一节中提到的单根IO虚拟化(Single Root I/O Virtualization)或VMDq直接路径I/O减少虚拟机之间来回转发数据包负面影响。
图10标准VEPA EVB操作模式
图11 VEPA多通道运行模式
多通道模式VEPA(Mutli-Channel VEPA)则增强了标准模式功能,同时兼容传统虚拟交换机和标准模式VEPA,实现方式是将物理链路分成多个服务通道Channel,网络交换机和网卡独立识别每个通道,这些通道可以分配给传统直联虚拟机、传统VEB模式虚拟化交换机或VEPA虚拟以太端口聚合交换机。每个通道物理标识采用802.1ad(Q-in-Q)技术,简单来讲,就是在802.1Q VLAN标记基础上增加了“S-Tag”服务字段标记每个通道,很显然,服务器网卡和交换机都需要支持Q in Q特性,才能区分不同源虚拟机或桥接流量。
虚拟网络标识(VN-Tag)
VN-Tag标准由Cisco为主发起的虚拟化网络控制协议,实现了虚拟网络智能识别和控制,在不扩大生成树域和管理界面的前提下扩展了接入层,目前已被IEEE接纳成802.1Qbh“Bridge Port Extension”桥接口扩展标准,实现方式主要是在传统以太网帧基础上增加VN-Tag帧头以标识每个虚拟机所绑定的虚拟接口(Virtual Interface, 简称VIF)。VN-Tag帧头其中最重要两个字段分别是目的虚拟接口标识DVIF_ID和源虚拟接口标识SVIF_ID,它们清楚地区分了来自同一个物理网口上的每个虚拟机虚拟网络接口。每个接口功能实现机理有两种,物理网卡芯片固件或虚拟机平台软件交换。VN-Tag缺点是需要网卡和交换机硬件升级,但是与传统交换机兼容,因为虚拟接口VIF只是本地查找有效,VN-Tag在VN-Tag交换机入口处写入,在出口处去除VN-Tag,中间交换机只是需要根据传统以太网帧模式传输,VIF作用有点类似我们以前常用帧中继的本地逻辑链路接口DLCI。
图12 VN_Tag帧格式
图13 VN_Tag帧转发模式
总的来说,目前两大标准802.1Qbg和802.1Qbh都在不断完善过程中。可以看出,VEPA主要改进在于减少软件交换机在数据转发层面性能影响,虚拟流量以802.1q和服务通道表示,整个控制平面交由VEPA物理交换机实现。而VN-Tag主要改进在于虚拟化得数据转发层面和控制平面端对端实现了革命性变化,虚拟流量以源和目的VIF虚拟端口表示,既可以通过软件交换机内核实现也可以物理交换机实现。实际上,两者具有互补作用,VEPA设备自动发现方式就可以用于VN-Tag,未来不排除出现融合两者技术的新标准,做为IT管理者,对当前采购的设备需要充分考虑与原有设备和协议的兼容性,运行效率提高,同时不会由于哪一个技术发展障碍而受到影响。
#p#
第三节 云计算虚拟化交换网络——核心篇
虚拟化交换网络核心层挑战
同一物理节点部署了多台虚拟节点,虚拟机可用性就会受制于物理节点可用性,为了减少来自物理节点可用性影响,就必须让虚拟机在不同物理机之间保持高可用性。不但如此,资源调度以虚拟机飘移方式实现。虚拟化主机高可用、动态调度和容错等,其支撑平台需要同步大量所有关键信息,包括微妙级别变化更新的大规模内存影像和存储数据,同步进程之间消息传递必须保证低延迟,因此我们在扩展核心和边缘网络时必须实现传输性能最大化,延迟最小化,所以保持基本网络多路径、快速收敛、横向扩展的二层环境就是我们选择和发展方向。但是传统网络为实现物理网络高可用性而用得生成树协议,就成为了我们不得不面对最大挑战。一方面,在网络控制平面,STP浪费了50%链路带宽,秒级收敛时间无法满足低延迟要求,另一方面,由于虚拟化接口二层MAC地址大量增加,如何在转发平面保持二层高效寻址和高速数据转发就是另外的困难点。举个例子,MAC地址表转发需求,原来每台物理节点只有两个网卡,两个MAC地址,安装十个虚拟机后MAC地址数目变成2x10(冗余设计)+2等于22个,安装五十个虚拟机后MAC地址数量变成102个,增加了50倍MAC表转发要求,激活MAC的数目是物理机数和虚拟机数线性函数,虚拟化环境下,这个函数值被放大了成十上百倍,单个物理端口MAC密度同比放大,并且我们知道网络信息处理要求与网络节点数目平方成正比,所以网络性能要求也就增加了成百上万倍。
当前不少数据中心网络虽然也实现了二层网络,但是由于交换机功能比较简单,它只是根据入端口学习网络节点物理地址,根据目的节点物理地址,给定出端口转发路径,我们可以称之为纯二层转发,同时生成树距离向量算法也比较简单,没有与转发平面集成,更无法实现基于二层网络层次模型智能地转发,或者说没有二层半的数据转发,所以实际上传统数据中心网络只有基本数据转发平面,没有丰富的控制和管理平面。另外,传统网络下,网络节点数目比较少,而且节点网络位置变化频率非常低,通常几天或几月不等,流量模式主要是客户机与服务主机之间的南北流量。虚拟化交换架构里,网络节点数目成百增加,节点位置迁移和变化频率要求去到妙级,流量模型变成以虚拟主机之间的东西流量为主,这种频繁变化需求,使得生成树STP在高度重建虚拟化节点路径时应接不暇,可能最终变成一个近似无限的循环。
为了隔离网络风暴,简化管理和增加安全,传统大型数据中心通过VLAN方式隔离不同用户区域。整体网络分成接入层、汇聚层和核心层,不同区域用户通信时,接入层和汇聚层把数据导向核心,核心层基于三层转发。云计算虚拟化环境下,“不同区域”概念被高度模糊,区域内部、区域之间通信无法有效静态区分,二层和三层极度混合,通信模式从数据中心服务主机群与外部客户交互的垂直交换模式(占总体流量95%以上)演变变成数据中心内部大量虚拟机之间交互的水平交换模式(占总体流量75%以上,原因是垂直流量不变,水平流量大量增加),传统模式的核心三层路由转发便成为瓶颈。那么如何消除瓶颈呢?用户需求永远是产业导向之根本,显然根本途径是消除或减少网络层次,云计算虚拟化交换网络趋势便是从三层简化为核心层和边缘层二层,而且二层网络则需要消除生成树,更加简单,支持多路径以应对虚拟资源快速变化要求。
虚拟化交换网络核心层技术发展
每一次新IT技术出现,我们在应用新IT技术都会有新的挑战。从最终用户需求观点看,第一,新技术应用从保护资产投资、员工学习曲线上讲,其应用过程应该是渐进性的,而不是革命性,不能影响现有应用环境,与现有环境局部兼容共存,是求同存异过程,一个环境两种或以上技术,可在适当时间段将当前应用环境平滑到新技术环境;第二,从技术需求上讲,新技术应该能够提供更高性能、更好扩展性、更易管理、更加开放和兼容标准价值等,保持总拥有成本更小优势;第三,新技术在不同应用、不同行业广泛应用程度和技术成熟程度也会用户重要考量指标。具体到虚拟化交换网络核心层发展,我们可以看到来自三个方面需求:
第一,数据转发平面发展。关键要保证数据转发平面可扩展性,核心竖向扩展有限设备转发智能转向基于边缘设备快速转发智能,中心设备只是完成无CPU介入的全网状通路。简单来说,需要把传统交换机端口接口板和交换背板快速转发机理延展到了数据中心网络边缘,每个灵活的接口板变成每个独立智能、灵活接口设备部件,交换机交换背板变成可横向扩展的中心交换部件。来自任意端口节点的流量都可以尽可能少的跳数到达任意其它节点端口,以使延迟达到最小。其实现本质上就是解决一对多问题,原来由一台大型网络部件实现的功能,为了横向扩展只能以更多中小型节点替代一个大型部件,减少大型部件向上扩展的物理限制,从而减少了所需核心节点总经济成本。
第二,控制平面发展。人类每一次把老问题以新方式解决后,又会有新问题出现,如此反复。当我们把中心智能推向边缘智能后,产生了新的挑战,传统模式交换机中心控制不复存在,没有统一转发表,没有集中控制,而集中控制和端对端感知需求依然存在,九九归一,控制平面集中化就是多对一,这个需求本身没有消失,消失的是老需求方式。要保证原来的需求,新网络边缘设备必须有全网拓扑、路由和控制能力,这样才可以全网智能,本地转发,这样控制方式有点像我们人类社会的联邦制国家管理,大家都在统一宪法下管理,每个联邦郡能充分自主的能力管理政府和社会。当业务需要扩展时,只要接入边缘智能节点,边缘节点自动感知现有网络,当中心节点失效时,多接口接入边缘节点即时、自动无缝转移到另外转发平面节点继续工作。每个边缘设备都需要智能,需要更高性能CPU、内存和相应芯片组,新型边缘设备成本通常比传统接入设备要高得多,因此控制平面要求导致单个边缘节点成本增加。
第三,管理平面发展。实际上,管理平面和控制平面是相辅相成的。只要控制平面集中实现,整个数据中心交换架构就可以做到多对一,当作虚拟统一交换机管理,管理平面简单实现也就自然而然了。单个核心节点由于横向扩展和功能简单减少经济成本,单个边缘节点由于需要智能感知和灵活接入导致研发和硬件成本增加,这一增一减总体就需要IT管理者的平衡艺术了。
总而言之,针对虚拟化交换网络核心层挑战,二层多路径是应对挑战的必由之路,目前致力于实现二层多路径标准化组织主要有IETF和IEEE。IETF标准为为TRILL(RFC5556,命名为Transparent Interconnection of Lots of Links)和IEEE标准是802.1aq(SPB,Shortest Path Bridge,最短路径桥接),他们都采用IS-IS作为基本路由协议确定将数据包传输到它的目的地的最短路径,实现方式大同小异。SPB被IEEE提议为802.1aq,它与TRILL很类似,但是它是使用现有生成树协议来保持向后兼容的。与TRILL不同的是,SPB可以建立在现有的Ethernet芯片上。目前,TRILL和SPB都已接近完成,预计2011年底就能够正式标准化。有些供应商在他们的数据中心结构中通过第三种方法多机架链路聚集 (M-LAG or MC-LAG)实现了多路径。
未来网络技术发展
软件定义网络发展原因是转发平面与控制平面都需要横向扩展,平行分离,而控制平面的控制信息本身流量有限并可预计,所以人们就不需要昂贵的专门高性能转发芯片处理控制信息,那么经济性解决方案就是控制平面由独立可扩展软件实现,这就是软件定义网络,它的发展是对传统网络厂家封闭专有控制平面技术产生了的破坏性创新,将对网络厂家变革导致巨大推力和影响。OpenFlow开源控制平面协议便是其中一个著名代表。OpenFlow增加了网络灵活控制能力,分布式节点智能通过OpenFlow指令得以实现,外部OpenFlow控制管理节点的实时控制,集中统一中央智能。OpenFlow根据运行实况实时控制分布式节点,分布式节点生成快速转发表,无须进行复杂智能分析计算,只要执行网络转发平面功能。当新转发节点加入到OpenFlow网络时,自动从中央控制节点得的最新网络配置信息,完成网络自动化感知。而中央控制节点基于x86标准服务器架构,强大计算能力和横向扩展特性保证了控制平面扩展性和经济性。
#p#
第四节 云计算虚拟化交换网络——产品篇
云计算销售市场爆发增长,聪明的网络厂家自然不会坐等商业机会来临,而是主动给力出击,扑捉市场市场机会,这里就以Cisco、Juniper、Brocade和Force10为例,介绍他们适应云计算虚拟化系统架构。
Cisco FabricPath云网络基础架构
FabricPath是思科NX-OS软件交换机上的创新功能, 可以帮助客户虚拟化数据中心网络实现平滑扩展,据称可实现稳定和可扩展的二层环境路由功能,能够并行多路径数据转发,思科之前又称之为L2MP(L2 Mutlipath)。FabricPath是TRILL基本功能加上“多重拓扑树转发”、“MAC地址学习基于会话层”、“VPC+”、“FHRP”等许多高级功能,可以简单看作一个“增强版的TRILL”。
FabricPach不再需要运行生成树协议(STP)来防止环路,所有链路基于IS-IS协议建立并同时激活,没有链路被阻断,使用ECMP(等价多路径,目前最多16条),显然降低网络延迟、大大增加了网络传输带宽,很好地支持了服务器之间由于虚拟机资源调度而迅速增加的东西流量。如图14,由于FabricPath网络引入新的二层数据转发平面,网络帧头包括可路由的源和目的地址,中间帧以源交换机地址作为帧源地址,以目的交换机地址作为帧目的地址,正常以太网帧在进入FabricPath边缘交换机时被加入FabricPath帧头,在退出FabricPath边缘交换机被去除FabricPath帧头。简单来说,FabricPath就是Mac in Mac方式,转发平面是在普通以太网帧叠加上交换机地址,做到交换路由转发(当然需要加上TTL,因为Time To Live可以防止无限循环)。对于不支持FabricPath的网络设备, FabricPath网络对已部署的接入设备来说是一个透明连接。在支持FabricPath的设备上将端口配置为FabricPath模式,系统会自动完成地址分配、路由建立等行为,无需手动干预。2010年Cisco在Nexus 7000交换机上发布了一块支持FabricPath的32口万兆光纤板卡,以及相应的软件。
图14 思科FabricPath转发机理图 来源:www.cisco.com
Dell Force10 开放云网络体系架构Open Cloud Networking (OCN)
戴尔公司于2011年8月收购Force10 Networks, 从此这个以高性能数据中心网络名闻天下的网络公司成为戴尔开放企业级解决方案的重要一员。Dell Force10新一代数据中心架构产品完全基于TRILL,目前用户可选择核心方案是Z9000机架交换机(如图16),多台Z9000全网状互联一起来实现分布式核心网络解决方案,每台Z9000具备32个40 GbE固定端口高性能核心节点交换机。边缘节点是S4810,可配置64个万兆或48个万兆加4个40G,支持DCB、TRILL、EVB和VLT(跨交换机多链路),可以智能感知虚拟化网络,具备丰富虚拟化交换网络功能。
为了将10 GbE服务器连接到Z9000上,我们需要使用一条4端口多芯软光缆将一个QSFP+端口拆分成4个10 GbE端口。这使Z9000扩展到2 RU成128个服务器端口。对于寻求更高竖向性能的企业而言,Force10未来还准备交付Z9512高性能模块交换机,它可以配备4个端口100 GbE接口卡,提供了8个端口40 GbE,40个端口10 GbE两种选择,然用户可以容易在竖向扩展和横向扩展之间找到平衡点,同时提高了数据中心结构市场的带宽水平。除了未来预计交付核心节点Z9512解决方案外,Dell Force10还准备推出S7000三合一边缘节点,可同时支持12个光纤通道接口、同万兆或FCoE万兆,从而核心节点和边缘节点都升级到超低延迟和新的扩展层次。
图16 Dell Force10下一代数据中心分布式网络拓扑图(40G互联)
#p#
第五节 云计算虚拟交换网络市场——总结篇
根据IDC统计,到2014年底,公共云市场容量发展到2015年729亿美金,云网络厂家在这股商业大潮,各显英雄本色,努力展现自己独特价值。下面就让我们总结分析一下商业趋势和技术趋势。
商业趋势
当新产品或解决方案出现时,网络厂家为了保留老客户和更好服务,通常会选择边缘层或核心层方面让新产品保持与现有产品部分兼容,以混合方式组网部署,或者在核心层升级到新架构,或直接替换边缘层设备,不同层次的新旧产品之间兼容程度对客户选择决策影响非常大,因为网络架构与服务器或存储架构不一样(它们常常通过平台或应用方式平滑升级,降低了架构变化对上层影响),新旧网络架构之间通常必须互联互操作。随着数据中心爆炸规模发展,作为高新科技行业,每个厂家核心优势体现不是成本领先,而是显著差异化价值,其往往一方面体现在包括每U高度端口密度、端口带宽、每端口耗电、设备转发延迟时间、包转发速度与系统扩充能力等,另一方面是因机架空间节省、线缆节省、耗电节省、管理人员节省而带来的总拥有成本节省。实际上,每个厂家由于进入市场时间点不同,客户定位不同,解决方案也很大不同,结果是架构整体表现在不同客户、不同应用和不同场合也都非常不同,通常都会把他们表现最好的一面展现到用户和媒体前面。除了客户产品定位外,网络厂家市场覆盖方式也各不相同,有直接模式、全渠道模式或混合模式,每种模式对产品到市场、客户接受速度和盈利都非常不一样,由于篇幅所述,这里就不多讲了。
仔细思考一下,网络厂家产品的客户价值其实存在于控制平面和转发平面两个方向。我们知道,网络转发平面都采用硬件实现,一般会建立在高效芯片架构基础之上,而在摩尔定律下,芯片性能每十八个月就会提升一倍,所以一般来说网络新进入者后来者或小厂家会利用最新科技成果,研发设计基于最新架构的全新转发平面,体现比如延迟、带宽、密度和能耗等差异化价值,与竞争对手拉开差距。但是控制平面所体现价值过程与转发平面完全不同,控制平面需求与客户应用耦合度很高,甚至不同客户群有完全不同控制和管理要求(比如电信网络和普通企业需求差别就非常大),领先市场厂家往往由于先前系统架构限制,在经济学“路径依赖”原理下,无法放弃原有架构,只能基于原有架构的局部升级,好在领先厂家往往有大量和长时间的客户安装基础,所以领先者会不断积累客户前端反馈,改善提高产品控制平面,另一方面因为控制平面往往以软件实现,易于升级,不但如此,领先者里会积极建立围绕在控制平面周围的生态伙伴,开放应用接口、培育忠实技术粉丝,发展更多更好的服务伙伴,形成庞大的利益共同体,交付给客户包括控制、管理平面和服务在内一站式方案。所以我们在网络解决方案选择决策时需要根据业务要求,不同业务工作负载类型不一样,对IT资源消耗也就不一样,需要平衡转发平面和控制平面带来的不同经济性影响,对它们做具体经济分析。
技术趋势
云计算虚拟化到来,核心扩展是弹性计算实现最有效方式之一,因此几乎所有网络厂家极力开发提供按需横向扩展的核心层解决方案,核心层设备以100G或40G互联,不过由于横向扩展节点之间也需要超低延迟同步,所以核心机箱横向最大数目有限制,比如4到8台。核心层节点之间无协议转换发生,利用高速转发平面芯片充分利用最大包转发率和带宽极限,达到极速转发。因为核心节点芯片性能高,成本也高,为了降低客户使用成本和利用最大容量,消除生成树协议,提供跨机箱Trunk技术,以并行无生成树协议下联就是来自用户的技术诉求。由于核心节点横向扩展数目有限,为了更高性能或扩展性,厂家同时坚持核心层竖向扩展,提供高密度、高容量和高带宽接入,比如一些厂家单机箱可支持300个万兆、数十个40G。所以横向扩展架构和竖向扩展架构是相互作用过程,不同产品定位就需要不同扩展架构技术。
核心层横向扩展,边缘层更是如此。网络厂家不遗余力支持边缘层按需横向扩展,包括使用虚拟机箱技术或堆叠技术、多链路绑定上联、消除生成树等技术以10G或40G上联到核心。边缘节点接口方面提供高密度、混合多端口一体机顶交换机,混合接口一般支持千兆、万兆、FCoE、FC和iSCSI,并支持TRILL或SPB协议,支持二层路由多路径,接入到二层核心层。边缘节点与计算节点或存储节点相连,通过支持EVB、VEPA等虚拟主机协议智能感知虚拟计算节点,完成虚拟移动性策略漂移。可是边缘层发展情况比较复杂,目前业界还没有边缘层统一标准,各个网络厂家八仙过海,各显神通。除了虚拟计算智能外,边缘层还常常担负网络增强服务角色,比如负载均衡、防火墙、入侵检测和日志记录等,这也是业界发展的重要方向。
作者简介
李海平,邮件:haipingli@139.com, 新浪微博”行云流水万泉河”,近20年IT行业市场和管理经验,清华大学毕业,香港科技大学MBA,信息化及网络应用专家CCIE#4435(R&S、SNA/IP),热衷研究应用经济学、商业管理和IT产业,在云计算经济分析、IT商业分析、IT与组织业务整合,以及应用架构、虚拟化、服务器、网络和存储等多方面有多年经验,目前是国际分布式管理任务工程组(DMTF)会员、国际存储工业协会(SNIA) 会员、外设组件互联标准化组织(PCI-SIG)会员和串行ATA国际组织会员,目前负责戴尔公司大中华区刀片服务器及网络业务,积极推动中国客户发展新兴技术,应用戴尔全球客户最佳实践。