こんばんわ、ちま夫です。
HP Aruba2530スイッチを触る機会があり、ループ対策機能の動作確認を実施しましたので、備忘録として記載します。
STP(スパニングツリー)では無く、Loop Protection(ループプロテクション)の機能の方です。
Loop Protection(ループプロテクション)とは
この図の通り、スイッチからループ検知用パケットを定期的に送信し、そのパケットが自分に戻ってきたらループと判断します。
HP Arubaマニュアルから抜粋
ループ保護がイネーブルになっている場合、インターフェイスはループ保護プロトコルデータユニット(PDU)をマルチキャスト宛先アドレス09:00:09:09:13:A6に送信します。インターフェイスがループ保護PDUを受信すると、送信元MACアドレスと自身のMACアドレスが比較されます。 MAC アドレスが一致すると、ループが検出され、設定された処理が実行されます。これには、指定された期間ポートをシャットダウンすることが含まれます。
下図のようなループ状況を検知することが可能のようです。
loop-protectの設定コマンド
loop-protectに関する設定コマンドを記載します。
■ループ検知モードの設定
loop-protect mode < port | vlan >
・port : ポート単位のループ検知を行うモード(デフォルト)
・vlan : VLAN 単位のループ検知を行うモード
■ポート単位のループ検知設定
loop-protect Port-List [ receiver-action < send-disable | no-disable | send-recv-dis > ]
・send-disable : ループ検知時にループ検知パケットを送信したポートをシャットダウンします。(デフォルト)
・no-disable : ループを検知してもポートをシャットダウンしません。
・send-recv-dis : ループ検知時にループ検知パケットを送信したポート、受信したポートの両方をシャットダウンします。
■VLAN 単位のループ検知設定
loop-protect vlan Vlan-list [ receiver-action < send-disable | no-disable | send-recv-dis > ]
アクションの設定はポート単位と同じです。
■ループ検知パケット送信間隔の設定
loop-protect transmit-interval < 1-10 >
デフォルトは 5 秒。
■ポートシャットダウン自動解除の設定
loop-protect disable-timer < 0-604800 >
ループ復旧してからポートシャットダウン解除までの時間を指定します。デフォルトは 0 秒になっており、ループ検知でシャットダウンされたポートは自動復旧しません。復旧するには、interface < Port-List> enable を実行する必要があります。
■ループ検知時の Trap 送信の設定
loop-protect trap loop-detected
loop-protectの設定例
以下の設定例では、ポート1~5でLoop-Protectを有効にして、ループ検出時にポートをシャットダウン。ループ検知用パケットを3秒毎に送信。ループ復旧後のシャットダウンポート自動解除は60秒。
Aruba# configure
Aruba(config)# loop-protect 1-5
Aruba(config)# loop-protect disable-timer 60 transmit-interval 3
■初期設定状態のshow loop-protect
Aruba# show loop-protect
Status and Counters - Loop Protection Information
Transmit Interval (sec) : 5
Port Disable Timer (sec) : Disabled
Loop Detected Trap : Disabled
Loop Protect Mode : Port
Loop Protect Enabled VLANs :
Loop Loop Detected Loop Time Since Rx Port
Port Protect Detected on VLAN Count Last Loop Action Status
------ ------- -------- --------- ------ ----------- ------------- --------
Aruba#
■設定後のshow loop-protect
Aruba# show loop-protect
Status and Counters - Loop Protection Information
Transmit Interval (sec) : 3
Port Disable Timer (sec) : 60
Loop Detected Trap : Disabled
Loop Protect Mode : Port
Loop Protect Enabled VLANs :
Loop Loop Detected Loop Time Since Rx Port
Port Protect Detected on VLAN Count Last Loop Action Status
------ ------- -------- --------- ------ ----------- ------------- --------
1 Yes No NA 0 send-disable Up
2 Yes No NA 0 send-disable Down
3 Yes No NA 0 send-disable Down
4 Yes No NA 0 send-disable Down
5 Yes No NA 0 send-disable Down
Aruba#
ループした場合
■ポート1配下のHUBでループが発生した場合のステータス。
Aruba# show loop-protect
Status and Counters - Loop Protection Information
Transmit Interval (sec) : 3
Port Disable Timer (sec) : 60
Loop Detected Trap : Disabled
Loop Protect Mode : Port
Loop Protect Enabled VLANs :
Loop Loop Detected Loop Time Since Rx Port
Port Protect Detected on VLAN Count Last Loop Action Status
------ ------- -------- --------- ------ ----------- ------------- --------
1 Yes Yes NA 2 2s send-disable Down
2 Yes No NA 0 send-disable Down
3 Yes No NA 0 send-disable Down
4 Yes No NA 0 send-disable Down
5 Yes No NA 0 send-disable Down
Aruba#
■ログの表示例
Aruba# show logging
Keys: W=Warning I=Information
M=Major D=Debug E=Error
---- Event Log listing: Events Since Boot ----
W 05/20/19 10:51:25 00884 loop-protect: port 1 disabled - loop detected.
I 05/20/19 10:51:25 00898 ports: Loop Protect(62) has disabled port 1 for 60 seconds
Aruba#
注意事項(ループが検知できない時)
■ループ検知用パケットが破棄される
ループ検知用パケットをマルチキャスト宛先アドレス09:00:09:09:13:A6に送信するのですが、L2スイッチ(島スイッチ)によってはこのパケットを破棄してしまうことがあり、ループが発生してもloop-protectが働かない時がありますので、動作確認は実施しておいた方が良いかと思います。
■ループが発生しているのに検知できない
強烈なループトラフィックが発生してしまい、ループ検知用パケットを受信することができず、loop-protectが働かない時があります。