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は、以前の検出方法で単一方向リンクを検出します。また、アグレッシブ モードの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がポートをシャットダウンします。
図 23-1 に、単一方向リンク状態の例を示します。
図 23-1 UDLDによる単一方向リンク検出
UDLDの設定
ここでは、スイッチにUDLDを設定する手順について説明します。具体的な設定情報は次のとおりです。
• 「UDLDのデフォルト設定」
• 「設定時の注意事項」
• 「UDLDのグローバルなイネーブル化」
• 「インターフェイスでのUDLDのイネーブル化」
• 「UDLDによりディセーブル化されたインターフェイスのリセット」
UDLDのデフォルト設定
表 23-1 に、UDLDのデフォルト設定を示します。
表 23-1 UDLDのデフォルト設定
|
|
UDLDグローバル イネーブル ステート |
グローバルにディセーブル |
ポート別のUDLDイネーブル ステート(光ファイバ メディア用) |
すべてのイーサネット光ファイバ ポートでディセーブル |
ポート別のUDLDイネーブル ステート(ツイストペア[銅]メディア用) |
すべての10/100および1000BASE-TXイーサネット ポートでディセーブル |
UDLDアグレッシブ モード |
ディセーブル |
設定時の注意事項
UDLD設定時の注意事項は次のとおりです。
• UDLDはATMポートではサポートされていません。
• UDLD対応ポートが別のスイッチのUDLD非対応ポートに接続されている場合は、このポートも単一方向リンクを検出できません。
• モード(標準またはアグレッシブ)を設定するときは、リンクの両側で同じモードが設定されていることを確認してください。
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プローブ メッセージの間隔を設定します。指定できる範囲は7~90秒です。
(注) グローバルなUDLD設定は、スイッチ スタックに加入するスイッチに自動的に適用されます。
(注) このコマンドは、光ファイバ ポートに対してのみ有効です。他のポート タイプでUDLDをイネーブルにするには、udldインターフェイス コンフィギュレーション コマンドを使用します。詳細については、「インターフェイスでの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 | disable } |
UDLDは、デフォルトでディセーブルに設定されています。
(注) スイッチ スタックに加入したスイッチでは、インターフェイス固有のUDLD設定が維持されます。
• udld port ― 指定したポート上で、標準モードでUDLDをイネーブルにします。 • udld port aggressive ― 指定したポート上で、アグレッシブ モードでUDLDをイネーブルにします。 • udld port disable ― 指定した光ファイバ ポート上でUDLDをディセーブルにします。このコマンドは、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 インターフェイス コンフィギュレーション コマンドを実行すると、ディセーブル化されたポートが再起動します。
• The no udld { aggressive | enable } グローバル コンフィギュレーション コマンドのあとに udld { aggressive | enable }グローバル コンフィギュレーション コマンドを実行すると、ディセーブル化されたポートが再びイネーブルになります。
• udld port disable インターフェイス コンフィギュレーション コマンドのあとに udld port [ aggressive ]インターフェイス コンフィギュレーション コマンドを実行すると、ディセーブル化された光ファイバ ポートが再びイネーブルになります。
• errdisable recovery cause udld グローバル コンフィギュレーション コマンドを実行すると、UDLD errdisableステートから自動的に回復するためのタイマーがイネーブルになります。また、 errdisable recovery interval interval グローバル コンフィギュレーション コマンドを実行すると、UDLD errdisableステートから回復する時間が指定されます。
UDLDステータスの表示
指定したポートまたはすべてのポートのUDLDステータスを表示するには、 show udld [ interface-id ] イネーブルEXECコマンドを使用します。
コマンド出力のフィールドについては、このリリースのコマンド リファレンスを参照してください。