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是华为自主知识产权的云操作系统,集虚拟化平台和云管理特性于一身,让云计算平台建设和使用更加简捷,专门满足企业和运营商客户云计算的需求.华为云操 ...
随机推荐
- 应用——dubbo的基本使用
一.背景 dubbo是个什么? 首先要说的是,网上有很多高大上的回答,可自行百度,这里只说一些非常狭隘的东西: dubbo是一个分布式服务框架,我们一般用它进行远程方法调用.(分布式.远程方法调用下面 ...
- aiohttp模块1 client
Make a Request import aiohttp async with aiohttp.ClientSession() as session: async with session.get( ...
- 基于k8s的ES集群定期删除索引
apiVersion: batch/v1beta1 kind: CronJob metadata: name: elasticsearch namespace: elasticsearch label ...
- QT学习之窗口右键菜单
#QT学习之窗口右键菜单 QWidget 及其子类都有右键菜单,主要因为其有两个与右键菜单相关联的函数: Qt::ContextMenuPolicy contextMenuPlicy() const ...
- ubuntu git svn 缺少 subversion-perl
在命令行中输入以下命令:sudo apt-get install subversion-tools等待安装成功即可.
- sql server 数据库还原后sa连接不上原因
手动创建了一个同名数据库,然后还原以前或者别人的备份,还原虽然成功了,但是在VS中连接不上,原因可能是: 数据库的所有者中没有添加sa,方法即在数据库名上右击,然后选择文件,在所有者中添加上sa,应该 ...
- Codeforces 385C 线性筛素数
题意:给定一个数组,求[l,r] 区间,区间里的素数,数组中,能被这个素数整除的个数,再求和. 分析:区间很大,10^9了,找去区间内的素数是不可能的,但是,数组的数很小,而且要能整除区间内的素数,所 ...
- hiho 第155周 任务分配
最小路径覆盖会超时: 贪心思路: 按照开始时间排序,然后根据结束时间,维护一个以结束时间的单调递增的队列,每次与最快结束的任务进行比较即可: /* #include <cstdio> #i ...
- express框架开发笔记
1.express项目修改不重启 $ supervisor node bin/www 让supervisor监听模板文件的改动 $ supervisor --extensions html,css,j ...
- 【JeeSite】角色和权限的修改
@RequiresPermissions("sys:role:edit") @RequestMapping(value = "save") public Str ...