Link Layer Topology Discovery (LLTD)
- Vista以降で標準搭載されたネットワークマップ作成のためのプロトコル.
- XP用も存在する模様.ただしマップ作成に協力はしても作成そのものは出来ない.Linux用デーモンのソースも存在する.
- 同一LANに所属する機器が協調してスイッチの学習Etherアドレスを操作しスイッチやハブ等の接続状態を推定する.
- LAN上のLLTDを解釈できる機器が少ない場合には作成されるマップも相応に粗くなる.
- 00:0d:3a(MicroSoft)などで始まる未登録のEtherアドレスの多数の個所での発生や接続ポートの切り替わりが数分の間に起きる.
- 最初にブロードキャストを用いてネットワークマップ作成に参加を呼びかける.呼かけられた方もブロードキャストでLLTDパケットを発信し,下準備を行う.LLTDブロードキャストを最初に始めた機器がネットワークマップ作成を指示した機器.
- ドメインに参加している場合標準ではLLTDは許可されないらしいが,一般の状態では自動的に参加するようになっており,要求された場合否応無くEtherアドレスの詐称を行うことになる.
- 企業内ではドメインコントロールを必ずしているため,このような詐称は問題になることはなく,ドメインコントロールを行わないとか,登録外のEtherアドレスの接続を許している方に落ち度があるらしい.
- ネットワークの設定がプライベートの場合しかマップ作成を指示することはできないよう制限がかけられているようだが,使役される側(レスポンダ)の制限はかかっていないらしい.
- 概略
- AとBが互いに検知用のEtherアドレスX,Y(00:0d:3a:f6:ebで始まる?)をソースアドレスとして,使用されていないEtherアドレス(00:0d:3a:d7:f1で始まる?)をデスティネーションとして発信し,各スイッチにX,Yを学習させる.
- X,Yを学習させるのにブロードキャストは使用しないらしい.
- A,Bと異るCがAのEtherアドレスXをソースアドレスとしBに向けたパケット(Yをデスティネーションとし,ブロードキャストではない)を発信.A,B,Cの経路が交わるスイッチS,およびSとCの間のスイッチの学習ポートを変更させ,XをデスティネーションとするパケットはCに向うようにする.
- AとBが互いに検知用のEtherアドレスX,Y(00:0d:3a:f6:ebで始まる?)をソースアドレスとして,使用されていないEtherアドレス(00:0d:3a:d7:f1で始まる?)をデスティネーションとして発信し,各スイッチにX,Yを学習させる.
A(X)--- S---B(Y) | C(X)
-
- LLTDのマップ作成に参加している機器は実EtherアドレスをソースとしてXをデスティネーションとするパケットを発信する.
- C-S-Bの間で合流する機器(E,F)の発信したパケットはCに到着するがSよりA側にいる機器(D)の発信したパケットはAに到着する.各機器はA-B間でSよりB側にいるかA側にいるかを知ることができる
F | A--+-- S----+--B | |--E D C