ループ検知の機能説明
ループ検知機能を有効にすると、定期的にループ検知フレームを送信します。自装置が送信したループ検知フレームを受信した場合にループ障害が発生したと判断し、対象のポートまたはVLANでの通信を抑制して、ループ状態を解消します。さらに、ログやSNMPトラップでループ障害を検知したことを通知します。
ループ検知機能(loop-detection action notify-only設定時を除く)は、同一インターフェースでSTP/RSTP/MSTP/RPVST+機能、ERPS機能、MMRP-Plus機能、ポートリダンダント機能と併用できません。
ループ検知例

ループ検知の動作モードには、以下の2種類があります。
- ポートベースモード
ポートベースモードでは、ポートをループ検知対象とします。
ポートベースモードでループを検知した場合
補 足ループ検知無効ポートで同一装置から送信されたループ検知フレームを受信した場合でも、ループが検知されます。その場合、ループ検知フレームを送信したポートがerr-disabled状態に変更されます。
- VLANベースモード
VLANベースモードでは、ポートに割り当てられたVLANのみをループ検知対象とします。
VLANベースモードでループを検知した場合
補 足ループ検知無効ポートで同一装置から送信されたループ検知フレームを受信した場合でも、ループが検知されます。その場合、ループ検知フレームを送信したポートの対象VLANがerr-disabled状態に変更されます。
装置全体でループ検知機能を有効化するには、loop-detection global enableコマンドを使用します。インターフェースごとのループ検知機能を有効化するには、loop-detection enableコマンドを使用します。ループ検知の動作モードを設定するには、loop-detection modeコマンドを使用します。ループ検知フレームの送信間隔を設定するには、loop-detection intervalコマンドを使用します。
トランクポートで使用する場合はVLANベースモードで使用することを推奨します。ポートベースモードで使用する場合は、VID=0のタグ付き形式のループ検知フレームが送信されることに注意してください。
ポートベースモードの動作
ポートベースモードでは、ループ検知を有効にしたポートから、VID=0のタグ付き形式のループ検知フレームが定期的に送信されます。
ポートベースモードでのループ検知フレームの送信

誤ってループ状に接続した場合は、自装置が送信したループ検知フレームを受信することになります。ループ検知有効ポートで受信した場合は、その受信ポートがerr-disabled状態に変更されます。ループ検知無効ポートで受信した場合は、そのループ検知フレームを送信したポートがerr-disabled状態に変更されます。
ポートベースモードでループを検知した場合

ポートチャネルでループ検知(ポートベースモード)を有効にしていてループを検知した場合は、そのポートチャネルのすべてのメンバーポートがerr-disabled状態に変更されます。
ループ検知の動作モードがポートベースモードの場合、err-disabled状態に変更されたポートのリンク状態は、show interfacesコマンドでは"link status is down (error disabled: Loop Detection)"と表示されます。また、show interfaces statusコマンドのStatus項目では"err-disabled"と表示されます。
VLANベースモードの動作
VLANベースモードでは、ループ検知を有効にしたポートから、ループ検知機能を有効にしているVLANすべてに対して、VLANタグが付与されたループ検知フレームが定期的に送信されます。ポートにタグなしVLANが所属する場合は、VID=0のタグ付き形式のループ検知フレームも送信されます。
VLANベースモードでのループ検知フレームの送信

誤って特定のVLANでループ状に接続した場合は、自装置が送信したループ検知フレームを対象VLANで受信することになります。ループ検知有効ポートで受信した場合は、その受信ポートの対象VLANがerr-disabled状態に変更されます。ループ検知無効ポートで受信した場合は、そのループ検知フレームを送信したポートの対象VLANがerr-disabled状態に変更されます。
下図の場合、ループ検知フレームを受信したポートのVLAN 2は通信が抑制された状態(err-disabled状態)に変更されますが、それ以外のVLANでは通信可能です。
VLANベースモードでループを検知した場合

VLANベースモードに設定している場合、ループ検知フレームは1秒間に最大80個ずつ有効にしたVLANの数だけ送信されます。
装置全体でループ検知できるVLANの最大数は100個です。最大数まで検知した状態では、新たに別のVLANでループが発生しても検知できません。検知状態のVLAN数が最大数より少なくなれば、新たに別のVLANでも検知可能です。
ポートチャネルでループ検知(VLANベースモード)を有効にしていてループを検知した場合は、そのポートチャネルのすべてのメンバーポートで対象VLANがerr-disabled状態に変更されます。
ループ検知の動作モードがVLANベースモードの場合、err-disabled状態に変更されたVLANはshow loop-detectionコマンドで確認します。なお、ポートベースモードの場合とは異なり、show interfacesコマンドやshow interfaces statusコマンドの表示は変わりません。
ループ検知フレームのフレーム形式
ループ検知フレームのフレーム形式は以下のとおりです。
フィールド | 内容 | バイト数 |
---|---|---|
DA | CF-00-00-00-00-00 | 6バイト |
SA | 装置のMACアドレス | 6バイト |
TPID・PCP・CFI・VID |
VLAN情報(IEEE 802.1Qタグ) TPID:0x8100 PCP:7 CFI:0 VID:ループ検知フレームのVLAN ID | 4バイト |
イーサタイプ | 0x9000 | 2バイト |
データ部 | 送信ポート番号、VLAN ID、装置MACアドレスなど | - |
インターフェースの復旧
err-disabled状態に変更されたポート/VLANを復旧するには、以下の2つの方法があります。
errdisable recovery cause loop-detectionコマンドを使用して、ループ検知機能によってerr-disabled状態に変更されたポート/VLANの自動復旧を有効にできます。自動復旧設定を有効にすると、err-disabled状態に変更されたポート/VLANは、指定した時間の経過後に自動的に復旧します。以下に自動復旧の設定例を示します。
(config)# errdisable recovery cause loop-detection interval 300
指定した時間が経過して自動的に復旧しても、ループが解消されていない場合は再度ループを検知することに注意してください。
err-disabled状態に変更されたポートに対してshutdownコマンドを実行した後、no shutdownコマンドを実行することで、手動でポート/VLANを復旧できます。VLANベースモードで使用していてこの復旧方法を実施する際は、対象ポートがリンクダウン/リンクアップするため、対象ポートに所属するすべてのVLANに影響があることに注意してください。以下にコマンド実行例を示します。
(config)# interface port 1/0/1 (config-if-port)# shutdown (config-if-port)# no shutdown
ループ検知フレームのUntag形式変更オプション
以下のループ検知フレームは、デフォルトではVID=0のタグ付きフレーム形式で送信しますが、ループ検知フレームのUntag形式変更オプションを有効にすると、タグなしフレーム形式に変更できます。
- ポートベースモードの場合に送信するループ検知フレーム
- VLANベースモードで、タグなし形式のフレームを送信する設定のポート(アクセスポート、トランクポートのネイティブVLANなど)から送信するループ検知フレーム
ループ検知フレームのUntag形式変更オプションは、NP7000の1.10.01以降、NP5000の1.09.01以降、NP2500の1.12.01以降でサポートしています。
ループ検知フレームのUntag形式変更オプションを有効にするには、loop-detection frame-type untaggedコマンドを使用します。
notify-onlyオプション
notify-onlyオプションは、ループ検知による閉塞動作(ポート/VLANをerr-disabled状態に変更する動作)は行わずに、ログ/トラップの出力だけを行う場合に設定します。同一インターフェースでSTP/RSTP/MSTP/RPVST+機能、ERPS機能、MMRP-Plus機能、ポートリダンダント機能と併用する場合は、notify-onlyオプションを設定してください。
notify-onlyオプションを設定したインターフェースでループを検知すると、loop-detection intervalコマンドで設定した間隔(デフォルト設定は10秒)でログ/トラップが出力されます。
notify-onlyオプションを設定するには、loop-detection action notify-onlyコマンドを使用します。
no-check-srcオプション
no-check-srcオプションを設定すると、ループ検知フレームの送信元MACアドレスが自身の装置MACアドレスではなく他の装置のMACアドレスの場合でも、ループを検知します。no-check-srcオプションを設定することにより、ループは発生しないが、装置を跨いで好ましくない接続ミスをしてしまった場合などでも、検知することができるようになります。
no-check-srcオプションを設定するには、loop-detection no-check-srcコマンドを使用します。