• QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ)


    QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ)

    2018年7月7日    20:29

     

    拥塞:是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象

     

    拥塞管理概述:

      • 需要发送的数据流量大于设备发送接口的发送能力时,会产生拥塞。
      • 拥塞管理是指在网络发生拥塞时,进行管理和控制,合理分配资源。通常采用队列技术实现
      • 报文按一定的策略缓存到队列中,然后按一定的调度策略把报文从队列中取出,在接口上发送出去

              

    路由器拥塞管理:

     

      • 接口不拥塞,报文直接入发送队列
      • 接口拥塞,报文按规则入软件队列
      • 路由器软件队列包括:系统队列和 用户队列
      • 系统队列包括:紧急队列(PPP协议等)和协议队列(OSPF  hello报文等),不会修改
      • 系统队列优先于用户队列调度

     

    交换机拥塞管理:

      • 报文在入端口,根据映射表入本地队列
      • 报文在出端口,进行队列调度后发送
      • 常用的队列:SPQ、WRR

     

     

    FIFO队列 原理:(IP网络中默认的队列)

     

      • 所有报文按转发到达出接口的先后顺序入队
      • 队列满后,进行尾丢弃
      • 按进入 队列的先后顺序出队列,先入先出

     

     

    FIFO队列配置命令:

     

    增加FIFO队列的长度可以减少丢包,但同时也可以增加延迟

     

    PQ队列原理:(优先队列)是针对关键业务设计的,Top(高优先队列)、Middle(中优先队列)、Normal(正常优先队列)和boottom(低优先队列)

      • 按类别入队,队列满后尾丢弃
      • 优先级高的队列先调度
      • 加入top队列一直是满的,会导致优先级低的队列,一直得不到调度(Normal为默认队列)

     

     

    PQ队列调度:

     

      • 高优先级业务的带宽和时延得到最大限度的保证
      • 如果高优先级业务持续占据带宽,会导致低优先级业务一直得不到调度

     

    PQ队列配置任务:

      • 配置PQL(优先队列列表)
        • 配置默认情况下,流量进入的队列
        • 配置PQ队列的分类规则(acl)
        • 配置PQL各队列的长度
        • 默认队列配置
      • 将PQL应用到接口

     

    配置无对应规则的报文所入的缺省队列:(默认队列为PQ的4个队列之一,是普通队列)

     

     

    配置PQ队列长度:

    配置基于接口的分类规则:

    配置基于协议的分类规则:

    同一个PQL内可以配置多个分类规则,各规则可以使用不同的分类方式。报文入队的时候,按规则的配置顺序进行匹配,如果发现报文与某个规则匹配,则入该规则对应的队列。

     

     

    在接口上应用PQL:

     

    dis qos pql 5                //显示PQL配置信息

     

    dis  qos pq int e9/0                   //显示PQ统计信息

     

     

    CQ队列原理:(定制队列)提供了16个 队列

    CQ允许根据 报文的特征建立匹配规则,将报文分为16类,没类报文对应CQ中的一个队列。接口拥塞时,报文按匹配规则被送入对应队列;如果报文不匹配任何规则,则被送入默认队列。默认队列默认为CQ的队列1,可以修改。

      • 按类别入队,队列满后尾丢弃
      • 各队列轮询调度
      • 其实有17个队列,0是给系统队列使用的,用户不能修改。
      • 默认每个队列传1500个队列(阈值)

    CQ队列调度:

     

    由于CQ不能对数据包进行分片,之前有个数据包1499Byte,不到1500,当有个1500个字节的数据包过来,它还会传这1500Byte,所以有可能一次最多转发1500+1499个字节,所以每个队列传数据包可能为1500---2999Byte。大于1500Byte才会发。

     

    CQ队列配置任务:

      • 配置CQL(定制队列 列表)。系统预定义了16个CQL,用户可以选择其中的一个来配置自己需要的定制队列。
        • CQ中各队列的匹配规则
        • CQ中各队列的长度与发送额度
        • 默认队列
      • CQ队列应用到接口。应用配置好的CQL,在接口应用CQ队列。

     

     

      • 配置无对应分类报文所入的缺省队列

      • 配置CQ队列长度:

      • 配置CQ队列份额(修改队列缓存的大小)连续发送字节数(默认1500)

      • 配置基于接口的分类

      • 配置基于协议的分类规则

      • 接口上应用CQL

     dis  qos cql  1                            //显示CQL配置信息

    dis   qos  cq  int   e9/0            //显示CQ统计信息

     

     

     

    WFQ队列原理:(加权公平队列)对报文按流特征进行分类。

    在IP报文中,根据源IP地址、目的IP地址、源端口号,目的端口号、协议号、优先级等特征,采用Hash算法,尽量将不同特征的流分入不同的队列类别中,这个过程称为散列。

      • 流量五元组散列入队,加权公平出队,丢弃策略为尾丢弃或WRED丢弃
      • 出队时,WFQ按队列优先级的比例来分配各个队列应占有的出口带宽

     

    WFQ入队机制:

      • 先按五元组哈希成组,组内优先级(IP或DSCP)相同的报文被分配到相同的队列
      • 受资源限制,五元组不同的报文可以哈希到相同的组

    WFQ队列调度:

     

      • WFQ队列调度时,系统队列优先调度;当系统队列空时,才调度WFQ队列
      • WFA队列间的调度方式也是轮询调度,同一个队列内部出队方式时FIFO队列

     

    WFQ队列特点:

      • 优点:
        • 配置简单,各个流都可以获得公平的服务
        • 有利于小包转发,降低交互式操作的响应时间
        • 可以与WRED丢弃策略组合应用
      • 缺陷
        • 不能对流的分类进行手工干预
        • 不适合时延敏感的应用

     

    WFQ配置:

    WFQ队列长度的配置范围为1~1024,默认为64,最大队列数为16~4096,默认为256.

     

      • 配置WFQ的权重类型、队列长度、队列总数

     

    权重类型:对于使用IP precedence的IP报文,当配置WFQ队列数为16时,WFQ对报文根据五元组特征Hash时最大能分成2个组,每个组里包含8个队列。如果使用DSCP优先级作为权重,则WFQ队列数最小要配置成64,此时所有报文都属于一个组。

     

    dis  qos  wfq  int  e0/0            //wfq队列显示

     

    RTPQ队列原理:即RTP(实时传输协议)优先对列,是一种保证实时业务(包括语音与视频业务)服务质量的队列急速。(应用层)UDP

      • 原理:将承载语音或视频的RTP报文送入高优先级队列,使其得到优先发送,保证延迟和抖动降为最低限度
      • 匹配的实时业务入RTPQ队列,其他业务入其他数据队列处理
      • 实时业务入队前按配置的带宽进行限速处理
      • RTPQ队列满后进行丢弃
      • RTPQ将RTP报文定义为端口在一定范围内并且为偶数的UDP报文,并以此归类依据。
      • RTP队列可以通FIFO、PQ、CQ和WFQ结合使用,而它的优先级最高

     

      • 为了防止RTPQ队列报文占据全部带宽,导致其他队列“饿死”,RTPQ在报文入队前先进行流量监管处理,超过RTPQ预留带宽的流量直接丢弃,在预留带宽以内的流量才能入队。

     

    RTPQ队列调度:

     

    RTPQ队列的优先级仅次于紧急队列,等同于协议队列,高于其他的数据队列。队列调度时,先检查紧急队列是否为空,如果不空,调度紧急队列报文发送,否则轮询调度RTPQ和协议队列。RTPQ队列内部采用FIFO的出队方式。RTPQ队列每一个报文出队转发后,将调度全交给紧急队列,如果紧急队列不空,发送紧急队列报文,否则发送协议队列的调度。协议队列调度完成后,开始下一轮的调度。如果RTPQ和协议队列都为空,开始调度其他数据队列,其他数据队列为空,或者一次调度完成后,开始下一轮的队列调度。

     

    RTPQ的配置与显示:

      • 配置RTPQ队列:

      • RTPQ队列显示:

    可以与CQ、PQ、WFQ共用,但是不能与CBQ共用,因为CBQ里面有EF队列

     

  • 相关阅读:
    VMware vSphere 服务器虚拟化之二十四 桌面虚拟化之手动池管理物理机
    重思人性自我修养
    初窥Linux 之 数据流重定向
    MTD设备驱动
    wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备
    【deep learning学习笔记】最近读的几个ppt(四)
    computer专业术语总结
    弃用个人博客站重返CSDN缘由
    Hadoop1.0.4伪分布式安装
    谈谈我2013上半年在公司内部培训的经历
  • 原文地址:https://www.cnblogs.com/good-study/p/9929737.html
Copyright © 2020-2023  润新知