王和宇 谭国权
中国电信集团北京研究院
摘要 研究城域以太网设备的功能及性能的测试方法,可以更好地评估各厂家的城域以太网设备,以及评估以太网设备组建城域网的优点和不足,对于运营商技术设备选型具有指导和借鉴作用。本文首先简要介绍了城域以太网技术、业务及组网形式;并结合城域以太网特点分析了确定测试目标及设计测试用例的主要原则;重点研究了城域以太网设备技术性能测试、路由测试、多播协议测试、MPLS测试、业务测试、对于协议一致性和自动化测试的要求等测试方法。
关键词 城域以太网 测试方法 以太网
1 引言
本文研究重点主要是结合城域以太网的设备与技术特点,分析测试需求,研究测试方法、划分与整理测试用例,提出适用于城域以太网设备与技术的主要测试方法。
研究城域以太网设备的功能及性能的测试方法,可以更好地评估以太网设备建城域网的优点和存在的不足,可以用来指导城域以太网设备的测试,也可以用以指导一致性测试软件的开发及自动测试平台的开发。
有了统一的测试方法,就可以对各厂家的城域以太网设备进行评估测试,并使测试结果具有可比性。测试的结果对于运营商在选择城域以太网技术及选择城域以太网设备具有指导和借鉴作用。
2 城域以太网技术简介
以太网技术发展经历了四个阶段,即以太网阶段、快速以太网阶段、吉比特以太网阶段和10吉比特以太网阶段。10Mbit/s以太网和快速以太网已经垄断了LAN领域,有超过95%的用户使用以太网连接其内部网络。吉比特以太网发展起来后,由于它具有简单、灵活、成本低廉、可扩展性强、与IP技术有天然的适应性等特点,它已经广泛应用于城域网领域。随着10吉比特以太网技术的日趋成熟,以太网正在向广域网迈进。目前以太网的应用已经涵盖从桌面、校园网/企业网、接入网、城域网甚至骨干网的各个方面。随着以太网技术的发展,以以太网技术为基础组建的多业务城域以太网,可以使城域以太网具有价格便宜、管理简单、应用普遍等优点。
尽管以太网技术应用于城域网具有很多优势,但是还需要解决一些关键问题:如用户的认证、计费问题;快速的故障保护倒换问题及QoS的保障等。对于这些问题目前有以下各种解决方案:
(1)利用各种包过滤技术、VLAN隔离技术、入侵监测与防范技术等以提高城域以太网的安全性;
(2)使用802.1x、PPPoE、DHCP+ 、Web认证方式对用户进行认证,实现包月制或按时长、流量计费;
(3)采用速率限制确保和限制带宽通道,提高QoS保证能力;
(4)将以太网技术同MPLS结合,提供更多种类的业务,并且使以太网具有同SDH相同的故障倒换时间级别——50ms的自愈时间。
目前,利用以太网技术或将其同IP、MPLS技术相结合,能较好地解决这些关键问题。城域以太网已经成为组建城域网的解决方案之一。
2.1
城域以太网的核心技术
应用于城域以太网的核心技术主要有两类,一是以太网的应用技术,二是以太网的安全技术。
利用以太网组建城域网的应用技术,主要包括Spanning Tree技术、VLAN技术、VLAN聚和、VLAN堆叠、VLAN的动态管理、GARP技术、GMRP技术、以太网的QoS/CoS及以太网本身的各种流控机制等。这些关键应用技术主要用来解决城域以太网应用中存在的具体问题。
以太网常利用STP解决环路和网络发生故障的问题,使用生成树,可以确保任两个节点之间只有唯一路径。但由于STP存在自愈时间慢的问题,因此提出了快速STP技术,这一技术大大提高了自愈时间。多STP技术就是每个VLAN使用一个STP,这样不同的STP域互不干扰,较好地实现用户之间以及用户同骨干之间的隔离,从而提高网络整体的可靠性和扩展性。
VLAN是为解决以太网的广播问题和安全性而提出的一种协议,VLAN将局域网内的设备逻辑地而不是物理地划分成一个个网段,从而实现虚拟局域网。VLAN在交换机上有多种实现方法,可以大致划分为四类,多数情况下根据端口来划分VLAN。使用VLAN聚和技术是为了解决IP地址不足的问题。而VLAN堆叠可以将VLAN的数目从4096扩展到4096×4096。
利用以太网组建城域网的安全技术包括用户认证、包过滤技术、防地址假冒技术以及入侵检测与防范技术。
用户认证是实现用户安全防护的基础功能。目前用户认证主要有PPPoE、802.1x、Web、 DHCP+认证方式。包过滤技术是根据设定的规则利用访问控制列表(ACL)对数据包进行过滤,能过滤掉有安全隐患的以太网帧和IP数据包。可利用2层、3层的属性及其组合,提供以下几种方式的过滤:基于端口进行过滤、基于MAC地址进行过滤、基于Vlan进行过滤、基于IP地址的过滤。还有基于TCP/UDP端口号的应用层数据流过滤。对于伪装成合法用户对网络进行攻击的做法,以太网可以采取一些方法避免这类情况的发生:对端口的学习状态进行设置,设置端口最多学习的MAC地址个数;将端口和MAC地址进行绑定,对广播报文的转发设置开关等。网络有时会遇到不法者的入侵,需要有一些机制进行防范与监测。以太网中主要采取报文镜像、报文统计、流量限制解决这方面的问题。
2.2
城域以太网业务
多业务城域以太网主要以数据业务为主,并能提供一定的语音、视频业务。面向的客户主要为集团用户和个人用户,重点为集团用户,为他们直接提供FE、GE、POS等端口进行互连,并提供多种业务。具体分为承载业务、高速上网业务和增值业务三类。承载业务主要包括VLL、VPLS/TLS、VLAN、VPN。
2.3
城域以太网组网
以太网组网指节点之间的链路直接采用裸光纤,上层构筑多种控制平面的情况。控制层面主要针对VLL、VPLS/TLS、VPN等业务而言,目前可用的控制层面有802.1q、Tunnel(L2TPV3、GRE、IPSec)、MPLS三种。以太网支持星型、网状拓扑结构,选用不同的控制层面及其组合,可以组建各种城域数据网,组网能力强大。利用以太网组建城域网时,需要考虑网络安全、认证计费、服务质量保证、IP地址规划和网络管理等关键问题。在城域以太网技术发展和网络建设中,应在保持以太网原有优点的基础上进行改进,力争实现技术、市场、效益的紧密结合,功能、性能成本的有机统一。多业务城域以太网侧重在以路由交换机(2层以太网交换机和3层路由器相结合)的形式组网。
1. 大型城市组建城域网
组建大型城域数据网有两种方式:采用混合的控制平面;或者将3层流量和2层流量从物理上隔离,相当于建立两个网,一个网用于处理3层流量,一个网用于处理2层流量,即Vswitch技术。
2. 中、小城市组建城域网
中、小型城域以太网的组网方式同大型城域以太网类似,只是规模较小。如中型城域网的核心只设立一个或两个PoP点,小型城市将核心和汇聚合并,变为两级结构,仍然可采用混合控制平面或Vswitch两种形式。
3 城域以太网主要测试方法研究
多业务城域以太网的组网形式主要由2层以太网交换机和3层路由交换机构成,在特大型的城市中组网时可能还包括核心路由器,因此本文主要研究上述设备技术的测试方法。在研究城域以太网主要测试方法之前,首先对测试目标进行简要分析。
3.1
测试目标分析
产品检验测试是测试中的一种重要测试方法,也是城域以太网设备技术测试的重要方法。它不管软件内部的实现逻辑,以检验输入输出信息是否符合规格说明书和业务说明文档中有关功能需求,是否满足行业需求、相关标准的规定为目标。 检验测试主要是为了验证以下几个方面:
(1)是否有不正确或遗漏了的功能;
(2)是否符合相关行业、国家、国际标准;
(3)能否满足实际使用中的业务需求;
(4)是否具备足够的稳定运行的能力。
这要求测试设计者对产品的规格说明、产品的应用环境、产品业务功能都非常熟悉,同时对测试用例的设计方法也有一定掌握,才能设计出好的测试方案和测试用例,高效地进行测试。因为一般测试需求列表中的测试项描述一般比较粗,不能直接根据它编写测试用例,因此首先应根据测试需求进行测试用例划分和整理,把测试需求分解成可操作的测试用例。测试用例的精心设计和挑选是测试中最重要的部分,好的测试用例可以用很少的时间和代价发现最多的问题。
3.2
城域以太网的主要测试方法研究
根据测试需求,分析测试需求,设计好测试用例后,就要开始进行测试了。在实际测试中,有许多测试方法可以应用。根据城域以太网的设备技术特点,以及组建城域网的基本要求,结合我们研究与实践的经验,现着重研究一些关键项目的测试方法,主要内容包括:性能测试、路由测试、多播协议测试、MPLS测试、业务测试、对于协议一致性和自动化测试的要求等测试方法,下面将分别介绍。
3.2.1 性能测试方法
由于多业务城域以太网的组网形式主要由2层以太网交换机和3层路由交换机构成,对于2层交换机设备,主要测试2层功能及性能。而对于3层设备,除测试2层功能外,还要测试3层功能及性能,路由功能及性能,3层多播等。
对于2层交换机和3层交换机的性能测试,根据RFC 2544,目前测试仪表已有很好的支持,如SmartBits的SmartApp,RouterTester的QuickTest都有很成熟的测试例,可分别测试不同帧长度下的性能,一些相关的参数还可以调整。其测试指标包括:吞吐量、时延、丢包率、背对背等四项。除此之外,可能关心的性能指标还有时延抖动。在测试时有以下几点需要考虑:
(1)端口种类。一般测试10/100Mbit/s端口的性能,但对于城域以太网设备,可能还包括GbE端口,10GbE端口,高速端口的性能可能会不同,比如吞吐量是否能达到100%。
(2)跨板卡性能。同一模块上端口间性能与不同模块上端口间性能可能有所不同。
(3)端口数量。一般测试的是一对端口的性能指标,但应考虑整板或整机的情况下,设备的处理能力,当多个端口全速发送流量时,性能会有所下降,特别是时延指标。
(4)数据的相关性。当多个端口间发送流量时,选择一对一发送流量是一种方法,但这样的流量缺乏代表性。更好的方法是按部分连接或全连接方式发送流量,会更接近实际网络情况。
(5)3层性能。对于3层交换机或路由器,除测试2层性能外,还可以测试3层性能,在设备和仪表的配置上,启动3层功能,为端口配置IP地址,同时还要启动设备和仪表的ARP功能。这项测试主要考验设备在启动了3层功能后对于性能的影响。此外还可以测试启动ACL条件下的设备性能,在设备上配置并启用较多的ACL,在此条件下测试其对于设备性能的影响。
3.2.2 路由测试方法
路由功能测试有两种方法。一是借助路由器进行测试,比如大家比较公认的Cisco路由器,此时Cisco路由器作为一个参考标准,相当于测试仪表的功能。在这种环境中,被测设备和Cisco设备都作了相应的配置后,在Cisco路由器上查看配置的结果,比如是否收到了路由表等,还可以通过Ping或Telnet等手段验证动态路由是否建立成功。第二种方法是使用仪表进行测试,要求测试仪表有路由的仿真功能,这种方法连接简单,只要仪表和被测设备直接相连,不用对额外的路由器进行配置,操作过程相对简单,测试结果比较直观。现在RouterTester、AX/4000、IXIA等仪表都有支持,所以有条件时建议尽量使用仪表测试,同时,仪表还可以测试路由的性能,如路由表容量,路由抖动,路由收敛速度等指标。目前可测试的路由协议有:RIP、OSPF、IS-IS、BGP等。
3.2.3 多播协议测试
多播协议测试按建立测试环境分也可有两种方法。一种是借助路由器、PC搭建环境进行测试,在PC上安装支持多播的软件或插件,将PC配置为多播成员,并使其中一台PC作为多播源,向其他多播用户发送多播数据。这种方法比较直观,而且与实际使用相近,还可以运行点播一类的程序获得主观感受,但建立测试环境比较烦琐。另一种方法还是借用仪表进行测试,将被测设备的多个端口与测试仪表的多个端口直接相连,在仪表上启动多播仿真功能,使其每个端口可以仿真一个多播成员。这种条件下还可以进行一些定量的多播性能的测试,具体要根据仪表提供的测试能力。
多播协议分为主机多播协议和路由多播协议。要测试主机多播协议IGMP,可使用SmartBits6000B的SmartMulticast IP可以进行IGMP多播功能和性能的测试,RouterTester中也有相应的功能和性能测试,其QuickTest中也有一些性能测试。对IGMP Snooping,可以将以太网交换机放在仪表和3层交换机(或路由器)之间,用仪表的IGMP仿真功能发送多播数据以测试2层交换机的多播功能。目前仪表可仿真的路由多播协议多为PIM-SM,如RouterTester可测试其功能和性能。
3.2.4 MPLS测试
MPLS测试一般是用路由器和交换机搭建一个典型的MPLS环境,其中至少应包括一台P路由器,两台PE路由器或交换机,两台CE路由器或交换机,由仪表或用户设备发送数据流,这里也可以由仪表来模拟CE,主要是测试PE的功能,如2层VPN、3层VPN等。还有一种方法是利用仪表的仿真功能,直接测试一台PE的功能,如LDP协议,标记分发等。
3.2.5 业务测试
数据产品的种类非常多,产品业务之间的差异性又很大,这里只是简单地对各类业务进行了分类,并给出了一些测试建议。
产品的业务功能一般来说可以分为以下几大方面:
(1)产品的设备功能,主要包括:
A. 设备通信:设备和设备之间、设备和网管之间的通信功能,应注意测试通信双方对数据是否进行了正确性校验,是否进行了流控,通信异常是否可以恢复。
B. 设备配置:通过维护终端给设备配置开工所必需的数据信息,应注意测试前后台数据的一致性以及设备内存和Flash中数据的一致性,还需要测试配置数据是否进行了适当的合法性检查,有些产品还需要测试配置失败情况下的恢复功能。
C. 设备维护:测试过程中应注意设备能否在预期的响应时间内给用户明确的响应,应注意操作的结果是否可观察,如果操作不成功,还应给出明确的提示信息提醒用户。
D. 设备测试:应进行测试结果的正确性测试,建议在设备上挂仪表进行测试,然后和系统自测的结果进行比较。由于对设备进行测试时,一般要接管对设备的控制,应注意测试在异常情况下是否会不能释放控制,导致设备吊死。对于在线测试,还应测试其对业务的影响。
E. 设备倒换和保护:对于主控设备,应重点测试双方的数据备份功能。倒换发生时,应测试对业务的影响。倒换发生后,应注意测试是否有资源吊死。对于锁时钟的设备,还应注意测试倒换对时钟的影响。
(2)产品的安全功能,主要包括:
A. 权限管理:应注意测试用户是否只能进行授权的操作。
B. 日志功能:应注意测试所有的用户操作是否都有记录,记录的操作者和操作时间是否正确,用户是否能轻易地修改和擦除日志记录。
C. 数据安全:应注意测试保密数据的存储和传输是否安全,比如应该加密传送用户的登录密码,获取保密数据时应该进行用户身份鉴别。
(3)产品的业务功能,主要包括:
A. 业务配置:主要测试业务配置的方便易用性。
B. 业务使用:有些业务需测试业务之间的相互干扰。
(4)产品的故障管理功能,主要包括:
A. 故障上报:主要测试故障上报信息的正确性,故障上报信息的显示正确性可以通过编写测试工具遍历告警库发模拟告警的方法来测试。
B. 故障诊断:测试时,应尽可能列出系统的各种故障情况,然后模拟故障来测试故障诊断的准确性。
(5)产品的性能管理功能,主要包括:
统计:主要测试上报统计数据的正确性,以及显示是否直观。
(6)产品的计费功能:
产品计费主要分为按时间计费和按流量计费两大类,测试时应重点测试计费功能的准确性。计费数据要求高度可靠,在任何情况下都不应该丢失计费数据,因此还应该重点测试在各种异常情况下对计费数据的保护。
3.2.6 自动化测试
测试是一项长期工作,由于产品型号繁多,需要大量重复相同的测试活动。有如此多的版本要测试,必然有很多重复性的测试工作,因此在测试设计的初期,我们就要考虑哪些部分的测试适合自动化,把他们标注出来,按自动化测试的要求进行测试设计。
决定哪些部分适合自动化测试,一般需要考虑以下的因素:
(1)运行频繁:运行频繁的测试重复执行的次数多,应该首先考虑自动化。哪些部分运行比较频繁呢?一个是重要功能的测试,因为其功能重要,几乎每一个产品都要对其进行测试。
(2)功能相对稳定:进行自动化测试的功能应该相对稳定,如果功能经常发生变化,必然导致测试用例也要经常修改,自动化测试的测试用例修改的成本比手工测试大得多,会导致自动化测试得不偿失。
C. 容易自动化:自动化需要考虑成本,一般来说,具有序列化的输入输出的部分比较容易实现自动化。比如命令行形式的输入就比图形界面的输入容易自动化。
3.2.7 协议一致性测试
协议一致性测试一般是根据通信协议的具体规定,按照符合其每一条要求设计一个测试例。目前测试仪表支持许多协议一致性测试集,具体的测试能力依仪表所提供的能力。
TCL及其相关扩展是目前自动化测试领域流行的脚本语言,其简单的语法、良好的可扩展性使得TCL被广泛应用于自动测试领域。采用TCL及扩展语言进行协议测试套的研究是一种可行的方法。
4 结论
根据城域以太网技术设备的测试需求,考虑城域以太网的技术特点,结合上述的研究分析,可以认为上面所研究的性能测试、路由测试、多播协议测试、MPLS测试、业务测试、对于协议一致性和自动化测试的要求等测试方法是适用于城域以太网技术设备测试要求的,在实际测试中,可以根据上述研究与分析设计具体测试项目与内容,按上述方法进行实际测试验证。
王和宇,中国电信集团北京研究院高级工程师,主要从事数据通信领域的研究和测试工作。
谭国权,中国电信集团北京研究院数据通信研究室主任,主要从事数据通信领域的研究工作。
----《中国数据通信》
|