版权归原作者所有,如有侵权,请联系我们

[科普中国]-计算机网络性能评估

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

基本概念

计算机和计算机网络是21世纪人类的伟大创造。当我们跨进21世纪的大门,蓦然回首,发现没有哪个发明像计算机和计算机网络这样对整个人类文明和社会进步发生了和发生着如此巨大、如此深刻的影响。计算机网络和计算机系统已经成为现代信息社会最重要的基础设施之一,其应用已遍布社会的各个领域,成为国家发展和社会进步的基本需求,是知识经挤的基本载体和支撑环境。

性能评价(performance cvaluation)是计算机网络和计算机系统研究与应用的重要理论基础和支撑技术,是通信和计算机科学领域的重要研究方向,也是一门理论与实践紧密相连、内容丰富、体系完整的学科。在国外,性能评价技术的研究和应用都十分广泛,另外,性能评价也是国外计算机、通信、信息科学等专业大学高年级学生和研究生的必修课程之一。而在国内,性能评价技术的教学与科一研都亟待加强1。

计算机网络性能评价的目的主要有三个:选择、改进和设计。具体而言,是指在众多的系统(方案)中选择一个最适合需要的系统(方案),即在一定的价格范围内选择性能最好的系统,达到较好的性能/价格比;对已有系统的性能缺陷和瓶颈进行改进和提高其运行效率;对未来设计的系统进行性能预测,在性能成本方面实现最佳设计或配置。

计算机网络的性能一般包括以下两个大的方面:一个方面是它的可靠性或可利用性,亦即,计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度,如平均无故障时间,也可以是在一段时间内,能正常工作的时间所占的百分比。另一方面是它的处理能力或效率。

分析方法对网络性能分析的方法有三种:测量监测技术、数学分析方法、计算机模拟仿真分析。因此,我们可把网络性能评估模型分为三大类:

(1)测量模型

(2)仿真模型

(3)分析模型。

测量是作用在实际系统、实际运行条件下的,因此,它的性能分析模型也就是实际运行的网络,这就提供了在特定条件下实际被观测系统的真实性能。然而,这样的模型并不具有普遍意义,因为它极大地依赖于被观测系统的具体细节,并与被测系统在测量期间所承担的特定负载有关。当我们需要比较两个网络的特性时,基于测量的结果是不可信的,因为无法保证在测量时两个网络模型的运行条件会完全等价。

后两种模型描述的是系统中那些重要的特征。在仿真模型中,这种描述由计算机程序给出,而在数学模型中,这种描述由数学表达式给出。

模型(包括仿真模型和分析模型)可以是随机的或确定性的。大部分我们感兴趣的系统都呈现出一种确定性行为(它们满足这样一个事实,即当以同样的输入数据运行同一个程序时,总可获得相同的结果),但使用简单的概率假设来描述一个非常复杂的系统比起用详细的确定性行为来描述它来得更加容易。因为确定性行为不容易获得,或者即使可得到,但将导致一个非常复杂的模型,因此,上述的方法经常被采用。进一步,由于概率论方法可提供严格的、充分精确的数学解,并可产生更具有普遍意义的结果,而且还可用来研究性能对参数变化的敏感性,因此,概率论方法体现了其卓越的特性。

在建模过程中,最关键的因素在于选择好模型的抽象程度以及模型中应包含系统的那些特性。这种选择,目前还没有规律可循,主要依靠于对系统特性分析的精确和经验。对分析模型的建模不同于仿真模型,仿真模型总是在建模过程中不断的细化,以使其更逼近于真实模型,而分析模型则是变得更抽象、更便于建立数学关系式2。

网络检测评估内容每个实际的网络是千差万别,使用的网络技术也有很大的不同,如何制定可操作性强的网络检测标准是难点之一。根据网络实际测试和网络工程监理中积累的经验,网络检测应该面向网络模型的下三层。我们将网络检测的目的定位于检测网络的下三层是否存在问题,然后主要从以下几个方面问题进行检测。

综合布线系统的测试首先,我们考虑到一个网络是由线缆、接口仁网络互连设备、主机构成吮而一个网络的正常运行,综合布线合格是最起码的要求因此应该对布线进行测试通过综合布线的测试,保证布线是符合标准的。

网络性能的统计分析在网络的实际测试和管理维护中,网络的利用率叹网络碰撞率网络错误率延迟碰撞网络广播率、网络中各网段的负载均衡等对网络性能、网络运行状况有很好的指示作用,有利于网络异常情况和网络正常情况的对比。

(1)网络利用率:我们发现当网络的利用率平均值达到40%或瞬间有70%的持续峰值,网络性能将急速下降因此一个正常的网络利用率的平均值不应超过40%,不得有超过70%的持续峰值。

(2)网络错误率:当一个网络出现过多的错误帧时,将严重影响网络的性能通过对错误帧的分析,有时可以找到错误帧的来源,有利于网络故障的定位。

(3)播率太大,会严重影响网络的性能。因此,一个网络中应该尽量避免广播风暴。

(4)延迟碰撞:如果发现有延迟碰撞,很可能是由于网络违反了IEEE802.3的规范。

(5)网络碰撞率:如果碰撞太多,将使网络效率变低。

统计分析的局限性最初我们想仅通过收集实际的网络数据、研究网络运行重要参数的数值范围这种手段,来制定网络检测评估标准但在实际的网络检测中发现,由于统计分析主要反映了数据链路层的状况,而很难解决以下问题:

(1)子网的划分是否正确;

(2)网络中的数据包的丢失情况;

(3)路由设置问题;

(4)网络的拥塞控制能力;

(5)端到端的吞吐量。

而这些方面对于考察一个网络的设计和性能是必不可少吮例如,一个网络,端到端的吞吐量是用户最为关心的。对于许多应用而言,吞吐量支配了整个应用的持续时间,这决定了用户的能够感觉到的性能但通过统计分析的手段很难检测出端到端的吞吐量。

基于路径的网络性能基准测试P类型的数据包许多基于路径的网络性能参数的基本属性是依赖于测量用的数据包类型的。考虑一个连通性度量:可能会得到不同的结果,这依赖于是否测试数据被发到一个众所周知的端口上,还是不加限制的UDP端口,或使用无效的IP校验码,或TLL等于16。因为这种差别,我们引入了P类型这个一般性概念这样,我们可以讨论通常的P类型连通性或更具体的IP—端口—HTTP—连通性,一些度量和方法论可能大量使用P类型来定义,然后在实际测量时,实际类型再作具体定义。

只要一个度量的值依赖于数据包的类型,度量的名字应该包括定义的类型或前缀P类型这样我们不定义连通性,而是P类型连通性,或者,是“IP—端口—HT-TP连通性”度量这种命名约定起到了一个重要的提示:必须有意识地选择测量用的合适类型的数据包。

连通性引入连通性,可以检测网络的连通状况,可以检测一个网络的子网划分情况,能够发现部分路由设置问题通过连通性测试还可以测试防火墙或路由器过滤等功能,而这些是很难用其它方式测试吮在连通性的定义中,没有指明某个特定的类型,而是使用一个P类型,它是根据路径的实际情况定义吮如果在测试防火墙时,PING( ICMP)数据包类型可能不能通过防火墙,而HTTP数据包则可以通过。

泊松取样经过研究,在取样时,使用泊松取样是有效的。

取样的主要原因是来看被测量的度量中存在什么类型的变差和密度这些变差可能与网络的不同节点或不同的测量时间有戈一个平常的收集样本的方法是在固定的时间间隔内单独进行测量:周期取株周期取样是特别吸引人的,因为它简单,但是有两个潜在的问题:

(1)如果要检测的度量自身展现为周期行为,很可能出现取样所观测到的只是其周期行为的一部分;

(2)重复周期性的扰乱可能使网络进入一个同步状态,放大了个别很小的影响。

一个更合理的途径是基于随机的取样:样本被独立的、随机产生的间隔所分离随机添加取样带来了显著的好处,因为取样不是发生在固定的时间间隔内。而泊松取样能够很好地满足上面的条件如果G(t)是一个具有比率λ,指数分布,可以证明

产生的新的样本的到达是不可预期的,更进一步,即使是取样行动影响了网络状态,也是渐进无偏差的,这种取样称为泊松取株它不倾向于产生同步,它可以用来精确的收集具有周期行为的测量值因此,用泊松取样来收集网络测量样本。

按照泊松过程定义的样本既避免了自同步的影响,也捕获了一个具有统计的尽可能无偏差的样本泊松过程是用来确定度量的测量时间。既然它们受网络影响,一个测试包不是依照泊松分布到达Dst,响应数据包也不是依照泊松分布到达Src。

延迟引入路径的延迟的原因如下:

如果端到端的主机间的延迟与某个域值相差很大时,许多应用程序不能很好的执行;延迟的不确定变化使得支持许多实时应用变得困难或不可能;延迟越大,对于传输层的协议支持高带宽变得越困难;延迟的最小值提供一个当穿越的路径是低负载情况下的延迟的指示;大于最小值的延迟表示路径上存在阻塞。

通过测试一条路径的延迟还可以发现部分设置不正确的路由。例如如果延迟过大,有可能是路由设置有问题,当然,延迟过大也很可能是由网络的持续拥塞造成的,因此延迟可以很好的体现网络的拥塞控制能九我们在延迟测试中发现多数路径的延迟都小于5ms,延迟很大的现象是很少见的,延迟很大表明网络发生了拥塞或频繁发生了碰撞一般一条只经过交换设备的路径上的延迟起伏不大,而一条经过共享式设备的路径,在网络利用率较高时,延迟之间的差别则比较大同时我们在实验中发现延迟的中值能更好地指示出网络的持续拥塞程度或网络的碰撞率在往返延迟中,除了来回路径上的延迟外,还包括设备的响应时间。设备的响应时间,特别是服务器的响应时间,对网络性能的影响也是很大的。

数据包丢失定义路径上的数据包丢失的原因如下:

如果端到端的数据包丢失大于某个阂值,一些应用不能很好地执行;过多的数据包丢失,将使得支持实时应用变得困难;数据包丢失的越多,对于传输层协议来说,支持高带宽将更加困难。

由于计算数据包丢失时是取均值,因此数据包丢失实际上是计算的数据包丢失率。

吞吐量在网络中,端到端的吞吐量是用户最为关心吮对于许多应用而言,吞吐量支配了整个应用的持续时间,这决定了用户能够感觉到的性能如何选择一组好的度量来衡量一个网络性能的好坏是一个很重要的问题国外有很多人正在研究网络的吞吐量同延迟和包的丢失率之间的关系从研究结果来看,吞吐量同延迟包的丢失率之间有密切的关系。

RFC2581定义了这些TCP执行所使用的标准拥塞控制算法虽然这个文档是一个标准,它还是在运行时允许有相当大的自由,这种自由在设计上鼓励使用在拥塞控制算法中的所进行的最新进展。这种传输算法的多样性为吞吐量度量的标准化设置了一个难题,因为允许的多样性将导致了以下形势;不同的执行将产生了度量的不可对比性,这将潜在地使测试失贱因此,每个吞吐量度量必须比经典的IETF协议更紧密的定义,应该收集一些对分析吞吐量模型有潜在用处的辅助度量3。