Cisco qos,1100 ISR 上的输出接口上的服务策略似乎被忽略了

网络工程 服务质量 隧道 ios-xe
2022-02-19 13:01:58

我正在尝试为特殊用途的应用程序配置 QoS,这是我第一次完成 QoS。这是在 IOS XE 16.09.03 的 1100 ISR 上。

该设备是一组 4 个,可在带宽有限 (10mbs) 的专用 WAN(每端 2 个)上建立隧道网。预期的总流量只有大约 3mbs,但我们希望对流量进行整形和排队以防万一,这样某些流量总是以低延迟和抖动的方式传输。

我根本无法让输出流量看到策略映射,或者至少看起来没有。流量被正确标记和传输(我可以在每一端嗅探它)但是当我模拟过多的流量时,它会随机丢弃。

以下是相关部分(我希望):

policy-map XXXXX_QoS_Queues_Out
 class Class_MATCH_EF
  priority percent 35
 class Class_MATCH_CS3
  bandwidth percent 15
 class Class_MATCH_CS2
  bandwidth percent 15
 class class-default
  bandwidth percent 35

policy-map TRAFFIC_SHAPER
 class class-default
  shape average 9000000
   service-policy XXXXX_QoS_Queues_Out

流量由输入策略映射标记,所有这些似乎都有效(这就是为什么我没有将所有这些访问列表和类弄乱),我们只有 3 个标签加上“其他”。问题似乎不在于它是否进入了正确的队列或获得了正确的标签,而在于 TRAFFIC_SHAPER 和 XXXX_QoS_Queues_Out 是否有任何作用。

隧道看起来像这样:

interface Tunnel1
 ip address 172.26.51.1 255.255.255.0
 ip pim dense-mode
 ip hello-interval eigrp 10 1
 ip hold-time eigrp 10 3
 delay 1
 qos pre-classify
 tunnel source Vlan200
 tunnel mode ipsec ipv4
 tunnel destination xx.xx.xx.xx
 tunnel protection ipsec profile IKEV2_IPSEC_PROFILE

interface Vlan200
 ip address xx.xx.xx.xx 255.255.255.240
 ip access-group PROTECT-WAN-PORT in

interface GigabitEthernet0/1/7
 switchport access vlan 200
 switchport mode access
 service-policy output TRAFFIC_SHAPER

我正在尝试将整体流量调整为 9mbs,其中显示的百分比用于不同的流量。但问题是即使使用策略图我也从来没有看到它(这个节目是在电路非常饱和时拍摄的):

#show policy-map int gi0/1/7
 GigabitEthernet0/1/7

Service-policy output: TRAFFIC_SHAPER

Class-map: class-default (match-any)
  34 packets, 13206 bytes
  5 minute offered rate 0000 bps, drop rate 0000 bps
  Match: any
  Queueing
  queue limit 64 packets
  (queue depth/total drops/no-buffer drops) 0/0/0
  (pkts output/bytes output) 0/0
  shape (average) cir 9000000, bc 36000, be 36000
  target shape rate 9000000

  Service-policy : XXXXXremmove_QoS_Queues_Out

    queue stats for all priority classes:
      Queueing
      queue limit 512 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 0/0

    Class-map: Class_MATCH_EF (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0000 bps, drop rate 0000 bps
      Match:  dscp ef (46)
      Priority: 35% (3150 kbps), burst bytes 78750, b/w exceed drops: 0


    Class-map: Class_MATCH_CS3 (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0000 bps, drop rate 0000 bps
      Match:  dscp cs3 (24)
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 0/0
      bandwidth 15% (1350 kbps)

    Class-map: Class_MATCH_CS2 (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0000 bps, drop rate 0000 bps
      Match:  dscp cs2 (16)
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 0/0
      bandwidth 15% (1350 kbps)

    Class-map: class-default (match-any)
      34 packets, 13206 bytes
      5 minute offered rate 0000 bps, drop rate 0000 bps
      Match: any
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 0/0
      bandwidth 35% (3150 kbps)

注意看到的少量数据包。它不会随着时间的推移而显着增加,只是到处都有几个数据包。即使分类匹配不正确,我也应该在 class-default 中看到数十万个数据包。

我还在流量形状上将 9mbs 降低到 900k,但什么也没发生。

请注意,我不能将策略映射(或我发现的与队列相关的任何策略映射)应用于 VLAN 接口,也不能将其直接应用于隧道(它抱怨 VLAN 200),并且在此设备上它没有看起来你可以在接口上放一个 IP,你必须使用 VLAN(除非我只是想不出正确的命令,手册只显示 vlan)。虽然我可能希望 SHOW 命令不正确,但它与处理标记为“ef”的流量与其他流量没有任何区别是一致的。

我觉得我缺少一些基本的东西来连接它。我会很感激任何指示。

1个回答

您正在将父(整形)策略映射应用到接口 gig0/1/7。ISR 1k系列我还没有接触过,但从它的名字来看,它似乎是一个集成开关模块的端口。

在我遇到的 ISR(G1、G2、4k)上,交换端口从未真正支持 QoS,尤其是在涉及任何形式的排队时。

建议:将service policy ouptut应用于interface vlan 200interface tunnel1


评论后编辑: 既不interface tunnel也不interface vlan似乎接受输出服务政策。这可能与底层(物理)交换机端口接口的受限硬件/排队能力有关,这些接口不允许以合适的方式分配缓冲存储器来实现所需的排队行为。

给定路由器的路由端口(“WAN 端口”)(非常类似于其产品前身,如 890 系列)可以预期具有不同的硬件性质(不基于交换机芯片)并具有不同的缓冲/排队功能。他们应该接受这样的输出服务政策。


除此之外:流量被输入策略标记的事实并不能保证出口端使用的类映射符合所需的标准。