この章では、Catalyst 3550 スイッチに Unidirectional Link Detection(UDLD; 単一方向リンク検出)プロトコルを設定する方法について説明します。
- ・ UDLD の概要
- ・ UDLD の設定
- ・ UDLD ステータスの表示
UDLD の概要
UDLD は、光ファイバまたはツイストペア イーサネット ケーブルで接続されたデバイスが、ケーブルの物理構成をモニタしたり、単一方向リンクの存在を検出することを可能にするレイヤ 2 プロトコルです。プロトコルが正常に単一方向リンクを識別してディセーブルにするためには、接続されたすべてのデバイスが UDLD をサポートする必要があります。UDLD は、単一方向リンクを検出すると、対象となるポートを管理上シャットダウンして警告します。単一方向リンクは、スパニングツリー トポロジーのループなど、さまざまな問題を引き起こすことがあります。
動作モード
UDLD は、次の動作モードをサポートします。通常モード(デフォルト)およびアグレッシブ モードです。通常モードでは、UDLD は 光ファイバ接続上で 誤って接続されたインターフェイス によって生じる単一方向リンクを検出できます。アグレッシブ モードでは UDLD は、光ファイバ上の単一方向トラフィック用の 単一方向リンクと、光ファイバ リンク上で 誤って接続されたインターフェイスのツイストペア リンク を検出することもできます。
通常モードおよびアグレッシブ モードでは、UDLD は、レイヤ 1 メカニズムと連動して、リンクの物理ステータスを判別します。レイヤ 1 では、物理的シグナリングおよび障害検出は、自動ネゴシエーションによって処理されます。UDLD は、ネイバのアイデンティティの検出、誤って接続されたインターフェイスのシャットダウンなど、自動ネゴシエーションでは実行不可能な処理を実行します。自動ネゴシエーションと UDLD の両方をイネーブルにすると、レイヤ 1 とレイヤ 2 の検出機能が連動し、物理的および論理的な単一方向接続、およびその他のプロトコルの誤動作を防止します。
単一方向リンクが発生するのは、ローカル デバイスが送信したトラフィックをネイバが受信するのに対して、ネイバから送信されたトラフィックをローカル デバイスが受信しない場合です。
通常モードでは、光ファイバ インターフェイスのファイバ ストランドが誤って接続され、レイヤ 1 メカニズムがこの誤接続を検出しないときに、UDLD が 単一方向リンクを検出します。インターフェイスは正しく接続されていてもトラフィックが単一方向の場合、この状態を検出するはずのレイヤ 1 メカニズムが検出しないので、UDLD は 単一方向リンクを検出しません。この場合、論理リンクは不定であるとみなされ、UDLD はインターフェイスをディセーブルにしません。
UDLD が通常モードのとき、ペアであるファイバ ストランドの 1 つが切断され、自動ネゴシエーションがアクティブの場合、レイヤ 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 は 1 つまたは複数のメッセージを送信して、ネイバに、ステータス変更によって影響を受けたキャッシュの部分をフラッシュするよう通知します。このメッセージは、キャッシュの同期を維持するためのものです。
UDLD は、検出メカニズムとしてエコーを使用しています。UDLD デバイスが新しいネイバについて学習するか、または非同期ネイバから再同期要求を受信すると、接続側で検出ウィンドウを再起動してエコー メッセージを返信します。すべてのUDLDネイバで同じ動作をするので、エコーの送信側は返信エコーの受信を予測します。
検出ウィンドウが終了して有効な応答メッセージを受信しなかった場合、UDLD モードによってはリンクがシャットダウンすることがあります。UDLD が通常モードのとき、リンクは不定であるとみなされシャットダウンされない可能性があります。UDLD がアグレッシブ モードのとき、リンクは単一方向であるとみなされインターフェイスがシャットダウンします。
通常モードの UDLD がアドバタイズまたは検出フェーズにあり、すべてのネイバ キャッシュ エントリが期限切れになった場合、UDLD は同期のとれていない可能性のあるネイバと再び同期するためにリンクアップ シーケンスを再開します。
アドバタイズまたは検出フェーズのいずれかですべてのポートのネイバが期限切れになったときにアグレッシブ モードをイネーブルにした場合、UDLD は同期のとれていない可能性のあるネイバと再び同期するためにリンクアップ シーケンスを再開します。メッセージが高速で送信されたあとでリンク ステートがまだ不定の場合、UDLD はポートをシャットダウンします。
図24-1 に、単一方向リンク状態の例を示します。
図24-1 単一方向リンクの UDLD 検出
UDLD の設定
ここでは、スイッチにUDLDを設定する手順について説明します。具体的な設定情報は次のとおりです。
- ・ UDLD のデフォルト設定
- ・ 設定時の注意事項
- ・ UDLD のグローバルなイネーブル化
- ・ インターフェイスでの UDLD のイネーブル化
- ・ UDLD によりシャットダウンされたインターフェイスのリセット
UDLD のデフォルト設定
表24-1 に、UDLD のデフォルト設定を示します。
設定時の注意事項
- ・ 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 モードで次の手順を実行します。
|
aggressive キーワードを入力しない場合、スイッチは通常モードの UDLD をイネーブルにします。 光ファイバ インターフェイスでは、このコマンドは udld enable グローバル コンフィギュレーション コマンドより優先されます。 アグレッシブおよび通常モードの詳細については、 動作モード を参照してください。 |
||
光ファイバ以外のインターフェイスで UDLD をディセーブルにするには、 no udld port インターフェイス コンフィギュレーション コマンドを使用します。
光ファイバ インターフェイスで UDLD をディセーブルにするには、 no udld port インターフェイス コンフィギュレーション コマンドを使用します。
UDLD によりシャットダウンされたインターフェイスのリセット
UDLD によってシャットダウンされたすべてのインターフェイスをリセットするには、イネーブル EXEC モードで次の手順を実行します。
次のコマンドを使用してインターフェイスを起動することもできます。
- ・ shutdown インターフェイス コンフィギュレーション コマンドのあとに no shutdown インターフェイス コンフィギュレーション コマンドを実行すると、ディセーブル化されたインターフェイスが再起動します。
- ・ no udld { aggressive | enable } グローバル コンフィギュレーション コマンドのあとに、 udld { aggressive | enable } グローバル コンフィギュレーション コマンドを実行すると、UDLD が再度グローバルにイネーブルになります。
-
・
no
udld port
インターフェイス コンフィギュレーション コマンドのあとに、
udld
port
[ aggressive ] インターフェイス コンフィギュレーション コマンドを実行すると、指定されたインターフェイスの UDLD が再度イネーブルになります。 - ・ errdisable recovery cause udld グローバル コンフィギュレーション コマンドにより、タイマーは UDLD エラーディセーブル ステートから自動回復できるようになり、 errdisable recovery interval interval グローバル コンフィギュレーション コマンドにより、UDLD エラーディセーブル ステートからの回復時間を指定します。
UDLD ステータスの表示
指定したインターフェイスまたはすべてのインターフェイスの UDLD ステータスを表示するには、 show udld [ interface-id ] イネーブル EXEC コマンドを使用します。
