この章では、Catalyst 2960 スイッチ上で 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 は、アクティブな各ポート上で Hello パケット(別名アドバタイズまたはプローブ)を定期的に送信して、他の UDLD 対応ネイバに関して学習し、各装置がネイバに関する情報を常に維持できるようにします。
スイッチが Hello メッセージを受信すると、エージング タイム(ホールド タイムまたは Time To Live [TTL])が経過するまで、情報をキャッシュします。古いキャッシュ エントリの期限が切れる前に、スイッチが新しい Hello メッセージを受信すると、古いエントリが新しいエントリで置き換えられます。
UDLD の稼働中にポートがディセーブルになったり、ポート上で UDLD がディセーブルになったり、またはスイッチをリセットした場合、UDLD は設定変更の影響を受けるポートの既存のキャッシュ エントリをすべて消去します。UDLD は、ステータス変更の影響を受けるキャッシュの一部をフラッシュするようにネイバに通知するメッセージを 1 つまたは複数送信します。このメッセージは、キャッシュを継続的に同期するためのものです。
UDLD は検出メカニズムとしてエコーを利用します。UDLD 装置が新しいネイバを学習するか、または同期していないネイバから再同期要求を受信すると、接続の UDLD 装置側の検出ウィンドウを再起動して、エコー メッセージを返送します。この動作はすべての UDLD ネイバに対して同様に行われるため、エコー送信側では返信エコーを受信するように待機します。
検出ウィンドウが終了し、有効な応答メッセージが受信されなかった場合、リンクは、UDLD モードに応じてシャットダウンされることがあります。UDLD が通常モードにある場合、リンクは不確定とみなされ、シャットダウンされない場合があります。UDLD がアグレッシブ モードにある場合は、リンクは単一方向とみなされ、ポートはディセーブルになります。
通常モードにある UDLD が、アドバタイズまたは検出段階にあり、すべてのネイバのキャッシュ エントリが期限切れになると、UDLD はリンク起動シーケンスを再起動し、未同期の可能性のあるネイバとの再同期を行います。
アグレッシブ モードをイネーブルにしていて、ポートのすべてのネイバがアドバタイズまたは検出段階で期限切れになると、UDLD はリンク起動シーケンスを再起動し、未同期の可能性のあるネイバとの再同期を行います。高速な一連のメッセージの送受信後に、リンク ステートが不確定のままの場合、UDLD はポートをシャットダウンします。
図24-1 に、単一方向リンク状態の例を示します。
図24-1 UDLD による単一方向リンクの検出
UDLD の設定
- ・ UDLD のデフォルト設定
- ・ 設定時の注意事項
- ・ UDLD のグローバルなイネーブル化
- ・ インターフェイス上での UDLD のイネーブル化
- ・ UDLD によってディセーブル化されたインターフェイスのリセット
UDLD のデフォルト設定
表24-1 に、UDLD のデフォルト設定を示します。
設定時の注意事項
- ・ UDLD は Asynchronous Transfer Mode(ATM; 非同期転送モード)ポート上ではサポートされていません。
- ・ UDLD 対応ポートが別のスイッチの UDLD 非対応ポートに接続されている場合は、このポートも単一方向リンクを検出できません。
- ・ モード(通常またはアグレッシブ)を設定する場合、リンクの両側に同じモードを設定します。
UDLD のグローバルなイネーブル化
スイッチ上のすべての光ファイバ ポート上で、アグレッシブ モードまたは通常モードで UDLD をイネーブルにして、設定可能なメッセージ タイマーを設定するには、イネーブル EXEC モードで次の手順を実行します。
|
udld { aggressive | enable | message time message-timer-interval } |
個々のインターフェイスの設定は、 udld enable グローバル コンフィギュレーション コマンドの設定を上書きします。 アグレッシブおよび通常モードの詳細については、 動作モード を参照してください。
|
|
UDLD をグローバルにディセーブルにするには、 no udld enable グローバル コンフィギュレーション コマンドを使用して、すべての光ファイバ ポート上で標準モードの UDLD をディセーブルにします。すべての光ファイバ ポート上でアグレッシブ モードの UDLD をディセーブルにする場合は、 no udld aggressive グローバル コンフィギュレーション コマンドを使用します。
インターフェイス上での UDLD のイネーブル化
ポート上で、UDLD をアグレッシブ モードまたは通常モードでイネーブルにするか、または UDLD をディセーブルにするには、イネーブル EXEC モードで次の手順を実行します。
アグレッシブおよび通常モードの詳細については、 動作モード を参照してください。 |
||
UDLD によってディセーブル化されたインターフェイスのリセット
UDLD によってディセーブルにされたすべてのポートをリセットするには、イネーブル EXEC モードで次の手順を実行します。
- ・ shutdown インターフェイス コンフィギュレーション コマンドに続けて no shutdown インターフェイス コンフィギュレーション コマンドを入力すると、ディセーブルのポートを再起動できます。
- ・ no udld { aggressive | enable } グローバル コンフィギュレーション コマンドに続けて udld { aggressive | enable } グローバル コンフィギュレーション コマンドを入力すると、ディセーブルのポートを再びイネーブルにできます。
- ・ 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 コマンドを使用します。
