QOS-CBQ概述

2018年7月7日    19:56

CBQ(基于类的对列)是一种基于QOS policy实现的拥塞管理技术。

    • CBQ中包含一个LLQ(低延迟队列),用来支撑EF(快速转发)类业务被绝对优先发送,保证延迟。
    • CBQ中最大包含64个BQ(带宽保证队列),用来支撑AF(确保转发)类业务,保证每一个队列的带宽及可控的延迟。
    • CBQ中还包含一个默认队列,对应一个默认分类,用于为默认的BE(尽力传送)类业务提供服务。其使用WFQ队列调度,利用接口剩余带宽进行发送。

CBQ入队列处理:

EF 队列:(LLQ队列)

    • CBQ最多包含64个EF类,每类EF流量都对应一个虚拟的EF队列,每个EF队列都有自己的配置带宽。(实际上EF队列的报文进入同一个LLQ队列)
    • 拥塞发生时,各EF类的流量按自己的配置带宽进行流量监管,超出配置带宽范围的流量被丢弃。
    • LLQ丢弃策略为尾丢弃,BQ、BE可以为尾丢弃或WRED

AF队列:(BQ队列)

    • CBQ最多包含64个AF类,每个AF类对应一个AF队列。每个AF队列实际上是一个BQ,每个BQ都有自己的配置带宽(最低保证带宽)
    • 拥塞发生时,BQ至少可以获得此配置带宽量。BQ使用尾丢弃或WRED丢弃

EF类和AF类配置的带宽之和称为CBQ的总配置带宽。

CBQ将默认流量作为BE类对待,送入BE队列。BE内部实际上使用WFQ队列调度,可以使用尾丢弃或WRED丢弃。

CBQ队列调度:

    • 当所有BQ队列为空,或者BQ队列的出列报文会导致LLQ和BQ的出队列报文所占带宽总和超过CBQ的总配置带宽时,停止BQ队列调度,开始调度WFQ队列。
    • LLQ队列在数据队列中具有绝对高优先级,所以EF类的延迟和抖动都可以降到最低,这为延迟敏感的应用(VoIP业务)提供了良好的服务质量保证
    • 当LLQ和BQ队列流量都不足时,WFQ可以使用剩余全部带宽

    • 队列势能与队列中当前报文长度成正比,与队列的保证带宽成反比。
    • BQ队列既可以根据用户需求分配队列的保证带宽,又优先照顾了小报文的利益。

QOS最大可用带宽:

    • 接口的QOS最大可用带宽,是指在此接口上CBQ可能占用的最大带宽
    • QOS最大可用带宽并非接口实际带宽,允许手工配置
    • 配置接口QOS最大可用带宽:

    • 不配置时,使用如下缺省值:

      • 对于物理接口,其取值为物理接口实际的波特率或速率
      • 对于T1/E1、MFR等通过绑定生成的逻辑串口,其取值为绑定通道的总带宽
      • 对于VT、Dialer、BRI、PRI等模板类型的接口,取值为1000000kbps
      • 对于其它虚接口(如Tunnel接口),取值为0kbps

QOS预留带宽:

    • 为了避免缺省类的数据流被“饿死”,CBQ队列中LLQ和BQ队列配置带宽的总和不得超过QOS预留带宽
    • QoS预留带宽计算公式:
      • 预留带宽=QOS最大可用带宽*QoS预留百分比
    • QoS预留百分比配置命令

    • QoS预留带宽建议不要超过接口实际带宽的80%

QoS配置过程:

系统定义的CBQ:

    • Default策略是系统定义的CBQ,用户可以使用,但不能修改和删除该策略
    • Default策略使用系统定义的分类和系统定义的队列行为,提供缺省的CBQ服务

CBQ队列配置:

    • 配置EF队列:

      • 可用绝对值和百分比两种方式配置分配带宽
      • 绝对值方式:可以直接配置CBS,支持突发
      • 百分比方式:通过配合突发因子计算CBS
      • CBS=QoS预留带宽*percentage*ratio/100/100
      • 不支持队列长度配置
      • 不能使用系统缺省类:

    • 配置AF队列:

      • 可用绝对值和百分比两种方式配置保证带宽
      • 可以配置WRED或尾丢弃策略

    • 配置CBQ缺省类使用的WFQ队列

      • 可以配置WRED或尾丢弃策略

    • 配置最大队列长度:

    • 显示与维护:

    • Available:指尚能继续给CBQ分配的带宽。即接口预留带宽和当前CBQ配置的带宽之差

QOS-CBQ概述的更多相关文章

  1. QOS-QOS(服务质量)概述

    QOS-QOS(服务质量)概述 2018年7月7日  20:29 概述及背景: 1.  引入: 传统IP网络仅提供“尽力而为”的传输服务,网络有可用资源就转发,资源不足时就丢弃 新一代IP网络承载了 ...

  2. Aircrack-ng: (1) 概述

    目录 一.概述 二.工具与命令介绍 Linux命令 (1) ifconfig (2) macchanger (3) iwconfig (4) iwlist Aircrack-ng 工具 (1) air ...

  3. Unity Networking API文档翻译(一):Networking概述

    写在翻译前的话:      我使用过Photon,研究过Ulink这些Unity提供的多人在线游戏服务器组件,这些商业组件虽然很好很强大.但是对于一个独立开发者来说,4000多软妹币还是点多.总想找一 ...

  4. wlan的QOS配置

    WLAN QoS配置 1.1  WLAN QoS简介 802.11网络提供了基于竞争的无线接入服务,但是不同的应用需求对于网络的要求是不同的,而原始的网络不能为不同的应用提供不同质量的接入服务,所以已 ...

  5. 001.CDN概述

    一 互联网应用质量概述 1.1 互联网应用质量 互联网应用质量指标--QoE,其主要指标: 服务成功率:指用户所请求的服务成功完成的几率. 服务建立时间:指从服务请求到服务呈现所花费的时间,并且会因为 ...

  6. 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构

    什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...

  7. OpenStack 业务链networking-sfc介绍 (1) - 概述

    原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630355 1.  Service Function Chain概述 Neutron ...

  8. 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)(转载)

    一.主机控制接口协议  HCI 蓝牙主机-主机控模型 蓝牙软件协议栈堆的数据传输过程: 1.蓝牙控制器接口数据分组:指令分组.事件分组.数据分组(1).指令分组 如:Accpet Connection ...

  9. 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理

    华为FusionSphere概述 FusionSphere是华为自主知识产权的云操作系统,集虚拟化平台和云管理特性于一身,让云计算平台建设和使用更加简捷,专门满足企业和运营商客户云计算的需求.华为云操 ...

随机推荐

  1. java面试题之----JVM架构和GC垃圾回收机制详解

    JVM架构和GC垃圾回收机制详解 jvm,jre,jdk三者之间的关系 JRE (Java Run Environment):JRE包含了java底层的类库,该类库是由c/c++编写实现的 JDK ( ...

  2. 腾讯云微信小程序域名变更指南

    1 . 将域名添加到云解析里面, 将解析的地址指向已有的小程序负载均衡地址: https://console.qcloud.com/cns 将域名添加到解析列表 添加成功之后,点击解析按钮,添加二级域 ...

  3. 再学UML-深入浅出UML类图(五)

    实例分析3——售票机控制程序 某运输公司决定为新的售票机开发车票销售的控制软件.图I给出了售票机的面板示意图以及相关的控制部件. 图I   售票机面板示意图 售票机相关部件的作用如下所述: (1) 目 ...

  4. 查看oracle固定目录下日志和trace文件大小脚本

    python刚入门,在Oracle官网看到个小脚本,感觉挺有意思,经过测试切实可行. [oracle@ycr python]$ more 5.py import datetimeimport osim ...

  5. 从github下载一个单一文件

    以ubuntu + wget为例 1) 浏览器中打开需要需要下载的文件 2) 点击 raw按钮 3) 从浏览器地址栏中拷贝地址 4) wget + 地址

  6. C#转Java之路之一:线程

    Java实现多线程方式有以下两种: public class HelloWordThread implements Runnable{ public void run(){ System.out.pr ...

  7. sublime重构变量

    选中变量后按下Ctrl+D可批量修改变量名

  8. js正则判断日期

    //****************************************************************************// Function ID : Commo ...

  9. mysql复制表数据,多表数据复制到一张表

    对于mysql 复制表数据可以使用 insert into select 方式 示例: $sql="insert into icarzoo.provider(providerId,provi ...

  10. Es6的那些事

    现在看招聘网站上的要求,作为前端er~都要熟悉甚至精通(滑稽脸)es6,项目中也经常用,啥let,const,尤其是用react的同学,肯定对解构赋值不会陌生,今天逛淘宝前端的博客,看到一篇名为Es6 ...