距離ベクトルルーティング:表が収束する

各ノードが「自分の距離表」を隣に教え合うだけで、ネットワーク全体の最短距離が反復で決まる様子を観察します。D_x(y) = min_v ( c(x,v) + D_v(y) )

距離ベクトル方式では、各ルータは隣接ノードまでのコストと、自分が知っている各宛先までの最短距離(距離ベクトル)だけを持ちます。
定期的に隣へ自分のベクトルを送り、受け取った側は ベルマン・フォードの更新 D_x(y) = min_v ( c(x,v) + D_v(y) ) で表を直します。これを繰り返すと、誰も全体地図を知らないのに表は正しい最短距離へ収束します。
ダイクストラ法が「全体を見て一発で最短経路を確定する」のに対し、ここで見るのは分散・反復・隣接交換という収束のダイナミクスです。リンクを切ると count-to-infinity(無限カウント) も再現できます。
2
1
7
3
表の更新があったセルは黄色で点滅します。 は「到達不能(または更新待ち)」を表します。
交換ラウンド数
0
状態
未収束
直近で更新されたセル
最大距離(∞検出)
ネットワーク(コスト付きリンク)
各ノードの距離ベクトル表(行=宛先, 列=距離 / 経由する隣接)
D_x(y) = min over neighbors v of [ c(x,v) + D_v(y) ]

いま何が起きている?

ここがポイント