咨询热线:
安徽奥斯科信息科技有限公司
0551-63839550

新闻动态

News information


奥斯科培训中心

为政企客户提供专业IT高端技术培训解决方案

【干货三十五节】数通IP课堂笔记第十九弹,人之所以能,是相信能!
来源: | 作者:奥斯科 | 发布时间: 2020-12-18 | 135 次浏览 | 分享到:

第二十四讲 拥塞管理与拥塞避免 下


       219
、队列调度算法:FIFO,PQ,WRR,WFQ,CBQ

FIFO :

FIFO队列不对报文进行分类,当报文进入接口的速度大于出接口能发送的速度时,FIFO按报文到达接口的先后顺序让报文进入队列,同时,FIFO在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队。

PQ:

PQ队列是针对关键业务应用设计的,PQ调度机制:分为4个队列,分别为高优先队列、中优先队列、正常优先队列和低优先队列,它们的优先级依次降低。在报文出队的时候,PQ会首先让高优先队列中的报文出队并发送,直到高优先队列中的报文发送完,然后发送中优先队列中的报文,同样,直到发送完,然后是正常优先队列和低优先队列。如此的话,将关键业务的报文放入较高优先级的队列,将非关键业务(如E-Mail)的报文放入较低优先级的队列,可以保证关键业务的报文被优先传送,非关键业务的报文在处理关键业务数据的空闲间隙被传送。

如果高优先级队列中持续有报文等待被发送,那么后面较低优先级队列中的报文就迟迟不能得到发送,出现“饿死”现象。

WRR:

WRRWeight Round Robin)加权循环调度在RRRound Robin)调度的基础上演变而来,根据每个队列的权重来轮流调度各队列中的报文流。



24讲219.png


优点:避免了PQ调度的“饿死”现象。

缺点:基于报文个数来调度,容易出现包长尺寸不同的报文出现不平等调度;低时延业务得不到及时调度。

WFQ 加权公平队列:

在出队的时候,WFQ按流的优先级来来分配每个流应占有的出口带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。

PQ+WFQ

重要的协议报文以及有低时延需求的业务报文应放入PQ调度队列中,得到优先调度的机会,其他报文则可放入以WFQ方式调度的各队列中。

CBQ:

基于类的加权公平队列是对WFQ功能的扩展,为用户提供了自定义类的支持。CBQ首先根据IP优先级或者DSCP优先级、入接口、IP报文的五元组等规则来对报文进行分类,然后让不同类别的报文进入不同的队列。对于不匹配任何类别的报文,会送入系统定义的缺省类。

CBQ提供三类队列:

加速转发队列(EF):满足低时延业务。

EF队列拥有绝对优先级,仅当EF队列中的报文调度完毕后,才会调度其他队列中的报文。

确保转发队列(AF):满足需要带宽保证的关键数据业务。

尽力而为队列(BE):满足不需要严格QoS保证的尽力发送业务。

当报文不匹配用户设定的所有类别时,报文会被送入系统定义的缺省BEBest Effort,尽力传送)类。BE队列使用接口剩余带宽和WFQ调度方式进行发送。

220、队列调度算法的比较:

24讲220.png


221、队列被装满后传统处理方式:

由于每个队列长度有限,当某一队列已经被装满时,传统的处理方法会将后续向该队列发送的报文全部丢弃,直至拥塞解除,这种处理方式称为尾丢弃(Tail Drop)。

222TCP全局同步:


24讲221.png


如上图:当网络正常情况下,PC1PC2PC3PC4建立TCP链接,TCP的窗口大小为最大。当R1PC4的接口发生拥塞尾丢包时,TCP感应到链路的拥塞。就将窗口大小改为原来的1/2。当链路恢复正常,TCP感应到链路不拥塞了,马上又把窗口大小还原,可想而知链路就拥塞了,就这样周而复始。

223、解决办法:RED

为避免TCP全局同步,可在队列未装满时先随机丢弃一部分报文。通过预先降低一部分TCP连接的传输速率来尽可能延缓TCP全局同步的到来。这种预先随机丢弃报文的行为被称为早期随机检测(RED)。

RED为每个队列的长度都设定了阈值门限,并规定:

当队列的长度小于低门限时,不丢弃报文。

当队列的长度大于高门限时,丢弃所有收到的报文。

当队列的长度在低门限和高门限之间时,开始随机丢弃到来的报文。


224、解决办法:WRED技术

WRED技术可以通过对不同优先级数据包或队列设置相应的丢弃策略,以实现对不同流量进行区分丢弃。

微信图片_20201215112141.jpg