探究计算机网络应用P—RED算法对TCP实现控制.doc
探究计算机网络应用P—RED算法对TCP实现控制
摘 要:资源端向目的端信需要往返传输时延时,会给TCP拥塞控制本身具备的稳定及快速性带来很大影响。因此,可以采用Smith的控制理论,并且进行随机早期的检测算法,提出的RED具有预测的能力,称为P-RED算法,实现及时、快速的对TCP拥塞控制的稳定性能,除此之外,在理论上阐述了P-RED算法的稳定性能,并且算出了算法中涉及的主要参考数据的理论数值范围,有效指导参数做出合理的设置,从根本上对理论的整体品质实现有效的控制。
关键词:计算机网络;P-RED算法;TCP拥塞控制
中图分类号:TP273
TCP拥塞控制的算法是在主动列队的管理技术(AQM)的基础上逐步发展起来的,AQM技术是指在TCP的窗口控制体系的基础之上形成的,能够在拥塞现象尚未出现之前就对TCP的资源端口的发出数量进行有效控制,这一技术的问世成为当今计算机网络研究及关注的重点问题之一[1]。其中,计算AQM最简便的方法是采用尾部丢弃的算法,当处在缓冲器当中的队列长度远超过事先设定的阈值以后,尾部丢弃的算法评定标准为:以1作为分组丢弃进入的标准,否则丢弃部分的概率为0[2]。
本文将Smith原理以及RED算法相互结合,提出来在AQM基础之上具备预测能力的P-RED算法,实现TCP拥塞控制效果较佳、稳定性逐步提升,确保实现有效控制的优良品质。
1 TCP流量控制分析AQM数学模型
TCP实现哑铃型的单一瓶颈的拓扑结构进行分组,相互交换网络的结构模型。为了提升计算机网络运行的公平性及服务的整体质量(QoS),许多设备的交换厂商采纳per-flow buffering策略,即实现全部TCP连接,并且分配至各自的缓冲地带,在per-flow buffering策略的牵引下,假定下列参数并对TCP流量控制作出分析。假定:TCP的目的端口的容量扩展到足够大,且瓶颈的位置在网络节点的中间,控制TCP流量将过载的网络系统因素作为考虑的因素,资源端口始终对数据进行分组并且等待发送,发送的数量只依赖于TCP的拥塞窗口,目的端口在接受到分组以后就马上向资源端口发送确认信号,TCP控制窗口以及缓冲的队列的总长度将分组作为计量的单位,且全部的分组均等长。
2 在AQM基础上的P-RED算法
2.1 RED算法
RED算法是在AQM基础上演变而来的,是属于AQM,也是最为典型的控制AQM的算法,依据分布在缓冲器中计算进行分组的队列的总长度,预算及推测网络发生拥塞的程度,并且用概率P(即:同队列的总长度呈正比关系)作为标示或者是丢弃进入在缓冲器中进行分组,计算公式如下:
B指缓冲器的容量;q1、q2均为阈值,P是RED算法中的。
RED算法不能够避免RTT对网络造成的影响,而且在选择进行有效调节的参数至今都存在问题。若是调节的参数不适合,斜率发生逐渐增大或者减少的变化,若是斜率较大则会造成缓冲队列出现幅度较大、范围较广的波动,影响链路的使用率以及QoS的通信状况;若是斜率较小则会减慢调节的速度,从而导致由于排队而延迟较长的时间。
2.2 P-RED算法
Smith的补偿原理在控制理论中可以克服大纯时延(阶惯性环节温度控制系统)带来的影响。该原理结合RED算法,制定出具备预测能力的P-RED算法,该算法可以有效避免时延RTT产生对AQM控制的负面影响。
TCP的控制窗口算法精确且对于进行分组排队的机理很清晰。模型中容易产生误差的是对r的预估值,针对这个误差可以采取对RTT实行动态算法进行不断调整,进行对造成误差的补偿,即实现每一个TCP的连接。
3 仿真结果
网络结构中,分组等长,长度均为500byte,假定某TCP连接RTT得到的预估值设为50ms,瓶颈宽带C取值为1.2Mb/s(0.315packet/ms).RED、P-RED算法的相关参数分别为:q1=100packet、q2=q1+1/kpacket、缓冲区域的容量设定为300packet、pmax=1,将现行的调节范围调至最大化。在下面几种情况下,进行仿真计算,从而帮助检验P-RED算法的准确性及有效性。
3.1 比较动态的响应
控制TCP连接RTT的预估值与实际对应的数值相等,均设定在50ms,并且将k设为0.01/packet(k<0.025/packet),比较在P-RED、RED、Tail-Drop算法的控制下,q(t)的动态响应(Tail-Drop算法的q(s)阈值设定为100packer)。比较各个算法P值,可见,Tail-Drop算法对性能的控制方面最差,q(t)的波动的幅度最大;在P-RED算法具备的控制性能最佳,q(t)的波动幅度最小,且可以高效收