要約

  • 光信号があることと、想定した対向ポートが同じ経路で応答したことは別の事実である。UDLD は Device-ID、Port-ID、Echo TLV を使い、後者の証拠を作る。
  • 通常モードは情報不足を undetermined のまま残す。Aggressive mode は、以前の双方向関係、保持期限切れ、最後の限定的な再試行という条件が揃ったときだけ、無音を保護的遮断へ変え得る。

二芯の光ファイバーは、見た目以上に巧妙な誤接続を作れる。送信芯は一台へ、受信芯は別の一台から来ていても、各受光部には光が届く場合がある。監視画面の「up」は物理層の問いには正しく答えているが、誰と双方向に接続しているのかまでは証明しない。

UDLD は隣接関係に別の受領証を加える。装置は自らの Device-ID と Port-ID を広告し、相手は同一インターフェースで実際に聞いた組を Echo TLV で返す。期待した身元が往復して初めて、二層の接続相手を確かめる材料になる。

ただし、その受領証にも射程がある。UDLD は制御プレーンで処理され、CPU の負荷、タスクスケジューリング、実装、タイマー、キャッシュの影響を受ける。全 VLAN、全フレーム長、キュー、転送エントリー、アプリケーション取引を試験するものではない。制御パケットの往復を、サービス配送全体の保証に拡張してはいけない。

隣接表はケーブルの写真ではない

UDLD は hello を周期的に送り、相手が示した holdtime の間だけ学習済み隣接を保持する。新しい有効な hello は行を更新してタイマーを戻す。インターフェースやプロトコルの停止、装置リセットは状態を消し、相手側にもフラッシュを求める。

従って show udld は「いまの配線」を直接見る窓ではない。最近受理したメッセージ、ローカル設定、時計から組み立てた状態機械の表示である。隣接行が存在するのはキャッシュ期間内に一度観測した証拠であり、閲覧時点でも経路が同じだとは限らない。

新しい隣接や再同期要求に対し、RFC は複数メッセージを送る。N 回送れば損失のある回線でも少なくとも一回は届く、という設計上の仮定である。全て届かなかったとき、その事実だけで断線、両方向障害、誤り率、duplex 不一致、CPU 遅延、対向 UDLD 無効、非対応機器のどれかを特定できるわけではない。

通常モードは空白を診断名で埋めない

通常モードはイベントを根拠に動く。受信したメッセージが正しい対応を示す場合も、明示的な Echo の矛盾を示す場合もある。一方、役立つ情報が来ない場合は、以前の双方向通信が失われても、状態を undetermined とする。

これは消極性ではなく、観測境界を守る態度である。Cisco の現在の資料も、高いエラー率や duplex mismatch で隣接情報が age out し得るため、パケット損失だけでは単方向リンクを意味しないと説明する。通常モードは、キャッシュが空になっただけで物理原因を発明せず、ポートも直ちには止めない。

代わりに運用側が不確実性を引き受ける。インターフェースカウンター、光パワー、対向ログ、STP の変化、データ面とアプリケーションのプローブを追加しなければならない。通常モードが守る可用性には、調査が遅れる可能性という価格がある。

Aggressive は原因ではなく損失関数を選ぶ

Aggressive mode の判断には履歴が必要だ。関係は以前に双方向と確認されていた。隣接証拠が期限切れになった。物理ポートが up のまま最後の回復プローブを送り、それでも関係が戻らない。そこで初めてポートを errdisable にできる。現在の該当 Cisco 実装資料は、一秒間隔の八回を説明している。

八回目の無音が原因を語るわけではない。それでも遮断を正当化できるのは、典型的には point-to-point のその接続で、隣接通信を失ったまま転送を続ける損失が、容量を外す損失より大きいと事前に決めたからだ。ループの拡大やブラックホールへの継続投入を止めるための fail-closed である。

errdisable は状態機械が動いた理由を残すが、現場で見つかる部品までは示さない。断線した芯、光モジュール、ASIC、制御プロセス、遠隔設定のどれが根因かは別の調査で確定する。「UDLD が単方向故障を証明した」という書き方は、運用方針を物理測定に見せかける。

STP との競争を後から消さない

UDLD の期限と再試行中にも、STP や RSTP はトポロジーを動かせる。Cisco の現行ガイダンスは、古典的 STP の固定的な時間計算だけでは、RSTP の転送変化より先に UDLD が作動する保証にならないと注意する。プラットフォーム、リリース、媒体、構成、障害時刻が競争の順序を変える。

事故記録には、carrier、最後に受理した hello、キャッシュ期限、各再同期プローブ、port disable、STP/RSTP role change、代替経路、アプリケーション回復を別々の時刻で残すべきだ。「UDLD が検出」は途中の一枚、「サービス回復」はさらに後の一枚で、相互に代用できない。

RFC 5171 の統治上の価値は、Aggressive が常に優秀だという主張ではない。同じ無音をいつ未知のまま保つか、どの条件で容量を犠牲にして封じ込めるかを、設定テンプレートではなく責任ある決定に戻した点にある。

出典