この章では、Catalyst 3550スイッチにUnidirectional Link Detection(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はポートをシャットダウンします。
図23-1 に、単一方向リンク状態の例を示します。
図23-1 単一方向リンクのUDLD検出
UDLDの設定
ここでは、スイッチにUDLDを設定する手順について説明します。具体的な設定情報は次のとおりです。
UDLDのデフォルト設定
表23-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コマンドを使用します。
