UDLDを究める:(5) UDLD のフレーム・フォーマット

UDLD のフレーム・フォーマットです。
a
udld-5-1.png



udld-5-2.png


MAC(IEEE 802.3)

宛先MAC アドレスは、CDP(Cisco Discovery Protocol)と同じ01-00-0c-cc-cc-cc です。
送信元MAC アドレスは、UDLD PDU を送信するポートのMAC アドレスを使います。



LLC(Logical Link Control)

DSAP、SSAP ともに、上位にSNAP ヘッダーが存在することを意味する0xaa が入ります。
Control フィールドには、Unnumbered Information を意味する0x03 が入ります。

※ DSAP(Destination Service Access Point)
※ SSAP(Source Service Access Point)



SNAP(Sub Network Access Protocol)

OUI にはCisco Systems を意味する0x00000c が入ります。
Type にはUDLD を意味する0x0111 が入ります。

※ OUI(Organizationally Unique Identifier)




UDLD

Version

バージョン1 を意味する001(2進数)が入ります。


Opcode

UDLD PDU の種類を意味します。
UDLD のOpcode(オプコード)は、Probe、Echo、Flush の3種類があります。

※ Probe は、Hello またはAdvertisement とも呼ばれます。

各オプコードの詳細については後述します。


Flags

状況に応じて立てるフラグです。
UDLD のフラグには、RT(Recomended Timeout)とRe-Synch の2種類があります。

各フラグの詳細については後述します。


TLVs

UDLD では、各種パラメータの表記にTLV 方式を採用しています。

※ TLV(Type Length and Value Encoding)

UDLD で使うTLV は以下の7種類です。

    • Device ID TLV
    • Port ID TLV
    • Echo TLV
    • Message Interval TLV
    • Timeout Interval TLV
    • Device Name TLV
    • Sequence Number TLV


Device ID TLV

udld-5-3.png

udld-5-4.png

UDLD PDU を送信する機器のDevice ID が格納されます。Catalyst2950、3550 の場合、シリアル・ナンバーが入ります。



Port ID TLV

udld-5-5.png

udld-5-6.png

UDLD PDU を送信するポートの名前が格納されます。GigabitEthernet 0/1 の場合、Ge0/1 となります。



Echo TLV

udld-5-7.png

udld-5-8.png

UDLD ネイバー・データベースの内容、つまり、このUDLD PDU を送信する機器が、それまでに受信したUDLD PDU から抽出した情報が格納されます。

UDLD を有効にしているポートは、通常、対向機器は1 台だけだと想定しています。しかし、シェアード・ハブやUDLD に対応していないLAN スイッチを経由して複数台のUDLD 対応機器が接続されている場合、対向機器が2 台以上になることもあります(もちろん、誤った構成です)。

対向機器が複数台ある場合は、全ての対向機器の情報がEcho TLVに格納されます。


# of Port ID

自身の認識している対向機器の台数(ポート数)


Device IDs / Port IDs

受信したUDLD PDU から抽出した、対向機器のDevice ID とPort ID が格納されます。このフィールドの内容は、次のようなフォーマットとなっています。


udld-5-9.png


udld-5-10.png



Message Interval TLV

udld-5-11.png

udld-5-12.png

UDLD PDU を送信する間隔です。



Timeout Interval TLV

udld-5-13.png

udld-5-14.png

ディテクション・ウィンドウの長さです。

※ ディテクション・ウィンドウについては後述します。



Device Name TLV


udld-5-15.png


udld-5-16.png

hostname コマンドで設定した、機器の名前が格納されます。



Sequence Number TLV

udld-5-17.png

udld-5-18.png

UDLD PDU が送信された順番を意味するシーケンス番号が格納されます。