ループ検知の機能説明
ループ検知機能を有効にすると、定期的にループ検知フレームを送信します。自装置が送信したループ検知フレームを受信した場合にループ障害が発生したと判断し、対象のポートまたはVLANでの通信を抑制して、ループ状態を解消します。さらに、ログやSNMPトラップでループ障害を検知したことを通知します。
ループ検知機能と各種スパニングツリー(xSTP)を同一インターフェース(ポート、ポートチャネル)上で併用する場合は、事前に対象インターフェースへloop-detection action notify-onlyコマンドを設定してください。
MMRP-Plusのリングポートでループ検知を有効にする場合は、loop-detection action notify-onlyコマンドを設定することを推奨します。
ループ検知例
ループが検知されると、ループ検知の動作モードにより、ポートまたはポートに割り当てられたVLANがerr-disabled状態になります。ループ検知の動作モードには、以下の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状態に変更されたポートのリンク状態は、show interfacesコマンドでは"link status is down (error disabled: Loop Detection)"と表示されます。また、show interfaces statusコマンドのStatus項目では"err-disabled"と表示されます。
VLANベースモードの動作
VLANベースモードでは、ループ検知を有効にしたポートから、ループ検知機能を有効にしているVLANすべてに対して、VLANタグが付与されたループ検知フレームが定期的に送信されます。
VLANベースモードのポートでのループ検知フレームの送信
誤って特定のVLANでループ状に接続した場合、同一装置でVLANタグが付与されたループ検知フレームを受信します。同一装置の同一VLANでループ検知フレームを受信すると、ループ検知フレームを受信したポートの対象VLANのみがerr-disabled状態になります。下図の場合、VLAN 2はerr-disabled状態になりますが、VLAN 1は利用できます。
VLANベースモードのポートでループを検知した場合
VLANベースモードに設定している場合、ループ検知フレームは1秒間に最大80個ずつVLANの数だけ送信されます。
装置でループ検知できるVLANの最大数は100個です。最大まで検知した場合、VLANのループ検知はできません。
ループ検知の動作モードが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 補 足
ポートベースモードの場合はVIDに0が設定されます。 | 4バイト |
イーサタイプ | 0x9000 | 2バイト |
データ部 | 送信ポート番号、VLAN ID、装置MACアドレスなど | - |
インターフェースの復旧
ループが検知されerr-disabled状態になったインターフェースは、shutdownコマンドとno shutdownコマンドを使用すると復旧できます。
(config)# interface port 1/0/1 (config-if-port)# shutdown (config-if-port)# no shutdown
errdisable recovery cause loop-detectionコマンドを使用して自動復旧を有効にしておくと、ループが検知されインターフェースがerr-disabled状態になっても、一定時間経過後に自動的に復旧されます。
(config)# errdisable recovery cause loop-detection interval 300
設定した時間が経過して自動的に復旧しても、ループが解消していない場合は再度ループを検知することに注意してください。
ループ検知フレームの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状態にする動作)は行わずに、ログ/トラップの出力だけを行う場合に設定します。冗長機能が動作しているインターフェースで併用する場合は、notify-onlyオプションを設定して併用することを推奨します。各種スパニングツリー(xSTP)が動作しているインターフェースでは、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コマンドを使用します。