ネットワークエンジニアになろう! > UDLD を究める > UDLD を究める (9)UDLD のアルゴリズム(1)ネイバー関係の確立

この記事は、改訂&リニューアルして『P はプロトコルのP - UDLD を究める』へ移転しました。

UDLD を究める (9)UDLD のアルゴリズム(1)ネイバー関係の確立

ポートがリンクアップしてから、Bidirectional となるまでの流れを見ていきます。

UDLD ネイバー関係の確立

Link Up フェイズ


ポートがリンクアップすると、1秒間隔でProbe(Hello、Advertisement) を送信し始めます。

このときのUDLD PDU に含まれる内容は以下のとおりです。

Catalyst-A、B ともに

    Opcode = 00001 (Probe)
    RT bit = 1
    RSY bit = 1
    Device ID TLV = 自分のDevice ID
    Port ID TLV = このUDLD PDU を送信しているポートの番号
    Echo TLV = 空
    Message Interval = 7
    Timeout Interval = 5
    Device Name TLV = 自分に設定されたhostname

8回Probe を送信するまでの間に(8秒間)、対向機器からのUDLD PDU を受信できない場合、以後は7秒間隔でProbe の送信を続けます。
(Probe のフォーマットは、RSY ビットが0となる以外は、1秒間隔の時と同じです)

対向機器からUDLD PDU を受信すると、Detection フェイズへ移行します。


Detection フェイズ


Detection フェイズに移行すると、5秒間(Timeout Interval)、Echo を1秒間隔で送信します。

この5秒間をディテクションウィンドウと呼び、この間に、自分の情報が格納されているEcho を対向機器から受信することが期待されます。

このときのUDLD PDU に含まれる内容は以下のとおりです。

Catalyst-A、B ともに

    Opcode = 00010 (Echo)
    RT bit = 1
    RSY bit = 0
    Device ID TLV = 自分のDevice ID
    Port ID TLV = このUDLD PDU を送信しているポートの番号
    Echo TLV = 受信したUDLD PDU から抽出したDevice ID/Port ID
    Message Interval = 7
    Timeout Interval = 5
    Device Name TLV = 自分に設定されたhostname

ディテクションウィンドウの間に、自分の情報がEcho TLV に格納されているUDLD PDU を受信すると、UDLD State をBiDirectional とし、Advertisement フェイズへ移行します。

受信したEcho TLV に自分の情報が格納されているということは、送信したUDLD PDU が対向機器に到達できている事を意味し、フレームが送受信ともに正常であるとみなされます。

ディテクションウィンドウの間に、自分の情報がEcho TLV に格納されているUDLD PDU を対向機器から受信できない場合、拡張ディテクションウィンドウ(Extended Detection Window)が開始され、以後はProbe をMessage Interval (= 7秒)の間隔で送信します。

拡張ディテクションウィンドウの間に空のEcho TLV を持つUDLD PDU を対向機器から受信すると、UniDirectionalであると判断し、Flush を送信の後そのポートをErrDisable とします

通常は、リンクアップ直後に拡張ディテクションウィンドウが始まることはなく、Advertisement フェイズへ移行します。
拡張ディテクションウィンドウが必要になるのは、一旦Bidirectional となってから、不具合を検知するときです。


Advertisement フェイズ


UDLD State がBidirectional になると、Advertisement フェイズへ移行します。
以後は、自分に設定されたMessage Interval(デフォルトは15秒)の間隔で、Probe を送信し続けます。

このときのUDLD PDU に含まれる内容は以下のとおりです。

Catalyst-A、B ともに

    Opcode = 00001 (Probe)
    RT bit = 1
    RSY bit = 0
    Device ID TLV = 自分のDevice ID
    Port ID TLV = このUDLD PDU を送信しているポートの番号
    Echo TLV = 受信したUDLD PDU から抽出したDevice ID/Port ID
    Message Interval = 15
    Timeout Interval = 5
    Device Name TLV = 自分に設定されたhostname



UDLD を究める (1) はじめに
UDLD を究める (2)Bidirectional とUnidirectional
UDLD を究める (3)UDLD とAuto Negotiation
UDLD を究める (4)UDLD の基本動作
UDLD を究める (5)UDLD のパケットフォーマット
UDLD を究める (6)UDLD のタイマー
UDLD を究める (7)Bidirectional State
UDLD を究める (8)Operartional State
UDLD を究める (9)UDLD のアルゴリズム(1)ネイバー関係の確立
UDLD を究める(10)UDLD のアルゴリズム(2)Unidirectional を検知する
UDLD を究める(11)UDLD アグレッシブモード
UDLD を究める(12)UDLD ノーマルモードとアグレッシブモードの互換性
UDLD を究める(13)設定用コマンド
UDLD を究める(14)show コマンド
UDLD を究める(15)UDLD のデバッグ(1)ネイバー関係の確立
UDLD を究める(16)UDLD のデバッグ(2)Unidirectional を検知する
UDLD を究める(17)UDLD のテスト環境を構築する
UDLD を究める(付録) UDLD の状態遷移を時系列で観察する


ネットワークエンジニアになろう!のトップページへ戻る
サイト内検索
無料メールマガジン「英語でネットワークエンジニア」
マニュアルやRFCを読むのに必要なのは、高度な文法知識ではなく語彙力です。毎回一単語、例文と解説に技術情報を併せてお届けします. (マガジンID:0000181633)
メールアドレス:
Powered by
This website is powered by Movable Type 3.2 Smartnetworks.jp.