Drop Tail是一种被动的管理机制,虽然这种方法在当前因特网中得到了广泛的应用,但它有这样几个大缺陷:“满队列”的问题即队列在相当长的时间下属于充满(或近全充满)的情况;另一个就是“TCP全局同步”问题;还有一个就是“死锁”的问题,即出现某个流或少量的流一直把持着队列空间,阻拦着其余流的包的进入。
被动式队列管理机制是在队列满时才进行队列管理并被迫丢包,这种管理机制还包含"随机丢弃机制"(Random Drop)和"从前丢弃机制"(Drop Front)。
1.2 RED和主动队列管理机制
与被动式队列管理机制相比,主动式队列管理机制正相反,它是在队列未满就开始丢弃封包,这样就可以实现对能够做到具有拥塞控制的传送端流量速度的管理,进而避免这样一个不好的现象,即由于满队列状态所带来的端点和端点延迟时间太长或使用链路的效率率太低的情况。而RED(Random Early Detection)就是其中的一种主动式队列管理机制。
RED拥塞控制机制的重要思想是使用平均队列长度来探测在网络中将要发生的拥塞,进而就会丢弃封包,与Drop Tail不同的是它使用的是随机选择丢包的方式,这样就使得在拥塞尚未发生之前能够做到拥塞控制的传送端就会提示要进行流量管制,以避免拥塞发生。正是由于RED使用的是随机选择丢包的方式,这样就可以避免不同的TCP数据流对拥塞情况的反应同步化的情形,因而能够较好地处理Drop Tail机制中难以解决的“TCP全局同步”现象。 基于NS2的RED队列管理协议仿真分析研究+源代码(2):http://www.751com.cn/jisuanji/lunwen_35006.html