QOS-CBQ概述
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
- 不支持队列长度配置
- 不能使用系统缺省类:
- 配置EF队列:
- 配置AF队列:
- 可用绝对值和百分比两种方式配置保证带宽
- 可以配置WRED或尾丢弃策略
- 配置AF队列:
- 配置CBQ缺省类使用的WFQ队列
- 可以配置WRED或尾丢弃策略
- 配置CBQ缺省类使用的WFQ队列
- 配置最大队列长度:
- 显示与维护:
- Available:指尚能继续给CBQ分配的带宽。即接口预留带宽和当前CBQ配置的带宽之差
QOS-CBQ概述的更多相关文章
- QOS-QOS(服务质量)概述
QOS-QOS(服务质量)概述 2018年7月7日 20:29 概述及背景: 1. 引入: 传统IP网络仅提供“尽力而为”的传输服务,网络有可用资源就转发,资源不足时就丢弃 新一代IP网络承载了 ...
- Aircrack-ng: (1) 概述
目录 一.概述 二.工具与命令介绍 Linux命令 (1) ifconfig (2) macchanger (3) iwconfig (4) iwlist Aircrack-ng 工具 (1) air ...
- Unity Networking API文档翻译(一):Networking概述
写在翻译前的话: 我使用过Photon,研究过Ulink这些Unity提供的多人在线游戏服务器组件,这些商业组件虽然很好很强大.但是对于一个独立开发者来说,4000多软妹币还是点多.总想找一 ...
- wlan的QOS配置
WLAN QoS配置 1.1 WLAN QoS简介 802.11网络提供了基于竞争的无线接入服务,但是不同的应用需求对于网络的要求是不同的,而原始的网络不能为不同的应用提供不同质量的接入服务,所以已 ...
- 001.CDN概述
一 互联网应用质量概述 1.1 互联网应用质量 互联网应用质量指标--QoE,其主要指标: 服务成功率:指用户所请求的服务成功完成的几率. 服务建立时间:指从服务请求到服务呈现所花费的时间,并且会因为 ...
- 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构
什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...
- OpenStack 业务链networking-sfc介绍 (1) - 概述
原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630355 1. Service Function Chain概述 Neutron ...
- 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)(转载)
一.主机控制接口协议 HCI 蓝牙主机-主机控模型 蓝牙软件协议栈堆的数据传输过程: 1.蓝牙控制器接口数据分组:指令分组.事件分组.数据分组(1).指令分组 如:Accpet Connection ...
- 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理
华为FusionSphere概述 FusionSphere是华为自主知识产权的云操作系统,集虚拟化平台和云管理特性于一身,让云计算平台建设和使用更加简捷,专门满足企业和运营商客户云计算的需求.华为云操 ...
随机推荐
- Azure进阶攻略丨Azure网络通不通,PsPing&PaPing告诉你答案
很多时候,为了解决一些问题,要查各种文档,很麻烦你造吗!做「伸手党」又容易被鄙视,这时候就需要用到[Azure 进阶攻略]啦!特此,我们推出关于 Azure 常用操作指南的系列文章,每篇涉及一个 Az ...
- python26 re正则表达式
#coding:utf-8 #/usr/bin/python """ 2018-11-25 dinghanhua re """ import ...
- Jmeter入门13 jmeter发送application/octet-stream二进制流数据
http接口请求header里面 content-type: application/octet-stream (二进制流数据),如何用jmeter发送请求? 1 添加http请求头 2 http请 ...
- bootstrapTable refresh 方法使用简单举例
本文就bootstrapTable refresh 方法如何传递参数做简单举例说明. 下面代码中,一个table,一个button,单击button会触发刷新表格操作. <!DOCTYPE ht ...
- Android(java)学习笔记48:通过反射获得带参构造方法并且使用
1. 反射获得带参构造方法并且使用: (1)获取字节码文件对象 Class c = Class.forName("cn.itcast_01.Person"); (2)获 ...
- ACM-ICPC(9/25)
DP专题 记忆化搜索与递推(方式) DAG模型 记忆化搜索: 用d[状态] 的特殊值表示是否计算过. 用vis[状态]是否访问过 DAG模型: 矩形嵌套:d(i) 以 i 结点开始的最长长度, 存在 ...
- 布局方式-flex布局
.弹性盒子 .盒子本来就是并列的 .指定宽度即可 <style> .container { width: 800px; height: 200px; display: flex; bord ...
- luogu P3796【模板】AC自动机(加强版)
嘟嘟嘟 这个和某谷的AC自动机模板简单版差不多. 但还是要注意几点的: 1.这个是统计出现次数,而不是是否出现,所以在查询的时候加上这个节点的val后,不能把val标记为-1.那么也就可以说查询的时间 ...
- PHP 重新格式化var_dump/print_r打印的数组
// 在使用var_dump/print_r时 打印出来的数组 都是一行显示的, 看起来不方便 function dump($vars, $label = '', $return = false) { ...
- java中String、StringBuffer和StringBuilder的区别(简单介绍)
简单介绍 java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 三者共同 ...