您的位置:首页 > 理论基础 > 计算机网络

网络中常用的队列管理方法比较

2016-11-08 12:12 405 查看
        队列管理属于链路IP层的拥塞控制策略,主要是在路由器中采用排队算法和数据包丢弃策略。排队算法通过决定哪些包可以传输来分配带宽,而丢弃策略通过决定哪些包被丢弃来分配缓存。

1、先进先出(FIFO,First In First Out)

        先进先出属于典型的被动队列管理的方法,它调度包的方法是:先到达路由器的分组先被传输,其它分组采用默认的排队方式。然而,路由器的缓存总是有限的,如果分组到达时缓存已满,那么路由器就不得不丢弃该分组。由于FIFO总是丢弃队尾的分组,所以又称它为“去尾”(drop-tail)算法。FIFO和“去尾”是最简单的分组调度和丢弃策略,两者有时可被视为一体,简单称为FIFO排队。
        FIFO排队的算法简单,实施容易,是目前Internet使用最为广泛的一种方式。FIFO无法“识别”面向连接的连续TCP数据流,当存在占用大量带宽的对TCP不友好的流时,网络可能会持续拥塞,TCP流分享不到应有的带宽。所以该方案对突发性的、存在包丢失的连接。

2、随机提前检测(RED,Random Early Detection)

        随机提前检测属于典型的主动式队列管理的方式,它调度包的方法是:在路由器的缓存占满之前就按一定的概率丢弃分组,这样可以及早通知发送端减小拥塞窗口,减少进入网络的数据量,使路由器以后不必要丢弃更多的分组。
        RED算法可以看成由两个独立的算法组成:1、计算平均队长(这个平均是指对时间的平均,采用该算法的路由器在每个接口上只维持一个队列)的算法; 2、计算分组丢失概率的算法。算法1决定了路由器所能够允许的突发分组的程度。算法2决定了路由器在当前负荷状态下丢弃分组的频度,其目的是使路由器丢弃分组的时间间隔尽量均匀,以避免对突发性流的不公平性,也为了避免产生全局同步,同时还要能够足够频繁地丢弃分组以控制平均队列的长度。使用平均队长比使用队长的瞬时值更能准确的观测到网络的拥塞情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息