Catalyst StormControlの設定

スポンサーリンク

ネットワーク構築案件において最もよく相談を受けるのがループ対策をしておきたい、という内容です。一般的にLayer2におけるループ対策で挙げられるのは SpanningTreeがあげられます。

ただ、これらの対策を講じておいても導入したCatalystの特定ポート配下でループが生じればSTPを有効にしておこうがストームが発生してしまい、L3スイッチが一台だけの環境だと全体に影響がでてしまいネットワーク麻痺状態となってしまう場合がよくあります。


そこで実案件でオススメしているのがStormControl機能です。これは特定の種類のパケット(フレーム)が一定の閾値を超えた場合にトラップ送信や該当ポートをerrdisableにする機能です。


以下、設定例です。

(config)# interface GigabitEthernet0/1
(config-if)# storm-control broadcast level 5.00
(config-if)# storm-control action shutdown
(config-if)# storm-control action trap


上記ではブロードキャストパケットの入力トラフィックが帯域の5%を超えた段階でこのポートを強制的にシャットダウンにし、なおかつトラップも送信するという設定です。1G の5%なので50Mbpsですね。帯域以外の他にはbpsやppsの具体的な値なども指定することが可能ですが、私の場合はいつもパーセンテージで指定しています。普通に考えてブロードキャストが50Mbpsを超えるというのは特殊な要件でもない限り、ループ以外に理由が思いつかないのでこれが発動した際にはループが起きたと考えて問題ないと思います。( 理論的にはループに限った話ではないのですが )

また、トラフィックの対象は一般的には broadcastを指定することが多いと思いますが、multicastやunicastを指定することも可能です。ただ、余程特殊な要件でもない限り使うことはないかと。

StormControlが有効になっているかどうかは下記コマンドで確認可能です。

# show errdisable detect
ErrDisable Reason      Detection        Mode
-----------------      ---------        ----
arp-inspection          Enabled          port
bpduguard               Enabled          port
channel-misconfig       Enabled          port
community-limit         Unsupported
dhcp-rate-limit         Enabled          port
dtp-flap                Enabled          port
ekey                    Unsupported
gbic-invalid            Unsupported
iif-reg-failure         Enabled          port/vlan
inline-power            Enabled          port
invalid-policy          Unsupported
l2ptguard               Enabled          port
link-flap               Enabled          port
link-monitor-failure    Enabled          port
lsgroup                 Enabled          port
oam-remote-failure      Enabled          port
mac-limit               Unsupported
pagp-flap               Enabled          port
port-mode-failure       Unsupported
pppoe-ia-rate-limit     Enabled          port
psecure-violation       Enabled          port/vlan
security-violation      Enabled          port
sfp-config-mismatch     Unsupported
storm-control           Enabled          port
udld                    Enabled          port
unicast-flood           Unsupported
vmps                    Enabled          port


実際にこれが発動された場合、該当ポートはerrdisable状態になり使用不能になります。その際のログには以下のようなものが出力されます。

%SW_MATM-4-MACFLAP_NOTIF: Host 1234.5678.90ab in vlan X is flapping between port Gi0/1 and port Gi0/2
%PM-4-ERR_DISABLE: storm-control error detected on Gi0/1, putting Gi0/1 in err-disable state
%STORM_CONTROL-3-SHUTDOWN: A packet storm was detected on Gi0/1. The interface has been disabled.

どれとどれのポートの間でループが起きたのか、ループしているMACアドレスは何かが表示されます。( 上記ではGi0/1とGi0/2の間でループが発生 ) これらを手がかりにループ状態を解除した後に以下のコマンドで該当ポートを復旧します。

(config)# interface GigabitEthernet0/1
(config-if)# shutdown
(config-if)# no shutdown


但し、ループ状態が解除されていないと再びStormControlが発動してerrdisableになります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする