互联网的应用越来越广泛,网络应用对网络可用性和网络性能的要求也越来越高,因此对网络可用性和网络性能的监测也越来越重要。所谓网络可用性是指端到端全网所能提供的无故障服务时间与全部运行时间之比。网络管理目标有时就是关注网络的可用性,即使网络的可用性尽可能地接近100%。任何关键的网络设备的停机都将影响到可用性[1],所谓网络性能是指描述网络运行状况的属性,对于网络性能的描述有多个参数[2]。CAIDA(cooperative association for Internet data analysis)和IETF(Internet engineering task force)的IPPM(IP performance monitoring)工作组是网络测量方面的著名国际组织,它们对一些网络性能参数给出了定义[3]。对于网络可用性和网络性能的测量主要有被动测量和主动测量两种方式,由于主动测量的部署和实施比较方便,所以一般采用主动测量方式。在网络监测中通常采用综合监测网络性能和网络可用性(integration of network performance and network availability,INPNA)的方法。
目前国内外有多个基于主动测量的网络监测项目,著名的PingER[4]是当前应用在美国电报电话公司(AT&T)网络上的监测项目,于1998年在AT&T使用,并不断更新和升级,监测内容包括网络可用性、单向时延、往返时延、丢包、路由、时延抖动等。NLANR(national laboratory for applied network research)开发的AMP项目[5],监测的内容包括网络可用性、往返时延和网络带宽等参数。NIMI[6]也是基于主动测量的项目,测量网络的可用性和网络带宽。韩国分布式处理和网络管理实验室(distributed Processing & network management lab)开发了一套用于IP主干网的SLA监测系统[7],该系统已应用于韩国电信IP主干网的监测,监测的内容包括网络可用性、往返时延、丢包率等。IP网络性能监测系统(performance monitoring & measurement system,PMMS)是解放军理工大学指挥自动化学院在国家“863”项目和总参通信部支持下研发的一种易于实施、操作的自动化网络级系统,以端到端、定量、可视化的方式监视、分析、管理互联网运行的性能参数[8]。
上述这些系统的实现都利用了网络可用性与网络性能之间的联系,采用了INPNA方法。INPNA方法的最大优势是,在监测网络性能指标的同时,就能够同时计算出网络的可用性。然而,当监测指标严格或网络规模较大时,INPNA方法可能无法兼顾网络性能和网络可用性。
1、对综合监测方法的分析
在综合监测方法中为了提高监测网络性能的准确性,通常采用在一定的监测周期内发送多个探测数据包的方式,因为探测包的时延和丢失率等参数与网络链路情况和被测节点的忙闲程度关系很大。在高速网络情况下要用统计的方法才能获得相对准确的测量数据,监测系统采用连续多次测试(如10次)的平均值来大致反映网络当时情况。
根据大量的实测经验,为提高测量参数的准确性,通常采用下列监测参数[4,9]:
测量包的长度不同所反映的时延也不一致:长包时延要大,短包的时延要小。因此测量时采用两组参数,11个短包,每个包100 byte(第一个被丢弃,因为第一个探测包的时延通常要比后继包大20%);10个长包,每个包1 000 byte,测试数据包的发送在1 s以内,为了防止数据包集中发送,包之间的时延为20 ms。
网络监测的周期一般都比较长,如PingER的监测周期为15 min,PMMS采用的默认监测周期为20 min,15 min或20 min对于网络性能的监测已经足够,而且产生的附加流量较少,但这样的监测周期对于网络可用性监测会产生较大的影响。
因为网络可用性的监测主要测量网络的阻断以及网络阻断的历时,在监测中丢包率等于100%时为网络阻断,当监测周期较长时对网络阻断测量的灵密度不高,导致网络可用性的监测数据不够精确。
网络阻断测量的灵敏度与监测的周期直接相关,假设网络出现阻断的时间为X(min),监测周期为T(min),发现网络阻断的概率为P(P≤1),则:
如果要提高对网络阻断测量的灵敏度,则要降低监测周期T,只有当X≥T时,才能监测到所有的网络阻断,但降低监测周期会增加网络的负载,产生较大的附加流量。可用公式计算产生的附加流量,设网络的监测周期为T(min),监测的节点数为N,则节点产生的网络流量为:
由式(2)可知,INPNA产生的附加流量与被测量节点的个数成正比,与测量周期成反比,当网络规模较大时,被测节点的个数也较多。若被监测设备为100个,监测周期为10 min,则产生的流量为:
由式(3)可知,所采用的监测周期为10 min、被测节点为100个时所产生的附加流量非常大,而这种情况下对于网络阻断测量的灵敏度并不高,当网络阻断时间小于10 min时,不能保证监测到所有网络阻断,而且无法监测到阻断历时。
2、分离监测方法SNPNA
SNPNA(separation of network performance and network availability)对于网络性能和网络可用性采用分离监测的方式,SNPNA采用较大的时间周期(如20 min或30 min)来监测网络性能,同时采用较小的时间周期(如5 min或2 min)、高效的监测算法来监测网络可用性,在测量过程中加入了网络可用性、网络性能与路由的关联。
概括地说,SNPNA对于网络可用性和网络性能采用分开测量的方式,改进了INPNA的不足,对于网络性能的监测同样采用INPNA方法。
为了监测网络可用性,提出了一种称为CP(continuous probing)的算法,CP的主要工作过程是:
(1)每隔一个周期向被监测对象发送一个100 byte的ICMP_Ping分组,如果收到响应,则返回;
(2)若在指定时段内没有收到响应。则再发送一个100 byte的UDP Ping分组,如果收到响应,则返回:
(3)若在指定时段内没有收到响应,则再发送一个100 byte的UDP Ping分组,如果收到响应,则返回,否则返回网络不可用的标志。
步骤2和3发送的是UDP的报文,不同于步骤1的测试报文,采用这种方式可以提高测量的精度,因为某些路由器基于安全的考虑,对ICMP(网间控制报文协议)报文不响应。
分析CP算法的基本性能,监测设备的个数为N,在正常的情况下,在每个周期T仅发送一个100 byte的Ping分组,产生的附加流量为:
也为最小附加流量。
在网络异常(网络阻断)的情况下,在每个周期发送3个100 byte的Ping分组,产生的附加流量为:
也为最大附加流量。
表1给出了在网络异常和网络正常情况下,被测节点为100个时,采用不同的监测周期,CP算法的产生的附加流量及其对100 Mbit/s带宽网络的影响。
在INPNA中,如果为了兼顾网络性能监测和网络可用性监测,要减小监测的周期,但会产生较大的附加流量。表2给出了被测节点为100个时,采用不同的监测周期INPNA方法产生的附加流量及其对100 Mbit/s带宽网络的影响。
可见,随着监测周期变小,监测所需要的附加流量将不断增加。随之而来的是,该附加流量对网络的影响越来越大。因此,缩短监测周期将使网络侵扰的问题愈发显得严重。
对比表1和表2可见,采用CP算法后的确减轻了对网络的侵扰。
事实上,在采用CP算法对网络可用性进行监测的同时,还需要对网络性能进行监测,同样可以计算出在SNPNA监测中产生的附加流量。在SNPNA监测中,设性能监测周期为T1(s),可用性监测周期为T2(s),监测的设备数为N,则网络阻断时产生的附加流量为:
网络无阻断时产生的附加流量为:
由式(6)和式(7)可得,网络可用性测量产生的附加流量在有无网络阻断的情况下对整体的附加流量影响都很小。考虑SNPNA性能时,要同时考虑性能监测、CP算法和特定的时间因素。假设同时监测100个设备,在表3中列出了在不同监测周期下,被测节点为100个时,SNPNA产生的附加流量及对100 Mbit/s带宽网络的影响。
对比表1、表2和表3,可以得出以下结论:
●当采用INPNA算法时,产生的附加流量较大,尤其是监测周期较短时,对网络影响较大;
●可用性监测算法CP产生的附加流量很小。监测周期为5 min时流量已经相当小;
●当采用SNPNA算法监测时,可采用较长的网络性能监测周期和较短的网络可用性监测周期,能有效兼顾对网络性能和对网络可用性的监测。
●分离监测时,可用性监测的流量相对总附加流量很小,随着可用性测量周期的增大,可用性监测流量相对于总附加流量明显减少。
SNPNA的测量采用Ping和Traceroute相结合的方式,对网络性能参数的测量充分利用了性能参数之间的相关性。例如路由的变化往往会带来许多其他相关影响。对于端到端路由来讲,通常会引起RTT(往返时间)、丢包率和返回分组的TTL(生存时间)的变化等;从另一方面来讲,网络性能的变化常常是路由变化的诱因,网络性能的变化会使得网络节点根据路由选择策略重新进行路由,因此网络性能的变化与路由的变化是息息相关的。通过分析网络性能的变化,也可以对路由的变化进行预测。
3、监测结果
监测环境为100 Mbit/s以太网交换机构成的局域网通过租用中国电信公司的2 Mbit/s线路与互联网连接。测试环境由4台设备和7个被测点组成(参见图1),其中在192.9.201.33主机上运行SNPNA,在192.9.201.114主机上运行INPNA,2台试验机作为被测节点(192.9.201.112和192.9.201.1)。其中192.9.201.1为网关,对互联网上选定的7个被监测点进行监测,7个被监测点的信息参见表4。
表4 被测点的详细信息
所选择的测试点的拓扑分布如图2所示,从图中可以看出被测节点所经过的网络比较复杂。
测试时间为一周,SNPNA采用的监测周期为性能监测周期是20 min,可用性监测周期是2 min;INPNA采用的监测周期为10 min,对比表2和3可知。测试中SNPNA产生的附加流量要远小于INPNA所产生的附加流量。经过一周的测试发现,相对于INPNA,SNPNA在不影响性能监测的情况下,能较好地监测网络的可用性。表5给出了一周的监测情况,其中列出了SNPNA精确监测到而INPNA没有监测到的网络阻断情况。
从表5可看出,网络出现阻断的时间一般都比较短,在监测一周的时间内,没有出现15 min以上的网络阻断。而如果采用INPNA的方式,则根据式(1),网络阻断被发现的概率较小,而且不能测量网络阻断的历时。
通过测量发现阻断的情况不同,发生在2006-1-18 17:11:45的网络阻断出现的原因是接入路由器出现故障,从测试点到接入路由器的链路出现异常,导致所有目的节点不可达。发生在2006-1-22 15:23:21的网络阻断出现的原因是网关出现故障所致。
经过一周的测试,验证了可用性监测程序的正确性,实验证明SNPNA在产生较少流量的情况下,能快速、准确地测量网络的可用性,与INPNA相比,对网络可用性的监测效率更高,对网络性能的监测功能相当,而且在SNPNA中通过把可用性监测与PMMS[10]系统拓扑图和告警功能相结合,能快速发现网络故障点。
4、结束语
当前的网络监测方法中,网络性能和网络可用性的监测并没有分离,当网络规模比较大时,面临监测效率低的问题,而分离监测方法是基于大规模网络提出的提高监测效率的方法,通过本文的数学分析和实际测量,证实了分离监测方法能有效提高网络性能监测的效率。
参考文献
1 陈鸣.计算机网络工程设计——系统集成方法.北京:希望电子出版社.2002
2 赵洪华,陈鸣,李建等.网络性能特性的描述和测量.解放军理工大学学报,2004(5):25~29
3 Lowekamp B,Tierney B,Cottrell L,et al.A hierarchy of network performance characteristics for grid applications and services.Global Grid Forum,July 2003
4 Mattews W,Cottrell L.The PingER project:active Internet performance monitoring for the HENP community.IEEE Communications Magazine,2000,38(5)
5 McGregor T, Braun H W,Brown J.The NLANR network analysis infrastructure. IEEE Communications Magazine,2000,38(5):122-128
6 Paxson V,Mahdavi J, Adams A,et al. An architecture for large-scale Internet measurement. IEEE Communications Magazine,1997,36(8):48~54
7 Hyo-Jin Lee,Myung-Sup Kim,Hong James W,et al. Mapping between QoS parameters and network performance metrics for SLA monitoring.In:Proc of APNOMS 2002,Jeju,Korea,September 2002
8 陈鸣,李兵,杨扬等.分布式网络性能监测系统.电信科学,2003,19(5):60~63
9 陈鸣.互连网端到端性能综合监测方法及其系统.国家发明专利(ZL 02138187.9),2004年
10 赵洪华.IP网络性能监测系统的改进.硕士学位毕业论文,2005年3月
11 Thoms M,Lucia H.Internet performance,monitoring. IEEE Communications Magazine,2002,40(8)