问题描述
MSR路由器接口上无法下发QoS Policy的真相
解决方法
揭秘:某公司MSR 路由器接口上
无法下发QoS Policy
的真相
一、
来龙去脉
某公司一台MSR路由器无法在g0/0接口上配置一个名为callcenter的QoS
Policy,但曾经成功地在该接口上配置过QoS
Policy。
该无法成功配置的QoS Policy的详细信息为:
#
acl number 3000
rule 0 permit ip
source 10.10.72.21 0 destination 10.92.9.23 0
rule 5 permit ip source
10.10.72.23 0 destination 10.92.9.24 0
rule 10 permit ip source 10.10.72.23 0
destination 10.92.9.25 0
rule 15 permit ip source 10.10.72.4 0 destination
10.92.9.28 0
rule 20 permit ip source 10.10.72.5 0
rule 25 permit ip
source 10.10.72.6 0
#
traffic classifier callcenter-ef operator
and
if-match acl 3000
#
traffic behavior callcenter-ef
queue ef
bandwidth 500000 cbs 2000000
#
qos policy callcenter
classifier
callcenter-ef behavior callcenter-ef
无法下发该QoS Policy的接口配置为:
#
interface
GigabitEthernet0/0
port link-mode route
duplex full
speed
100
description to NCBG
ip address 10.254.250.5 255.255.255.252
undo ip
fast-forwarding
ip policy-based-route 20to8
#
二、
抽丝剥茧
接到问题的第一件事情当然就是复现问题。
//再建一个qos policy,名称:call,我们再来一次~~//
[BJ-NC]qos
policy call
[BJ-NC-qospolicy-call]classifier callcenter-ef behavior
callcenter-ef
[BJ-NC-qospolicy-call]quit
[BJ-NC]int
g0/0
[BJ-NC-GigabitEthernet0/0]qos app policy call
ou
[BJ-NC-GigabitEthernet0/0]dis th
#
interface
GigabitEthernet0/0
port link-mode route
duplex full
speed
100
description to NCBG
ip address 10.254.250.5 255.255.255.252
undo ip
fast-forwarding
ip policy-based-route 20to8
#
果然如此,在接口应用该QoS
Policy时尽管没有任何错误反馈信息,但查看
时发现接口下根本没有该QoS
Policy配置信息。
简直没有任何头绪,只能祭出倚天屠龙技:分析diag信息!
随着倚天屠龙技的祭出,一切豁然开朗!!
从diag信息中可以看到,配置policy后打出了提示信息:
%Apr
12 09:55:38:78 2010 BJ-NC SHELL/4/CMD:task:vt1 ip:10.254.253.26
user:admin
command:qos app policy call outbound
%Apr 12 09:55:38:79 2010 BJ-NC QOS/3/NOT
ENOUGH BANDWIDTH:
Policy call requested bandwidth 500000(Kbps). Available
only 80000(Kbps)
on
GigabitEthernet0/1.
这句话的含义是策略要求的带宽大于接口总带宽
再查看用户的配置,要保证的带宽是500000(请注意这理配置的单位是
Kbps),所以也就是≈500M,
traffic
behavior callcenter-ef
queue ef bandwidth 500000 cbs
2000000
而接口的实际带宽是100M,
interface GigabitEthernet0/0
port link-mode
route
duplex full
speed 100
description to NCBG
ip address
10.254.250.5 255.255.255.252
undo ip fast-forwarding
ip policy-based-route
20to8
QoS默认使用80%(qos reserved-bandwidth pct
80),具体到这个接口上也就
是80M,所以上面才会提示需要500000K而实际只有80000K。
接口实际只提供最大80M的带宽,而配置的qos
policy却要保证500M的带宽,
自然配置不上去了。
再仔细询问之前可以配置的QoS
Policy内容,得知当时配置的流行为如下:
traffic behavior callcenter-af
queue af bandwidth
1000
该值没有超过接口可用带宽。