-
路由器的分组丢弃策略
路由器的队列通常都是按照FIFO的规则
处理到来的分组
。
由于队列长度有限,因此当队列已满时,以后再到达的所有分组(若能继续排队,这些分组都将排在队列的尾部)都将被丢弃。
此为尾部丢弃策略。 -
尾部丢弃策略造成的后果
路由器的尾部
丢弃往往会导致一连串分组的丢失
,引起发送方超时重传
,使TCP进入拥塞控制的慢开始状态
,结果使TCP连接的发送方把数据发送速率
降低到很小的数值。
网络中通常有很多TCP连接,发生在路由器尾部的丢弃
会使多条TCP连接
在同一时间进入到慢开始状态
。
如此全网的通信量突然下降,网络恢复正常后通信量又突然增大好多。
以上称为全局同步。 -
主动队列管理AQM
主动:不要等到路由器的队列都已经达到最大值时才丢弃后面到达的分组。而是在队列长度达到某个值得警惕的数值时(出现了网络拥塞的征兆)
,就按特定的算法
选择丢弃到达的分组。
如此提醒发送方放慢发送速率,减轻网络的拥塞程度。让拥塞控制只发生在个别的TCP连接上,避免全局性的拥塞控制。
AQM实际上就是对路由器中的分组排队进行智能管理,而不是简单地把队列的尾部丢弃。