距離矢量算法基於**矢量疊加原理**,將路由視為「目標 + 距離」的有向矢量。每台路由器從鄰居獲取矢量,疊加至鄰居的距離,形成自己的路由矢量。
設路由器 I 從鄰居 J 學到到達網絡 N 的矢量 (N, M2),I 到 J 的距離矢量為 (J, M1),則 I 到 N 的矢量為:
(N, M) = (N, M2) ⊕ (J, M1) 其中 M = M1 + M2
這就是貝爾曼-福特方程的分佈式實現:
D_i(N) = min_{j∈鄰居} [ C(i,j) + D_j(N) ]
D_i(N):節點 i 到目標 N 的最小代價C(i,j):i 到鄰居 j 的直接鏈路代價D_j(N):鄰居 j 宣告的到 N 的代價網絡 N ↑ | M2 (J→N) J ─── M1 (I→J) ─── I ↓ 矢量疊加:I 獲得 (N, M1+M2)
距離矢量算法雖古老,但其「局部信息交換、全局最優涌現」的分佈式智慧,至今仍啟發著 SDN 控制器、段路由等新架構設計。