论文部分内容阅读
随着网络规模的飞速增长,Internet的控制机制和行为特征也日趋复杂,在认识网络的行为特征和性能表现,辅助网络宏观布局和管理,优化整体性能,保证和提高网络服务质量,推动信息基础结构健康发展等方面,网络测量起到至关重要的作用,其中可用带宽作为网络最基本和最重要的性能指标之一,在网络性能测量中有着举足轻重的地位。近年来,国内外在可用带宽算法研究上已经取得了很大成就,通过理论分析以及大量的仿真模拟试验,提出了许多可用带宽算法。这些算法主要是主动测量算法,通过发送测试包并在接收端获得测试包所携带的信息,再由这些信息估计出可用带宽。Spruce算法通过对测试包在收发两端包间隔进行统计估计,从而估计出可用带宽值;IGI算法通过不断调整发送间隔直到发送序列与接收序列长度相等,此时发送速率即可视为可用带宽值;SloPS算法根据测试包传输时延的变化趋势不断调整发送速率直到达到收敛,收敛时的发送速率即为可用带宽;PathChirp算法测试包间隔采用指数分布,使得接收端获得的时延信息相关性很强,从而能够使用较少的测试包较快的测量出可用带宽;Treno通过模拟TCP连接获得BTC(Bulk Transfer Capacity),BTC在一定程度上反应了可用带宽的变化趋势。对各算法原理进行研究分析后,编写代码实现各算法,模拟实际网络负载环境,进行算法仿真试验。然而,通过对比分析各算法试验结果发现,这些算法都存在各自的缺点:Spruce算法测量结果不稳定;IGI算法测量精度会随着网络负载突发性的下降而下降;SloPS算法收敛速度慢,测量时间较长;PathChirp算法中测试包较大,离开瓶颈链路后在后续链路中受到影响也较大,从而影响测量精确度;Treno的测量结果反映的只能是TCP吞吐量而非可用带宽。最后,研究了一些已有的可用带宽改进算法。通过对这些改进算法进行经验总结,针对IGI算法的缺点,提出一种基于IGI的改进的可用带宽算法。IGI算法在负载突发性较高时,测量结果才具有较高的精确度,因为它仅仅考虑了包对间隔增大的情况,换言之,该算法忽略了队列长度变化对包对间隔的影响。改进后的算法引入了对队列长度的递推估计,实现了新的负载流量的计算方法,从而较为有效地克服了原算法的局限性;此外,改进后的算法还引入对“碰撞现象”的处理,并在测量可用带宽的同时完成了对瓶颈链路带宽的估计,进一步地提高了测量精度和测量效率。