龙源期刊网的网络性能测量研究作者:刘为民王宏江波来源:《计算机光盘软件与应用》2012年第22期摘要:对互联网网络性能进行有效的测量是网络运营商、服务提供商和网络用户共同关注的问题。目前关于网络性能测量的研究很深入,产生了大量的测量工具。但这些工具适用的网络环境各有不同,功能也各有优缺,而且绝大多数都是基于端到端的,使测量工作受到很大的限制。本文将简要分析网络性能测量及测量工具发展现状,介绍一种基于单点控制的测量网络性能的工具—pathneck,通过测试实验对其进行分析研究。关键词:网络性能;测量;Pathneck;研究中图分类号:TP393.06文献标识码:A文章编号:1007-9599(2012)22-0000-03对互联网网络性能进行有效的测量是网络运营商、服务提供商和网络用户共同关注的问题。目前关于网络性能测量的研究很深入,产生了大量的测量工具。但这些工具适用的网络环境各有不同,功能也各有优缺,而且绝大多数都是基于端到端的,使测量工作受到很大的限制。本文将简要分析网络性能测量及测量工具发展现状,介绍一种基于单点控制的测量网络性能的工具—pathneck,通过测试实验对其进行分析研究。对互联网网络性能测量的研究是网络运营商、网络服务商和网络用户共同关注的问题。互联网运营商通过了解网络性能合理分配网络资源、提高网络利用率;互联网服务提供商需要通过配置网络性能测试系统来监测网络特征,从而配置应用系统,提高服务质量;网络用户需要在了解应用系统网络性能的基础上,确定网络服务质量状况,以此作为选择满足自身需求的应用系统的依据。目前关于网络性能测量的研究很深入,产生了大量的测量工具,如iperf、pathrate、pathload、tcptrace等。但现有的工具适用的网络环境各有不同,功能也各有优缺,更重要的是绝大多数都是基于端到端的,即要求服务器和客户端协作,使测量工作受到很大的限制。本文将简要分析网络性能测量工作及测量工具发展现状,介绍一种基于单点控制的测量网络性能的工具—Pathneck,通过测试实验对其进行分析研究。1网络性能测量概述目前关于网络性能测量的研究很深入,国内外有大很多进行相关的研究的组织和团体,如国外进行网络测量的组织有CAIDA,IEPM,Intemet2(Abilene),AWI,NIMI,NPACINWS,PPNCG等;国内的清华大学、中科院、哈尔滨大学等在网络性能研究方面也取得了很大的成果。我们将从网络性能参数和网络性能测量的方式两个方面对网络性能测量发展现状进行概述。1.1网络性能参数龙源期刊网(互联网工程任务组)定义的IP网络性能参数以及1993年ITU—T(国际电信联盟远群通信标准化组)定义的标准参数,主要的网络性能参数主要有:IP连接性、IP包传送时延、IP包丢失率、带宽、流量参数和IP包误差率等。不同的应用中还会根据实际需要设定一些重要的性能参数。不同的应心中还有其他一些重要的性能参数,必要时还可以自定义需要的参数,并非局限于标准的定义。1.2网络测量方式的分类按照不同的角度,网络测量有多种分类。如根据测量者的参与行为分为主动测量和被动测量,根据测量点的多少分为单点测量和多点测量,根据采用的协议分为基于TCP/IP协议的测量,基于SNMP协议的测量,根据测量的内容,分为拓扑测量与性能测量等。目前比较成熟的也是比较常用的测量方式分类是主动测量和被动测量。主动测量与被动测量各有其优缺点,而且对于不同的性能参数来说,这两种测量测试也都有其各自的用途。主动测量:在选定的测量点上利用测量工具有目的地主动产生测量流量,根据注入网络的测量数据流传送情况来分析网络的性能。其优点是可主动发送测量数据,对测量过程的可控性比较高;缺点是注入的测量流量会改变网络本身的运行情况,使得测量的结果会有一定的偏差,如果注入的测量流量过多还会增加网络负担。被动测量:将记录网络活动的探针接入到数据流量经过的网络中的某个点上,通过使用包过滤器捕获通过该点的数据包,汇总和记录那条连接上业务流量的信息。被动测量的优点是只监视被接入到网络连接上的数据包序列信息,不需要向网络中注入流量数据,因此不会增加网络运行负担,并且捕获的数据为网络中的原始数据信息。被动测量也存在明显的缺点:一是如果监视系统的吞吐量不足,将会因遗漏包或监视器中没有足够的缓冲去处理的突发包而使测量失效;二是被动测量需要服务器端与客户端互相协作才能完成,这使得测量工作受到很大的限制。无论哪种测量方式都有各自的优点和缺点,因此我们在进行网络性能测量前,要根据测量目的的需要和网络实际状况选择合理的测量方式,提高测量的效果。2网络测量工具介绍测量Intemet性能的工具有很多,包括测量网络带宽、吞吐率、RTT、丢包率和可达性等的测量工具。这些测量工具中多是一些基于ICMP端到端的测量,比如Fping和Gnuplotinf,还有一些是基于网络每一跳的分析,如Pathchar等。根据Internet不同性能的测量,测量工具大致可以分为3类。(1)网络延迟、可达性和丢包率的测量工具,如Gnuploting、Fping、Echtopind等。(2)网络吞吐率的测量工具,如Pathrate、TTCP、Netpert等。龙源期刊网(3)网络带宽的测量工具,如Pathchar,Pchar等。从主动测量方法与被动测量方法的角度,测试工具大致可以分为以下两类:主动测量方法:具有代表性的有Iperf、Pathrate、Nettest等;被动测量方法:比较典型的是Netlogger、Tcptrace和Ntop等。产生数据流的主动测量方法通过在网络中产生用于测量的数据包流量,来测量网络带宽、响应时间(RTT)、丢包率等数据,这类工具对于判断网络瓶颈和估计带宽利用率是非常有用的;不产生数据流的被动测量方法,通过捕获数据包,分析包头信息,通过统计网络流量信息和网络流量监视信息,这对于网络管理员对实际运行的网络系统进行测试来说是非常有用的。3PathneckPathneck是一种通过向网络中发送探测数据包列来获取网络中的延迟信息,判断出网络中可能发生或已经发生瓶颈点和瓶颈链路的位置的测量工具。它能够测得响应时间,估计链路可用带宽,最终实现网络瓶颈点的定位。该工具运行在linux系统环境下。Pathneck基于一种称为递归包列(RPT)探测技术(如图1)。探测数据包列由两种类型的数据包组成:测量数据包和负载数据包。测量数据包为标准traceroute数据包,他们是60字节的UDP数据包。该图显示了每一端的30个测量数据包列,可以用来测量一段网络路径中不多于30个跃点。更长的路径可以使用更多测量数据包。加载数据包列由60个500字节的数据包组成,它们的作用是确保探测数据包列的长度不会因测量数据包的减少而受到大的影响。如果探测端连续发送RPT数据包,当他们到达的第一个路由器时,由于第一和最后一个测量数据包TTL值是1,它们会因为过期而被丢弃并且路由器会发送两个ICMP数据包返回到发送端,其他测量数据包TTL值也相应的递减。发送端会根据每个经过的路由返回两个ICMP值计算出数据包列在该链路的长度,最后依据分组序列的长度的变化反映网络路径上链路容量和背景流强度的变化原理,分析出探测序列在路径上传输时长度的变化,进而确定瓶颈链路的位置。4实验结果分析我们对pathneckf进行了多次的实验测试,以下为在linux系统下从测试机到202.128.6.126的测试结果:第1列为数据包所经过每一跳路由的编号,第2列为到达该跳的RTT值,第3列为该跳的ip地址,第4列为发送数据包的间隔值,第5列为测得的ICMP分组间距的原始值(微秒),第6列为瓶颈点位置(只显示前三位),第7列为可用带宽估算值(Mbps),第8列显示该跳是否处于自拥塞状态的临界,是则显示ub,不是则显示lb,最后一行显示的是从测试机到达目的节点的RTT值。测试结果分析:龙源期刊网①从测试机到达目的地202.128.6.126共经过了13个路由,最终返回,响应时间(RTT)为144.266微秒。如图3:②排除缺少数据的6列,最终瓶颈点定位在02、09、05三个位置,对应IP地址可找到具体的位置。③01、03、06、08、10和12的4、5、7列为0,可能由于某种原因,路由只返回的两个ICMP数据包中的一个,导致测试端只接收到了其他几个数据信息。我们通过多次测试发现,除第一跳始终得不到数据外,其他几跳缺少数据的4、5、7列也会测得数据,图4是我们从多次测量结果中选出的一组数据,巧合的是刚好补充了图2结果中缺少的数据。④01行始终得不到任何数据,原因可能是由于pathneck依赖于路由返回的两个ICMP数据包,但该节点处于防火墙之内,导致ICMP数据包无法返回。⑤图4显示结果中的rtt值为负数,显然这个结果不符合实际,我们发现这种情况出现的概率为百分之五。另外,我们通过在Windows系统下虚拟机中安装linux系统,最终只反回了RTT值,具体原因我们正在研究中。在相同的测试机上测试相同的目的网址,有时也会出现和虚拟机中类似的情况。实验结论:pathneck是一种实现单点控制的有效的网络性能测量工具,可以测得从源点到目的端间每一跳路由间的rtt值和可用宽,并最终确定瓶颈链路位置。其递归包列的思想对我们进行网络测量有很大的启发。但由于受网络环境影响较大,尤其是其依赖路由返回ICMP值,对其测试性能带来了很大的局限性。更为重要的是,其测量结果有时也会出现不符合逻辑的情况,说明其设计上还存在一定的问题,需要对其进行改进的优化。5总结对互联网网络性能测量的研究是网络运营商研究人员和用户共同关注的问题,也有许多网络性能测量工具。本文简要分析了网络性能测量及工具了现状,详细介绍了测量工具pathneck原理,并通过实验结果分析证明其有效性以及存在的缺陷。通过本文综述,为对网络性能测量感兴趣的读者提供参考。参考文献:[1]张白,宋安军.基于Iperf的网络性能测量研究[J].电脑知识与技术,2009,5(36).[2]HuNingningLocatingInternetBottlenecks:Algorithms,Measurements,andImplications,2003龙源期刊网[3]夏彪.端到端网络瓶颈测量研究[D].武汉科技大学硕士学位论,2009,04[4]粱冰,鹿凯宁,金志刚.Internet的测量与性能分析计算机工程,2003,05.[5]华明.基于多服务商的数据中心网络性能监测系统的研究与设计[D].东南大学硕士学位论文,2009,05.[6]夏彪,吴卫东,黄泽鑫.基于Pathneck网络测量的采样算法研究[J].现代计算机(专业版),2008(10).[7]贺大喜.在Internet中确定瓶颈链路的算法研究[D].重庆邮电大学硕士学位论文,2007,05.[8]杨峻松.基于SNMP的网络性能管理的研究与实现[D].东北大学硕士学位论,2005,12.[9]李扬继,范宝锋,杨洋.网络性能测量技术分析[J].兵工自动化,2006,25(10).[10]刘嘉.ATM网络的神经网络流量控制[D].华南理工大学硕士学位论文,1999,02.[作者简介]刘为民(1981-),男,籍贯:吉林靖宇,学历:工程硕士(在读),所在城市:湖南长沙,工作单位:国防科学技术大学计算机学院。