浅析网络测试各种技术比较
网络测试中,被测网络在实际运营业务,因此测量方法的选择是非常重要的,所选择的测试方法既要能够完整、简便地测量网络,又不能对被测网络造成冲击。网络测试的一个特点是地域上的分散性,因此测试中的控制权问题、时钟同步问题也需要在网络测试中认真对待;同时,不同的网络承载不同的业务,对各种技术参数的要求也不一样,因此在测试中,需要根据具体情况制定具体的测试内容。另外,网络测试和单机测试相比,具有更高的复杂度和灵活性,需要在测试前进行完善的测试规划,以保证测试顺利、正确的完成。
下面,我们分别从网络测试的测试方法、测试控制、时钟同步、测试内容等方面对网络测试技术进行阐述。
1.网络测试方法比较
网络测试有多种测试方法,根据测试中是否向被测网络注入测试流量,可以将网络测试方法分为主动测量和被动测量。
主动测量是指在测试前选定的测试点上,利用测量工具有目的地主动向被测网络注入测试流量,并根据这些测试流量的传送情况来分析网络技术参数的测试方法。主动测量具备良好的灵活性,它能够根据测量环境明确控制测量中所产生的测量流量的特征,如特性、采样技术、时标频率、调度、包大小、类型(模拟各种应用)等,主动测量使得测量能够按照测量者的意图进行,容易进行场景仿真,对QoS和SLA的检验简单明确。
主动测量的问题在于安全性。主动测量主动向被测网络注入测试流量,是“入侵式”的测量,必然会带来一定的安全隐患。如果在测试中进行细致的测试规划,可以降低主动测量的安全隐患。
被动测量是指利用特定测试工具收集网络中活动的元素(包括路由器、交换机、服务器等网络设备)的特定信息,以这些信息作为参考,通过量化分析,实现对网络性能、功能进行测量的方法。常用的被动测量方式包括:通过SNMP协议读取相关MIB信息,通过Sniffer、Ethereal等专用数据包捕获分析工具进行测量。
被动测量的优点是它的安全性。被动测量不会主动向被测网络注入测试流量,因此就不会存在注入DDoS、网络欺骗等安全隐患;被动测量的缺点是不够灵活,局限性较大,而且因为是被动的收集信息,并不能按照测量者的意愿进行测量,会受到网络机构、测试工具等多方面的限制;另外,被动测量的参数也不够全面,尤其在网络连接性和QoS测量方面。
主动测量和被动测量各自特点如表1所示。
2.网络测试控制比较
网络测试中,对网络测试的控制可以分为集中控制和分布式控制。
集中控制是指在网络测试中,选择一个测试点对测试进行统一控制,统一进行测试任务的管理、分发和测试结果的收集。集中控制的优点在于具备良好的测试同步性,参与测试的所有测试点统一开始/停止测试,便于及时发现问题和进行测试调度。缺点是测试中的控制信令必须经由被测网络,因此,测试中被测网络的任何故障都会影响到测试的控制,严重时,特别是出现网络拥塞时,会导致测试控制信令的丢失,从而失去测试控制权
分布式控制是指在网络测试中,由各个测试点本地对测试进行控制,独自控制测试进程,本地收集测试结果。分布式控制的优点恰好是集中控制的缺点,而它的缺点也就是集中控制的优点。表2为两种方式的比较。
3.时钟同步方式比较
时钟问题是网络测试中一个非常重要的问题,由时钟带来的误差是网络测试中测量误差的主要来源,尤其对单向时延的测量,参与测量的两个测量点时钟同步程度的好坏直接影响测试结果的正确性。
目前常用的时钟同步方法是NTP(NetworkTimeProtocol,网络时间协议)时钟同步和GPS(GlobalPosition System,全球定位系统)时钟同步。
NTP时钟同步是目前Internet上采用最为广泛的一种时钟同步方式,NTP的同步结构采用树型结构,处于同步树顶端的是一级时间服务器(Stratum1),它通过精确的外部时钟源获取时间,一级向下是二级时间服务器(Stratum2),NTP最多允许有15级时间服务器。
NTP时钟同步采用灵活的C/S模型,它有三种工作方式:C/S模式、Peer模式、广播/组播模式。在C/S模式中,客户端向服务器发送Request,服务器通过Response回应该请求,客户端根据Response信息调整自己的时钟;在Peer模式下,对等体互为服务器和客户端互相调整自己的时钟和对端同步;在广播/组播模式下,服务器周期性地向客户端发送广播/组播包进行时钟同步。
NTP时钟同步方式目前比较成熟,应用也比较广泛,实施难度不大,但是NTP的精度有限,在广域网内,NTP只能保证10ms级别的精度,对于核心网测试来说,这远远不能满足要求。而且,NTP时钟同步所利用的网络恰好也正是需要被测量的网络,因此时钟同步的精度很难保证。