CAR(Committed Access Rate)
CAR通过使用令牌桶TC来进行流量控制。分类后,不需要流控的流量直接继续发送,而需要进行流控的流量就要经过令牌桶。只有当令牌桶中有令牌时,相应的流量才能通过。若没有足够的令牌,要么流量被直接丢弃(policing),要么缓存起来(shaping),等有了足够的令牌后再发送出去。
CAR还可以用来做mark或remark(即可以用来设置ip优先级或重新设置ip优先级)
CAR可以为不同类别的报文设置不同的流量特性和标记特性,即可以对每个类进行CAR。CAR的策略还可以串联处理,比如先对总的流量进行一次限速,然后再对各个类进行小范围的限速。
CAR一般用在网络边界路由器上。可以在一个接口上设置多个CAR策略,数据包依次和多个CAR策略匹配,若没有匹配的,则默认操作时转发数据包。
CAR的使用有以下限制:1.只能对IP流量限速;2.不支持fast EtherChannel;3.不支持隧道接口;4.不支持ISDN PRI接口。
一、什么是CAR
CAR是Committed Access Rate的简写,意思是:承诺访问速率。它是Cisco公司IOS软件中QoS功能的一个子功能,它是自v12.0版本中新添加的。它的
主要有两个作用:(1)对一个端口或子端口(subinterface)的进出流量速率按某个标准上限进行限制;(2)对流量进行分类,划分出不同的QoS优先级。
注意:CAR只能对IP包起作用,对非IP流量不能进行限制。另外CAR只能在支持CEF交换(Cisco Express Forward)的路由器或交换机上使用。以下这些接口上也不能使用CAR:
* Fast EtherChannel interface
* Tunnel Interface
* PRI interface
CAR的工作原理可以看成是数据包分类识别(packet classification)和流量控制(access rate limiting)的结合。其工作流程可以从图1所示。
图1
在这个流程中,主要分三步进行。第一步的Traffic Matching是首先从数据流中识别出用户希望对其进行流量控制的数据包类型(也称“感兴趣”流量类型)。用户可以选择以下几种不同的方式来进行流量识别:
* 全部的IP流量,这样可以把所有的IP流量采用统一的流量控制策略。
* 基于IP前缀,此种方式是通过rate-limit access list来定义的。
* QoS 分组。
* MAC地址,此种方式通过rate-limit access list来定义。
* IP access list(IP ACL,IP访问控制列表),可通过标准的或扩展的访问控制列表来定义。
用上述方法识别到了用户希望进行流量控制的数据包类型后,接下来的第二步就是进行流量衡量(traffic measurement)。CAR采用一种名为token bucket的机制来进行流量衡量,如图2所示。
图2
图中的token可以看成是第一步的traffic matching所识别到的感兴趣流量,该种流量的数据包进入一个bucket(桶)内,该bucket的深度则由用户定义。在进入该token bucket后,以用户希望控制的流量速率离开该bucket,执行下一部操作(conform action)。在这里,对于实际流量速率的不同,可以看到会有两种情况发生:
(1)实际流量小于或等于用户希望速率,这样,明显地,token离开bucket的实际速率将和其来到的速率一样,bucket内可以看作是空的。流量不会超过用户的希望值。
(2)实际流量大于用户希望速率。这样,token进入bucket的速率比其离开bucket的速率快,这样在一段时间内,token将填满该bucket,继续到来的token将溢出(excess)bucket,则CAR采取相应的动作(一般是丢弃或将其IP前缀改变以改变该token的优先级)。这样就保证了数据流量速率保证在用户定义的希望值内。
二、如何配置CAR
一般来说,CAR比较适合部署在网络的边缘部分,我们的一般做法也是在边界路由器上部署CAR。配置CAR可以选择前面介绍的五种流量类型识别方法,而常用的则是最后一种“IP access list(IP ACL,IP访问控制列表)”方法。
用户可以使用标准的“ip access list”命令来确定哪些IP流量数据需要进行rate-limit(速率限制),也可以用扩展“ip access list”来确定哪些IP协议类型流量(如HTTP,FTP)需要进行rate-limit。例如我们想限制用户到内部网站上浏览网页的速度,则可以采用如下的access list来定义流量:
access-list 101 permit tcp any eq www any
这里值得注意的一点是在配置时要配成“any eq www any”,而不是“any any eq www”。因为这里要限制的主要流量不是用户向http server发送的请求(这类请求流量的源端口号为随机(any),目的端口号为80),而是http server收到用户的请求后发给用户方的网页内容的流量(这部分流量的源端口号为80,目的端口号为发起方的端口号),如果在这个细节上不加注意则不能对下载的流量进行有效的限制。
在相应的端口配置rate-limit的语句格式
如下:
interface X # 聚集用户希望限制的端口
rate-limit {input|output} [access-group number ] bps burst-normal burst-max conform-action action exceed-action action
这里的
interface可以是Ethernet interface(以太网端口)也可以是serial interface(串行接口),但是不同类型的interface在下面的rate-limit语句中的{input|output}选项上选择有所不同,需要注意一下。因为以太网端口既可以是输入(input)端口,又可是输出(output)端口;而串行接口则只能为输入接口。
[access-group number ]
选项是用户用access list定义流量的access list号码。
Bps:用户希望该流量的速率上限,单位是bps。
Burst-normal burst-max:这个是指token bucket的大小,一般采用8000、16000、32000等值,根据前面设置的Bps值大小而定。
Conform-action :在速率限制以下的流量的处理策略。
Exceed-action:超过速率限制的流量的处理策略。
Action:处理策略,包括以下几种:
* Transmit:传输
* Drop:丢弃
* Set precedence and transmit:修改IP前缀然后传输
* Set QoS group and transmit:将该流量划入一个QoS group内传输
* Continue:不动作,看下一条rate-limit命令中有无流量匹配和处理策略,如无,则transmit
* Set precedence and continue:修改IP前缀然后continue(继续)
* Set QoS group and continue:划入QoS group然后continue
注意,在一个interface内,可以配置多条rate-limit命令,如果action里面有continue,则顺序执行下一条rate-limit命令,若某种流量在continue之后没有被某条rate-limit命令丢弃,则它将进行传输。一个端口最多可配20条rate-limit命令。
下面语句是一个对用户进行http应用限制的例子:
interface e0 # 聚集0号以太网端口
rate-limit output access-group 101 128000 16000 16000 conform-action transmit exceed-action drop
这里我们对用户进行http访问所下载的网页流量控制在传输速率上限为128Kbps,token bucket包的大小为16000字节。
CAR除了可以提供用来限制某种流量的速率之外,还可以用来抵挡某些类型的网络攻击。如
DOS网络攻击的一个特征是网络中会充斥着大量带有非法源地址的ICMP包,我们可以通过在路由器上对ICMP包通过配置CAR来设置速率上限的方法来保护网络。
示例如下:
interface x
rate-limit output access-group 1000 3000000 80000 80000 conform-action transmit exceed-action drop
access-list 1000 permit icmp any any echo-reply
这样就可以限制ICMP包的转发速率和大小,减少对网络和主机造成的威胁。
Cisco
路由器
QoS
配置过程
对不同
IP
组进行流量限制实例:
Cisco(config)#
ip access-list extended BOSS
Cisco(config-ext-nacl)#
permit ip host 192.168.1.8 any
Cisco(config-ext-nacl)#
permit ip host 192.168.1.18 any
Cisco(config-ext-nacl)#
permit ip host 192.168.1.38 any
Cisco(config-ext-nacl)#
permit ip host 192.168.1.48 any
Cisco(config-ext-nacl)#
permit ip host 192.168.1.58 any
Cisco(config-ext-nacl)#
permit ip host 192.168.1.68 any
Cisco(config-ext-nacl)#
end
Cisco#
config t
Cisco(config)#
ip access-list extended COMMON
Cisco(config-ext-nacl)#
deny ip host 192.168.1.8 any
Cisco(config-ext-nacl)#
deny ip host 192.168.1.18 any
Cisco(config-ext-nacl)#
deny ip host 192.168.1.38 any
Cisco(config-ext-nacl)#
deny ip host 192.168.1.48 any
Cisco(config-ext-nacl)#
deny ip host 192.168.1.58 any
Cisco(config-ext-nacl)#
deny ip host 192.168.1.68 any
Cisco(config-ext-nacl)#
permit ip 192.168.0.0 0.0.255.255 any
Cisco(config-ext-nacl)#
end
Cisco#
config t
Cisco(config)#
route-map QoS permit 10
Cisco(config-route-map)#
match ip address BOSS
Cisco(config-route-map)#
set ip precedence ?
<0-7> Precedence value
critical Set critical precedence (5)
flash Set flash precedence (3)
flash-override Set flash override precedence (4)
immediate Set immediate precedence (2)
internet Set internetwork control precedence (6)
network Set network control precedence (7)
priority Set priority precedence (1)
routine Set routine precedence (0)
<cr>
Cisco(config-route-map)#
set ip precedence critical
Cisco(config-route-map)#
exit
Cisco(config)#
route-map QoS permit 20
Cisco(config-route-map)#
match ip address COMMON
Cisco(config-route-map)#
set ip precedence priority
Cisco(config-route-map)#
exit
Cisco(config)#
class-map match-any NORMAL
Cisco(config-cmap)#
match ip precedence 0 1 2
Cisco(config-cmap)#
class-map match-any PREMIUM
Cisco(config-cmap)#
match ip precedence 0 1 2
Cisco(config-cmap)#
exit
Cisco(config)#
policy-map QoS_OUTPUT
Cisco(config-pmap)#
class PREMIUM
Cisco(config-pmap-c)#
bandwidth 2048
Cisco(config-pmap-c)#
police 2048000 bc 19200 38400
Cisco(config-pmap-c-police)#
conform-action transmit
Cisco(config-pmap-c-police)#
exceed-action transmit
Cisco(config-pmap-c-police)#
class NORMAL
Cisco(config-pmap-c)#
bandwidth 512
Cisco(config-pmap-c)#
police cir 51000 bc 1200 be 1200
Cisco(config-pmap-c-police)#
conform-action transmit
Cisco(config-pmap-c-police)#
exceed-action drop
Cisco(config-pmap-c-police)#
end
Cisco#
config t
Cisco(config)#
interface G 0/0
Cisco(config-if)#
ip nat inside
Cisco(config-if)#
ip policy route-map QoS
Cisco(config)#
interface G 0/1
Cisco(config-if)#
ip nat outside
Cisco(config-if)#
service-policy output QoS_OUTPUT
----------------------------------------------------------------------------
marking:
1.定义class-map.
class-map [match-all/match-any] {map-name}
默认不打的话是match-all
2.定义匹配命令match
match access-group {NO}
match input-interface {interface}
match class-map {map-name} class-map嵌套
match source-address {mac-address} 源mac地址
match destination-address {mac-address} 目的mac地址
match vlan {vlan-ID}
match ip dscp {DSCP}
match ip precedencc {precedence}
match protocol {protocol} 基于NBAR
Router(config) class-map FOO
Router(config-cmap)#match ?
access-group Access group
any Any packets
class-map Class map
cos IEEE 802.1Q/ISL class of service/user priority values
destination-address Destination address
input-interface Select an input interface to match
ip IP specific values
mpls Multi Protocol Label Switching specific values
not Negate this match result
protocol Protocol
qos-group Qos-group
source-address Source address
3.设置policy-map
policy-map {policy-name}
4.调用class-map
class-map {map-name}
5.设置标记
set ip dscp {DSCP}
set ip precedence {PRECEDENCE}
set cos {COS}
priority {Kbps|percent PERCENT} [bc] 定义优先级流量的带宽以及突发流量
bandwidth {Kbps|percent PERCENT} 定义保留带宽
random-detect 启用WRED
police {CIR BC BE} conform-action {action} exceed-action {action} [violated-action {action}] 使用令牌桶限速
queue-limit {PACKETS} 定义队列中数据报的最大个数
service-policy {policy-name} 调用其它的策略进行嵌套
shape {average|peak} {CIR [BC] [BE]} 整形
drop
6.在接口模式下调用policy-map
service-policy [input|ouput] {POLICY-NAME}
察看命令:
show policy-map [policy-name]
show policy-map interface [INTERFACE]
show class-map [class-name]
show ip nbar pdlm
show ip nbar port-map 显示NBAR使用的协议到端口的映射
NBAR应用:
使用限制:
1.快速以太网信道
2.隧道接口或加密的接口
3.SVI(交换虚拟接口)
4.拨号接口
5.多链路PPP(MLP)
使用前先要敲命令:ip cef
class-map {name}
match protocol ...
ip nbar pdlm flash://bittorrent.pdlm 加载bittorrent.pdlm 到路由器闪存里(事先要把pdlm复制到flash中)
match procotol http url "*.jpeg|*.jpg" (匹配url中带有jpeg和jpg的连接)
match procotol http url "*.gif" (匹配url中有gif的连接)
拥塞管理
WFQ:
特点:
1.基于流(5元素)分类,队列数N可以配置
2.出队后按IP优先级来分配带宽,优先级越低则带宽越小
3.在其它队列空闲时抢占它们的带宽,又有流量时归还带宽
4.是低于2.048Mbps串行接口的默认配置
配置命令:
接口模式下fair-queue
show queueing fair
show queue [interface]
PQ:
缺点:1.只能静态配置,不能适应网络拓扑的变化2.不支持隧道接口3.要通过数据分类卡,比FIFO慢
配置:
1.定义优先级队列,可以基于协议和基于进站接口
基于协议poriority-list {list-number} protocol {PROTOCOL-NAME} {high|medium|normal|low}
基于进站接口poriority-list {list-number} interface {interface} {high|medium|normal|low}
2.定义默认优先级队列,未被分类的数据报被送到此处,默认级别为normal
priority-list {list-number} default {high|medium|normal|low}
3.定义每个队列中数据报的个数,从高到低,默认为20,40,60,80
priority-list {list-number} queue-limit {high-limit medium-limit normal-limit low-limit}
4.把优先级队列运用在接口上
priority-group {list-number}
察看命令:
show queue [interface]
show queueing priority
RTP(Real Time Protocol)
支持端口号为偶数的udp报文
可以进行限速,超过的可丢弃,也可以配置带宽,不会占用超出规定的带宽
命令:
ip rtp priority {starting-rtp-port-number port-number-range} {bandwidth}
max-reserved-bandwidth PERCENT
show queue [interface]
debug priority
CRTP(压缩实时协议): 用来压缩ip/udp/rtp报头
压缩分为三种:链路压缩,有效负载压缩,报头压缩
二层报头--tcp/ip报头--有效负载
1.链路压缩:对整个分组进行压缩,包括报头和有效负载。独立于协议的。只适用于点到点链路。两种算法:Predictor和STAC
2.有效负载压缩:只压缩数据部分,对报头没有影响。适用于frame-relay或ATM网络。
3.tcp/ip报头压缩:针对协议的,适用于几个字节数据的小型分组。
配置:
对HDLC,LAPB: compress [predictor|stac|mppc]
对ppp: ip compress [predictor|stac]
对frame-relay点到点接口或子接口启用stac压缩: frame-relay payload-compress
启用crtp:
1. ip rtp header-compression [passive]
若不启用passive,则对所有RTP数据流压缩;若启用passive,则只有当进入端口的RTP分组被压缩时,软件才能对离开该接口的RTP分组压缩
2. ip rtp compression-connections {NUMBER}
更改CRTP压缩的条数,默认为16条
3. 启用tcp报头压缩: ip tcp header-compression [passive] 若没有启用passive, 则必须指定关键字active,将对所有IP/UDP/RTP包头进行压缩
ip tcp compression-connections {NUMBER}
frame-relay中的 crtp:
在物理接口上启用CRTP,则在它的子接口上将继承特性
frame-relay ip rtp header-compression [passive]
frame-relay ip rtp compression-connections {NUMBER}
只针对特定的PVC启用CRTP:
frame-relay map ip {ip-address} {dlci} [broadcast] rtp header-compression [active|passive] [connections number]
察看命令:
show ip rtp header-compression [interface] [detail]
show frame-relay ip rtp header-compression [interface]
WRR(weighted round-robin)
一种队列调度机制,根据每个出站队列的权值来分配带宽,权值与带宽成正比。
仅当发生拥塞时才会使用WRR,不拥塞时不会分配带宽。
步骤:
1.全局启用mls qos
2.进入接口模式
3.通过COS将数据报分配到不同的队列中去。
wrr-queue cos-map QUEUE-ID THROSHOLD COS1... COSn 它用于配置cos值到出站队列的映射关系。
对队列进行编号时,从低优先级开始,到严格优先级结束。
配置严格优先级队列:wrr-queue priority-queue
4.配置WRR队列的权重
wrr-queue bandwidth WEIGHT1 WEIGHT2 WEIGHT3 WEIGHT4
计算每个队列的方法是:
example:wrr-queue bandwith 1 2 3 4
则带宽: 队列1:权重1/总权重=1/10
5.定义传输队列长度的比例,取值为1-100%
wrr-queue queue-limit LOW-PRIORITY-QUEUE-WEIGHT MEDIUM-PRIORITY-QUEUE-WEIGHTS HIGH-PRIORITY-QUEUE-WEIGHTS
高优先级队列因为延时小,数据量小,所以不需要太大的缓存区。往往将大部分缓冲区用于低优先级队列。
拥塞避免
1.尾丢弃
对所有通信流平等对待,将导致TCP全局同步
wrr-queue threshold QUEUE-ID THR1% 100% THR1%是开始丢弃通信流时输出队列的填满程度,后面一个是100%是尾丢弃
2.WRED
WRED与RED的区别在于前者引入IP优先权DSCP值来区别丢弃策略,可以为不同IP优先级DSCP设定不同的队列长度、队列阈值、丢弃概率。并且RED只对TCP流量有用
通过对队列数据流传输速度的平均值计算来决定是否丢弃,防止了对突发流量的不公平待遇。
WRED和LLQ矛盾
WRED往往和WRR一起使用。
WRED可以在接口上进行配置,也可以在policy上进行配置,可以针对于precedence进行RED,也可以针对于DSCP值进行RED,当然,两者之间只能选择一个。
(1)基于DSCP
random-detect dscp-based
random-detect dscp {DSCP} {min max mark}
(2)基于ip precedence
random-detect
random-detect precedence {PRECEDENCE} {min max mark}
WRED与WRR连用:
wrr-queue random-detect min-throshold QUEUE-ID THR1% [THR2% [THR3% ...]]
wrr-queue random-detect max-throshold QUEUE-ID THR1% [THR2% [THR3% ...]]
min-throshold表示开始丢弃某些数据包时的最大填满程度
max-throshold表示丢弃所有数据包时的最大填满程度
example:
int G1/1
wrr-queue bandwidth 50 75
wrr-queue queue-limit 100 50
wrr-queue random-detect min-throshold 1 50 70
wrr-queue random-detect max-throshold 1 75 100
wrr-queue cos-map 1 1 0 2
wrr-queue cos-map 1 2 3
wrr-queue cos-map 2 1 4
wrr-queue cos-map 2 2 6
priority-queue cos-map 1 1 5 7
rcv-queue cos-map 1 1 0
switchport
解释:共有两个队列。当队列1的填满程度达到50%和70%时,交换机分别对映射到闸值1和闸值2的数据包进行WRED(即开始丢弃),当队列1的填满程度达到75%和100%时,交换机分别对映射到闸值1和闸值2的数据包全部丢弃。注意:队列2没有采取WRED。
基于流的WRED(WRED和WFQ结合起来使用)
小的流丢弃的概率小,大的流丢弃的概率大,保护小的流。
命令:
1.启用基于流的WRED。
random-detect flow
2.设置平均深度因素(average depth factor)的值,值必须为2的幂,默认值为4.可选:
random-detect flow average-depth-factor {scaling-factor} 这个参数是改变一个乘法的比例因数.从而改变队列的大小,其实就是改变队列的长度。
3.设置基于流的WRED 的数据流数目,默认值为256
random-detect flow count {number}
流量策略
qos的流程:1.基于流或基于类的分类;2.结合令牌桶进行policing或shaping(CAR或GTS);3.拥塞避免(尾丢弃或WRED);4.拥塞管理(各种队列机制);5.出队。
标记在什么地方进行??(标记可以在进行CAR的时候进行,CAR也可以进行重新标记)
CAR(Committed Access Rate)
CAR通过使用令牌桶TC来进行流量控制。分类后,不需要流控的流量直接继续发送,而需要进行流控的流量就要经过令牌桶。只有当令牌桶中有令牌时,相应的流量才能通过。若没有足够的令牌,要么流量被直接丢弃(policing),要么缓存起来(shaping),等有了足够的令牌后再发送出去。
CAR还可以用来做mark或remark(即可以用来设置ip优先级或重新设置ip优先级)
CAR可以为不同类别的报文设置不同的流量特性和标记特性,即可以对每个类进行CAR。CAR的策略还可以串联处理,比如先对总的流量进行一次限速,然后再对各个类进行小范围的限速。
CAR一般用在网络边界路由器上。可以在一个接口上设置多个CAR策略,数据包依次和多个CAR策略匹配,若没有匹配的,则默认操作时转发数据包。
CAR的使用有以下限制:1.只能对IP流量限速;2.不支持fast EtherChannel;3.不支持隧道接口;4.不支持ISDN PRI接口。
命令:
rate-limit {output|input} {CIR BC BE} conform-action {action} exceed-action {action}
注意:CIR单位是bit/s;而BC和BE的单位是byte/s。
conform-action的条件是指当要发的数据小于正常突发(bc)的时候。exceed-action是指要发的数据大于普通突发,小于最大突发(be)的时候。
action的选项共有如下这些:
continue 继续执行下一条CAR语句
drop 丢弃数据包
tranmsit 转发数据包
set-prec-continue {precedence} 设置IP优先级并继续执行下一条CAR语句
set-prec-transmit {precedence} 设置IP优先级并转发数据包
set-dscp-continue {dscp} 设置dscp值并继续执行下一条CAR语句
set-dscp-transmit {dscp} 设置dscp值并转发数据包
上面都是只能基于整个接口的流量进行CAR,下面的可以分别针对某个流量或ip precedence或dscp值或MAC地址进行CAR
扩展的配置
1.针对dscp值进行CAR
rate-limit {output|input} [dscp DSCP] {CAR BC BE} conform-action {action} exceed-action {action}
2.针对ACL进行CAR
rate-limit {output|input} access-group {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}
3.针对限速ACL进行CAR
rate-limit {output|input} access-group rate-limit {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}
限速ACL只是一种调用关系:access-list rate-limit {ACL NUM} {precedence|mac-address} 可以匹配优先级,也可以匹配MAC地址
察看命令:
1.查看限速ACL:show access-lists rate-limit [ACL]
2.查看接口的限速信息:show interfaces [interface] rate-limit
policy map中CAR操作
police {CIR BC BE} conform-action {action} exceed-action {acion} violated-action {acion}
action的选项同上。
流量整形(shaping)
通常通过缓冲区和令牌桶来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文。
采用的技术为GTS(通用流量整形)。
GTS与CAR的主要区别在于:利用CAR进行报文流量控制时对不符合流量特性的报文进行丢弃,而GTS对于不符合流量特性的报文则是进行缓冲,减少了报文的丢弃,同时满足报文的流量特性。
若报文不需要进行GTS,则不经过令牌桶的处理直接发送。
当因为缺乏足够的令牌而采用GTS后,GTS按一定的周期从队列中取出报文进行发送。每次发送都会与令牌桶中的令牌数作比较。直到令牌桶中的令牌数减少到队列中的报文不能再发送或是队列中的报文全部发送完毕为止。
一般在路由器的出口进行shaping,入口进行policing。
命令:
1.基本的GTS:traffic-shape rate {CIR BC BE}
2.基于ACL的GTS: traffic-shape group {ACL} {CIR BC BE}
察看:
1.查看GTS 的配置信息:show traffic-shape [interface]
2.查看GTS 的统计信息:show traffic-shape statistics [interface]
GTS在Frame Relay上的实现
1.在接口上启用GTS:
traffic-shape rate {CIR [Bc [Be]]}
2.当接口收到向后显性拥塞通知(BECN)时,估算流量速率的最低值:
traffic-shape adaptive {CIR}
3.以向前显性拥塞通知(FECN)做为BECN 的响应.可选:
traffic-shape fecn-adapt
GTS在policy map上的实现
GTS还可以定义平均值和峰值的流量整形,并且可以在配置GTS 的时候采用CBWFQ。
配置基于分类的流量整形的步骤如下:
1.定义平均值和峰值的CIR,Bc 和Be:
(config-pmap-c)#shape {average|peak} {CIR [Bc] [Be]} average指的是平均值,peak说得是峰值
2.定义缓冲区上限,默认值为1000.可选:
(config-pmap-c)#shape max-buffers {number-of-buffers}
3.在策略上应用CBWFQ。可选:
(config-if)#service-policy output {policy-name}