ポート ベースのトラフィック制御に関する情報
ストーム制御
ストーム制御は、物理インターフェイスの 1 つで発生したブロードキャスト、マルチキャスト、またはユニキャスト ストームによって LAN 上のトラフィックが混乱することを防ぎます。LAN ストームは、LAN にパケットがフラッディングした場合に発生します。その結果、トラフィックが極端に増えてネットワーク パフォーマンスが低下します。プロトコルスタックの実装エラー、ネットワーク構成の間違い、またはユーザによって引き起こされる DoS 攻撃もストームの原因になります。
ストーム制御(またはトラフィック抑制)は、インターフェイスからスイッチング バスを通過するパケットをモニタし、パケットがユニキャスト、マルチキャスト、またはブロードキャストのいずれであるかを判別します。スイッチは、1 秒間に受け取った特定のタイプのパケットの数をカウントして、事前に定義された抑制レベルのしきい値とその測定結果を比較します。
ストーム制御は、次のうちのいずれかをトラフィック アクティビティの測定方法に使用します。
• 帯域幅(ブロードキャスト、マルチキャスト、またはユニキャスト トラフィックが使用できるポートの総帯域幅の割合)。
• ブロードキャスト、マルチキャスト、またはユニキャスト パケットが受信されるトラフィック レートの秒単位のパケット数。
• ブロードキャスト、マルチキャスト、またはユニキャスト パケットが受信されるトラフィック レートの秒単位のビット数。
• 小さいフレームのトラフィック レートの秒単位のパケット数。この機能は、グローバルにイネーブルです。小さいフレームのしきい値は、各インターフェイスで設定されます。
上記の方法のいずれを使用しても、しきい値に到達すると、ポートはトラフィックをブロックします。トラフィック レートが下限しきい値(指定されている場合)を下回らない限り、ポートはブロックされたままになり、その後、通常の転送が再開されます。下限抑制レベルが指定されていない場合、トラフィック レートが上限抑制レベルを下回らない限り、スイッチはすべてのトラフィックをブロックします。一般に、そのレベルが高ければ高いほど、ブロードキャスト ストームに対する保護効果は薄くなります。
(注) マルチキャスト トラフィックのストーム制御しきい値に達した場合、ブリッジ プロトコル データ ユニット(BPDU)および Cisco Discovery Protocol(CDP)フレームなどの制御トラフィック以外のマルチキャスト トラフィックはすべてブロックされます。ただし、スイッチでは Open Shortest Path First(OSPF)などのルーティング アップデートと、正規のマルチキャスト データ トラフィックは区別されないため、両方のトラフィック タイプがブロックされます。
図 29-1 のグラフは、一定時間におけるインターフェイス上のブロードキャスト トラフィック パターンを示しています。この例は、マルチキャストおよびユニキャスト トラフィックにも当てはまります。この例では、T1 から T2、T4 から T5 のタイム インターバルで、転送するブロードキャスト トラフィックが設定されたしきい値を上回っています。指定のトラフィック量がしきい値を上回ると、次のインターバルで、そのタイプのトラフィックがすべてドロップされます。したがって、T2 と T5 の後のインターバルの間、ブロードキャスト トラフィックがブロックされます。その次のインターバル(たとえば、T3)では、しきい値を上回らない限り、ブロードキャスト トラフィックが再び転送されます。
図 29-1 ブロードキャスト ストーム制御の例
ストーム制御抑制レベルと 1 秒間のインターバルを組み合わせて、ストーム制御アルゴリズムの動作を制御します。しきい値が高いほど、通過できるパケット数が多くなります。しきい値が 100% であれば、トラフィックに対する制限はありません。値を 0.0 にすると、そのポート上ではすべてのブロードキャスト、マルチキャスト、またはユニキャスト トラフィックがブロックされます。
(注) パケットは一定の間隔で届くわけではないので、トラフィック アクティビティを測定する 1 秒間のインターバルがストーム制御の動作を左右する可能性があります。
各トラフィック タイプのしきい値を設定するには、 storm-control インターフェイス コンフィギュレーション コマンドを使用します。
ストーム制御のデフォルト設定
デフォルトでは、ユニキャスト、ブロードキャスト、およびマルチキャスト ストーム制御はスイッチ インターフェイス上でディセーブルになります。したがって、抑制レベルは 100% です。
ストーム制御およびしきい値レベル
ポートにストーム制御を設定し、特定のトラフィック タイプで使用するしきい値レベルを入力します。
ただし、ハードウェアの制約とともに、さまざまなサイズのパケットをどのように数えるかという問題があるので、しきい値の割合はあくまでも近似値です。着信トラフィックを形成するパケットのサイズによって、実際に適用されるしきい値は設定されたレベルに対して、数 % の差異が生じる可能性があります。
(注) ストーム制御は、物理インターフェイスでサポートされています。また、EtherChannel でもストーム制御を設定できます。ストーム制御を EtherChannel で設定する場合、ストーム制御設定は EtherChannel 物理インターフェイスに伝播します。
小さいフレームの着信レート
67 バイト未満の着信 VLAN タグ付きパケットは、小さいフレームと見なされます。このパケットはスイッチにより転送されますが、スイッチ ストーム制御カウンタを増加させません。Cisco IOS Release 12.2(44)SE 以降では、小さいフレームが指定されたレート(しきい値)で到着した場合は、ポートがディセーブルになるように設定できます。
スイッチ上の小さいフレームの着信機能をグローバルにイネーブルにして、各インターフェイスのパケットの小さいフレームのしきい値を設定します。最小サイズよりも小さく、指定されたレート(しきい値)で着信するパケットは、ポートがディセーブルにされた後はドロップされます。
errdisable recovery cause small-frame グローバル コンフィギュレーション コマンドを入力すると、指定された時間後にポートが再びイネーブルになります。(errdisable recovery グローバル コンフィギュレーション コマンドを使用して、リカバリ時間を指定します)。
保護ポート
アプリケーションによっては、あるネイバーが生成したトラフィックが別のネイバーにわからないように、同一スイッチ上のポート間でレイヤ 2 トラフィックが転送されないように設定する必要があります。このような環境では、保護ポートを使用すると、スイッチ上のポート間でユニキャスト、ブロードキャスト、またはマルチキャスト トラフィックの交換が確実になくなります。
保護ポートには、次の機能があります。
• 保護ポートは、同様に保護ポートになっている他のポートに対して、ユニキャスト、マルチキャスト、またはブロードキャスト トラフィックを転送しません。データ トラフィックはレイヤ 2 の保護ポート間で転送されません。PIM パケットなどは CPU で処理されてソフトウェアで転送されるため、このような制御トラフィックだけが転送されます。保護ポート間を通過するすべてのデータ トラフィックは、レイヤ 3 デバイスを介して転送されなければなりません。
• 保護ポートと非保護ポート間の転送動作は、通常どおりに進みます。
保護ポート設定時の注意事項
保護ポートは、物理インターフェイス(GigabitEthernet ポート 1 など)または EtherChannel グループ(port-channel 5 など)に設定できます。ポート チャネルで保護ポートをイネーブルにした場合は、そのポート チャネル グループ内のすべてのポートでイネーブルになります。
プライベート VLAN ポートを保護ポートとして設定しないでください。保護ポートをプライベート VLAN ポートとして設定しないでください。プライベート VLAN の独立ポートは、他の独立ポートやコミュニティ ポートにトラフィックを転送しません。VLAN の詳細については、「VLAN の設定」を参照してください。
ポート ブロッキング
デフォルトでは、スイッチは未知の宛先 MAC アドレスが指定されたパケットをすべてのポートからフラッディングします。未知のユニキャストおよびマルチキャスト トラフィックが保護ポートに転送されると、セキュリティ上、問題になる可能性があります。未知のユニキャストおよびマルチキャスト トラフィックがあるポートから別のポートに転送されないようにするために、(保護または非保護)ポートをブロックし、未知のユニキャストまたはマルチキャスト パケットが他のポートにフラッディングされないようにします。
(注) マルチキャスト トラフィックでは、ポート ブロッキング機能は純粋なレイヤ 2 パケットだけをブロックします。ヘッダーに IPv4 または IPv6 の情報を含むマルチキャスト パケットはブロックされません。
ポート セキュリティ
ポート セキュリティ機能を使用すると、ポートへのアクセスを許可するステーションの MAC アドレスを制限および識別して、インターフェイスへの入力を制限できます。セキュア ポートにセキュア MAC アドレスを割り当てると、ポートは定義されたアドレス グループ以外の送信元アドレスを持つパケットを転送しません。セキュア MAC アドレス数を 1 つに制限し、単一のセキュア MAC アドレスを割り当てると、そのポートに接続されたワークステーションに、ポートの帯域幅全体が保証されます。
セキュア ポートとして設定されたポートのセキュア MAC アドレスが最大数に達した場合に、ポートにアクセスしようとするステーションの MAC アドレスが、識別されたどのセキュア MAC アドレスとも異なるときは、セキュリティ違反が発生します。また、あるセキュア ポート上でセキュア MAC アドレスが設定または学習されているステーションが、別のセキュア ポートにアクセスしようとしたときにも、違反のフラグが立てられます。
セキュア MAC アドレス
ポートで許可されるセキュア アドレスの最大数を設定するには、 switchport port-security maximum value インターフェイス コンフィギュレーション コマンドを使用します。
(注) 最大値をインターフェイス上ですでに設定されているセキュア アドレスの数より小さい値に設定しようとすると、コマンドが拒否されます。
スイッチは、次のセキュア MAC アドレス タイプをサポートします。
• スタティック セキュア MAC アドレス: switchport port-security mac-address mac-address インターフェイス コンフィギュレーション コマンドを使用して手動で設定され、アドレス テーブルに保存されたのち、スイッチの実行コンフィギュレーションに追加されます。
• ダイナミック セキュア MAC アドレス:動的に設定されてアドレス テーブルにのみ保存され、スイッチの再起動時に削除されます。
• スティッキー セキュア MAC アドレス:動的に学習することも、手動で設定することもできます。アドレス テーブルに保存され、実行コンフィギュレーションに追加されます。このアドレスがコンフィギュレーション ファイルに保存されていると、スイッチの再起動時にインターフェイスはこれらを動的に再設定する必要がありません。
スティッキー ラーニング をイネーブルにすると、ダイナミック MAC アドレスをスティッキー セキュア MAC アドレスに変換して実行コンフィギュレーションに追加するようにインターフェイスを設定できます。スティッキー ラーニングをイネーブルにするには、 switchport port-security mac-address sticky インターフェイス コンフィギュレーション コマンドを入力します。このコマンドを入力すると、インターフェイスはスティッキー ラーニングがイネーブルになる前に学習したものを含め、すべてのダイナミック セキュア MAC アドレスをスティッキー セキュア MAC アドレスに変換します。すべてのスティッキー セキュア MAC アドレスは実行コンフィギュレーションに追加されます。
スティッキー セキュア MAC アドレスは、コンフィギュレーション ファイル(スイッチが再起動されるたびに使用されるスタートアップ コンフィギュレーション)に、自動的には反映されません。スティッキー セキュア MAC アドレスをコンフィギュレーション ファイルに保存すると、スイッチの再起動時にインターフェイスはこれらを再び学習する必要がありません。スティッキ セキュア アドレスを保存しない場合、アドレスは失われます。
スティッキ ラーニングがディセーブルの場合、スティッキ セキュア MAC アドレスはダイナミック セキュア アドレスに変換され、実行コンフィギュレーションから削除されます。
スイッチに設定できるセキュア MAC アドレスの最大数は、システムで許可されている MAC アドレスの最大数によって決まります。この数字はアクティブな Switch Database Management(SDM)テンプレートによって決められます。「SDM テンプレートの設定」 を参照してください。この値は、使用可能な MAC アドレス(その他のレイヤ 2 機能やインターフェイスに設定されたその他のセキュア MAC アドレスで使用される MAC アドレスを含む)の総数を表します。
セキュリティ違反
次のいずれかの状況が発生すると、セキュリティ違反になります。
• 最大数のセキュア MAC アドレスがアドレス テーブルに追加されている状態で、アドレス テーブルに未登録の MAC アドレスを持つステーションがインターフェイスにアクセスしようとした場合。
• あるセキュア インターフェイスで学習または設定されたアドレスが、同じスイッチ上の同一 VLAN 内の別のセキュア インターフェイスで使用された場合。
違反が発生した場合のアクションに基づいて、次の 4 つの違反モードのいずれかにインターフェイスを設定できます。
• protect(保護):セキュア MAC アドレスの数がポートで許可されている最大限度に達すると、最大値を下回るまで十分な数のセキュア MAC アドレスを削除するか、許可アドレス数を増やさない限り、未知の送信元アドレスを持つパケットはドロップされます。セキュリティ違反が起こっても、ユーザには通知されません。
(注) トランク ポートに protect 違反モードを設定することは推奨しません。保護モードでは、ポートが最大数に達していなくても VLAN が保護モードの最大数に達すると、ラーニングがディセーブルになります。
• restict(制限):セキュア MAC アドレスの数がポートで許可されている最大限度に達すると、最大値を下回るまで十分な数のセキュア MAC アドレスを削除するか、許可アドレス数を増やさない限り、未知の送信元アドレスを持つパケットはドロップされます。このモードでは、セキュリティ違反が発生したことが通知されます。SNMP トラップが送信されます。Syslog メッセージがロギングされ、違反カウンタが増加します。
• shutdown(シャットダウン):ポート セキュリティ違反により、インターフェイスが errdisable になり、ただちにシャットダウンされます。その後、ポートの LED が消灯します。SNMP トラップが送信されます。Syslog メッセージがロギングされ、違反カウンタが増加します。セキュア ポートが errdisable ステートの場合、 errdisable recovery cause psecure-violation グローバル コンフィギュレーション コマンドを入力してこのステートを解除したり、 shutdown および no shutdown インターフェイス コンフィギュレーション コマンドを入力して手動で再びイネーブルにしたりできます。これは、デフォルトのモードです。
• shutdown vlan(VLAN シャットダウン):VLAN 単位でセキュリティ違反モードを設定するために使用します。このモードで違反が発生すると、ポート全体ではなく、VLAN が errdisable になります。
表 29-1 セキュリティ違反モードの処置
|
|
|
|
|
|
|
protect |
No |
No |
No |
No |
No |
No |
restrict |
No |
Yes |
Yes |
No |
Yes |
No |
shutdown |
No |
No |
No |
No |
Yes |
Yes |
shutdown vlan |
No |
No |
Yes |
No |
Yes |
No |
デフォルトのポート セキュリティ設定
表 29-2 ポート セキュリティのデフォルト設定
|
|
ポート セキュリティ |
ポート上でディセーブル |
スティッキー アドレス ラーニング |
ディセーブル |
ポートあたりのセキュア MAC アドレスの最大数 |
1 |
違反モード |
shutdown。セキュア MAC アドレスが最大数を上回ると、ポートがシャットダウンします。 |
ポート セキュリティ エージング |
ディセーブル エージング タイムは 0 スタティック エージングはディセーブル タイプは absolute |
ポート セキュリティの設定時の注意事項
• ポート セキュリティを設定できるのは、スタティック アクセス ポートまたはトランク ポートに限られます。セキュア ポートをダイナミック アクセス ポートにすることはできません。
• セキュア ポートをスイッチド ポート アナライザ(SPAN)の宛先ポートにすることはできません。
• セキュア ポートを Fast EtherChannel ポート グループに含めることはできません。
(注) 音声 VLAN はアクセス ポートでのみサポートされており、設定可能であってもトランク ポートではサポートされていません。
• 音声 VLAN が設定されたインターフェイス上でポート セキュリティをイネーブルにする場合は、ポートの最大セキュア アドレス許容数を 2 に設定します。ポートを Cisco IP Phone に接続する場合は、IP Phone に MAC アドレスが 1 つ必要です。Cisco IP Phone のアドレスは音声 VLAN 上で学習されますが、アクセス VLAN 上では学習されません。1 台の PC を Cisco IP Phone に接続する場合、MAC アドレスの追加は必要ありません。複数の PC を Cisco IP Phone に接続する場合、各 PC と IP Phone に 1 つずつ使用できるように、十分な数のセキュア アドレスを設定する必要があります。
• トランク ポートがポート セキュリティで設定され、データ トラフィックのアクセス VLAN および音声トラフィックのアクセス VLAN に割り当てられている場合は、 switchport voice および switchport priority extend インターフェイス コンフィギュレーション コマンドを入力しても効果はありません。
接続装置が同じ MAC アドレスを使用してアクセス VLAN の IP アドレス、音声 VLAN の IP アドレスの順に要求すると、アクセス VLAN だけが IP アドレスに割り当てられます。
• ポート セキュリティを設定する場合、 switchport port-security maximum インターフェイス コンフィギュレーション コマンドを使用して、最初に許可する MAC アドレスの総数を指定します。次に、許可するアクセス VLAN の数( switchport port-security vlan access インターフェイス コンフィギュレーション コマンド)および音声 VLAN( switchport port-security vlan voice インターフェイス コンフィギュレーション コマンド)を設定します。最初に合計数を指定しなかった場合は、デフォルト設定(1 個の MAC アドレス)にシステムが戻ります。
• インターフェイスの最大セキュア アドレス値を入力したときに、新しい値がそれまでの値より大きいと、それまで設定されていた値が新しい値によって上書きされます。新しい値が前回の値より小さく、インターフェイスで設定されているセキュア アドレス数が新しい値より大きい場合、コマンドは拒否されます。
• スイッチはスティッキ セキュア MAC アドレスのポート セキュリティ エージングをサポートしていません。
表 29-3 ポート セキュリティと他のポートベース機能との互換性
|
|
DTP ポート |
No |
トランク ポート |
Yes |
ダイナミック アクセス ポート |
No |
ルーテッド ポート |
No |
SPAN 送信元ポート |
Yes |
SPAN 宛先ポート |
No |
EtherChannel |
No |
トンネリング ポート |
Yes |
保護ポート |
Yes |
IEEE 802.1x ポート |
Yes |
音声 VLAN ポート |
Yes |
プライベート VLAN ポート |
Yes |
IP ソース ガード |
Yes |
ダイナミック アドレス解決プロトコル(ARP)インスペクション |
Yes |
FlexLink |
Yes |
ポート セキュリティ エージング
ポート上のすべてのセキュア アドレスにエージング タイムを設定するには、ポート セキュリティ エージングを使用します。ポートごとに 2 つのタイプのエージングがサポートされています。
• absolute:指定されたエージング タイムの経過後に、ポート上のセキュア アドレスが削除されます。
• inactivity:指定されたエージング タイムの間、セキュア アドレスが非アクティブであった場合に限り、ポート上のセキュア アドレスが削除されます。
この機能を使用すると、既存のセキュア MAC アドレスを手動で削除しなくても、セキュア ポート上のデバイスを削除および追加し、なおかつポート上のセキュア アドレス数を制限できます。セキュア アドレスのエージングは、ポート単位でイネーブルまたはディセーブルにできます。
ポート セキュリティおよびプライベート VLAN
ポート セキュリティとプライベート VLAN(PVLAN)の両方が設定されているポートには、セキュア PVLAN ポートのラベル付けが可能です。セキュア アドレスがセキュア PVLAN ポートで学習されるとき、同じセキュア アドレスは、同じプライマリ VLAN に属する別のセキュア PVLAN ポートでは学習できません。ただし、非セキュア PVLAN ポートで学習されたアドレスは、同じプライマリ VLAN に属するセキュア PVLAN ポートで学習できます。
ホスト ポートで学習されるセキュア アドレスは、関連プライマリ VLAN で自動的に複製され、また同様に、無差別ポートで学習されるセキュア アドレスは、すべての関連セカンダリ VLAN で自動的に複製されます。静的アドレス( mac-address-table static コマンドを使用)は、ユーザがセキュア ポートで設定することはできません。
プロトコル ストーム プロテクション
スイッチがアドレス解決プロトコル(ARP)または制御パケットでフラッドされると、CPU の高い使用率により CPU のオーバーロードが発生する可能性があります。これらの問題は、次のように発生します。
• プロトコル制御パケットが受信されず、ネイバーの隣接がドロップされるため、ルーティング プロトコルがフラップする場合があります。
• スパニングツリー プロトコル(STP)ブリッジ プロトコル データ ユニット(BPDU)が送受信されないため、STP が再収束します。
• CLI が遅くなるか応答しなくなります。
プロトコル ストーム プロテクションを使用すると、パケットのフロー レートの上限しきい値を指定して、制御パケットが送信されるレートを制御できます。サポートされるプロトコルは、ARP、ARP スヌーピング、Dynamic Host Configuration Protocol(DHCP)v4、DHCP スヌーピング、インターネット グループ管理プロトコル(IGMP)、および IGMP スヌーピングです。
パケットのレートが定義されたしきい値を超えると、スイッチは指定されたポートに着信したすべてのトラフィックを 30 秒間ドロップします。パケット レートが再度計測され、必要な場合はプロトコル ストーム プロテクションが再度適用されます。
より強力な保護が必要な場合は、仮想ポートを手動で errdisable にし、その仮想ポートのすべての着信トラフィックをブロックできます。また、手動で仮想ポートをイネーブルにしたり、仮想ポートの自動再イネーブル化の時間間隔を設定することもできます。
(注) 超過したパケットは、2 つ以下の仮想ポートにおいてドロップされます。
仮想ポートの errdisable は、EtherChannel および Flexlink インターフェイスではサポートされません。
プロトコル ストーム プロテクションはデフォルトでディセーブルです。これがイネーブルになると、仮想ポートの自動リカバリがデフォルトでディセーブルになります。