UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Cisco - 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になります。




 関連記事
 VLAN操作
 PrivateVLANの設定
 EtherChannelの設定
 StormControlの設定
 DHCP Snoopingの設定
 Catalyst QoSの設定
 SpanningTreeProtocolの 設定
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.