一、 引入:从WFQ到CBWFQ的技术演进
“传统队列技术的局限性:
- WFQ:基于流的公平性,但无法保证关键业务带宽
- PQ:绝对优先级,但可能导致低优先级流量饿死
- CQ:固定比例分配,但缺乏灵活性
CBWFQ结合了分类的准确性和WFQ的公平性,成为现代QoS的核心技术。”
二、 CBWFQ架构深度解析
1. CBWFQ核心架构

2. CBWFQ关键技术特性
- 基于类的分类:灵活定义业务类别
- 带宽保证:每个类别有最小带宽承诺
- 公平调度:默认类别使用WFQ公平调度
- 动态分配:空闲带宽按权重重新分配
三、 CBWFQ配置实战
1. 基础CBWFQ配置
# 步骤1:定义类映射(Class Map)
class-map match-all VOICE
match dscp ef # 匹配EF(加速转发)流量
match protocol rtp audio # 匹配RTP音频流量
class-map match-all VIDEO
match dscp af41 # 匹配AF41(保证转发)流量
match protocol rtp video # 匹配RTP视频流量
class-map match-all BUSINESS
match dscp af21 # 匹配AF21流量
match access-group name BUSINESS-APPS # 匹配业务应用
# 步骤2:定义策略映射(Policy Map)
policy-map WAN-QOS
class VOICE
bandwidth percent 20 # 保证20%带宽
queue-limit 64 packets # 队列深度64包
class VIDEO
bandwidth percent 30 # 保证30%带宽
queue-limit 128 packets # 队列深度128包
random-detect dscp-based # 基于DSCP的WRED
class BUSINESS
bandwidth percent 25 # 保证25%带宽
queue-limit 256 packets # 队列深度256包
class class-default
fair-queue # 默认类别使用WFQ
bandwidth remaining percent 25 # 剩余25%带宽
# 步骤3:应用策略到接口
interface GigabitEthernet0/0/1
service-policy output WAN-QOS
2. 高级CBWFQ特性配置
# 带宽分配方式详解
policy-map ADVANCED-CBWFQ
class CRITICAL
bandwidth 10000 # 绝对带宽值10Mbps
queue-limit 100 # 队列深度100包
class IMPORTANT
bandwidth percent 30 # 相对百分比30%
queue-limit 200
class NORMAL
bandwidth remaining ratio 2 # 剩余带宽权重2
class class-default
bandwidth remaining ratio 1 # 剩余带宽权重1
fair-queue
3. CBWFQ监控与验证
# 查看CBWFQ策略状态
show policy-map interface GigabitEthernet0/0/1
# 输出示例:
Class-map: VOICE (match-all)
Packets: 1000, Bytes: 1024000
Offered rate: 2000 bps
Queueing: Output Queue: 1
Bandwidth: 20% (20000 kbps)
Queue-limit: 64 packets
(queue depth/total drops/no-buffer drops) 10/0/0
Class-map: class-default (match-all)
Packets: 5000, Bytes: 5120000
Offered rate: 8000 bps
Queueing: Output Queue: 4
Bandwidth remaining: 25% (25% of available)
Fair-queue: per-flow queue limit 64
四、 LLQ(低延迟队列)技术深度解析
1. LLQ架构原理

2. LLQ关键技术优势
- 绝对优先:LLQ流量总是优先发送
- 带宽限制:防止LLQ独占带宽
- 结合CBWFQ:非实时流量公平调度
- 低延迟:确保实时业务质量
五、 LLQ配置实战
1. 基础LLQ配置
# 定义低延迟业务类别
class-map match-any REAL-TIME
match dscp ef # 语音流量
match dscp cs5 # 信令流量
match protocol sip # SIP协议
# 配置LLQ策略
policy-map LLQ-QOS
class REAL-TIME
priority percent 15 # 严格优先级,限制15%带宽
queue-limit 32 packets # 小队列减少延迟
class VIDEO
bandwidth percent 30 # 视频保证带宽
random-detect dscp-based
class BUSINESS
bandwidth percent 35 # 业务保证带宽
class class-default
fair-queue
bandwidth remaining percent 20 # 剩余带宽分配
# 应用LLQ策略
interface Serial0/0/0
bandwidth 2000 # 链路带宽2Mbps
service-policy output LLQ-QOS
2. 多级LLQ配置
# 不同实时等级的业务
policy-map MULTI-LEVEL-LLQ
class VOICE-PRIORITY
priority percent 10 # 最高优先级语音
queue-limit 16 packets
class VIDEO-PRIORITY
priority percent 20 # 视频会议优先级
queue-limit 64 packets
class DATA-PRIORITY
bandwidth percent 40 # 关键数据保证带宽
class class-default
bandwidth remaining percent 30
fair-queue
3. LLQ带宽限制策略
# 防止LLQ过度占用带宽
policy-map LLQ-WITH-POLICING
class REAL-TIME
priority 500 # 绝对带宽500kbps
police cir 500000 # 限速500kbps
conform-action transmit
exceed-action drop # 超速丢弃
class OTHER-TRAFFIC
bandwidth percent 80
random-detect
六、 CBWFQ与LLQ组合方案
1. 企业广域网QoS设计

2. 综合配置示例
# 企业广域网QoS策略
class-map match-any VOICE
match dscp ef
match protocol rtp audio
match protocol sip
class-map match-any VIDEO-CONF
match dscp af41
match protocol rtp video
match protocol h323
class-map match-any BUSINESS-CRITICAL
match dscp af21
match access-group name CRITICAL-APPS
class-map match-any BUSINESS-NORMAL
match dscp af11
match access-group name NORMAL-APPS
policy-map ENTERPRISE-WAN-QOS
class VOICE
priority percent 15 # LLQ:语音绝对优先
queue-limit 48 packets
class VIDEO-CONF
bandwidth percent 25 # CBWFQ:视频会议保证带宽
random-detect dscp-based
queue-limit 128 packets
class BUSINESS-CRITICAL
bandwidth percent 30 # CBWFQ:关键业务保证带宽
random-detect
queue-limit 256 packets
class BUSINESS-NORMAL
bandwidth percent 20 # CBWFQ:普通业务保证带宽
queue-limit 512 packets
class class-default
fair-queue # WFQ公平调度
bandwidth remaining percent 10 # 剩余带宽
interface GigabitEthernet0/0/1
bandwidth 100000 # 100M链路
service-policy output ENTERPRISE-WAN-QOS
七、 高级特性与优化
1. 队列深度优化
# 根据业务特性调整队列深度
policy-map OPTIMIZED-QUEUES
class VOICE
priority percent 10
queue-limit 32 # 语音:小队列低延迟
class VIDEO
bandwidth percent 25
queue-limit 256 # 视频:中等队列缓冲
class BULK-DATA
bandwidth percent 35
queue-limit 1024 # 大数据:大队列高吞吐
class class-default
fair-queue
queue-limit 512
2. WRED拥塞避免
# 针对不同业务配置WRED
policy-map WRED-OPTIMIZATION
class VIDEO
bandwidth percent 30
random-detect dscp-based # 基于DSCP的WRED
random-detect dscp af41 50 100 10 # AF41的WRED参数
class BUSINESS
bandwidth percent 40
random-detect # 默认WRED
random-detect precedence 0 70 100 15 # 调整阈值
class class-default
fair-queue
random-detect # 默认队列也启用WRED
3. 分层QoS策略
# 父策略:整体带宽分配
policy-map PARENT-POLICY
class class-default
shape average 100000000 # 总带宽限制100M
service-policy CHILD-POLICY # 嵌套子策略
# 子策略:详细队列调度
policy-map CHILD-POLICY
class VOICE
priority percent 15
class VIDEO
bandwidth percent 25
class class-default
bandwidth remaining percent 60
八、 企业级部署案例
案例1:金融企业交易网络
# 金融交易QoS策略
class-map match-all TRADING
match dscp cs6 # 交易数据最高优先级
match access-group name TRADING-SERVERS
class-map match-all MARKET-DATA
match dscp cs5 # 行情数据高优先级
match protocol tcp port 18000 # 行情端口
policy-map FINANCIAL-QOS
class TRADING
priority percent 20 # 交易数据绝对优先
queue-limit 32 packets
class MARKET-DATA
priority percent 15 # 行情数据优先级
queue-limit 64 packets
class VOICE
bandwidth percent 10 # 语音通信保证带宽
queue-limit 48 packets
class class-default
bandwidth remaining percent 55
fair-queue
interface TenGigabitEthernet1/0/1
bandwidth 10000000 # 10G链路
service-policy output FINANCIAL-QOS
案例2:视频会议网络优化
# 视频会议专用QoS
class-map match-any VIDEO-HD
match dscp af41 # 高清视频
match protocol rtp payload-type 96 # H.264视频
class-map match-any VIDEO-SD
match dscp af31 # 标清视频
match protocol rtp payload-type 34 # H.263视频
class-map match-any AUDIO
match dscp ef # 音频数据
match protocol rtp payload-type 8 # PCM音频
policy-map VIDEO-CONF-QOS
class AUDIO
priority percent 10 # 音频最高优先级
queue-limit 24 packets
class VIDEO-HD
priority percent 40 # 高清视频优先级
queue-limit 256 packets
class VIDEO-SD
bandwidth percent 30 # 标清视频保证带宽
queue-limit 128 packets
class class-default
bandwidth remaining percent 20
fair-queue
九、 故障排查与优化
1. QoS问题排查框架
# 1. 检查策略应用状态
show policy-map interface GigabitEthernet0/0/1
# 2. 检查分类匹配情况
show class-map
# 3. 检查队列统计信息
show queueing interface GigabitEthernet0/0/1
# 4. 实时监控丢包情况
show policy-map interface GigabitEthernet0/0/1 output class VOICE
# 5. 深度调试(谨慎使用)
debug qos events
debug policy-map class VOICE
2. 常见问题解决方案
问题1:LLQ流量占用过多带宽
# 解决方案:严格限制LLQ带宽
class REAL-TIME
priority 10000 # 限制为10Mbps绝对带宽
police cir 10000000 # 限速策略
conform-action transmit
exceed-action drop
问题2:CBWFQ带宽分配不均
# 解决方案:调整带宽分配策略
class BUSINESS-CRITICAL
bandwidth percent 40 # 增加关键业务带宽
class BUSINESS-NORMAL
bandwidth percent 20 # 减少普通业务带宽
class class-default
bandwidth remaining percent 40 # 重新分配剩余带宽
问题3:默认队列流量饿死
# 解决方案:保证默认队列最小带宽
class class-default
bandwidth percent 10 # 保证10%最小带宽
fair-queue
bandwidth remaining percent 90 # 参与剩余带宽分配
十、 性能监控与优化
1. 关键性能指标监控
# 实时监控命令
show policy-map interface GigabitEthernet0/0/1 | include Packets|Bytes|drops
# 监控输出示例:
Class-map: VOICE (match-all)
Packets: 50000, Bytes: 51200000, Drops: 5
Class-map: VIDEO (match-all)
Packets: 200000, Bytes: 204800000, Drops: 25
Class-map: class-default (match-all)
Packets: 1000000, Bytes: 1024000000, Drops: 150
2. 性能优化提议
# 根据监控结果调整参数
policy-map OPTIMIZED
class VOICE
priority percent 20 # 增加语音带宽
queue-limit 64 # 增加队列深度
class VIDEO
bandwidth percent 35 # 调整视频带宽
random-detect dscp af41 40 80 5 # 优化WRED参数
十一、 云环境与SDN演进
1. 云原生QoS架构
2. Kubernetes QoS示例
apiVersion: v1
kind: Pod
metadata:
name: qos-demo
spec:
containers:
- name: nginx
image: nginx
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
十二、 总结
CBWFQ与LLQ核心技术总结:
- CBWFQ:基于类的带宽保证,适合非实时业务
- LLQ:严格优先级队列,保证实时业务低延迟
- 组合使用:LLQ处理实时流量,CBWFQ处理非实时流量
- 带宽管理:通过百分比、绝对值、剩余比例灵活分配
部署最佳实践:
- 语音视频:使用LLQ保证低延迟
- 关键业务:使用CBWFQ保证带宽
- 普通流量:使用WFQ公平调度
- 持续优化:根据监控数据调整参数
互动提问:
- 你在实际项目中如何设计CBWFQ/LLQ策略?
- 遇到过哪些QoS配置的挑战?
- 对于云环境下的QoS有什么经验?
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录






收藏了,感谢分享