IP 网络性能优化关键技术研究
2014-08-17余辉
余 辉
(武汉铁路职业技术学院电子信息工程系,湖北武汉430205)
0 引言
互联网应用的多样化以及应用的普及,使得提供互联网支撑服务的网络运营商必须考虑如何能为用户提供最好的服务,以在市场竞争中取得先导地位。其中,如何打造出智能化管道,基于网络流量特征来优化网络的通信性能已成为当前IP承载网络的重要研究内容。
1 IP 网络的性能问题
IP 网络的性能问题可以转化为互联网业务应用对IP 网络提出服务质量(QoS)要求问题。这要求IP 网络的管理人员可以对网络当前的性能指标进行提取,并根据业务应用需求和业务流量特征,优化网络性能,为业务提供满足服务质量要求的网络支撑服务。
2 IP 网络性能的测定
2.1 网络性能定义
IP 网络性能是指一系列对于运营商有意义的、可用于系统设计、配置、操作和维护的参数进行测量所得到的结果[1]。网络性能可以用一系列的网络参数来度量和描述,体现了网络本身的特性。
2.2 网络性能测定过程中注意事项
确保样本空间足够大;一定要确保样本具有代表性;对于粗粒度时钟使用的时候一定要小心;对于不可预知的事情,尽量确保在进行测试的时候避免发生;深知干扰测量结果的还有缓存机制;注意对结果的外推等等。
2.3 网络性能测定的若干参数
在IP 承载网络中,需要测定的网络性能参数有如下这些:
1)IP 网络的连接性:也称可用性、连通性或可达性,是网络的基本能力或属性;
2)IP 网络延迟:是IP 包穿越1 个或多个网段所经历的时间;
3)IP 网络丢包率:是指传输的数据包在网络上传输时被丢弃的概率。目前主要用贝努利、马尔可夫和隐马尔可夫等模型来评估网络丢包率[1];
4)IP 网络带宽:包括瓶颈带宽和可用带宽,其中瓶颈带宽是指网络能提供最大的吞吐量。
3 影响网络性能的若干因素
3.1 CPU 的速度比网络的速度更重要
我们现今使用的大部分网络中,用实际经验长期的结论,操作系统在传输线路上所花的时间往往多于协议所使用的开销,换句话说,瓶颈问题多半是由主机引起的,只要加大CPU的速度,数据的吞吐量几乎成倍的增加,而这点想通过网络容量加倍的方法几乎是徒劳的,可见,CPU 的速度比网络的速度更重要,
3.2 减少分组数以便减少软件开销
众所周知,中断是需要软件开销的,而每个分组的到达都要引起一个中断,建议在数据传输之前尽量收集必要的数据用来减少传输过程中的中断次数,减少分组数有助于减少中断,从而减少软件开销。
3.3 使环境切换次数最高
如从内核模式到用户模式称之为环境切换(context switch),此类切换方式非常不利于网络性能,通常情况下,他们像中断一样带来不良后果,当然最坏的情况还是使大量的缓存没有命中率。这种做法环境切换在每个分组都浪费了大量的可贵的CPU 时间,甚至对网络性能的影响是致命的,不可恢复的。
3.4 分组在网络中复制的次数
网络中传递的数据文件在传递过程中需要使用两次系统调用:Read/Write,包括如图1 所示的将接收到的数据文件读到内存和把内存存储的数据文件读出并通过Socket 发送出去的过程。
图1 数据文件复制过程
上述过程中,由于数据文件解析和套接字转发分别处于网络设备操作系统的用户空间和内核空间。在不同空间进行数据传递时必须进行数据拷贝操作。一个完整的Read/Write 过程中至少需要进行4 次拷贝复杂操作。而数据拷贝是一个非常消耗CPU 和内存资源的过程。
3.5 网络带宽与延迟
业务占用的网络带宽可以通过增加付费来加倍提升,但这并不能降低业务数据的传输延迟。解决网络业务延迟问题,需要改变网络协议,网络接口和使用合适的操作系统。
3.6 网络拥塞
有句话:“防病胜过治病”这句多年被人们认可的格言用在网络拥堵方面是非常适用的。一旦出现网络拥塞,很多问题接踵而至,比如分组数据丢失、浪费带宽、没必要的延迟以及其他问题都会马上出现。因此,一个有效的手段是尽量避免出现拥塞。由于互联网视频业务的普及,IP 组播承载的需要也得到广泛应用。在组播应用中,需要在IP 网络中建立组播转发树,负责将端数据转发到各种接收端。这当中,转发树的分支节点的协调控制对IP 组播网络的拥塞控制具有重要影响。因此,如何基于分支路由器协调机制来控制流量拥塞已成为网络运营商当前迫切需要解决的问题。
3.7 避免使用过多的超时机制。
网络中定时器是必不可少的,但是否一定要使用呢?结论是尽量少用。除此之外定时器还会出现超时,一旦出现超时现象,通常情况下是要重复某一个动作,如果这个重复动作是必须的,似乎可以理解,但如果是没必要的,那这种类似状况的重复动作显然是一种浪费了。
4 一种简单网络性能优化方法
目前已有的网络性能分析和优化解决方案中,很少将网络性能与网络成本进行统一考虑。面对纷繁复杂的互联网应用业务,如果以最优的服务质量满足所有业务服务质量要求,需要付出昂贵的网络成本。从经济角度看,是一个不可持续发展的网络模式。而且,不同的网络应用对服务质量的要求是不一样的,对网络成本的支持能力也是不同的。因此,本文提出了一种充分考虑网络效益的网络性能分析与优化解决方案。将网络成本需求放到网络性能优化目标的参数中。方案目标是依据业务给定的网络成本支付能力,提供服务质量最优的网络支撑服务。
通过公式(1)中的参数改变,可以实现网络性能分析优化。
假设网络D=(V,E),其中V 表示节点的集合,E 表示链路的集合,网络D 的成本包括链路成本和节点成本,即:
其中,cos t(link)为链路 link 的成本,cos t(node)为node的成本。
5 结语
针对网络性能优化的研究近年来已经取得了一些进展,但由于未考虑网络成本支撑的需求,因而在实际应用中未得到普及。在市场化条件下,满足网络成本效益需求的网络性能优化,是一种合理的网络管道智能化管理方案。
[1]Maya Yajnik,Sue Moon,Jim Kurose. Measurement and-Modeling of the Temporal Dependence in Packet Loss[A].IEEE INFOCOM[C]. 1999:345 -352.
[2]Lee G,Kwon Y,Cho K,et al. Performance Evaluation of GigabitEthernet Interfaces[C]//Proc. of ICACT’08. Gangwon-Do,Korea:[s. n.],2008.
[3]熊贵喜,王小虎. 计算机网络[M]. 北京:清华大学出版社,2008.