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. 使用WindowsService为宿主实装WCF 服务

    1. 写WCF服务   创建一个接口类,与一个实现类.接口类上打上[ServiceContract]标签,需要暴露的服务方法上打上[OperationContract] (注意:增加System.Se ...

  2. 用AutoHotkey调整Windows音量

    我用了[右Alt]+方向键来调整音量:Alt+上下键,音量调整幅度为5,如果再增加个右Ctrl,音量调整幅度为1. Alt+左键为静音,Alt+右键为最大音量. >!Up:: ;音量+ < ...

  3. poj2253 Frogger dijkstra

    题目大意: 给出n个岛的坐标,前两个坐标分别为A青蛙和B青蛙所在岛的坐标,A青蛙想到达B青蛙所在的岛,A可以从某一个岛跳到任意其它一个岛上,则A到B的每条路径都有一个跳的最远的距离Xi,求这些最远距离 ...

  4. POJ 2704 Pascal's Travels 【DFS记忆化搜索】

    题目传送门:http://poj.org/problem?id=2704 Pascal's Travels Time Limit: 1000MS   Memory Limit: 65536K Tota ...

  5. 2018.11.18 Sturts2配置详解&常量配置进阶

    1.基于struts.xml 的节点参数配置 package节点 action节点 result节点 include节点 2.struts常量配置以及如何修改为自己的想要的配置 2.1struts默认 ...

  6. Idea Find in Path 全局搜索的功能

    当我们想查找哪些文件中含有某个关键词时,就要依靠Find in Path,相当于一个全局搜索的功能.

  7. js学习笔记-数字转罗马数字

    function convert(num) {     var ans = "";     var k = Math.floor(num / 1000);     var h = ...

  8. Linux---more命令学习

    More命令 more命令一般用于分页显示文件的内容,more会显示文件第一屏的内容,在屏幕的底部,more用反白字体显示文件的百分比,这时如果按空格键,文件的一下屏内容会显示出来,如果按回车键,显示 ...

  9. 使用cmd命令进行运行java(cmd命令输出Hello word)

    使用cmd命令输出Hello word 条件,按照好jdk和jre的环境下,如果没有安装,请安装,简单安装教程链接:https://www.cnblogs.com/weibanggang/p/9392 ...

  10. 【luogu P4231 三步必杀】 题解

    题目链接:https://www.luogu.org/problemnew/show/P4231 诶 我很迷啊..这跟树状数组有什么关系啊...拿二阶差分数组过了..? #include <cs ...