网络设备的视频传输性能测试研究与应用
2015-12-02赵泽宇沈敏虎
赵泽宇, 沈敏虎
(复旦大学校园信息化办公室,上海 200433)
0 引 言
随着高校信息化建设的推进,校园网所承载的业务不断的朝着多元化的方向发展,MOOC(大规模在线开放课程)、高清讲座直播和IP摄像头安保监控等网络视频、流媒体服务成为校园网中带宽消耗较大的应用.与传统的网络应用不同,网络视频传输应用对校园网络的延时和抖动要求较高,服务质量严格受限于网络设备的性能.因此,在校园网设备选型或方案评估的过程中,网络设备的视频传输基准性能测试成为评估的重要环节.
校园网用户在评估网络视频传输性能时,往往受测试工具、环境和方法的局限,一般仅能在模拟的场景下进行小范围仿真验证,无法真正了解设备的真实性能.设备性能基准测试是解决这一问题的标准方法,互联网工程任务组(Internet Engineering Task Force,IETF)下属的基准方法工作组(Benchmarking Methodology Working Group,BMWG)定义了一系列请求评议草案(Request For Comments,RFC),对网络设备性能基准测试的参数、测试方法和提交结果做了详细的规定,为设备性能的全面判定提供了良好的辅助手段.
本文对网络设备的视频传输性能测试的方式和方法展开论述,介绍相关基准测试中各项指标的意义及测试方案的设计要点.本文的创新点在于结合校园网运行的特点和标准测试草案,设计出了若干精简有效的网络视频传输测试指标,并结合实际案例介绍采用专业测评仪表进行操作实施的结果.
1 测试基准与指标
1.1 测试基准
网络设备进行视频传输的协议主要是单播(Unicast)和组播(Multicast)[1].使用单播协议进行网络视频传输时,服务器必须为每个客户端的请求单独发送流.在视频流请求数大的情况下,服务器和网络主干设备的负载较重,但服务器可以响应不同的客户机的请求发送不同的数据,且基于TCP的单播协议的数据流转发质量较好,因此常用于网络视频点播服务.组播协议基于UDP设计,需要相同数据流的客户端可加入同一个组以共享一条数据流,可以极大的节省服务器资源,减少网络主干的压力.与单播相比,组播没有纠错机制,发生丢包错包后难以弥补,另外在认证、QoS等方面还不完善[2],因此目前一般用于开放式的网络视频直播服务.
对网络设备的视频传输性能进行评估,应综合考虑设备对单播和组播的支持能力.BMWG公布了RFC1242(网络互联设备基准术语)[3]和RFC2544(网络互联设备基准测试方法)[4],对网络互联设备(交换机、路由器等)的测试基准进行了详细的规定.在IP组播测试方面,特别颁布了RFC2432(IP组播基准测试术语)[5],RFC2236(Internet组管理协议第二版)[6]和RFC1112(IP组播主机扩展)[7]等对测试的细节进行了约定.相应的,我国在前些年也制定了一些设备技术规范,作为行业标准指导设备生产,例如YD/T1156—2009(路由器设备测试方法—核心路由器)[8]、YD/T2045—2009(IPv6网络设备安全测试方法—核心路由器)[9]、YD/T1141—2007(以太网交换机测试方法)[10]等.与RFC的定位不同,我国的行业测试规范主要用于规范生产,因此测试规范明确了网络设备的常用、重要的功能指标.在实际的测试方案制定和操作中,对于网络设备某些方面性能的测试评定主要以RFC的定义为准.
1.2 性能指标
网络设备的性能基准测试是对不依赖于具体应用的网络设备性能特征的测量、分析和评价.设计性能基准测试指标应遵循如下原则.
(1)代表性:指标应可以明确的反映出被测网络设备的特性,适当考虑与应用相关的性能特征;
(2)操作性:性能指标与实际情况相结合.避免因过于复杂或者存在太多干扰因素,会降低测试结果的清晰度和准确性;
(3)可比性:测试指标应可横向比较出不同设备的性能差别,在制定测试方案时可以以满足网络应用的最高需求为目标;
(4)单一性:避免在不同的测试项目中重复设计测试指标,以减少测试开销.
RFC2544及其他相关草案将网络设备的性能基准定义为吞吐量(Throughput)、时延(Latency)、丢包率(Frame loss rate)和背靠背(Back-to-back frame)等几个重要的指标组.RFC2432则进一步细化了IP组播测试的细则[5],如表1所示.
表1 RFC 2432建议的IP组播测试项目Tab.1 IP multicast test project proposal of RFC2432
此外,RFC还对网络设备性能基准测试的基本条件进行了约定[4],比如:测试时间不能过短.吞吐量衡量的是设备在负载恒定的情况下处理数据的能力,时间太短不能精确的反映设备的能力,参考时间一般不低于60 s;为取得稳定值,测试次数一般不少于20次;吞吐量测试一般采取二分法,结束条件为两次测试结果之差小于精度值,精度设定为不超过理论速度的1%;建议以太网的测试帧长一般取64 bp、128 bp、256 bp、512 bp、1 024 bp、1 280 bp或1 518 bp用户,也可以自定义帧长,比如超过1 518 bp的超长帧(jumbo frame)等.
2 测试方法
在一般的情况下,专业测试仪表的性能远高于软件性能测试工具,同时具备优质协议模拟、分析工具和数据报表,因此在网络视频传输性能基准测试过程中,尽量选择专业测试仪表将能很好地展现和分析测试结果.为了测试网络设备的真实网络视频负载,可根据实际需要,对于组播和单播传输视频流的负载进行性能测试.
对于单播性能测试来说,主要检验网络设备的背板交换能力和端口吞吐能力以验证对大并发量高带宽的网络视频传输支持特性,一般采用网络性能测试仪表向网络设备全端口传输流量的方式进行测试.然而,网络性能测试仪表受CPU处理能力限制,独立端口密度较低,面对高密度端口的三层网络设备时,一般使用蛇形串联测试方法[11]:通过配置VRF虚拟路由将网络设备的相邻两个端口配置组成同一个虚拟专网,并且专网之间相互分离独立,然后通过线缆将相邻端口一一相连;随后将网络性能测试仪表的进出端口分别连接至网络设备的第一个和最后一个端口,并配置VRF定义数据的转发规则,使数据包可依据端口号次序传递;令测试仪表以网络设备端口线速(即最大速率)往接收端口发送全双工测试数据流,这样就实现了对网络设备每个端口同时传递流量;如果此时发现接受端有丢包现象,就减少最后一对端口之间的网线连接,同时网络性能测试仪表接受端口的连接位置往前递减2个端口,反复上述测试,直到接受端没有丢包现象.此时网络设备的背板性能就是实际在测的端口数量乘以端口最大速率的结果.
上述两种方法各有优缺点.蛇形串联测试方法在某些情况下不能达到网络设备额定负载,例如在端口有少量丢包的情况下,后置端口无法接收到前置端口的完全线速流量,因此最终结果可能与真实性能会存在差异;另外,蛇形串联测试方法出问题后一般要做多次辅助测试来定位故障点;在测试过程中要检查交换机配置,观察每个端口是否有进出流量,以免作弊.而全端口法无论被测的网络设备是否丢包,网络性能测试仪表总是向被测设备施加额定的负载,且更容易定位出问题的端口,但由于网络性能测试仪表端口密度的原因,高性能的全端口测试一般较难实施.因此在选择测试方法时应根据测试目的、设计指标和测试仪表的配置来综合确定.
在组播性能测试方面,由于校园网中的组播应用一般是实时的网络视频直播服务,因此比较注重对网络设备的组播转发与组播复制能力验证.一般而言,组播的转发与复制能力的测试需要采用全端口测试方法.如果测试仪表无法提供高密度的独立端口,则可以用建立多个VLAN的方法检验网络设备的组播复制能力,即进行跨VLAN的组播复制测试:将网络设备配置N个VLAN(N=交换机配置VLAN的最大个数),将网络设备的两个物理端口分别与测试设备的端口相连,一个端口接入一个VLAN作为视频源,发送一路组播流量,另一个端口设置其余N-1个VLAN做为客户端接受视频流,这样就会有N-1个组播的被复制的视频流量.网络性能测试仪表的流量统计只要发送端和接收端的比例为N-1,即可确认网络设备对组播正确转发与复制.这样测试复制能力也有一定的局限性,无法像全端口组播复制测试同时进行组播的复制与组播转发的测试.
3 测试案例分析
3.1 方案设计
在以Cisco 6509为核心的局域网的网络视频传输性能测试案例中,考虑到局域网本身具有一定的开放性,业务存在多样性,而且应用需求要求在日常使用和保障多路单播和组播视频流稳定性,因此设计测试方案以单播和组播的性能指标测试为主.在单播性能测试方面,主要依据RFC2544标准,利用网络性能测试仪表的相关测试包,通过设定不同大小的报文及混合流量,测试吞吐量、时延、丢包率和背靠背等指标.在组播性能测试方面,着重考量如表2所示基本数据指标.
表2 IP组播测试的基本数据指标Tab.2 Basic IP Multicast test data index
在方案设计中,还应着重考虑实际应用场景造成的影响,包括综合业务网络环境下带宽拥塞时QoS策略对视频流的优先级保护、不安全情况下如何隔离假视频流和非制定客户端、组网环境下故障切换对视频流的影响等.综合考虑上述因素设计Cisco 6509核心网视频传输性能测试方案,与组播有关的部分如表3所示.
表3 IP组播有关测试项目设计Tab.3 IP Multicast testing design
3.2 测试结果
测试过程采用思博伦品牌的测试仪表,机框型号是SPIRENT TESTCENTER200THS,板卡型号是MSA-2001B(配2个万兆以太网XFP端口)和EDM-2001B(配8个千兆以太网SFP端口).测试结果如表4所示.
从表4所示的测试结果来看,所测试的性能基本与Cisco 6509交换机的标称值相符.数据传输的延时与硬件切换的延时都在毫秒级别.在端口流量拥塞的情况下对组播流量的保护效果比较好的方法是采用限制视频流量、隔离假视频源等方法对视频源进行保护.
4 总 结
本文介绍了对网络设备的视频传输性能测试的研究,并对测试案例的设计、过程和结果进行了分析.在测试过程中,首先要明确对测试对象的视频传输能力的预期,通过对待测系统输入预定的流量和参数,并观测相应的输出结果和反馈,通过对输入和输出之间的关系的分析,可对系统性能进行全面的了解.因此,采用设计完善的测试方案是测试过程的要点.尽管本文在案例的设计过程中对需求场景进行了适当的考量,也依然存在可以优化的空间,例如不同品牌的设备互联可能产生的PIM路由协议的PIM-SM(稀疏模式)或PIM-DM(密集模式)之间的协议兼容性问题,以及在综合业务网环境下通过MPLS VPN支撑视频流及组播服务的实际性能等,这些问题将在今后的工作改进中给予完善.
表4 IP组播有关测试项目测试结果Tab.4 IP Multicast test results
[1] Reliable Multicast Transport(RMT)Working Group Charter[EB/OL].[2014-10-01].http://ietf.org/html.charters/rmt-charter.html.
[2] LI B,LIU J.Multirate video multicast over the internet:An overview[J].IEEE Network,2003,17(1):24-29.
[3] BRADNER S.Benchmarking Terminology for Network Interconnection Devices,IETF RFC 1242[EB/OL].[1991-07-01].http://www.rfc-editor.org/rfc/rfc1242.txt.
[4] BRADNER S.Benchmarking Methodology for Network Interconnect Devices,IETF RFC2544[EB/OL].[1999-03-01].http://www.rfc-editor.org/rfc/rfc2544.txt.
[5] DUBRAY K.Terminology for IP Multicast Benchmarking,IETF RFC 2432[EB/OL].[1998-10-01].http://www.rfc-editor.org/rfc/rfc2432.txt.
[6] FENNER W.Internet Group Management Protocol,Version 2,IETF RFC 2236[EB/OL].[1997-11-01].http://www.rfc-editor.org/rfc/rfc2236.txt.
[7] DEERING S.Host Extensions for IP Multicasting,IETF RFC1112[EB/OL].[1989-08-01].http://www.rfceditor.org/rfc/rfc1112.txt.
[8] CN-YD,YD/T1156—2009路由器设备测试方法——核心路由器[S].北京:人民邮电出版社,2009.
[9] CN-YD,YD/T2045—2009 IPv6网络设备安全测试方法——核心路由器[S].北京:人民邮电出版社,2009.
[10] CN-YD,YD/T1141—2007以太网交换机测试方法[S].北京:人民邮电出版社,2007.
[11] 郭亮.路由器性能测试中蛇形测试的局限性探讨[J].电信科学,2013,29(11):173-176.