ことなかれblog 備忘録

何事もなく無事でありますように

UDLD


○ UDLD (Uni-Directional Link Detection)

UDLDなんて、聞いたことあるくらいだったのですが、
業務で登場してきたので、ちょっとまとめ。
最後の考察で書きますが、最近のネットワークデザインでは使うことはないかも。

プロトコルの詳細な内容は以下がすごくまとまっているので、確認してください。
UDLDまとめ

□ UDLDとは
UDLD (Uni-Directional Link Detection)は、Ethernetの単一リンク(片Link)障害
をL2で検出するためのプロトコルです。
Auto-Negtiationで片リンク障害(RemoteFault)検出ができますが、あくまでも、PHYレベルでの検出です。
UDLDはL2Frameを送受信して検出するので、Linkがあがってるけど、送受信できない=サイレント故障
を検出できます。

□ UDLDの基本動作
LinkUpすると、UDLD PDUの送受信して、ネイバーを検出を検出します。
ネイバーが確立されると、Helloパケット(プローブ)を送信して、隣接状態を、確認しあいます。
Helloが受信できなくなると、障害とみなして、err-disableとなり、対向スイッチのLinkがDownします。

□ UDLDの設定 by cisco

* デフォルトではdisable # グローバルconfigで設定 (config)# udld [ enable | agressive ] (config)# udld messeage time "秒" # interface modeで設定 (config-if)# udld port [ agressive ] * normal-modeでは 対向が、受信できていない情報が入ったPDUを受信すると、err-disable * agressive-modeでは、対向からのPDUが受信できないのみの条件でerr-disable # UDLDのdisable化 (config)# no udld [ enable | agressive ] (config-if)# no udld port [ agressive ] * noコマンドでdisableした際に、flashのnotifyを投げて、ネイバーに隣接関係の解除させます。  なので、noコマンドでdisableをしたから、隣接がerr-disableに落ちることはありません。

□ UDLD フレーム UDLDはL2フレームフォーマットです。 Ciscoだと、Dst-MacにCDPと同じMAC"01-00-0c-cc-cc-cc"を使用しています。 L2Frameに直接Dataをのせるため、LLCにSNAPヘッダをつけて、L3フレームを模擬します。 通過する機器は、あくまでもL2フレームで、forwadingされます。 Dataで付与されるパラメータは以下です。 Device ID TLV・・・・・・・自身の機器ID Port ID TLV・・・・・・・・自身の送信port Echo TLV・・・・・・・・・ネイバーのDatabase Message Interval TLV・・・送信間隔 Timeout Interval TLV・・・ディクションウインドウの長さ Device Name TLV・・・・・host name Sequence Number TLV・・・シーケンス番号

# show udld neighbor

でこのあたりの情報が確認できます。 □ UDLDはいつ使うのか ここからが本題。 サイレント障害で、該当Linkを落としたい場合は、 迂回路があるので、Linkダウンさせて経路迂回させたい時かと。 考えられる迂回路は? ○L2 ・LinkAggregation → LACPでサイレント障害回避 ○L3 ・OSPF → keepaliveしてる ・BGP → keepaliveしてる です。 OSPF,BGPはそもそも上位Layer(L3)で動作しているので、 わざわざUDLDしなくてもいいように思う(というか無駄)。 (コンバージェンスに関してもそのプロトコルにあわせてtimerなどを調整するべきかと。) 別vlanにstaticで2経路みたいな構成だと、(間にスイッチかんでたりとか?)意味あるかも。 でもそれって、デザインが悪いじゃないかと思います。 □ UDLDの注意 UDLDは対向機器同士で設定するものですが、フレームのとおり、L2で透過してしまいます。

# R1 1/1 routed-port/udld aggresive/vrrp # R2 1/1 routed-port/udld aggresive/vrrp # L2 設定なし(native vlan) +------+ +------+ | R1 |-------| R2 | +------+ +------+ (1/1) (1/1) | | +------+ +------+ | L2 |-------| L2 | +------+ +------+ * こんなことすると、1/1 同士で、UDLD neigbhorがはれてしまいます。 R1/R2の1/1どちらかが落ちると、UDLDで対向もdownして、  VRRPの両系がおちるという悲惨な事故になるじゃないかと(検証してませんが)

(追記) 以降出会うことがないかもしれない。UDLD。貴重でした。 妄想ですが、あんまり運用されてない・枯れてない 異種ベンダ間で使用する場合は、検証MUSTのような気がします。


Categorised as: Ethernet



コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>