ストームコントロールとは

ストームコントロールとは、スイッチのポート上での過度なトラフィックの転送を防ぐための機能です。DoS攻撃やスパニングツリーの障害などによるブロードキャストストームの防止に効果的です。

ストームコントロールによるトラフィック制御は、ユニキャスト、ブロードキャスト、マルチキャストで識別します。ユニキャスト、ブロードキャスト、マルチキャストに対してあらかじめしきい値を設定します。パケットをカウントして、設定しているしきい値を超過すると、トラフィックの転送をブロックします。しきい値の指定は以下のいずれかで行います。

  • 利用可能な帯域幅の割合(%)
  • bps(bit per second)
  • pps(packet per second)

下限のしきい値の設定も可能です。いったんしきい値を超過してトラフィックの転送がブロックされると、下限のしきい値を下回るまでブロックされるようになります。

ストームコントロールの動作として、トラフィックの転送をブロックすることに加えて、しきい値を超えたときにインタフェースをerr-disable状態にすることも可能です。SNMP trapを生成するように設定することもできます。

ストームコントロールの設定

ストームコントロールの設定はインタフェースコンフィグレーションモードで次のコマンドを入力します。対象のインタフェースは、レイヤ2のスイッチポートです。

ストームコントロールのしきい値の設定

(config)#interface <interface-name>
(config-if)# storm-control { broadcast | multicast | unicast } level { <level> [ <level-low> ] | bps <bps> [ <bps-low> ] | pps <pps> [ <pps-low> ]}

<interface-name> : インタフェース名
<level> : ストームコントロールで制御するトラフィックのパーセンテージのしきい値
<level-low> : トラフィックの転送を再開するパーセンテージのしきい値
<bps> : ストームコントロールで制御するトラフィックのbpsのしきい値
<bps-low> : トラフィックの転送を再開するbpsのしきい値
<pps> : ストームコントロールで制御するトラフィックのppsのしきい値
<pps-low> : トラフィックの転送を再開するppsのしきい値

bpsやppsでの指定は、「k」「m」「g」の単位をつけることができます。「k」は1000倍、「m」は100万倍、「g」は10億倍です。

ストームコントロールの動作を設定するためには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

ストームコントロールの動作の設定

(config)#interface <interface-name>
(config-if)#storm-control action {shutdown| trap}

<interface-name> : インタフェース名

shutdownでしきい値を超えるとインタフェースをerr-disable状態にします。trapを指定するとSNMP trapを生成します。

ストームコントロールの設定を確認するには、show storm-controlコマンドを利用します。

ストームコントロールの設定例

Gi1/0/1でブロードキャストトラフィックを利用可能な帯域幅の10%までに制限し、5%を下回ったら転送を再開するには次のように設定します。

interface GigabitEthernet1/0/1
 storm-control broadcast level 10 5

show storm-controlコマンドで確認すると、次のような表示になります。

Switch#show storm-control
Interface    Filter State   Upper       Lower      Current
---------    -------------  ----------  ---------  ---------
Gi1/0/1      Forwarding     10.00%      5.00%      1.00%

レイヤ2スイッチの仕組み