L2スイッチング / UDLD
UDLD(UniDirectional Link Detection)は、UDLDプローブメッセージ(UDLD PDU)というフレームを使って、対向機器との間でフレームの到達性を監視する機能(RFC5171)です。
フレームの送信、もしくは受信が正しく行えない、Unidirectional(単一方向)のリンク状態を検出したとき、ポートを閉塞します。
オプションを設定することで、ポート閉塞後、一定期間を置いて閉塞状態を解除することができます。
本機能はデフォルトでは無効になっています。
UDLD動作機器同士の間に、UDLD非サポートのHUBやスイッチ製品を接続しないでください。
リンクアグリゲーション、LACPを設定しているポートでUDLDを併用する場合は、saX(スタティックチャンネルグループ)、poX(LACPチャンネルグループ)ではなく、port X.Y.Zに設定してください。
ポートセキュリティーとUDLDは併用できません。
UDLDの構成
UDLD機能の基本的な用語を解説します。
Directional-State
UDLDで検出される稼働状況(Directional-State)については、下表をご覧ください。
表 1
Unknown |
初期状態 |
Neighbor's echo is empty |
受信したUDLDプローブメッセージのNeighborキャッシュの内容がない場合 |
Bidirectional(双方向) |
対向機器との間で、イーサネットのTXポートからフレームを送信し、RXポートでフレームを受信できる状態 |
Unidirectional(単一方向) |
対向機器との間で、イーサネットのTXポートからフレームが送信できない、もしくは、RXポートでフレームを受信できない状態 |
Transmit-to-receive loop |
該当ポートで自身のUDLDプローブメッセージを受信した状態(対向機器からループバックしてしまった) |
Mismatch with neighbor state reported |
UDLD動作機器同士の間に、UDLD非サポートのHUBやスイッチ製品を接続して、接続ミスがある状態 |
Operational-State
UDLDの状態(Operational-State)には、以下の種類があり、処理の流れで遷移します。
表 2:Operational-State(フェーズ)
Inactive (Link down / Disabled port) |
UDLDが無効となっているか、ポートがリンクダウンしている状態 |
Link up |
ポートがリンクアップして、UDLDプローブメッセージを受信していない状態 |
Detection |
対向機器からUDLDプローブメッセージを受信して、UDLDの稼働状態がBidirectionalとなるまでの状態 |
Extended detection |
DetectionフェーズでNeighbor情報が収集できなかった場合の状態 |
Advertisement |
対向機器からUDLDプローブメッセージを受信しない状態 |
Advertisement - Single neighbor detected |
単一の対向機器との間で、Bidirectionalが確立した状態 |
Advertisement - MULTIPLE NEIGHBORS DETECTED |
複数の対向機器との間で、Bidirectionalが確立した状態(未サポート) |
UDLDのタイマー
UDLDで使用されるタイマーには、以下の種類があります。
表 3
メッセージインターバル |
対向機器にUDLDプローブメッセージを送信する間隔。デフォルトは15秒 |
ディテクションウィンドウ |
対向機器から最初にUDLDプローブメッセージを受信してから、Bidirectionalとなるまでに許容される間隔。5秒で固定 |
メッセージインターバルの設定値が有効となるのは、UDLDの稼働状況がBidirectionalで、状態がAdvertisementフェーズとなった場合のみであり、Link upおよびDetectionフェーズでは、設定値ではなく1秒間隔で送信します。また、稼働状況がBidirectionalでないときに、Advertisementフェーズとなった場合には、7秒間隔で送信します。
UDLDの基本動作
UDLD機能では、次の手順で対向機器との間で到達性を確認し、単一方向のリンクを検出した場合はポートを閉塞します。
Link upフェーズ
UDLDが有効となっているポートがリンクアップすると、1秒間隔でUDLDプローブメッセージを送信し始めます。
8回UDLDプローブメッセージを送信するまでの間に、対向機器からのUDLDプローブメッセージを受信できない場合は、Advertisementフェーズへ移行します。
対向機器からUDLDプローブメッセージを受信すると、Detectionフェーズへ移行します。
Detectionフェーズ
対向機器に対して、1秒間隔で5回(=ディテクションウィンドウ)、受信したプローブメッセージから抽出した情報を埋め込んだエコーメッセージを送信します。
ディテクションウィンドウの間に自分の情報が格納されているエコーメッセージを受信すると、ディテクションウィンドウ終了後、稼働状況をBidirectionalとし、Advertisementフェーズに移行します。
Extended detectionフェーズ
ディテクションウィンドウの間に自分の情報が格納されているエコーメッセージを受信できない場合、拡張ディテクションウィンドウが開始され、以後は7秒間隔でエコーを送信します。
拡張ディテクションウィンドウの間に空のエコーを受信するとUnidirectionalと判断し、該当ポートを閉塞します。
拡張ディテクションウィンドウに移行した後、対向機器から通知されるメッセージインターバルの3倍の時間が経過すると、Link upフェーズへ移行します。
Advertisementフェーズ
稼働状況がBidirectionalの場合、設定されたメッセージインターバルの間隔でUDLDプローブメッセージを送信し続けます。(ただし、Advertisementフェーズに移行した最初の 5回分は、7秒間隔で送信)
稼働状況がBidirectionalでない場合、7秒間隔でプローブメッセージを送信し続けます。
対向機器から送られてくるUDLDプローブメッセージに、自分の情報が含まれなくなった後、対向機器から通知されるメッセージインターバルの3倍の時間が経過すると、Link upフェーズへ移行します。
UDLDの動作モード
UDLDの動作モードにはノーマルモードとアグレッシブモードの2種類があり、一旦Bidirectionalが確立した後に、Unidirectionalのリンク状態を検出する処理が異なります。
UDLD機能がノーマルモードで動作しているときは、Extended detectionフェーズにおいて、拡張ディテクションウィンドウの間に空のエコーを受信することでUnidirectionalと判断し、ポートを閉塞します。
このため、対向機器のポートが送信も受信もできない状態の場合、Unidirectionalを検出することができません。
動作モードをアグレッシブモードに設定すると、Link upフェーズに移行後、1秒間隔で8回、UDLDプローブメッセージを送信し、その間に対向機器からUDLDプローブメッセージを受信できなかった場合、リンク状態はUnidirectionalと判断され、ポートを閉塞します。
このため、対向機器のポートが送信も受信もできない状態でも、Unidirectionalを検出できます。
アグレッシブモードが動作する条件として、一度、対向機器とのリンクがBidirectionalで確立した後、Link upフェーズに移行する必要があります。
UDLD機能の有効/無効
本製品でUDLD機能を使うには、UDLD機能を有効にする必要があります。
■ UDLD機能を有効にするには、udld portコマンドを使います。
awplus(config-if)# udld port ↓
■ 光スイッチポートのUDLD機能を有効にするには、udld enableコマンドを使います。
awplus(config)# udld enable ↓
■ UDLDの動作モードをアグレッシブモードに切り替えるには、udld aggressive-modeコマンドを使います。
awplus(config)# udld aggressive-mode ↓
■ UDLD機能を無効にするには、udld portコマンドをno形式で指定します。
awplus(config-if)# no udld port ↓
■ 光スイッチポートのUDLD機能を無効にするには、udld enableコマンドをno形式で指定します。
awplus(config)# no udld enable ↓
UDLDの各種設定
対向機器にUDLDプローブメッセージを送信する間隔や、Unidirectional検出によるポート閉塞の持続時間を変更する方法と、ポート閉塞状態を解除する方法を説明します。
■ 対向機器にUDLDプローブメッセージを送信する間隔(メッセージインターバル)は、udld time message-intervalコマンドで設定可能です。単位は秒で、デフォルトは15秒です。
awplus(config)# udld time message-interval 30 ↓
■ Unidirectional検出によるポート閉塞の持続時間は、udld time disable-periodコマンドで設定可能です。
awplus(config)# udld time disable-period 60 ↓
■ Unidirectional検出によるポート閉塞状態を解除するには、udld resetコマンドまたは、shutdownコマンドをno形式で使います。
awplus# udld reset ↓
awplus(config-if)# no shutdown ↓
EPSRとUDLDの併用
EPSRとUDLDを併用する場合、UDLDの有効設定後にEPSRの設定をする必要があります。
EPSR運用中にリング中の1箇所のみUDLDを有効にすると、UDLDパケットがループしてポートを閉塞してしまうためです。
その他
■ UDLD機能の各種情報を確認するには、show udldコマンド(グローバルコンフィグレーション、光スイッチポートの情報)、show udld portコマンド(全ポートの情報)、show udld neighborsコマンドを使います。
awplus# show udld ↓
awplus# show udld port ↓
awplus# show udld neighbors ↓
(C) 2016 - 2023 アライドテレシスホールディングス株式会社
PN: 613-003175 Rev.A