UDLD の設定
この章では、Catalyst 3750スイッチに UniDirectional Link Detection(UDLD; 単一方向リンク検出)プロトコルを設定する方法について説明します。特に明記しないかぎり、 スイッチ という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。
(注) この章で使用されるコマンドの構文および使用方法の詳細については、このリリースのコマンド リファレンスを参照してください。
この章で説明する内容は、次のとおりです。
• 「UDLD の概要」
• 「UDLD の設定」
• 「UDLD ステータスの表示」
UDLD の概要
UDLD は、光ファイバまたはツイストペア イーサネット ケーブルで接続されたデバイスが、ケーブルの物理構成をモニタしたり、単一方向リンクの存在を検出することを可能にするレイヤ 2 プロトコルです。プロトコルが正常に単一方向リンクを識別してディセーブルにするためには、接続されたすべてのデバイスが UDLD をサポートする必要があります。UDLD は、単一方向リンクを検出すると、対象となるポートをディセーブルにして警告します。単一方向リンクは、スパニングツリー トポロジーのループなど、さまざまな問題を引き起こすことがあります。
動作モード
UDLD は、標準(デフォルト)モードおよびアグレッシブ モードの 2 種類の動作モードをサポートします。標準モードでは、UDLD は光ファイバ接続で誤って接続されたポートによる単一方向リンクを検出できます。アグレッシブ モードでも、UDLD は光ファイバおよびツイストペア リンクの一方向のトラフィック、および光ファイバ リンクで誤って接続されたポートによる、単一方向リンクを検出できます。
標準モードおよびアグレッシブ モードで、UDLD はレイヤ 1 メカニズムと連動して、リンクの物理ステータスを学習します。レイヤ 1 では、物理的シグナリングおよび障害検出は、自動ネゴシエーションによって処理されます。UDLD は、ネイバのアイデンティティの検出、誤って接続されたポートのシャットダウンなど、自動ネゴシエーションでは実行不可能な処理を実行します。自動ネゴシエーションと UDLD の両方をイネーブルにすると、レイヤ 1 とレイヤ 2 の検出機能が連動し、物理的および論理的な単一方向接続、および他のプロトコルの誤動作を防止します。
単一方向リンクが発生するのは、ローカル デバイスが送信したトラフィックをネイバが受信するのに対して、ネイバから送信されたトラフィックをローカル デバイスが受信しない場合です。
標準モードの UDLD は、光ファイバ ポートのファイバ ストランドが誤接続され、レイヤ 1 メカニズムがこの誤接続を検出できない場合に、単一方向リンクを検出します。ポートが適切に接続されていてもトラフィックが一方向の場合、この状態を検出するはずのレイヤ 1 メカニズムが検出を行わないため、UDLD は単一方向リンクを検出しません。この場合、論理リンクは不明となり、UDLD はポートをディセーブルにしません。
UDLD が標準モードのときに、1 組のファイバ ストランドの 1 つが切断され、自動ネゴシエーションがアクティブの場合、レイヤ 1 メカニズムがリンクの物理的問題を検出しなかったため、リンクは維持されなくなります。この場合、UDLD はまったく処理を行わず、論理リンクは不明となります。
アグレッシブ モードの UDLD は、以前の検出方法で単一方向リンクを検出します。また、2 つのデバイス間での障害が許されない、ポイントツーポイントリンク上での単一方向リンクも検出できます。また、次のいずれかの問題がある場合も単一方向リンクを検出できます。
• 光ファイバまたはツイストペア リンクで、ポートの 1 つがトラフィックの送受信が不可能な場合
• 光ファイバまたはツイストペア リンクで、ポートの 1 つがダウン状態で、他のインターフェイスはアップである場合
• ケーブルのファイバ ストランドの 1 つが、切断されている場合
このような場合、UDLD は影響されるポートをディセーブルにします。
ポイントツーポイント リンクでは、UDLD hello パケットの存在は、リンクのヘルスを保証するハート ビートとみなされます。逆にハート ビートの損失は、双方向リンクを再確立できない場合に、リンクをシャットダウンする必要があることを意味します。
レイヤ 1 から見てケーブルの両方のファイバ ストランドが正常に動作していれば、アグレッシブ モードの UDLD は、それらのファイバ ストランドが正しく接続されているかどうか、トラフィックが正しいネイバ間で双方向に流れているかどうかを検出します。自動ネゴシエーションはレイヤ 1 で動作するので、この検出は自動ネゴシエーションでは不可能です。
単一方向リンクの検出方法
UDLD は、次の 2 つのメカニズムで動作します。
• 近接データベースのメンテナンス
UDLD は、すべてのアクティブ ポートで hello パケット(別名アドバタイズまたはプローブ)を定期的に送信して、他の UDLD 対応ネイバについて学習し、各デバイスがネイバに関しての最新情報を維持できるようにします。
スイッチは hello メッセージを受信すると、エージングタイム(ホールドタイムまたは Time to Live[TTL])が満了するまで、情報をキャッシュします。古いキャッシュ エントリの期限満了までに新しい hello メッセージを受信した場合、スイッチは古いエントリを新しいものと置き換えます。
UDLD の稼働中にポートをディセーブルにしたり、ポートで UDLD をディセーブルにしたり、もしくはスイッチをリセットした場合はいつでも、設定変更によって影響を受けたポートの既存のキャッシュ エントリがすべて消去されます。UDLD は 1 つまたは複数のメッセージを送信して、ネイバに、ステータス変更によって影響を受けたキャッシュの部分をフラッシュするよう通知します。このメッセージは、キャッシュの同期を維持するためのものです。
• イベント駆動型検出およびエコー
UDLD は、検出メカニズムとしてエコーを使用しています。UDLD デバイスが新しいネイバについて学習するか、または非同期ネイバから再同期要求を受信すると、接続側で検出ウィンドウを再起動してエコー メッセージを返信します。すべての UDLD ネイバで同じ動作をするので、エコーの送信側は返信エコーの受信を予測します。
検出ウィンドウが終了して有効な応答メッセージを受信しなかった場合、UDLD モードに応じて、リンクはシャットダウンします。UDLD が標準モードのときは、リンクは不明で、シャットダウンされません。UDLD がアグレッシブ モードのときは、リンクは単一方向であるとみなされ、ポートはディセーブルになります。
標準モードの UDLD がアドバタイズ フェーズまたは検出フェーズにあり、すべてのネイバ キャッシュ エントリが無効である場合、UDLD はリンクアップ シーケンスを再起動して、同期していない可能性のあるネイバとの同期化を再度行います。
ポートのすべてのネイバが、アドバタイズまたは検出フェーズのいずれかで無効であるときに、アグレッシブ モードをイネーブルにした場合、UDLD はリンクアップ シーケンスを再起動して、同期していない可能性のあるネイバとの同期化を再度行います。高速メッセージ列のあと、リンク ステートがまだ不明の場合は、UDLD がポートをシャットダウンします。
図27-1 に、単一方向リンク状態の例を示します。
図27-1 UDLD による単一方向リンク検出
UDLD の設定
ここでは、次の設定について説明します。
• 「UDLD のデフォルト設定」
• 「設定時の注意事項」
• 「UDLD のグローバルなイネーブル化」
• 「インターフェイスでの UDLD のイネーブル化」
• 「UDLD によりディセーブル化されたインターフェイスのリセット」
UDLD のデフォルト設定
表27-1 に、UDLD のデフォルト設定を示します。
表27-1 UDLD のデフォルト設定
|
|
UDLD グローバル イネーブル ステート |
グローバルにディセーブル |
ポート別の UDLD イネーブル ステート(光ファイバ メディア用) |
すべてのイーサネット光ファイバ ポートでディセーブル |
ポート別の UDLD イネーブル ステート(ツイストペア[銅] メディア用) |
すべての 10/100 および 1000BASE-TXイーサネット ポートでディセーブル |
UDLD アグレッシブ モード |
ディセーブル |
設定時の注意事項
UDLD 設定時の注意事項は次のとおりです。
• UDLD は Asynchronous Transfer Mode(ATM; 非同期転送モード)ポートではサポートされていません。
• UDLD 対応ポートが別のスイッチの UDLD 非対応ポートに接続されている場合は、このポートも単一方向リンクを検出できません。
• モード(標準またはアグレッシブ)を設定するときは、リンクの両側で同じモードが設定されていることを確認してください。
UDLD のグローバルなイネーブル化
アグレッシブ モードまたは標準モードで UDLD をイネーブルにし、スイッチおよびスイッチ スタック内のすべてのメンバーのすべての光ファイバ ポートに設定可能なメッセージ タイマーを設定するには、イネーブル EXEC モードで次の手順を実行します。
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
udld { aggressive | enable | message time message-timer-interval } |
ステップ 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 設定が維持されます。
• udld port ― 指定したポートにおいて、標準モードで UDLD をイネーブルにします。 • udld port aggressive ― 指定したポートにおいて、アグレッシブ モードで UDLD をイネーブルにします。
(注) 指定された光ファイバ ポート上で UDLD をディセーブルにするには、no udld portインターフェイス コンフィギュレーション コマンドを使用します。
アグレッシブ モードおよび標準モードの詳細については、「動作モード」を参照してください。 |
ステップ 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 }グローバル コンフィギュレーション コマンドを実行すると、ディセーブル化されたポートが再びイネーブルになります。
• 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 コマンドを使用します。
コマンド出力のフィールドの詳細ついては、このリリースのコマンド リファレンス を参照してください。