网络基础设施的日益完善为各类应用服务提供了良好的承载平台,各种接入方式(比如ADSL,Cable,光纤接入,Mobile)为用户提供了各种接入网络的途径,网络终端需要更多种类,更灵活,质量更好的应用服务。网络应用服务种类繁多,包含传统的标准应用,比如HTTP,FTP,DNS,Streaming等应用,更多更复杂,增长更快的是P2P应用和Messenger应用。传统的应用可以通过仪表很好的进行测试,对于层出不穷的P2P应用和Messenger应用需要提供更灵活可扩展的方案进行仿真。
本文提供了思博伦公司Avalanche 3100对网络应用测试的业界领先方案。
2 网络应用测试
网络应用测试包括对网络应用服务器的测试和对中间网络应用基础架构的测试。网络应用从协议实现方面包括传统标准应用和五花八门的非标准(没有具体规范)应用,如P2P和Messenger等。网络应用测试不单单是对单应用测试,还包括流量模型的测试,流量模型是对一定时间一定周期内网络流量的分布特征的抽象,反应各类应用在网络中的分布情况,流量模型的测试对于网络应用承载和检测设备测试非常关键。
3 标准网络应用测试
标准网络应用测试主要包含基于Web的测试,DNS测试,流媒体测试,以及其他各类服务器(FTP,邮件,CIFS等)的测试。这些应用都会特定的标准对应,有具体的协议框架,承载内容会有变化,具体到实现,不同的服务器也会有特定的要求。此类应用的测试难点在于对于服务器的测试,比如基于Web的服务器,虽然应用基于HTTP,但是服务器比如Portal会对客户端的内容有严格的要求,如果仅仅支持HTTP其实不能说就可以测试Portal服务器,因为仪表需要提供Portal需要的请求才能完成和Portal的交互,否则测试无法进行。对于传统标准应用测试,下面举Portal测试为例说明思博伦通信Avalanche 3100如何实现服务器的测试。
(1)Portal服务器测试
Portal是基于Web的认证系统(HTTP/HTTPS),主要提供个性化、单次登录、聚集各个信息源的内容,Portal是对信息的集成技术,可以很方便的为用户提供统一的界面和个性化的服务。
Portal虽然是基于Web的技术,登录Portal的过程虽然简单,但是Portal通常会提供一些会话信息给登录客户端,这些信息对客户端来说是动态变化的,需要提供给Portal以表明自己的会话合法性。测试的难点在于如何提供Portal需要的动态内容以保证Portal对用户的身份认证以及Portal通过认证对用户的控制。对于Portal的测试,仪表需要支持比如Cookie,Session ID等才能完成和Portal的交互。通过Avalanche 3100可以完成任何和Portal动态交互的过程,以达到测试的目的。
(2)测试场景
如图1所示,Avalanche 3100仿真登录的客户端,登录Portal,登录成功以后,点播电影《阿凡达》。
图1 测试场景
登录的过程需要若干动态交互的过程,比如Session ID,Cookie以及View State等。Avalanche 3100通过对动态内容的变量化来完成动态交互的目的,同时提供高性能的压力测试。Avalanche 3100也是性能测试仪表中惟一支持与Portal动态交互的仪表。
(3)P2P和Messenger测试
目前网络中的应用除了标准的应用外,还有几千种甚至更多流行的其他应用,比如P2P(BitTorrent,eDonkey,Kazaa,Gnutella)和Messenger(MSN,QQ,Yahoo Messenger,Skype,GTalk)应用,同时一些研究机构或者军方会有自己的专有协议或者定制应用。这些应用的测试是棘手的问题,主要在于这些应用不规范,不标准,种类繁多,协议变化快无法一一跟踪,以前仪表的方法是通过对单个会话的回放来仿真这些应用,这么做的问题在于无法根据应用变化随时进行修改,并且简单的单用户回放无法实现多用户多场景多流程的变化,与现网相去较远,并且这种回放无法对交互过程进行编辑甚至定制,所有过程千篇一律,对于DPI等测试效果很不佳。针对这种情况,Avalanche 3100提供的SAPEE(Scaleable Application Playback Emulation Environment)可以提供灵活的可扩展的方案,对所有基于TCP/UDP的非标准应用进行动态仿真,适应各类应用的版本升级和协议变化。
那么如何用SAPEE来实现P2P和Messenger呢?本文将以MSN为例对此进行介绍和说明。
使用SAPEE对MSN进行仿真,需要抓取MSN报文,MSN报文里面可以包含任意你需要的会话内容或者会话数。SAPEE会提供一个向导完成对MSN报文的导入,导入的过程可以提供一系列过滤条件来完成对报文的过滤。导入后,Avalanche会提供对这个报文的解析,具体参见图2。
图2 导入后Avalanche提供对这个报文的解析
此例中的报文中包含4个MSN会话,生成的SAPEEMSN为播放列表(Playlist),其中4个MSN会话叫做流(Stream),点击任何一个Stream都可以看到这个Stream中包含的报文交互过程,以及各报文的详细内容。SAPEE与一般意义的回放不同在于,你可以对报文内容进行任意编辑和扩展,比如你添加你想要,也可以删除你不喜欢的,你可以对报文的任意字段变量化,比如MSNID或者MSN交互的内容。这样就可以对会话进行扩展,确保对MSN的仿真不是单用户行为的重复,而是千变万化。对于仿真P2P或者Messenger测试DPI/DFI来说,DUT可能会对特定字段更敏感,SAPEE可以提供LOOP和TIMER对特定流或者特定报文段进行LOOP或者处理延时评估,为测试提供更准确完备的结果。
4 网络流量模型测试
网络中的应用是复杂多样的,但是网络流量其实也是有一定规律的,这些规律可以通过一定时间的观察和分析得出一个模型来描述,这就是流量模型。把流量模型搬到实验室用仪表进行实施就是流量模型的测试,流量模型对于测试网络基础架构非常重要,这类测试不仅仅是对网络设备的功能性或者指标的测试,更重要的是稳定性的测试,对网络后期运营有很多的指导意义。
图3是网络流量模型中各类应用的分布情况,各类分布以带宽为基准。
图3 网络流量模型中各类应用的分布情况
模型显示,网络中基于Web的应用占有较大比例,同时非标准应用比如BitTorrent,MSN,GTalk等也占有40%左右的比例。
Avalanche 3100可以根据各应用的分布情况来进行灵活配置,实现各类应用之间的比例关系,对于非标准应用通过SAPEE来进行仿真。图4是各标准协议的选择和配置。
图4 各标准协议的选择和配置
SAPEE完成各类P2P,Messenger等的仿真,具体参见图5。
图5 SAPEE完成各类P2P,Messenger等的仿真
通过Avalanche灵活的Load分配机制,完成各应用流量的混合,具体参见图6。
图6 通过Avalanche灵活的Load分配机制,完成各应用流量的混合
5 结束语
网络应用服务器测试,比如Portal服务器,需要支持动态交互过程,比如Session ID,Dynamic Link和Cookie是必须的,通过Avalanche 3100可以在高性能的情况下实现Portal服务器的测试。对于非标准协议支持,需要的是可扩展的解决方案,以便随时跟踪各类P2P和Messenger应用的发展变化,Avalanche SAPEE提供了一种灵活可扩展的方案。
非标准协议因不同场景会有不同的流程,其中交互过程也有动态的内容,SAPEE的动态变量可以实现内容的动态化,而不是简单的回放单个用户行为。流量模型(Traffic Model)是对现网一段时间流量的抽象,测试需要关注各类流量的分布和业务特征。Avalanche支持各种流量分布模型的构建和非标准协议的可扩展性仿真。
|