当前位置:首页 > TCP拥塞控制算法性能比较-Read
快速恢复,而NewReno中,只有当所有的分组都被应答后才退出快速恢复状态。NewReno的实现只要修改TCP发送端的实现代码,实现简单。
SACK算法也针对一个窗口内多个分组丢失的情况而对Reno算法进行改进:SACK定义了一个变量pipe来表示出现在路由器上分组的估计数量,接收方TCP发送SACK分组来通知发送方接收数据的情况,这样源端就能准确的知道那些数据被正确的传到接收端,从而避免不必要的重传,减少延时,提高网络吞吐量。但SACK算法的实现需要修改TCP发送端和接收端的实现代码,增加了TCP的复杂性,因此不易大规模的应用。
Vegas与上述的算法不同,它是以RTT的变化来作为拥塞信号,调节源端的发送速率。通过监测RTT的变化来改变cwnd的大小。由于Vegas采用RTT的改变来判断网络的可用带宽,能较好的预测网络带宽的使用情况,其公平性、效率都较好。但是,由于Vegas与其它算法在竞争带宽方面存在不公平现象,因此未能在Internet上普遍采用,还需要不断改进。
三、TCP reno算法分析
修改网络结构图上的参数,源节点0、1、2为TCP代理节点,频宽为10Mbps,传递延迟时间为1ms;路由器与目的节点间频宽为1Mbps,传递延迟为40ms。
上图为修改参数后生成的cwnd变化图。
从Reno运行机制中很容易看出,为了维持一个动态平衡,必须周期性地产生一定量的丢失,再加上加法增加乘法减少(AIMD)算法机制--减少快,增长慢,尤其是在大窗口环境下,由于一个数据报的丢失所带来的窗口缩小要花费很长的时间来恢复,这样,带宽利用率不可能很高且随着网络的链路带宽不断提升,这种弊端将越来越明显。公平性方面,根据统计数据,Reno的公平性还是得到了相当的肯定,它能够在较大的网络范围内理想地维持公平性原则。
共分享92篇相关文档