ブロードキャスト抑制の設定
この章では、Catalyst 6500シリーズ スイッチ上でブロードキャスト抑制を設定する方法について説明します。
(注) この章で使用しているコマンドの完全な構文および使用方法の詳細については、『Catalyst 6500 Series Switch Command Reference』を参照してください。
この章で説明する内容は、次のとおりです。
• 「ブロードキャスト抑制の機能」
• 「スイッチ上でのブロードキャスト抑制の設定」
ブロードキャスト抑制の機能
ブロードキャスト抑制により、1つのポート上でのブロードキャスト ストームによるLAN上のスイッチド ポートの混乱を防ぐことができます。LANブロードキャスト ストームは、LAN上でブロードキャストまたはマルチキャスト パケットのフラッディングが生じ、トラフィック過剰となって、ネットワークのパフォーマンスが低下した場合に発生します。また、プロトコル スタックまたはネットワーク設定のエラーも、ブロードキャスト ストームの原因になります。
ブロードキャスト抑制ではフィルタリングを使用して、LAN上のブロードキャスト アクティビティを1秒間測定し、あらかじめ設定されたスレッシュホールドと測定値を比較します。スレッシュホールドに達している場合、次ののブロードキャスト アクティビティからを指定された時間だけ抑制します。ブロードキャスト抑制は、ディセーブルがデフォルトの設定です。
図33-1図33-1に、一定時間におけるポート上のブロードキャスト トラフィック パターンを示します。この例では、T1~T2間およびT4~T5間において、ブロードキャスト抑制が機能しています。これらの間では、ブロードキャスト トラフィック量が、設定されたスレッシュホールドを超えているためです。
図33-1 ブロードキャスト抑制
ブロードキャスト抑制スレッシュホールド値と時間の長さによって、さまざまなレベルの粒度でブロードキャスト抑制アルゴリズムが機能します。スレッシュホールドを上げるほど、多くのブロードキャスト パケットが通過します。
Catalyst 6500シリーズ スイッチのブロードキャスト抑制は、ハードウェアで実行されます。スイッチの抑制回路がポートからスイッチング バスへ流れるパケットをモニタします。パケット宛先アドレスにある個別の、またはグループのビットにより、ブロードキャスト抑制回路はパケットのユニキャストまたはブロードキャストを判断します。1秒単位でそのときのブロードキャスト カウントを追跡し、スレッシュホールドに達した場合は、以後のブロードキャスト パケットを排除します。
ハードウェアによるブロードキャスト抑制では帯域幅ベースの方式でブロードキャスト アクティビティを測定するため、実装で最も重要な要素は、ブロードキャスト トラフィックが使用できる全帯域幅の割合です。スレッシュホールド値を100%にすると、ブロードキャスト トラフィックに関する制限はなくなります。 set port broadcast コマンドを使用すると、ブロードキャスト抑制スレッシュホールド値を設定できます。
パケットは均一なインターバルで着信するわけではないので、ブロードキャスト アクティビティが測定される1秒間のインターバルがブロードキャストの抑制動作に影響を与える可能性があります。
ギガビット イーサネット ポートでは、ブロードキャスト抑制を使用してマルチキャストおよびユニキャスト トラフィックにフィルタをかけることができます。ポートでマルチキャストまたはユニキャスト トラフィックを個別に抑制できます。いずれの場合も、ブロードキャスト抑制を設定する必要があります。マルチキャストまたはユニキャスト トラフィックに使用する全帯域幅の割合を指定すると、同じ制限がブロードキャスト トラフィックにも適用されます。
(注) マルチキャスト抑制では、Bridge Protocol Data Unit(BPDU;ブリッジ プロトコル データ ユニット)パケットは廃棄されません。
(注) ブロードキャスト、マルチキャスト、またはユニキャストの抑制が行われた場合に、ポートがerrdisableステートになるように設定できます。詳細については、「errdisableステートのイネーブル化」を参照してください。
スイッチ上でのブロードキャスト抑制の設定
ここでは、Catalyst 6500シリーズ スイッチ上でブロードキャスト抑制を設定する手順について説明します。
• 「ブロードキャスト抑制のイネーブル化」
• 「ブロードキャスト抑制のディセーブル化」
• 「errdisableステートのイネーブル化」
ブロードキャスト抑制のイネーブル化
1つまたは複数のポートでブロードキャスト抑制をイネーブルにするには、イネーブル モードで次の作業を行います。
|
|
|
ステップ 1 |
1つまたは複数のポートのブロードキャスト抑制スレッシュホールドを、全帯域幅の割合を指定してイネーブルにします。 |
set port broadcast mod/port threshold % [ violation { drop-packets | errdisable }] [ multicast { enable | disable }] [ unicast { enable | disable }] |
ステップ 2 |
ブロードキャスト抑制の設定を確認します。 |
show port broadcast [ mod [ / port ]] |
(注) ブロードキャスト抑制のスレッシュホールドは、0.01%まで指定できますが、すべてのモジュールがその細かさで調整されるわけではありません。スレッシュホールドは通常、0.01~0.05%程度の変動があります。スレッシュホールド値を細かく指定すると、スレッシュホールドの割合は可能なかぎり細密に調整されます。
次に、帯域幅ベースのブロードキャスト抑制をイネーブルにし、設定を確認する例を示します。
Console> (enable) set port broadcast 3/1-6 75.25%
Ports 3/1-6 broadcast traffic limited to 75.25%.
On broadcast suppression ports 3/1-6 are configured to drop-packets.
Console> (enable) show port broadcast 3
Port Broadcast-Limit Multicast Unicast Total-Drop Action
-------- --------------- --------- ------- -------------------- ------------
3/1 75.25 % - - 0 drop-packets
3/2 75.25 % - - 0 drop-packets
3/3 75.25 % - - 2 drop-packets
3/4 75.25 % - - 0 drop-packets
3/5 75.25 % - - 0 drop-packets
3/6 75.25 % - - 0 drop-packets
次に、モジュール2のポート1に対してマルチキャストおよびブロードキャスト トラフィックを80%に制限し、その設定を確認する例を示します。
Console> (enable) set port broadcast 2/1 80% multicast enable
Port 2/1 broadcast and multicast traffic limited to 80.00%.
On broadcast suppression port 2/1 is configured to drop-packets.
Console> (enable) show port broadcast 2/1
Port Broadcast-Limit Multicast Unicast Total-Drop Action
-------- --------------- --------- ------- -------------------- ------------
2/1 80.00 % 80.00 % - 0 drop-packets
ブロードキャスト抑制のディセーブル化
1つまたは複数のポート上でブロードキャスト抑制をディセーブルにするには、イネーブル モードで次の作業を行います。
|
|
1つまたは複数のポート上で、ブロードキャスト抑制をディセーブルにします。 |
clear port broadcast mod/port |
次に、1つまたは複数のポート上でブロードキャスト抑制をディセーブルにする例を示します。
Console> (enable) clear port broadcast 2/1
Port 2/1 traffic unlimited.
errdisableステートのイネーブル化
(注) ポートがNVRAM(不揮発性RAM)ではイネーブルに設定されていても、実行時に何らかのプロセスによってディセーブルにされた場合、そのポートはerrdisableステートになります。たとえば、UniDirectional Link Detection(UDLD;単一方向リンク検出)が単一方向リンクを検出すると、ポートは実行時にシャットダウンされます。ただし、そのポートのNVRAM設定はイネーブルに設定されている(ユーザがポートをディセーブルにしていない)ので、ポートのステータスはerrdisableとして表示されます。
ブロードキャスト、マルチキャスト、またはユニキャストの抑制が行われた場合に、ポートにパケットを廃棄させるか、またはポートをerrdisableステートにするのかを設定できます。errdisableステート機能は、ポート単位でイネーブルまたはディセーブルに設定できます。デフォルトではこの機能はディセーブルになります(デフォルトでは drop-packets オプションがイネーブルになります)。
(注) ブロードキャスト、マルチキャスト、またはユニキャストの抑制が行われて、ポートにerrdisable機能が設定されている場合、そのポートがパケットの廃棄を停止し、errdisableステートになるまでに遅延時間が生じます。この遅延時間はスイッチによって異なる可能性があり、正確な遅延時間を判断することはできません。
1つのポート上でerrdisableステート機能をイネーブルにするには、イネーブル モードで次の作業を行います。
|
|
|
ステップ 1 |
errdisableステートをイネーブルにします。 |
set port broadcast mod/port threshold % [ violation { drop-packets | errdisable }] [ multicast { enable | disable }] [ unicast { enable | disable }] |
ステップ 2 |
errdisableステートがイネーブルに設定されたことを確認します。 |
show port broadcast [ mod [ / port ]] |
次に、ブロードキャスト トラフィックを90%に制限し、ブロードキャスト抑制発生時にポートをerrdisableステートにする設定例を示します。
Console> (enable) set port broadcast 4/6 90% violation errdisable
Port 4/6 broadcast traffic limited to 90.00%.
On broadcast suppression port 4/6 is configured to move to errdisabled state.
(注) ブロードキャスト抑制に対するerrdisableタイムアウト機能をイネーブルにするには、
set errdisable-timeout enable bcast-suppressionコマンドを入力します。
この機能によって、ポートがerrdisableステートになったあと、指定のタイムアウト時間が経過するとポートがイネーブルに戻るように設定できます。タイムアウト時間を指定するには、set errdisable-timeout intervalコマンドを入力します。
errdisableステートになったポートを一定時間経過後にイネーブルにするか、そのままerrdisableステートにしておくかをポート単位で設定するには、set port errdisable-timeoutコマンドを入力します。
詳細については、「ポートのerrdisableステートにおけるタイムアウト設定」を参照してください。