四层千兆接入交换机还是比较常用的,于是我研究了一下关于四层千兆接入交换机的综合评测,在这里拿出来和大家分享一下,希望对大家有用。延迟的测试情况也反映出三款四层千兆接入交换机在QoS启动前后,不同数据包在转发过程中享受的不同待遇。在开启QoS之前(由于版面原因我们只选用3Com的结果),不同的数据包的延迟并没有区别,有些时候,甚至出现了UDP 28的延迟大于UDP 26,UDP 26大于UDP 24、UDP 24大于UDP 21延迟的情况,非常的不规律。
当启用了QoS功能之后,情况有很大改观,在拥塞产生之后,不同数据包的延迟情况不同,低优先级的数据延迟迅速爬升,而高优先级数据包的延迟则缓慢的提升,而且依照不同的队列调度算法,不同优先级的数据包的延迟也不同,一般的情况是高优先级的数据包有着最低的延迟,次高优先级的数据包延迟更低一点,并以此类推,随着拥塞程度的变化,数据包的延迟会发生变化,但是增长到一定程度之后,延迟的变化不会有太大的改变。应该说从延迟大幅度发生变化的横坐标即拥塞度和变化的曲线来看,延迟变化趋近于帧丢失率测试的曲线。队列调度算法在这一测试中是起作用的,这一点我们可以从3Com和华为交换机的延迟测试结果中看出。
港湾公司的延迟测试结果总体看来延迟比较低,但是在拥塞测试中无论是PQ方式还是WRR的方式都与我们预想的结果有着比较大的出入,总是出现两个不同优先级的数据包的延迟没有明显的区别,该公司给予了我们一些解释(见该公司产品的介绍文章)。
在启动QoS的功能中,四层千兆接入交换机将在识别UDP端口号信息提供QoS服务的同时,对数据包的QoS信息位进行重写(相关介绍文章见网站上《QoS术语》)。改写IEEE802.1P字段要求四层千兆接入交换机工作在支持IEEE802.1Q VLAN的模式下。我们考虑到对于一个大型的企业网或者电信网来说,可能会存在跨局域网、广域网,跨交换机和路由器通信的可能。
在这种情况下,会存在着数据包的重新封装的过程,在以太网帧头的IEEE802.1P信息很有可能因此而丧失,所以我们让被测四层千兆接入交换机改写DSCP的信息。测试中,我们发送给四层千兆接入交换机的数据包没有携带DSCP字段的信息,而开启QoS功能之后,通过抓包我们发现交换机会正确的修改DSCP字段的信息。
港湾的FlexHammer 5010E和华为的Quidway S3026E都支持了速率限制的功能,可以按照四层千兆接入交换机的物理端口号、TCP/UDP端口号、IP地址等实现速率限制的功能。港湾的FlexHammer 5010E支持最小带宽192Kbps,最小增长步长为64Kbps的速率限制,华为的Quidway S3026E支持的是最小1Mbps,步长1Mbps的速率限制功能。通过测试,都能实现相应的功能,并有比较好的精确度。
在QoS方面,港湾和华为的交换机还可以支持基于流分类的端口镜像功能,将指定的数据包复制到相应的端口。在提高性能方面,港湾和华为的交换机支持端口的重定向。而3Com的SuperStack 3 Switch4400可以配合WebCache提高Web的访问速度。3Com的交换机出厂配置中就有一些QoS的设置,比如对3Com NBX以太网电话的数据包提供高优先级,对SNMP的数据包提供高优先级等,对于用户来说非常的方便。
安全是智能交换机能够实现的一个很重要的功能。除了我们知道的在二层基于MAC地址过滤、MAC地址与四层千兆接入交换机端口绑定的功能外,四层接入交换机还能提供多种流过滤功能。港湾和华为的交换机都支持ACL的功能,3Com的交换机虽然不支持ACL,但是通过设置一些数据包的优先级为丢弃,可以实现相应的功能。
智能不丧失性能
三台交换机的测试结果表明,在开启QoS功能后,利用ASIC实现数据包转发、ACL、QoS功能的四层接入交换机没有丧失太多的性能!按照我们第二项的测试方法,我们对交换机的纯二层性能先进行了测试,而后在开启QoS功能,重复与纯二层测试相同的内容,测试交换机的2/4层性能。测试的指标包括吞吐量、帧丢失率和千兆、百兆端口之间的延迟。测试中我们向四层千兆接入交换机发送10种不同的数据包,
我们向交换机发送的数据包为含UDP信息的数据包,端口号从21到30,每个数据包的UDP源和目的端口号相同。而在交换机的QoS功能中,需要交换机对这10种数据包的UDP信息都进行识别,不仅仅是停留在MAC层面。交换机还对相应数据包的DSCP字段进行了重写。同时,交换机上相应的队列调度机制也启动了。
三台交换机在纯二层测试时都达到了线速,在开启QoS功能之后,吞吐量和帧丢失率两个测试结果没有受到影响,三台交换机依旧是线速。延迟(平均延迟)的影响也不大,我们可以从延迟测试结果的表中可以看出来,同一款交换机在开启QoS前后的延迟差距并不是非常大,特别是在三款交换机千兆端口延迟测试的结果方面,我们发现延迟差距更小。另外,测试结果并不是象我们想象的在开启QoS功能之后,因为交换机对数据包的识别,对DSCP字段重写而造成延迟的增加。从延迟测试的情况看,以及我们测试交换机的经验看,每次延迟测试结果会有一定的偏差。结合这些因素并分析结果,我们认为开启QoS前后对交换机的延迟影响并不大。另外,从另一个角度看,延迟最大的差别在几十微秒,小的在零点几个微秒,这样的结果可能对于交换机厂商和芯片厂商更有意义和价值,而对于大多数的用户来说,感受到的区别不会太大。
我们还发现了一个比较有意思的地方,3Com和华为的交换机在开启QoS功能之后,测试百兆端口的64字节延迟时高优先级数据包的延迟要低于低优先级的数据包,UDP端口号为21、22、29、30的数据包延迟长(华为512字节和1518字节也有类似情况)。而在没有开启QoS的时候,并没有这一情况出现,在其他测试中每种数据包的延迟Qos前后差距都不大。
从我们的经验看,一般全网状测试对四层千兆接入交换机的压力会更大一些,而且我们网状测试的时间是非常长的,达到了两分钟,64字节情况下会发送785691072个包,很多交换机会有丢包的现象发生。我们后来又做了网状的测试,希望看看是否会有影响。港湾的交换机网状测试开启QoS前后丢包都为零。华为的交换机在开启QoS功能前64字节丢包数量为903、512字节为87,1518字节为0个,而开启QoS功能之后,64字节为938个,512字节为44个,1518字节为0个。四层千兆接入交换机在开启QoS前后丢弃的数据包相差不多,开启QoS之后丢的比开启前少。我们还发现,在全网状测试中,3Com SuperStack Switch4400和华为的Quidway S3026E交换机仅仅丢弃低优先级的数据包(UDP端口号为21、22、29、30的数据包),而高优先级的数据包都没有被丢弃。这些数据表明,如果说我们在网络的边缘采用四层千兆接入交换机,对网络的性能基本上没有影响。