论文部分内容阅读
Internet的飞速发展引起了严重的网络拥塞问题,队列管理是在网络层实现拥塞控制的有效手段。目前普遍使用的队列管理方案是丢尾法(DropTail),但它容易造成满队列和队列锁定,使网络的性能下降。主动队列管理(AQM)通过在路由队列满以前主动丢包,通告拥塞的发生,使发送者对拥塞作出响应,从而避免缓冲区的溢出和锁定,减少响应性连接的丢包数目,提供较低的服务延迟。 随机早期检测算法(RED)是IRTF推荐使用的主动队列管理机制,但RED存在参数依赖性强和算法不稳定的缺点。根据维持流量平稳的丢包率,结合路由器的负载变化,本文提出一种参数自适应的随机早期检测算法,以提高不同流量情况下RED的稳定性。 针对随机选择连接丢包影响小数据量连接和RTF较长的TCP连接公平占用带宽,本文提出一种选择性丢包机制。在路由器上估计各个连接的RTT值,并引入一个平行的虚队列,记录各个连接的最近传送数据量、最近丢包时间和RTT估计值在内的状态信息。通过在虚队列上按连接作“假轮转”筛选出最近时间内占用超过平均带宽的连接,在保证连接均匀丢包情况下挑选出丢包的候选连接。该机制充分考虑连接的最近带宽占用历史和丢包历史,使连接的丢包概率与连接占用的带宽成正比,与连接的RTT成反比。 针对平均队列不能反映网络负载的动态变化而单独使用负载则必须精心设计的缺点,本文结合平均队列和负载,提出一种新的主动队列管理机制——早期选择性丢包主动队列管理机制(ESD)。给定一个理想排队延时,ESD使用一个指数函数作为丢包概率计算函数,保证丢包概率的连续性。ESD采用选择性丢包,同时区分响应性连接和非响应性连接,惩罚占用超过平均带宽的非响应性连接,保护中小流量和RTT较长的连接。 快启动机制是现有的一种TCP启动机制的改进机制,本文在介绍快启动的同时对支持快启动的队列管理作了初步研究,扩充了TCP建立连接的“三次握手”过程。 本文使用NS2作为网络仿真实验平台对上述研究进行了验证和分析,实验结果表明:结合负载有助于提高RED的稳定性,降低丢包率;选择性丢包机制可有效降低丢包率,提高队列稳定性,缩短应用响应时间;结合平均队列和负载的ESD比RED-PD,RED和Drop Tail具有更高的公平性和稳定性。