知识点延伸 | 主动队列管理AQM

/ 写在前面的话 /
鉴于市面上现有计算机考研教辅资料存在结构疏松、内容残缺等特点,因此开设“知识延伸系统”专栏,通过对知识点进行拓展及总结解题套路,全面还原知识背景,精准剖析来龙去脉,以便考生对感兴趣的部分进行了解,希望能对考研学子有所帮助。
TCP 拥塞控制方法与网络层采取的策略之间有着密切的关系。
例如,假定一个路由器对某些分组的处理时间特别长,那么这就可能使这些分组中的数据部分(即TCP 报文段)经过很长时间才能到达终点,结果引起发送方对这些报文段的重传。
根据前面所讲的,重传会使TCP 连接的发送端认为在网络中发生了拥塞。于是在TCP 的发送端就采取了拥塞控制措施,但实际上网络并没有发生拥塞。网络层的策略对TCP 拥塞控制影响最大的就是路由器的分组丢弃策略。
在最简单的情况下,路由器的队列通常都是按照"先进先出" FIFO (First In First Out) ”的规则处理到来的分组。由于队列长度总是有限的,因此当队列己满时,以后再到达的所有分组将都被丢弃。路由器的尾部丢弃往往会导致一连串分组的丢失,这就使发送方出现超时重传,使TCP 进入拥塞控制的慢开始状态,结果使TCP 连接的发送方突然把数据的发送速率降低到很小的数值。
更为严重的是,在网络中通常有很多的TCP 连接,虽然它们的起点和终点各不相同,但是这些连接中的报文段通常是复用在网络层的数据报中一起传送的。在这种情况下,一旦发生了路由器中的尾部丢弃,就可能会同时影响到很多条TCP 连接,结果使这些TCP 连接在同一时间突然都进入到慢开始状态,从而使得全网的通信量突然下降了很多,而在网络恢复正常后,其通信量又会突然增大很多。
为了避免发生网络中的这种现象(称之为“全局同步现象”),在1998 年提出了主动队列管理AQM (Active Queue Management) 。所谓"主动"就是不要等到路由器的队列长度己经达到最大值时才不得不丢弃后面到达的分组,而应当在队列长度达到某个值得警惕的数值时(即当网络拥塞有了某些拥塞征兆时),就主动丢弃到达的分组。这样就提醒了发送方放慢发送的速率,因而有可能使网络拥塞的程度减轻,甚至不出现网络拥塞。
苏世学社旗下品牌,专注于计算机考研
计算机考研一手资讯,原创高质量干货
深度的学习分享丨咨询前辈丨个性化指导
