UDLD の設定
この章では、IE 3000 スイッチに Unidirectional Link Detection(UDLD; 単一方向リンク検出)プロトコルを設定する方法について説明します。
(注) この章で使用しているコマンドの構文および使用方法の詳細については、このリリースのコマンド リファレンスを参照してください。
この章で説明する内容は、次のとおりです。
• 「UDLD の概要」
• 「UDLD の設定」
• 「UDLD ステータスの表示」
UDLD の概要
UDLD は、光ファイバまたはツイストペア イーサネット ケーブルを通じて接続された装置がケーブルの物理設定をモニタしたり、単一方向リンクの存在を検出できるようにしたりするレイヤ 2 プロトコルです。このプロトコルで単一方向リンクを正しく識別してディセーブルにするためには、接続されたすべての装置で UDLD をサポートしている必要があります。UDLD は、単一方向リンクを検出すると、影響のあるポートをディセーブルにし、警告を発します。単一方向リンクは、スパニング ツリー トポロジ ループをはじめ、さまざまな問題を引き起こす可能性があります。
動作モード
UDLD は、2 つの動作モードをサポートしています。ノーマル モード(デフォルト)とアグレッシブ モードです。通常モードでは、UDLD は、光ファイバ接続において誤って接続されたポートによる単一方向リンクを検出できます。アグレッシブ モードでは、UDLD は、光ファイバおよびツイストペア リンクの単一方向トラフィックによる単一方向リンク、および光ファイバ リンクにおいて誤って接続されたポートによる単一方向リンクも検出できます。
通常モードとアグレッシブ モードで、UDLD はレイヤ 1 のメカニズムとともに動作し、リンクの物理ステータスを学習します。レイヤ 1 では、物理的シグナリングおよび障害検出は、自動ネゴシエーションによって処理されます。UDLD は、ネイバーの ID の検知、誤って接続されたポートのシャットダウンなど、自動ネゴシエーションでは実行不可能な処理を実行します。自動ネゴシエーションと UDLD の両方をイネーブルにすると、レイヤ 1 とレイヤ 2 の検知機能が連動し、物理的および論理的な単一方向接続、および他のプロトコルの誤動作を防止します。
単一方向リンクは、ローカルの装置が送信したトラフィックをネイバーが受信し、そのネイバーからのトラフィックをローカルの装置が受信していない場合に発生します。
通常モードでは、UDLD は光ファイバ ポートのファイバ ケーブルが正しく接続されていない場合や、レイヤ 1 のメカニズムによってこの誤接続が検出されない場合に単一方向リンクを検出します。ポートは正しく接続されているにもかかわらずトラフィックが単方向である場合、この状況を検出することになっているリンク 1 メカニズムが単一方向リンクを検出しないため、UDLD は単一方向リンクを検出しません。この場合、論理リンクは不定と見なされ、UDLD はポートをディセーブルにしません。
UDLD が通常モードのときに、対になっているファイバ ケーブルのどちらかの接続が切断された場合、自動ネゴシエーションがアクティブである限り、そのリンクは存続できません。これは、レイヤ 1 メカニズムがリンクにおける物理的な問題を検出するからです。この場合、UDLD は何も実行せず、論理リンクは不定と見なされます。
アグレッシブ モードでは、UDLD は前記の検出方法を使用して単一方向リンクを検出します。アグレッシブ モードの UDLD は、2 つの装置間の障害発生が許容されないポイントツーポイント リンクの単一方向リンクも検出することができます。また、次のいずれかの問題が発生した場合にも単一方向リンクを検出できます。
• 光ファイバまたはツイストペア リンクで、ポートの 1 つがトラフィックを送受信できない。
• 光ファイバまたはツイストぺア リンクで、ポートの 1 つがダウンし、残りのポートがアップ状態になっている。
• ファイバ ケーブルの 1 本が切れている。
このような場合、UDLD は影響のあるポートをディセーブルにします。
ポイントツーポイント リンクでは、UDLD hello パケットをハート ビートと見なすことができ、ハートビートがあればリンクは正常です。逆に、ハート ビートがないことは、双方向リンクを再確立できない限り、リンクはシャットダウンする必要があることを意味しています。
レイヤ 1 の観点から両方のファイバ ケーブルが正常な状態であれば、アグレッシブ モードの UDLD はそれらのファイバ ケーブルが正しく接続されているかどうか、およびトラフィックが正しいネイバー間で双方向に流れているかどうかを検出します。自動ネゴシエーションはレイヤ 1 で行われるので、このチェックは自動ネゴシエーションでは実行されません。
単一方向リンクを検出する方法
UDLD は次の 2 つのメカニズムを使用して動作します。
• ネイバー データベースのメンテナンス
UDLD は、アクティブなすべてのポートで hello パケット(アドバタイズまたはプローブとも呼ばれる)を定期的に送信して他の UDLD 対応ネイバーについて学習し、各装置がそのネイバーに関する情報を常に維持できるようにします。
スイッチは hello メッセージを受信すると、エージング タイム(ホールド タイムまたは存続可能時間)が経過するまで、その情報をキャッシュします。古いキャッシュ エントリの時間が経過する前に、スイッチが新しい hello メッセージを受信すると、古いエントリは新しいエントリで置き換えられます。
UDLD 実行中にポートがディセーブルになったり、UDLD がポートでディセーブになったり、またはスイッチがリセットされたりする場合は、UDLD は設定変更の影響を受けるポートの既存のキャッシュ エントリをすべて消去します。UDLD は、少なくとも 1 つのメッセージを送信して、ステータスの変更によって影響を受けるキャッシュの一部を消去するようにネイバーに伝えます。このメッセージはキャッシュの同期を維持するために使用されます。
• イベントドリブン検出とエコー
UDLD は、検出メカニズムとしてエコーを使用します。UDLD 装置が新しいネイバーを学習するか、または同期していないネイバーから再同期要求を受信すると、接続の UDLD 装置側の検出ウィンドウを再起動して、エコー メッセージを返送します。この動作はすべての UDLD ネイバーで同じであるため、エコーの送信側はエコーの返信を受信するよう待機します。
検出ウィンドウが終了し、有効な返信メッセージを受信しない場合、UDLD モードに応じてリンクがシャットダウンする場合があります。UDLD が通常モードの場合、リンクは不定と見なされて、シャットダウンされない場合があります。UDLD がアグレッシブ モードの場合、リンクは単一方向と見なされて、ポートはディセーブルになります。
通常モードの UDLD がアドバタイズまたは検出フェーズにあり、すべてのネイバーのキャッシュ エントリが期限切れになると、UDLD はリンクアップ シーケンスを再開して、同期されていない可能性のあるネイバーと再同期します。
アグレッシブ モードをイネーブルにしている場合に、ポートのすべてのネイバーがアドバタイズまたは検出フェーズで期限切れになると、UDLD はリンクアップ シーケンスを再開して、同期されていない可能性のあるネイバーと再同期します。メッセージを高速で送受信した後も、リンク ステータスが不定である場合、UDLD はポートをシャットダウンします。
図 33-1 に、単一方向リンク条件の例を示します。
図 33-1 単一方向リンクの UDLD 検出
UDLD の設定
ここでは、次の設定情報について説明します。
• 「UDLD のデフォルト設定」
• 「設定時の注意事項」
• 「UDLD のグローバルなイネーブル化」
• 「インターフェイスでの UDLD のイネーブル化」
• 「UDLD でディセーブルにされたインターフェイスのリセット」
UDLD のデフォルト設定
表 33-1 に、UDLD のデフォルト設定を示します。
表 33-1 UDLD のデフォルト設定
|
|
UDLD グローバル イネーブル ステート |
グローバルにディセーブル |
ポート別の UDLD イネーブル ステート(光ファイバ メディア用) |
すべてのイーサネット光ファイバ ポートでディセーブル |
ポート別の UDLD イネーブル ステート(ツイストペア(銅製)メディア用) |
すべてのイーサネット 10/100 および 1000BASE-TX ポートでディセーブル |
UDLD アグレッシブ モード |
ディセーブル |
設定時の注意事項
UDLD 設定時の注意事項を次に示します。
• UDLD は Asynchronous Transfer Mode(ATM; 非同期転送モード)ポートでサポートされません。
• UDLD 対応ポートが別のスイッチの UDLD 非対応ポートに接続されている場合は、このポートは単一方向リンクを検出できません。
• モード(ノーマルまたはアグレッシブ)を設定する場合は、リンクの両端に同じモードが設定されていることを確認してください。
注意 ループ ガードは、ポイントツーポイント リンクでだけ機能します。リンクの両端に、STP を実行している装置を直接接続することを推奨します。
UDLD のグローバルなイネーブル化
アグレッシブ モードまたは通常モードで UDLD をイネーブルにして、スイッチのすべての光ファイバ ポートに設定可能なメッセージ タイマーを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
udld { aggressive | enable | message time message-timer-interval } |
UDLD の動作モードを指定します。 • aggressive :すべての光ファイバ ポートで、アグレッシブ モードで UDLD をイネーブルにします。 • enable :スイッチのすべての光ファイバ ポートで、通常モードで UDLD をイネーブルにします。UDLD はデフォルトでディセーブルです。 個々のインターフェイス設定は、 udld enable グローバル コンフィギュレーション コマンドの設定よりも優先されます。 アグレッシブ モードと通常モードの詳細については、「動作モード」を参照してください。 • message time message-timer-interval :アドバタイズ フェーズにあり、双方向として検出されたポートでの UDLD プローブ メッセージ間の時間間隔を設定します。指定できる範囲は 1 ~ 90 秒です。デフォルト値は 15 です。 インターフェイス コンフィギュレーション コマンドを使用します。詳細については、「インターフェイスでの UDLD のイネーブル化」を参照してください。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show udld |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)設定をコンフィギュレーション ファイルに保存します。 |
UDLD をグローバルにディセーブルにするには、 no udld enable グローバル コンフィギュレーション コマンドを使用して、すべての光ファイバ ポートで通常モードの UDLD をディセーブルにします。すべての光ファイバ ポートでアグレッシブ モードの UDLD をディセーブルにするには、 no udld aggressive グローバル コンフィギュレーション コマンドを使用します。
インターフェイスでの UDLD のイネーブル化
UDLD をアグレッシブ モードまたは通常モードでイネーブルにするか、ポートで UDLD をディセーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
UDLD をイネーブルにするポートを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
udld port [ aggressive ] |
UDLD はデフォルトでディセーブルです。 • udld port :指定されたポートで、UDLD を通常モードで イネーブルにします。 • udld port aggressive :指定されたポートで、UDLD をアグレッシブ モードでイネーブルにします。 インターフェイス コンフィギュレーション コマンドを使用します。 アグレッシブ モードと通常モードの詳細については、「動作モード」を参照してください。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show udld interface-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)設定をコンフィギュレーション ファイルに保存します。 |
UDLD でディセーブルにされたインターフェイスのリセット
UDLD でディセーブルにされたすべてのポートをリセットするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
udld reset |
UDLD でディセーブルにされたすべてのポートをリセットします。 |
ステップ 2 |
show udld |
設定を確認します。 |
また、次のコマンドを使用してポートを復旧できます。
• shutdown インターフェイス コンフィギュレーション コマンドの後に no shutdown インターフェイス コンフィギュレーション コマンドを指定すると、ディセーブルになったポートが再起動します。
• no udld { aggressive | enable } グローバル コンフィギュレーション コマンドの後に udld { aggressive | enable } グローバル コンフィギュレーション コマンドを指定すると、ディセーブルになったポートが再度イネーブルになります。
• The no udld port インターフェイス コンフィギュレーション コマンドの後に udld port [ aggressive ] インターフェイス コンフィギュレーション コマンドを指定すると、ディセーブルになった光ファイバ ポートが再度イネーブルになります。
• errdisable recovery cause udld グローバル コンフィギュレーション コマンドを指定すると、タイマーが UDLD errdisable ステートから自動的に回復できます。また、 errdisable recovery interval interval グローバル コンフィギュレーション コマンドでは、UDLD errdisable ステートから回復する時間を指定します。
UDLD ステータスの表示
指定したポートまたはすべてのポートの UDLD ステータスを表示するには、 show udld [ interface-id ] 特権 EXEC コマンドを使用します。
コマンド出力のフィールドの詳細については、このリリースのコマンド リファレンスを参照してください。