はじめに
前回はStorm Controlの動作についてお勉強しました。さて今回はStrom Control
の設定をみていきましょう。もし前回の内容を見ていない場合は、先に前回の
内容を読んでおいた方が効果的です。
基本的な設定のステップを勉強したあとは、設定例を見て、練習問題を解いて
みます。また、最後にちょっと難しめの問題にチャレンジしてもらいます。
Default設定
Storm ControlはDefaultで無効になっています。
Configuring Storm Control and Threshold Level
Storm ControlはInterface Configuration Modeで設定し、物理インタフェー
スのみサポートしています。
EtherChannelインタフェースでも設定できますが、サポートされていないので
設定しても効果はありません。また、Channelメンバーの物理ポートで設定し
ても効果はありません。
以下に設定のステップを示します。
Step1
Switch# conf t
まず、Global Configuration Modeに移ります。
Step2
Switch(config)# interface fa 0/x
Storm Controlを設定するインタフェースを選択します。
Step3
Switch(config-if)# storm-control { broadcast | multicast | unicast } level { level [ level-low] | pps pps [ pps-low ] }
Storm Controlを設定します。各引数は以下のとおりです。
broadcast・・・BroadcastのStorm Controlを有効にします。
multicast・・・MulticastのStorm Controlを有効にします。
unicast・・・UnicastのStorm Controlを有効にします。
level・・・利用可能な帯域幅のうち、パーセンテージで上限を指定します。この値を超えるとブロックされます。値は、0.00から100.00まで指定可能です。0.00は全てブロックを意味し、100.00は全てブロックしないを意味します。
level-low・・・パーセンテージで下限を指定します。 この設定はオプションです。ここで指定した下限を下回るとブロックされていたパケットの送受信が再開されます。この値を設定しない場合、実質的には上限と同じ値と いうことになります。
pps・・・受信可能なppsを設定します。指定可能な値は、0.0から10000000000.0です。
Step4(Optional)
Swtich(config-if)# storm-control action { shutdown | trap }
Stormを検出した際のアクションを定義します。Defaultでは、パケットをブロ ックするのみですが、以下の2つのアクションをとることも可能です。
shutdown・・・Stormを検出した場合、そのインタフェースをerr-disableにすることができます。
trap・・・Stormを検出した場合、SNMP Trapを送信します。
Step5
以上で設定は終了です。
Configuration Example
コマンドの構文を見てもピンとこないでしょうから、設定例を示します。
Switch(config)# int fa 0/10
Switch(config-if)# storm-control broadcast level 8.5
このコマンドはfa0/10に流れてくるBroadcastを約8.5%に制限します。 fa 0/10 が100Mbpsの帯域に設定されているとすると、約8.5Mbpsとなりますが、実際に はこの数字はもっと前後すると思います。
次にPPSを指定した例を示します。
Switch(config)# int fa 0/10
Switch(config-if)# storm-control unicast level pps 80k
PPSの場合、そのインタフェースの帯域に関係なく、1秒あたりに受信するパケ ット数で判断します。ここで「k」という文字がついていますが、キロ(1000倍) を表しています。同様に「m」や「g」も使えます。
Basic Configuring Exercise
では、練習問題を解いてみましょう。
問1)SwitchのFa0/1で受信されたBroadcastが、そのインタフェースで利用可 能な帯域の30%を超えたらブロックするようにしてください。また、Broadcast が15%を下回ったら再度受信可能な状態にしてください。
問2)SwitchのFa0/1で受信されたUnicastが、10,000,000パケットを超えたら
ブロックし、5,000,000を下回ったら受信できるようにしてください。また、
SNMP TrapでStormを検出したことを通知できるようにしてください。
SNMP関連の設定は別途設定されているものとします。
設定できましたか?では問1の解答です。
Switch(config)# int fa 0/1
Switch(config-if)# storm-control broadcast level 30 15
設定は難しくありません。Levelキーワードの後は、最初が上限、次が下限の 値になります。
次に問2の解答です。
Switch(config)# int fa 0/1
Switch(config-if)# storm-control unicast level pps 10m 5m
Switch(config-if)# storm-control action trap
パケット数で判断するにはppsオプションを使用します。「m」はメガを表して います。SNMP Trapを投げるようにするにはstorm-control actionコマンドを 使用します。
Advanced Configuring Exercise
最後に、ちょっと難しめの問題を解いてみましょう。 構成はR1とR2がSWをはさんで接続されています。
R1 [fa0/0]-------[fa0/1] SW [fa0/2]-------[fa0/0] R2
各機器のアドレス情報は以下のようになっています。
R1 IP:192.168.1.1/24 MAC:1111.1111.1111
R2 IP:192.168.1.2/24 MAC:2222.2222.2222
ここから問題です。
SWでR1からのBroadcastを全てブロックしてください。ただし、R1からR2へのPing
には影響を及ぼさないようにしてください。
解けましたでしょうか。
実機を持っている方は実際にやってみることをオススメします。
それでは、解答です。
まず、SWの設定は以下のようになります。
SW(config)# int fa 0/1
SW(config-if)# storm-control broadcast level 0
この設定にピンと来なかった方は、ConfigurationのStep3に戻ってください。 Levelを0と指定すると、全てブロックという意味になると説明しました。
これで終わり!と思った方は残念ながら不正解となります。この問題のHidden Issueは、R1からR2へのPingには影響を及ぼさないようにする、というところ です。
Broadcastの抑制とPingという一見何の関連性も無いように見えますが、R1が R2にPingするとき、R1はまず何をするでしょうか。
そうです。192.168.1.2のMACアドレスを解決しようとしますね。ARPキャッシ ュに192.168.1.2に対応するMACアドレスが記憶されていない場合は、R1はまず ARP Requestを送信します。
このARP Requestは、Broadcastで送信されます。よって、SWのfa0/1でBroadcast を全てブロックしているとR1からR2へのPingに影響が出る場合が考えられます。
では、何を設定すればよいかというと、R1にStatic ARPの設定を追加します。 コンフィグは次のようになります。
R1(config)# arp 192.168.1.2 2222.2222.2222 arpa
この設定を追加するとR1からARPを出す必要がなくなるため、Ping が問題なく できるようになります。
SWとR1の設定ができてはじめて正解となります。
Further Reading
Storm Control関連のDocumentへのLinkです。
-Catalyst 3550 Software Configuration Guide
http://www.cisco.com/univercd/cc/td/doc/product/lan/c3550/12225see/scg/swtrafc.htm
さて、次回はProtected Portsのお話です。
次回のコンテンツは、
-はじめに
-Protected Portsとは
です。
これだけ見ると内容が少なそうに見えますが、そんなことはありません。次回
も内容が濃いですのでお楽しみ。
By 『Overseas and Beyond』 Koichi
http://overseasandbeyond.blogspot.com/







