ストームコントロールとは
ストームコントロールとは、ネットワーク上でのブロードキャストやマルチキャスト、不正なフラッディングトラフィックなどの増加を防ぐための機能です。ストームコントロールはこのようなトラフィックの急増を監視して、閾値を超えた場合にはトラフィックを制限するかドロップすることでネットワークを保護します。
トポロジ
ストームコントロール構成
※Cisco CMLではstorm-controlはサポートされていないのか入力できなかったのでConfigの確認だけしています。
ストームコントロールとしきい値レベルの構成
ストームコントロールはIFで設定してまず対象の通信(ブロードキャストかマルチキャストかユニキャストか)に対して上限と下限閾値を設定します。
その次に閾値を超えたときのアクションをshutdownさせるかSNMPトラップを送信するか選択します。
SW1(config)#interface GigabitEthernet 0/2
SW1(config-if)#storm-control broadcast/multicast/unicast level 80 60
SW1(config-if)#storm-control action shutdown/trap
スモールフレーム到着率
67 バイト未満の受信 VLAN タグ付きパケットは、小さいフレームとみなされます。これらはスイッチによって転送されますが、スイッチのストーム制御カウンタが増加することはありません。この小さなフレームが指定されたレート(しきい値)で到着した場合にポートをエラー ディセーブルになるように設定できます。
スイッチのスモールフレームレート到着機能を有効にします。
SW1(config)#errdisable detect cause small-frame
指定した errdisable 状態から回復する時間を指定します。
SW1(config)#errdisable recovery interval 60
エラー ディセーブルのポートが小さなフレームの到着によってエラー ディセーブルになった後に自動的に再度イネーブルになるように、ポートの回復時間を設定します。
SW1(config)#errdisable recovery cause small-frame
インターフェイスのしきい値レートを設定して、受信パケットをドロップし、ポートをエラー ディセーブルにします。範囲は 1 ~ 10,000 パケット/秒 (pps) です。
SW1(config)#interface GigabitEthernet 0/2
SW1(config-if)#small-frame violation rate 10000
保護されたポートの構成
保護ポートを構成すると、保護ポート同士では通信(ユニキャスト、マルチキャスト、ブロードキャスト)を転送せず、保護ポートと保護されていないポートの通信は通常通り通信を転送する動作になります。一部のネットワークの要件で同じスイッチ上でトラフィックを転送したくない場合に保護ポートを構成します。
switchport protectedコマンドを使用して保護ポートを構成します。
SW1(config)#interface GigabitEthernet 0/2
SW1(config-if)#switchport protected
ポートブロッキング
スイッチは宛先 MAC アドレスが不明なパケットをすべてのポートからフラッディングします。このようなパケットが保護されたポートに転送される場合、セキュリティ上の問題が発生する可能性があります。ポートブロッキングを使用することで、ポートが不明なパケットをほかのポートにフラッディングするのを防ぐことが出来ます。
以下のコマンドで不明なユニキャスト通信と不明なブロードキャスト通信をブロックします。
SW1(config)#interface GigabitEthernet 0/2
SW1(config-if)#switchport block multicast
SW1(config-if)#switchport block unicast
プロトコルストームプロテクションの構成
プロコトルのパケット数の閾値の設定をすることが出来ます。サポートされているプロトコルはARP,DHCP,IGMPです。
定義した閾値を超えるとスイッチはトラフィックを30秒間ドロップします。また、エラーディセーブルにすることもできます。
CMLでは設定ができなかったのですが、CiscoConfigurationGuideには記載されていたので設定内容を確認します。
ARP,IGMP,DHCPのプロトコルストーム保護を構成します。
ppsコマンドの後に数字を指定することで1秒当たりのパケット数の閾値を設定できます。範囲は5~50パケットです。
SW1(config)#psp arp pps 30
SW1(config)#psp dhcp pps 30
SW1(config)#psp igmp pps 30
プロトコルストーム保護のエラーディセーブル検出を有効にします。この機能が有効な場合、仮想ポートはエラー ディセーブルになります。この機能が無効になっている場合、ポートはエラーによりポートを無効にすることなく、過剰なパケットをドロップします。
SW1(config)#errdisable detect cause psp
エラーディセーブルになった時の自動回復時間を設定します。範囲は30~86400(秒)です。
SW1(config)#errdisable recovery interval 60