このページの目次
スパニングツリープロトコルに対するBPDU保護
スパニングツリーインスタンスインターフェイスのBPDU保護について
ACX シリーズ ルーター、MX シリーズ ルーター、PTX シリーズ ルーター、EX シリーズ スイッチ、QFX シリーズ スイッチは、ブリッジ ネットワーク全体のツリー トポロジー(spanning-tree)を作成することで、ネットワークのループを防止するスパニング ツリー プロトコルをサポートしています。すべてのスパニングツリープロトコルは、BPDU(ブリッジプロトコルデータユニット)と呼ばれる特殊なタイプのフレームを使用して相互に通信します。
スパニングツリープロトコル(STP)ファミリーは、レイヤー2ブリッジネットワークで起こりうるループを遮断するように設計されています。ループ防止により、ネットワークを役に立たなくする可能性のあるブロードキャストストームに損害を与えるのを回避できます。ブリッジ上のSTPプロセスはBPDUを交換して、LANトポロジーの決定、ルートブリッジの決定、一部のポートでの転送の停止などを行います。しかし、不正なユーザー アプリケーションやデバイスは、STP プロトコルの動作を妨害し、ネットワークの問題を引き起こす可能性があります。
BPDUブロックとは、不正なユーザーアプリケーションやデバイス、脅威からSTPトポロジーを保護する機能です。BPDU を受信することを想定していないインターフェイスで BPDU ガードを有効にする必要があります。
インターフェイスがエッジ ポートとして設定されている場合は、直接フォワーディング ステートに移行します。このようなポートはエンドデバイスに接続されており、BPDUを受信することは想定されていません。したがって、ループを回避するには、bpdu-block-on-edgeを有効にしてエッジポートを保護する必要があります。
STPをサポートするルーターとスイッチでは、何も想定されていないインターフェイス(たとえば、他のブリッジが存在しないネットワークエッジ上のLANインターフェイス)で受信したBPDUを無視するようにBPDU保護を設定できます。保護されたインターフェイスで BPDU を受信すると、インターフェイスは無効になり、フレームの転送が停止します。デフォルトでは、すべての BPDU が受け入れられ、すべてのインターフェイスで処理されます。
BPDU 保護は、いくつかの方法で実現できます。デフォルトでは、インターフェイスで bpdu-block が有効になっている場合、BPDU を受信すると、インターフェイスは無効になり、インターフェイス上のすべてのトラフィック転送が停止します。ただし、インターフェイスを無効にせず、そのインターフェイスを STP 計算に参加させたくない場合は、アクション ドロップを設定できます。アクション ドロップを設定すると、インターフェイスは稼働し続け、トラフィックは流れ続けます。ただし、BPDU はドロップされます。
エッジ ポートはアクション ドロップをサポートしていません。BPDU-block-on-edgeは、エッジポートがBPDUを受信した場合、インターフェイスを無効にします。インターフェイスを元に戻すには、エラーをクリアする必要があります。
BPDU 保護は、以下のカプセル化タイプのインターフェイスで設定できます。
-
イーサネットブリッジ
-
イーサネットVPLS
-
拡張VLANブリッジ
-
vlan-vpls
-
VLAN ブリッジ
-
拡張VLAN-VPLS
BPDU 保護は、個々のインターフェイスまたはブリッジのすべてのエッジ ポートで設定できます。
set protocols (mstp|rstp|vstp)
階層で bpdu-block-on-edge
コマンドを使用して、エッジポートとして設定されているインターフェイスでBPDU保護を有効にします。ポートをエッジポートとして設定していない場合でも、set protocols layer2-control
階層でbpdu-block
コマンドを使用して、インターフェイスでBPDU保護を設定できます。また、bpdu-block
コマンドを使用して、スパニングツリー用に設定されたインターフェイスで BPDU 保護を設定することもできます。
関連項目
STP、RSTP、MSTP の BPDU 保護について
ネットワークは、異なる目標を達成するために複数のプロトコルを同時に使用することが多く、場合によっては、それらのプロトコルが互いに競合する可能性があります。そのようなケースの1つは、スパニングツリープロトコルがネットワーク上でアクティブであり、ブリッジプロトコルデータユニット(BPDU)と呼ばれる特別なタイプのスイッチングフレームが、PCなどの他のデバイスで生成されたBPDUと競合する場合があります。さまざまな種類のBPDUには互換性がありませんが、BPDUを使用してネットワーク障害を引き起こす他のデバイスから認識される可能性があります。BPDU を認識するすべてのデバイスが、互換性のない BPDU を拾わないように保護する必要があります。
さまざまなタイプのBPDU
スパニングツリープロトコル(STP)、ラピッドスパニングツリープロトコル(RSTP)、VLANスパニングツリープロトコル(VSTP)、マルチプルスパニングツリープロトコル(MSTP)などのスパニングツリープロトコルは、独自のBPDUを生成します。これらのピア STP アプリケーションは、BPDU を使用して通信を行い、最終的には BPDU の交換により、どのインターフェイスがトラフィックをブロックし、どのインターフェイスがルート ポートになるかを決定します。ルート ポートと指定ポートはトラフィックを転送します。代替ポートとバックアップ ポートは、トラフィックをブロックします。
個々のスパニングツリーインスタンスインターフェイスに対するBPDU保護の設定
1 つ以上のスパニングツリーインスタンスインターフェイスに BPDU 保護を設定するには、 bpdu-block
ステートメントを含めます。
bpdu-block { interface interface-name; disable-timeout seconds; }
オプションの disable-timeout seconds
ステートメントも含めた場合、指定した時間間隔が 0 でない限り、保護されたインターフェイスは自動的にクリアされます。
ブリッジ間の情報交換に使用される BPDU について
レイヤー 2 ブリッジ環境では、スパニング ツリー プロトコルは、BPDU(ブリッジ プロトコル データ ユニット)と呼ばれるデータ フレームを使用して、ブリッジ間で情報を交換します。
ピア システム上のスパニング ツリー プロトコルは、ポートの役割、ブリッジ ID、ルート パス コストに関する情報を含む BPDU を交換します。各ルーターまたはスイッチにおいて、スパニングツリープロトコルはこの情報を使用して、ルートブリッジの選択、各スイッチのルートポートの識別、各物理LANセグメントの指定ポートの識別、特定の冗長リンクの削除によるループフリーツリートポロジーの作成を行います。結果として得られるツリートポロジーは、任意の2つのエンドステーション間に単一のアクティブレイヤー2データパスを提供します。
スパニング ツリー プロトコルの説明では、 bridge と switch という用語はしばしば同じ意味で使用されます。
BPDU の伝送は、MX シリーズ 5G ユニバーサル ルーティング プラットフォーム上のレイヤー 2 制御プロトコル プロセス(l2cpd)によって制御されます。
l2cpd プロセスに代わっての定期パケットの送信は、デフォルトでパケット転送エンジンで実行されるように設定された定期パケット管理(PPM)によって実行されます。パケット転送エンジンのppmdプロセスにより、l2cpdが利用できない場合でもBPDUが確実に送信され、統合型ISSU(統合型インサービスソフトウェアアップグレード)中にリモート隣接関係が維持されます。ただし、分散型 PPM(ppmd)プロセスをパケット転送エンジンではなくルーティング エンジンで実行する場合は、パケット転送エンジンで ppmd プロセスを無効にできます。
冗長ルーティング エンジン(同じルーターにインストールされている2つのルーティング エンジン)を搭載したルーターおよびスイッチでは、ノンストップ ブリッジングを設定できます。ノンストップブリッジングにより、ルーターはL2CP(レイヤー2制御プロトコル)情報を失うことなく、プライマリルーティングエンジンからバックアップルーティングエンジンに切り替えることができます。ノンストップブリッジングは、グレースフルルーティングエンジンスイッチオーバー(GRES)と同じインフラストラクチャを使用して、インターフェイスとカーネルの情報を保持します。ただし、ノンストップブリッジングは、バックアップのルーティングエンジンでl2cpdプロセスを実行することで、L2CP情報も保存します。
ノンストップブリッジングを使用するには、まずGRES を有効にする必要があります。
ノンストップ ブリッジングは、次のレイヤー 2 制御プロトコルでサポートされています。
スパニングツリープロトコル(STP)
ラピッドスパニングツリープロトコル(RSTP)
マルチプルスパニングツリープロトコル(MSTP)
EVPN-VXLAN の BPDU 保護について
EVPN-VXLANデータセンターファブリックには、スプリットホライズン、指定フォワーダー選択および非指定フォワーダー選択など、多数のイーサネットループ防止メカニズムが組み込まれています。新しいIP EVPNファブリックを展開する既存のデータセンター環境では、xSTPの計算ミスによるネットワーク停止を回避するために、リーフからサーバーへのインターフェイスでBPDU保護を構成する必要がある場合があります。サーバーとリーフインターフェイス間のケーブル配線、または2つ以上のESI-LAGインターフェイス間のバックドアレイヤー2リンクが正しくないと、計算ミスが発生し、イーサネットループが発生する可能性があります。BPDU 保護がないと、BPDU が認識されず、VXLAN インターフェイスに不明なレイヤー 2 パケットとしてフラッディングする可能性があります。BPDU 保護を使用すると、EVPN-VXLAN 環境のエッジ ポートで BPDU を受信すると、エッジ ポートが無効になり、すべてのトラフィックの転送が停止します。また、BPDUトラフィックをドロップするようにBPDU保護を設定し、スパニングツリープロトコルを設定しなくても、他のすべてのトラフィックをインターフェイス上で転送することができます。
ポートシャットダウンモードによるBPDU保護のためのインターフェイスの設定
スイッチのエッジ インターフェイスで BPDU 保護を設定するには:
スイッチがエンド デバイスに接続されていることを確認します。
BPDUドロップモードによるBPDU保護のためのインターフェイスの設定
特定のアクセス スイッチでは、互換性のない BPDU パケットが検出されたときにスイッチ上のインターフェイスがシャットダウンしないようにしたい場合があります。代わりに、互換性のないBPDUパケットのみをドロップし、残りのトラフィックは通過させます。このようなインターフェイスには、スパニングツリープロトコルを設定してはいけません。そのため、インターフェイスを通過するパケットによってSTPの設定ミスが発生し、結果としてネットワークが停止することがなくなります。
互換性のない BPDU パケットのみをドロップし、残りのトラフィックを通過させ、インターフェイスのステータスを up のままにするように、インターフェイスの BPDU 保護を設定するには:
BPDU 保護を設定するスイッチがピアデバイスに接続されていることを確認します。
エッジ インターフェイスの BPDU 保護の設定
スパニングツリートポロジーでは、スイッチがアクセススイッチの場合、そのスイッチのインターフェイスは、他のスイッチに接続されていないPC、サーバー、ルーター、ハブなどのエンドデバイスに接続されます。これらのインターフェイスはエンドデバイスに直接接続されるため、エッジインターフェイスとして設定します。
エッジ インターフェイスとして設定されたインターフェイスは、ネットワーク ループを作成できないため、すぐに転送ステートに移行できます。スイッチは、エンド ステーションからの通信がないことを通知することで、エッジ ポートを検出します。エッジポートはエンドデバイスに接続されるため、ループを回避するためにエッジポートにBPDU保護を設定することが不可欠です。エッジインターフェイスでBPDU保護が有効になっている場合、AE BPDUが検出されるとインターフェイスがシャットダウンし、トラフィックがインターフェイスを通過できなくなります。 clear error bpdu interface interface-name
運用モードコマンドを発行することで、インターフェイスを再度有効にすることができます。 clear error bpdu interface interface-name
コマンドはインターフェイスを再有効化するだけですが、BPDU 設定を明示的に削除しない限り、インターフェイスの BPDU 設定は存在し続けます。
スイッチのエッジ インターフェイスで BPDU 保護を設定するには:
スイッチがエンド デバイスに接続されていることを確認します。
例:インターフェイス上の BPDU を 600 秒間ブロックする
次の例は、集合型イーサネットを含むフルブリッジ構成で使用する場合、インターフェイス ae0 上のBPDUを10分(600秒)ブロックしてから、インターフェイスを再度有効にします。
[edit protocols layer2-control] bpdu-block { interface ae0; disable-timeout 600; }
関連項目
例:インターフェイスでの BPDU 保護の設定
この例では、ELS(拡張レイヤー 2 ソフトウェア)設定スタイルをサポートしないで、EX シリーズ スイッチで Junos OS を使用します。ELSの詳細については、「 拡張レイヤー2ソフトウェアCLIの使用」を参照してください。
BPDU 保護が有効な場合、互換性のない BPDU が検出されると、インターフェイスが BPDU パケットをシャットダウンまたはドロップし、スパニングツリー プロトコルによって生成された BPDU がスイッチに到達できなくなります。インターフェイスが BPDU パケットをドロップするように設定されている場合、互換性のない BPDU を除くすべてのトラフィックがインターフェイスを通過できます。
BPDU ドロップ機能は、スパニングツリー プロトコルが設定されていないインターフェイスでのみ指定できます。
次に、2台のPCに接続するSTPスイッチのダウンストリームインターフェイスにBPDU保護を設定する例を示します。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
RSTP トポロジー内の 1 つの EX シリーズスイッチ
-
スパニング ツリー トポロジーに含まれていない 1 台の EX シリーズ スイッチ
-
EX シリーズ スイッチ向けの Junos OS リリース 9.1 以降
BPDU 保護のためにスイッチ 2 のインターフェイスを設定する前に、以下が完了していることを確認してください。
-
RSTPがスイッチ1で動作していることを確認。
-
スイッチ 2 の RSTP を無効または有効(実装する予定の設定によって異なります)。
BPDU シャットダウン機能をイネーブルにする場合、インターフェイス上のスパニングツリープロトコルを無効にするのはオプションです。
デフォルトでは、RSTPはすべてのEXシリーズスイッチで有効になっています。
概要とトポロジー
この例では、インターフェイスでBPDU保護を設定する方法を説明します。
図 1 に、この例のトポロジを示します。スイッチ 1 とスイッチ 2 は、トランク インターフェイスを介して接続されています。スイッチ 1 は RSTP 用に設定されていますが、スイッチ 2 は最初のシナリオ用にスパニングツリー プロトコルが設定されており、2 番目のシナリオ用にはスパニング ツリー プロトコルが設定されていません。
最初のシナリオでは、スイッチ 2 のインターフェイス ge-0/0/5.0 および ge-0/0/6.0 のインターフェイスでデフォルトのスパニングツリー プロトコル(RSTP)が無効になっていない場合に、これらのインターフェイスでダウンストリーム BPDU 保護を設定する例があります。BPDU保護が有効な場合、 shutdown
ステートメントはデフォルトで有効になっており、ラップトップによって生成されたBPDUがスイッチ2にアクセスしようとすると、スイッチインターフェイスがシャットダウンします。
2 番目のシナリオでは、スイッチ 2 のインターフェイス ge-0/0/5.0 および ge-0/0/6.0 のインターフェイスにスパニングツリー プロトコルが設定されていない場合に、これらのインターフェイスにダウンストリーム BPDU 保護を設定する例を示します。BPDU 保護が drop
ステートメントで有効になっている場合、スイッチ インターフェイスは BPDU のみをドロップし、ラップトップによって生成された BPDU がスイッチ 2 にアクセスしようとしても、残りのトラフィックを通過させ、アップとしてのステータスを維持します。
スパニングツリーを備えたスイッチに接続されたスパニングツリーのないインターフェイスでBPDU保護を設定する場合は、 すべての インターフェイスでBPDU保護を設定しないことに注意してください。そうすることで、スパニングツリーを持つスイッチからBPDUを受信するはずのスイッチインターフェイス(トランクインターフェイスなど)でBPDUを受信できなくなる可能性があります。
位相幾何学
表 1 に、BPDU 保護用に構成されるコンポーネントを示します。
財産 |
設定 |
---|---|
スイッチ 1(ディストリビューション レイヤー) |
スイッチ 1 とスイッチ 2 は、トランク インターフェイスを介して接続されています。スイッチ 1 は RSTP 用に設定されています。 |
スイッチ 2(アクセス レイヤー) |
スイッチ 2 には、ラップトップに接続された 2 つのダウンストリーム アクセス ポートがあります。
|
構成
インターフェイスにBPDU保護を設定するには、次の手順に従います。
プロシージャ
CLIクイック構成
これは、デフォルトの BPDU ブロックの設定を説明する最初のシナリオです (アクション: shutdown
)。スイッチ 2 で BPDU 保護を迅速に構成するには、以下のコマンドをコピーしてスイッチのターミナル ウィンドウに貼り付けます。
[edit] user@switch# set protocols layer2-control bpdu-block interface ge-0/0/5 [edit] user@switch# set protocols layer2-control bpdu-block interface ge-0/0/6
手順
shutdown
ステートメントの BPDU 保護を設定するには、次の手順に従います。
-
スイッチ 2 のダウンストリーム インターフェイス ge-0/0/5 で BPDU ブロック(アクション:
shutdown
)を設定します。[edit protocols] user@switch# set layer2-control bpdu-block interface ge-0/0/5
-
スイッチ 2 のダウンストリーム インターフェイス ge-0/0/6 で BPDU ブロック(アクション:
shutdown
)を設定します。[edit protocols] user@switch# set layer2-control bpdu-block interface ge-0/0/6
業績
構成の結果を確認します。
user@switch> show protocols layer2-control bpdu-block { interface ge-0/0/5; interface ge-0/0/6; }
プロシージャ
CLIクイック構成
これは、 drop
ステートメントの設定を説明する 2 番目のシナリオです。スイッチ 2 の drop
ステートメントの BPDU 保護を素早く設定するには、以下のコマンドをコピーしてスイッチのターミナルウィンドウに貼り付けます。
[edit] user@switch# set protocols layer2-control bpdu-block interface ge-0/0/5 drop user@switch# set protocols layer2-control bpdu-block interface ge-0/0/6 drop
インターフェイスで xSTP が有効になっている場合は、BPDU ドロップ アクション: ブロックを設定する前に無効にする必要があります。RSTPをグローバルに無効にするには、 delete protocols rstp
、 set protocols rstp disable
、または set protocols rstp interface all disable
コマンドを使用します。
手順
drop
ステートメントの BPDU 保護を設定するには、次の手順に従います。
-
スイッチ 2 のダウンストリーム インターフェイス ge-0/0/5 で BPDU
drop
ステートメントを設定します。[edit protocols layer2-control] user@switch# set bpdu-block interface ge-0/0/50 drop
-
スイッチ 2 のダウンストリーム インターフェイス ge-0/0/6 で BPDU
drop
ステートメントを設定します。[edit protocols layer2-control] user@switch# set bpdu-block interface ge-0/0/6 drop
業績
構成の結果を確認します。
user@switch> show configuration protocols layer2-control bpdu-block { interface ge-0/0/5; interface ge-0/0/6; }