袁 振
摘要:应用实时性的改善有赖于网络带宽资源的测量与分配,因此动态、快速、准确地测量端到端路径可用带宽对于网络实时应用的性能优化具有重要的意义。本文介绍了网络带宽测量技术,探讨了常用的基于TCP可用带宽测量算法。
关键词:网络规模;可用带宽;测量方法
1 引言
近年来网络规模不断扩大,网络流量急剧增长,尤其是实时业务和多媒体应用等新业务的不断增加,例如远程教学,视频会议、视频点播,视频监控等敏感的网络应用,这些应用对网络传输提出了一组性能度量的要求,主要包括带宽、延迟、丢包率等。然而,目前对网络测量技术的研究明显滞后于网络及其应用的快速发展。研究网络性能测量技术是了解网络行为、进行网络控制、实施服务质量保证、提高网络性能的基础和重要环节,因此具有十分重要的意义。
2 网络带宽测量技术
2.1 带宽测量技术分类
依据不同的划分标准,可对带宽测量技术进行如下分类:按照是否向网络内部注入探测包,可分为主动测量和被动测量按测量过程是否需要节点路由器的协作,带宽测量技术分为链路带宽测量和端到端的路径带宽测量方式按照不同的测度,带宽测量可分为链路带宽、路径带宽即和链路可用带宽测量技术。
主动测量和被动测量。主动测量通过发送测量包来获取网络性能数据。主动测量可以获得用户感兴趣的端到端的网络状况和网络行为,具有灵活方便、可操作性强等优点。主动测量通过分析探测数据包和响应数据包来获取相应的性能参数。主动测量结构包括两部分发送端的监测设备和接收端的监测设备。
被动测量使用接入网络的探针来一记录和统计链路上数据包的网络特性。被动测量不必发送主动测量包,也不会占用网络带宽,对网络影响较小,可以获得更为准确的测量结果。
两种测量方式都存在一定的缺陷。主动测量需要向网络发送大量的测量包,占用网络资源影响网络性能,进而影响测量结果的准确性。被动测量一般只能用于单点监测,难以了解端到端的性能,难以获取全局性能视图,并且测量时需要多方协作,因此测量范围受限,实现复杂度较高。同时,测量采集所需要的数据不能达到实时性。另外,被动测量需要捕获和分析用户数据包信息,可能会侵犯用户隐私,影响网络的安全。大多数带宽测量技术采用主动测量方式。
端到端带宽测量和链路带宽测量。端到端带宽测量是对源、目的节点两端之间的网络路径的带宽参数进行测量,包括端到端的瓶颈带宽测量和端到端的可用带宽测量而链路带宽测量主要是测量网络路径上各段链路的带宽参数,着重于测量链路的带宽值。
链路带宽测量、路径带宽测量和可用带宽测量。链路带宽测量是对某条链路的最大发送速率的测量路径带宽是最窄链路的物理带宽可用带宽表示在网络路径中有背景流量存在的情况下,网络路径还能给端到端之间提供的最大吞吐量。可用带宽它是随链路状态和已有网络负载状态动态变化的,反映了某时间段内路径发送数据的真正能力,在实际中更具有指导意义。
2.2 带宽测量技术性能评价标准
测量持续时间。指完成一次待测路径瓶颈带宽测量或可用带宽测量需要的时间。这个时间主要包括探测包发送和接收处理的时间以及数据后分析处理时间。流量工程、路由等一般要求快速测定路径带宽,测量持续时间越长,测量效率越低,测量负载对网络应用造成的影响就越大,而可用带宽又是动态变化的,则可用带宽测量值的实时性就越差。
测量指标。网络性能测量方法可以完成路径瓶颈带宽测量、路径可用带宽测量和其它相关网络性能参数测量,测量指标反映了测量方法的测量能力。
测量精度。体现了测量结果与实际情况之间的差异程度,定义为测量值与实际值之间的差值与实际值的百分比。
测量稳定性。表示使用一种测量技术进行多次测量时测量结果之间的分布情况,测量结果的统计方差越小,则测量越稳定。测量精度与测量结果的稳定性共同反映了测量技术的精确程度。测量负载。指完成一次带宽测量需要发送和接收的数据报字节数,即测量需要的开销。测量负载越低则测量过程对网络运行的干扰性就越小,测量结果越真实。
2.3 基于TCP的测量算法
ImTCP算法。ImTCP不向网络中注入额外的探测包,而是使用TCP连接阶段传输的数据包。改变现有的TCP Reno版本,增加了所提出的ImTCP算法。发送端调节传输数据包的间隔,然后利用ACK包到达间隔估测网络路径的可用带宽。ImTCP能够周期性的给出测量结果,算法会报告在每隔2-4个循环周期内可用带宽的估测值。
在每次测量中,使用一个搜索范围去找到一个可用带宽的值。搜索范围I=(B1,Bu)是一个包括目前可用带宽值的带宽范围。下面是ImTCP算法的步骤:
搜索范围初始化。首先根据CProbe算法发送一个探测包串来找到一个粗糙的可用带宽估计。设置搜索范围(Acprobe/2. Acprobe ),其中Acprobe是Cprobe探测的结果。划分搜索范围。将搜索范围到分成K个小范围Ii=(Bi+1,Bi)(i=1,2-k),所有小范围的宽度都是相同的。发送数据包串并检查增加趋势。选择一个小范围,根据所有流的增长趋势,选择一个其中包含可用带宽准确值得小范围。
计算可用带宽。
Past算法。Past算法是在传统TCP慢启动的基础上嵌入了可用带宽测量算法,是PTR算法的变种。Past算法在TCP慢启动阶段进行带宽测量,就如同UDP探测包串一样,调整TCP数据包在慢启动时间内的发送间隔,根据PTR算法的原理,可以估测出路径的可用带宽,很迅速的识别出拥塞窗口的大小,提高了慢启动的性能,减小了丢包率,提高了吞吐率。
Past是在考虑了应用环境和网络特征的基础上提出来的,其诸多特征都是根据应用环境(TCP慢启动)得出来的。
精度和开销。TCP是一个自适应的协议,启动阶段的目的是得到拥塞避免阶段一个合理的起点。同时,希望能够转入拥塞避免阶段更快一些,因此,低开销是很重要的。根据这两个需求,Past算法比PTR结束测量更快一
测量间隔:由于需要可用带宽的信息来进行拥塞控制,因此,需要一个很短时间内的可用带宽的平均值。因此,Past使用的数据包串长度为一个RTT内发送的数据包的数目。
双端控制:TCP是一个双端控制的协议,Past自动访问目的端。然而,为了方便配置,PsSt算法在发送端基于ACKs的时间间隔信息来计算可用带宽,实现时采用单端测量方法。提出Past算法的作者提出Past的目的就是为了说明测量可用带宽的算法需要和实际的应用环境紧密结合,应用需求不同,采用带宽测量算法也不同。
3 带宽测量技术研究趋势
无线、移动网络环境下带宽测量。目前大部分带宽测量技术都是面向有线网络环境的,但是无线、移动技术的快速发展和广泛应用己经引起带宽测量研究人员的注意。由于无线、移动环境面临的是十分恶劣的无线信道,往往存在大的路径损耗、严重的信号衰落以及大的多径时延引起的干扰问题,很多在有线网络环境下得到的结论发现不再适用,故带宽测量面临更大的挑战,是当前的一个热点问题。
带宽测量基础设施的大规模部署。网络测量基础设施将成为部署下一代网络必须考虑的因素,由于现有技术尚未在公网上得到广泛应用,故其有效性、安全性都还有待评估,因此深入研究带宽测量技术的大规模部署方法将成为下一个研究重点。
利用带宽测量支持网络实时应用。尽管带宽测量研究得到了深入的研究,但是都没有运用到实际应用中去,还没完全达到当初研究带宽测量最终的目标。随着网络的发展,各种新的实时应用不断涌现,将带宽测量技术与实际应用相结合的要求越来越迫切。因此,如何将带宽测量技术有效的在实际中运用也是研究的热点之一。
参考文献
[1]韦安明.IP网带宽测量技术研究与进展,电子学报,2006.
[2]张峰,端到端网络带宽测量技术研究,电信科学,2005.
[3]杨峰,杨萃元等.基于TCP/IP的网络带宽测量方法及工具,计算机工程,2003.