将流媒体放上“检测线”

时间:2022-03-03 02:00:18

将流媒体放上“检测线”

相信很多人都遭遇过流媒体的黑屏、马赛克、图像停格现象,为避免网络带宽等因素带来的影响,流媒体前的播放质量测试显得尤为重要。

三网融合时代,流媒体业务已经逐渐成为趋势,音乐下载、数字视频、图像下载、智能应用、按需点播等,呈现出一种非常快的发展趋势。但在目前的网络带宽的限制下,为了达到在网络上流式传播文件的目的,视音频文件必须经过压缩处理,缩减文件的大小,从而使影音文件的品质有所下降。而且,流媒体业务是一种宽带业务,对于网络带宽、抖动、延迟和丢包率都有较高的要求。因而用户端在使用流媒体服务时,尤其是在忙时段,可能会产生黑屏、马赛克、图像停格、声音时断等现象。因此我们需要一种有效的手段对流媒体的播放质量进行测试。

流媒体的测试可以分为协议一致性测试、协议分析测试和性能测试三种。在实际环境里,由于各种流媒体系统之间并不兼容,因此协议一致性测试是在同一厂家的不同版本之间,或者Cache和媒体服务器/播放器之间进行。协议分析测试和性能测试则需要通过专门的工具软件和测试仪器来完成。

协议一致性测试

协议一致性测试主要验证在不同系统和产品之间使用的通信协议执行是否符合预先定义的标准。协议一致性测试经常采用仿真测试的方法,即采用测试工具模拟真实系统进行测试。仿真测试通常会在产品开发,或者新产品部署前进行,以验证新产品是否符合规范。一旦产品特性稳定后,就不需要再大量进行此类测试了。

协议分析测试

协议分析测试经常被用于实际流媒体系统的测试以及运行和维护中的故障分析和排除。通常系统出现故障后可以由设备本身提供一定的故障信息,但是在很多情况下,这些信息并不能保证快速地分析出故障原因。此时,可以采用协议分析的方法,对系统发送到网络上的流量进行捕捉、存储,然后帮助进行分析。这种方式比较适合于对一些疑难故障的分析。

在流媒体协议族里,需要进行协议分析的种类主要是:

RTSP(Real Time streaming Protocol, 实时流协议) ;

MMS (Microsoft Media Server Protocol, 微软媒体服务器协议) ;

RTP (Real-time Transport Protocol,实时传输协议) ;

RTCP(Real-time Transport Control Protocol,实时传输控制协议)。

进行协议分析的抓包工具主要有三种:

■ TCPDump: 意即Dump the Traffice on a Network,在Unix或Linux下运行,是根据使用者的定义对网络上的数据包进行截获的包分析工具。TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句去掉无用的信息。TCPDump提供了源代码,公开了接口,因此具备很强的可扩展性。

■ Ethereal : 在Linux或Windows平台下使用,Ethereal是个开源软件,它支持500多种协议解析, 可以用来从网络上抓包,并能对包进行分析。

■ Sniffer Pro: Sniffer Pro是Network Associates公司Sniffer技术商业部门生产的一种网络分析软件。这种软件用于网络故障与性能管理,是业界应用最广泛的工具,运行于Windows平台下。Sniffer Pro可以解码至少450种协议,除了IP、IPX和其他“标准”协议之外,Sniffer Pro还可以解码分析很多由出版商自己开发或使用的专门的协议。它具备在位和字节水平过滤数据包的能力,提供对网络问题的高级分析和诊断,并推荐应该采取的正确行动。除此之外,Sniffer Pro可以离线捕获数据,比如捕获帧,因为帧通常都是用8位的分界数组来校准,所以Sniffer Pro只能以字节为单位捕获数据。

在测试时需要将被测链路和抓包的计算机网口通过HUB连接,这样抓包工具就可以收集和分析每一个发送和接收的数据包了。如果链路带宽达到了GE(千兆以太网)级别,此时因为很难找到HUB连接GE端口,可以改用专门的分线器或者在交换机上设置端口镜像。将抓包工具软件端口连接到镜像端口就可以实现抓包。

这里推荐使用Ethereal工具包,因为它可以对RTSP协议进行解码分析。Sniffer也是在Windows平台下的较好的工具。附图给出了一个Sniffer的实际分析界面。

图 Sniffer实际分析界面

从图中可以看到对RTSP SETUP消息的显示,这可以帮助测试人员分析系统故障是否是由RTSP协议引起的。把抓到的数据包存盘后,可以进行回放,将以前记录的数据包重新发送出来,这也可以帮助进行故障重现。

性能测试

性能测试的主要目的是验证系统的性能指标,如并发流数量、最大带宽等参数。它通过专用工具或软件模拟大量的用户去访问流媒体内容,通过设定不同的流媒体参数来考察被测系统的性能极限,然后再提供性能测试报告。性能测试一般在系统性能评估和系统开通前进行。目前主要用两种方式进行测试:

■ 在计算机上运行负载测试软件: 主要是微软的Windows Media Load Simulator。

微软的Windows Media Load Simulator推荐运行在Windows 2003 Server的平台上,测试机至少需要512M内存。它只能对WM进行测试,模拟测试软件版本9则支持对WM9的测试,使用这种方式在进行大容量系统测试时需要配置让多台计算机上同时运行这一软件。它能够仿真服务器上的实际负载。使用者可以在记录中监视服务器上的负载测试结果。Windows Media Load Simulator是设计用来在一或多部客户端计算机上执行,以仿真大量的客户端要求。

■ 采用专门的测试仪表: 主要是Spirent公司的Avalanche 220系列7层协议仿真测试仪。

Spirent公司的Avalanche测试仪表可以支持对三种流媒体系统的性能测试。包括Real、Quicktime和基于MMS的微软流媒体,但是也只支持2个100BaseT接口,在大容量测试时也需要多台仪表的协同工作。

上一篇:分层存储调整企业ROI 下一篇:新华制药内外兼修