虚拟技术,这一长久以来在服务器领域热门的技术第一次在网络基础设备领域中绽放出绚丽的光彩。Cisco公司借助于虚拟技术和新一代的路由处理引擎,不仅将两个其旗舰级路由交换设备Catalyst6500虚拟为一个网络实体成倍地提高了数据交换路由能力,而且极大地提高了网络的可靠性。
为了验证Cisco公司新一代的虚拟交换系统(VSS),NetworkWorld进行了其有史以来最大规模的性能测试,测试环境采用了高达130个万兆以太网络接口。
测试结果令人印象深刻,Cisco公司的虚拟交换系统(VSS)不仅将网络设备故障时流量受影响的时间减少到以前的1/20,而且完全不需要采用原来网络设计中常用的二层和三层冗余协议。
测试结果更加令人惊讶的是Cisco公司的虚拟交换系统(VSS)的吞吐量超过770Mpps,测试中路由转发单播和组播流的数目高达56亿个。
任何时刻,任何链路
长久以来,网络设计者为了使网络基础设施能够在各种故障的情况下尽可能地保持网络的运行,他们通常采用在网络的各个层次部署多条冗余/负载均衡链路和设备的设计方法,同时为了使这些冗余的设备和链路在出现故障时能够及时地发挥作用,网络设计者不得不同时使用为数众多的,令人眼花缭乱的协议来应付故障情况,RSTP,HSRP和VRRP等协议都是我们常用的保护性协议。
这种保护协议控制冗余链路和设备的方式虽然可行,但是却有众多的不足之处,这些不足关键是由于目前绝大多数冗余保护性协议采用主/备工作方式,结果是网络中虽然有多条链路但在平时只有一条链路负责数据的传递,其它的链路只有在主链路故障时才有可能负责数据的传递。网络设备和链路的主/备工作方式使网络的有效利用率只能达到50%,造成较大的浪费 。
进一步从其它角度考虑,在一般情况下路由设备的端口只需要一个IP地址,但VRRP和HSRP协议都要求在一个网段上预留三个IP地址,增加了管理负担;同时RSTP虽然较STP在故障时的反映时间大大减少,但是RSTP的收敛时间仍然在秒级波动,结果往往是应用程序的性能小于原来的预期。严格来讲,STP协议族的设计初衷是避免网络中出现环路,并不是提供目前常被用来的冗余保护目的。
目前网络冗余设计的另一个不足之处是网络中被管理网元数目的成倍增加,不论网络管理者采用何种方式来管理网络设备,同样的配置和策略的下发都需要重复至少两次。
虚拟交换系统(VSS)
VSS技术的核心是Cisco公司最新发布的其旗舰级路由交换设备Catalyst6500的VS-Sup720-10G路由交换引擎,VS-Sup720-10G负责虚拟交换连接(VSL)的建立和管理,使虚拟交换系统对网络中其它的节点呈现为单一设备(唯一的MAC地址,唯一的IPv4地址),对网络管理者所有的端口都在一个网元中被管理。
在基于VSS技术的网络设计中,为了在物理连接上提供冗余,任何一个接入层设备仍然需要连接到同一个VSS系统中的两个不同设备上,但是由于VSS技术支持跨机箱的链路捆绑(MEC),在接入层设备看来它的邻居仍然为一个物理设备。 跨机箱的链路捆绑(MEC)技术与用户采用何种链路捆绑技术无关,MEC支持业界标准的802.1ad链路捆绑协议和Cisco公司扩展的PAgP协议。不论接入层设备和VSS设备之间采用何种链路捆绑协议,VSS设备和接入层设备之间都不需要运行任何的生成树协议,在正常工作时,MEC中的任何链路都有数据通过。
服务器与VSS节点的连接也同样可以享受到MEC技术的好处,服务器网卡捆绑技术(NIC Teaming)早已经存在多年,服务器端不需要安装任何的软件,通过简单的配置就可以和VSS节点跨机箱的链路捆绑连接。
在目前阶段,任何两个Cisco公司的Catalyst6500设备只要具备支持VSL协议的能力都可以组成虚拟交换系统(VSS),这时任何与该VSS系统相连接的设备都可以享受虚拟交换的好处; 根据网络的需求虚拟交换系统(VSS)可以应用在网络的任何层次,核心层,汇聚层和接入层。
Catalyst6500之间的每个VSL连接支持最多8个物理链路,构成VSL的物理链路可以是VS-Sup720-10G上的任意10GE接口或是Cisco高密度10GE接口卡上的任意接口。 虚拟交换系统(VSS)要求设备中的用户接口卡是6700系列,例如WS-X6724或WS-X6748千兆系列,WS-X6704或WS-X6708系列万兆接口卡的任意组合。 在本次测试中我们并没有验证虚拟交换系统间VSL链路上的流量情况,但 Cisco表示在正常情况下, 虚拟交换系统间VSL链路上的流量大约为万兆接口的5%。
到目前为止,VSL技术还是Cisco公司的专有技术,采用VSL技术使Cisco的设备与其它厂商的设备构成虚拟交换系统还不可能。
业界目前最大规模的交换能力
为了考察虚拟交换系统的性能,在本次测试中我们集中验证了交换结构的吞吐量和延时,故障倒换时间和单播/组播混合流量通过虚拟交换系统的能力。
为了尝试考量虚拟交换系统交换结构的吞吐量和延时,我们构建了一个简单但是规模庞大的测试环境,思博伦公司(Spirent)的130个万兆以太网测试仪接口分别连接到130个分布在两个Cisco Catalyst6509设备上的万兆以太网接口上,两个Cisco Catalyst6509预先配置为一个虚拟交换系统。
这些测试产生了到目前为止我们在单一逻辑设备上所得到的最大的转发性能,在64字节时,Cisco公司的虚拟交换系统每秒钟转发能力超过7亿7千万(770mpps)个数据包。我们同时还测试了在不构成虚拟交换系统时,每个设备每秒钟转发了3亿8千5百万个数据包,虚拟交换系统的能力正好时单一设备的两倍,测试结果证明虚拟交换系统在交换能力上并没有因为交换结构跨越物理设备而受到任何影响。
我们还同时验证了在256字节(接近因特网上平均数据包长度)和1518字节(大部分生产网上最大数据包长度)时虚拟交换系统的转发能力,我们得到的数值287Mpps和53Mpps都准确的为单一设备的两倍。
在1518字节数据包长测试时我们得到的转发能力结果大约相当于648Gbps,这个数值约为130个万兆接口理论上数值的一半。虚拟交换系统性能受到限制的原因是虚拟交换技术虽然成倍地扩展了系统的交换能力,但是受限于Sup720引擎目前的能力,每个接口卡和交换结构的连接并没有被扩展。
在10%负载的情况下,我们测试了3种数据包长的转发延时,Spirent公司的TestCenter测试系统得到的平均时延在12微秒到17微秒之间。虚拟交换系统(VSS)的平均时延和一般万兆交换机一样,远远小于应用可以感知的程度。即使是时延分布的最大值66微秒,与Internet上常见的几十毫秒相比,对应用的性能影响都是微不足道的。
快速的故障倒换
我们的故障倒换测试结果又创造了一个新纪录,Cisco公司的虚拟交换系统(VSS)在二层和三层网络故障时的倒换速度是我们到目前所得到的最快的结果。
我们首先搭建了一个传统的环境,二层设备间采用RSTP协议,HSRP提供三层网关的冗余保护,Spirent公司的TestCenter测试系统仿真16000台计算机互相访问,流量完全经过我们搭建的具有冗余保护的接入层,汇聚层和核心层。在测试过程中,我们通过切断汇聚层设备电源的方式触发各种保护机制,在6.883秒后流量完全恢复正常。
我们然后采用同样的测试方法对虚拟交换技术进行测试,测试结果表明核心层和汇聚层的故障倒换时间分别为341微秒和322微秒,采用虚拟交换技术的网络故障倒换时间比传统的保护方式快了20倍。
强大的核心设备能力
为了检验Cisco公司虚拟交换系统作为网络核心设备的能力,我们的测试流量的构造相对复杂,测试流量对应176000个单播IP路由,10000个组播组,超过56亿个数据流。
在测试过程中,我们还在虚拟交换系统上加载了包括10000条规则的安全访问控制,同时在每个端口配置了DSCP服务质量控制功能,并且采用Netflow功能对所有的数据流进行跟踪。
在所有的测试中,不论是单播测试还是单播/组播混合测试,不论是在汇聚层还是同时在汇聚层和核心层采用虚拟交换技术,虚拟交换系统的吞吐量都是传统方式的两倍,测试结果再一次表明了虚拟交换技术采用的主/主工作方式相对过去主/备方式的优势。
在时延方面,采用虚拟交换技术与不采用虚拟交换技术时记录到的平均延时基本一致,在26微秒和90微秒之间,这个范围远小于应用能够感知的范围。
采用虚拟交换技术的最大延时与不采用虚拟交换技术的最大延时相比变化相对较大,但是也不会对应用产生任何负面的影响。有趣的是,采用虚拟交换技术时在256字节数据包测试时,最大延时是不采用虚拟交换技术的4倍。所有的最大延时都远小于1毫秒。
Cisco公司的虚拟交换技术的出现是尖端交换领域中的突破性进展,虚拟交换技术通过加快故障倒换极大地提高了系统可靠性,同时虚拟交换技术也促进了交换容量的成倍提高。
……