CBWFQ学习笔记
原创
©著作权归作者所有:来自51CTO博客作者kfzhongfei的原创作品,请联系作者获取转载授权,否则将追究法律责任
CBWFQ 基于类别的加权公平排队,通常使用ACL定义数据流类别,并将注入宽带和队列限制等参数应用于这些类别.
CBWFQ特点:
1)能够给不同的类保障一定的带宽
2)对传统的WFQ作了扩展支持用户自己定义流量的分类:
3)队列的个数和类别是一一对应,给每个class 保留带宽
CBWFQ与WFQ的区别:
WFQ: 用户无法控制分类,由HASH算法自己决定
CBWFQ:让用户对流量自己来分类
WFQ 对正常流量 处理没问题,但是对语音流量显得"太公平"(语音要求低延迟)
CBWFQ:考虑到公平特性,并没有考虑到语音的应用
CBWFQ Configuration:
CBWFQ(config)#
CBWFQ(config)#class-map match-any CBWFQ1
CBWFQ(config-cmap)#match dscp 6
CBWFQ(config-cmap)#match protocol http //两个条件,满足其中一个就可以匹配CBWFQ1//
CBWFQ(config)#
CBWFQ(config)#class-map match-all CBWFQ2
CBWFQ(config-cmap)#match precedence 3
CBWFQ(config-cmap)#match protocol telnet //两个条件必须全部满足才能匹配CBWFQ2//
CBWFQ(config)#
CBWFQ(config)#policy-map CBWFQ
CBWFQ(config-pmap)#class CBWFQ1 //调用class-map CBWFQ1//
CBWFQ(config-pmap-c)#bandwidth 60
CBWFQ(config-pmap)#
CBWFQ(config-pmap)#class CBWFQ2
CBWFQ(config-pmap-c)#bandwidth 30
CBWFQ(config)#
CBWFQ(config)#int s0/0
CBWFQ(config-if)#service-policy output CBWFQ //CBWFQ只能在出方向上调用//
CBWFQ#
查看:
CBWFQ#
CBWFQ#show class-map
Class Map match-any class-default (id 0)
Match any
Class Map match-any CBWFQ1 (id 1)
Match dscp 6
Match protocol http
Class Map match-all CBWFQ2 (id 2)
Match precedence 3
CBWFQ#
CBWFQ#
CBWFQ#show policy-map
Policy Map CBWFQ
Class CBWFQ1
Bandwidth 60 (kbps) Max Threshold 64 (packets)
Class CBWFQ2
Bandwidth 30 (kbps) Max Threshold 64 (packets)
CBWFQ(config)#
CBWFQ(config)#policy-map CBWFQ
CBWFQ(config-pmap)#class CBWFQ1
CBWFQ(config-pmap-c)#queue-limit 30 // 定义每个队能存放的报文数量,超过后丢包方式:Tail drop//
CBWFQ#
CBWFQ#show policy-map
Policy Map CBWFQ
Class CBWFQ1
Bandwidth 60 (kbps) Max Threshold 30 (packets)
Class CBWFQ2
Bandwidth 30 (kbps) Max Threshold 64 (packets)
CBWFQ#
配置实例:
一家公司需求;HTTP流量保障256Kbps带宽,FTP流量保证512Kbps带宽,禁止BT流量.
CBWFQ(config)#class-map HTTP //定义一个匹配HTTP的类//
CBWFQ(config-cmap)#match protocol http
CBWFQ(config)#class-map FTP
CBWFQ(config-cmap)#match protocol ftp
CBWFQ(config)#class-map BT
CBWFQ(config-cmap)#match protocol bittorrent
CBWFQ(config)#
CBWFQ(config)#policy-map CBWFQ //定义策略,调用类class//
CBWFQ(config-pmap)#class HTTP
CBWFQ(config-pmap-c)#bandwidth 256
CBWFQ(config-pmap)#class FTP
CBWFQ(config-pmap-c)#bandwidth 512
CBWFQ(config-pmap)#class BT
CBWFQ(config-pmap-c)#drop
CBWFQ(config-pmap)#class class-default
CBWFQ(config-pmap-c)#fair-queue //网络中剩下的流量除了HTTP,FTP之外都使用WFQ,放到fair-queue中了//
CBWFQ(config)#
CBWFQ(config)#int s0/0
CBWFQ(config-if)#service-policy output CBWFQ
CBWFQ(config)#
Weighted Fair Queue,加权公平队列。WFQ将分组按照不同的业务流、不同的IP优先级,自动按照HASH算法,划分成不同的队列,在保证高优先级业务的同时,按照配置权重,将带宽公平地分给低优先级别的业务。
WFQ的思想:
i,为每个流创建一个专用的队列,避免队列的饥饿,延迟,抖动等
ii,在所有流间公平,正确地分配带宽
iii,WFQ使用 [IP优先级] 作为分配带宽的权重
在CISCO路由器上,接口小于E1的链路会默认启用WFQ.
注:在WFQ中,weight的计算方式为4096/(IP优先级+1)或者32384r/(IP优先级+1)
因此在show queue中看到的weight值越大,表示权重越低。
WFQ优点
1.配置简单(不用手工分类)
2.保证所有的流都有一定的带宽
3.丢弃野蛮流量
4.大多数平台上都支持
5.支持所有IOS版本(11.0以上)
WFQ缺点
1.每个子队列都继承了FIFO的缺点
2.多个不同的流可能会被分入同一个队列(流的数量超过了配置的队列数)
3.不支持手工分类
4.不能提供固定带宽保证
5.因为使用了复杂的分类和调度机制,对系统资源有一定的限制
上一篇:Cisco路由器安全配置
下一篇:网络地址转换NAT
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
HarmonyOS NEXT 学习笔记
鸿蒙os 页面一键置灰
页面效果 API -
WFQ/CBWFQ/LLQ介绍
WFQ,CBWFQ,LLQ
职场 CBWFQ 休闲 WFQ LLQ -
第六章 大网高级 CBWFQ
&n
CBWFQ RED WR -
Linux学习笔记之iptables学习笔记Linux iptables hive .net