ブロードキャスト抑制の設定
この章では、Catalyst 6500シリーズ スイッチ上でブロードキャスト抑制を設定する手順について説明します。
(注) この章で使用しているコマンドの構文および使用方法の詳細については、『Catalyst 6500 Series Switch Command Reference』を参照してください。
この章で説明する内容は、次のとおりです。
•
「ブロードキャスト抑制の機能」
•
「スイッチにおけるブロードキャスト抑制の設定」
ブロードキャスト抑制の機能
ブロードキャスト抑制により、1つのポートでのブロードキャスト ストームによるLAN上のスイッチド ポートの混乱を防ぐことができます。LANブロードキャスト ストームは、LAN上でブロードキャストまたはマルチキャスト パケットのフラッディングが生じ、トラフィック過剰となって、ネットワークのパフォーマンスが低下した場合に発生します。また、プロトコル スタックまたはネットワーク設定のエラーも、ブロードキャスト ストームの原因になります。
ブロードキャスト抑制ではフィルタリングを使用して、LAN上のブロードキャスト アクティビティを1秒間測定し、あらかじめ設定されたスレッシュホールドと測定値を比較します。スレッシュホールドに達している場合、以後のブロードキャスト アクティビティを指定された間だけ抑制します。ブロードキャスト抑制は、ディセーブルがデフォルトの設定です。
図 32-1図 32-1に、一定時間におけるポート上のブロードキャスト トラフィック パターンを示します。この例では、T1~T2間およびT4~T5間において、ブロードキャスト抑制が機能しています。これらの間では、ブロードキャスト トラフィック量が、設定されたスレッシュホールドを超えているためです。
図 32-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ステートにおけるタイムアウト設定」を参照してください。