キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
告知

 TopBanner_Jan.2021_AMA.JPG

 TopBanner_2021.2_ver.7.JPG

 

Catalyst 3650/3850 シリーズスイッチの自発パケットのドロップについて

96
閲覧回数
0
いいね!
0
コメント

 

はじめに

本ドキュメントでは、Catalyst 3650/3850 シリーズスイッチでシェーピングが有効になっている場合に、意図せずに自発パケットがドロップする状況と対処法について記載しています。コマンド出力は IOS-XE 16.9.2 バージョンで動作している WS-C3650-12X48UR を例に記載しています。

 

  

問題

インターフェイスの出力方向にポリシー マップが設定されていて、そのポリシー マップ上でシェーピングが有効になっている場合に、ping など本来シェーピング対象でない自発パケットがドロップされる場合があります。

    

  

条件

シェーピング対象のクラスがポリシー マップの一番上に位置していて、該当クラスのトラフィック量がシェーピングレートを超過した場合。

  

  

参考構成

Topology.png

 

設定例

Cat3650-A

interface GigabitEthernet1/0/1
 switchport access vlan 2
 switchport mode access
 service-policy output SHAPE

class-map match-all QOS-GRP
 match qos-group 0

policy-map SHAPE
 class QOS-GRP
  shape average 15000

 

 

原因

ポリシー マップの一番上に位置するクラスに該当するパケットと自発パケットの両方が実装上最初のキュー(0)で処理されるため、一番上のクラスに対してシェーピングが有効になっている場合、同じキューで処理される自発パケットもシェーピングの影響を受けることになります。

 

 

確認コマンド

Cat3650-A#show policy-map interface gi1/0/1
 GigabitEthernet1/0/1

  Service-policy output: SHAPE

    Class-map: QOS-GRP (match-all)
      0 packets
      Match: qos-group 0
      Queueing

      (total drops) 42952 <<< ドロップされたパケットの総数
      (bytes output) 100898
      shape (average) cir 15000, bc 60, be 60 <<< シェーピングレート
      target shape rate 15000

    Class-map: class-default (match-any)
      0 packets
      Match: any


      (total drops) 0
      (bytes output) 118000
Cat3650-A#
Cat3650-A#show platform hardware fed switch 1 qos queue stats interface gi1/0/1
DATA Port:25 Enqueue Counters
-----------------------------------------------------------------
Queue Buffers Enqueue-TH0  Enqueue-TH1  Enqueue-TH2  Qpolicer
      (Count) (Bytes)      (Bytes)      (Bytes)      (Bytes)
----- ------- ------------ ------------ ------------ ------------
    0       0            0            0       101026            0
    1       0            0            0       118000            0
    2       0            0            0            0            0
    3       0            0            0            0            0
    4       0            0            0            0            0
    5       0            0            0            0            0
    6       0            0            0            0            0
    7       0            0            0            0            0
DATA Port:25 Drop Counters
-----------------------------------------------------------------------------------
Queue Drop-TH0     Drop-TH1     Drop-TH2     SBufDrop     QebDrop      QpolicerDrop
      (Bytes)      (Bytes)      (Bytes)      (Bytes)      (Bytes)      (Bytes)
----- ------------ ------------ ------------ ------------ ------------ ------------
    0            0            0        42952            0            0            0
    1            0            0            0            0            0            0
    2            0            0            0            0            0            0
    3            0            0            0            0            0            0
    4            0            0            0            0            0            0
    5            0            0            0            0            0            0
    6            0            0            0            0            0            0
    7            0            0            0            0            0            0
Cat3650-A#

 

 

対処法

自発パケット用にダミーのクラス マップを作成し、ポリシー マップの一番上に位置するように設定します。結果、自発とそれ以外のパケットで処理キューが分けられ、自発パケットは他のクラスに対する処理の影響を受けなくなります。

設定例
Cat3650-A#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat3650-A(config)#class-map SELF(ダミーのクラスマップを作成)
Cat3650-A(config-cmap)#match qos-group 31(他のクラス マップで使用されていない任意の qos-group 番号)
Cat3650-A(config-cmap)#exit
Cat3650-A(config)#policy-map SHAPE
Cat3650-A(config-pmap)#no class QOS-GRP(既存のクラスをポリシー マップから一時的に削除)
Cat3650-A(config-pmap)#class SELF(ダミーのクラスをポリシー マップに追加)
Cat3650-A(config-pmap-c)#shape average 100000000000(自発パケットに影響のない任意のアクション)
Cat3650-A(config-pmap-c)#class QOS-GRP(既存のクラスをポリシー マップに再設定)
Cat3650-A(config-pmap-c)#shape average 15000
Cat3650-A(config-pmap-c)#
Cat3650-A(config-pmap-c)#do show running-config policy-map SHAPE
Building configuration...

Current configuration : 111 bytes
!
policy-map SHAPE
 class SELF(キュー 0 で処理)
  shape average 100000000000
 class QOS-GRP(キュー 1 で処理)
  shape average 15000
!
end

補足
デフォルト クラス(class class-default)のパケットは他のクラスで未使用のキュー(上記設定ではキュー 2)で処理されます。

 

 

参考情報

Cisco IOS XE Fuji 16.9.x(Catalyst 3650 スイッチ)コマンドリファレンス