距离向量路由算法
距离向量路由算法简单版解释
-
初始状态
每个节点(如邮局)只知道直接邻居的路径费用:- 例:节点
x知道到邻居y费用2,到z费用7;节点y知道到x费用2,到z费用1,以此类推。
- 例:节点
-
第一次信息交换
- 所有节点把自己的路径表广播给邻居(比如
x告诉y和z:“我到自己的费用是0,到y是2,到z是7”)。 - 收到邻居的路径表后,更新自己的路径:
- 例:
x发现通过邻居y到z更便宜(x→y→z总费用=2+1=3),于是将到z的费用从7改为3。
- 例:
- 所有节点把自己的路径表广播给邻居(比如
-
第二次信息交换
- 只有路径表有变化的节点(如
x和z)再次广播新路径表。 - 其他节点检查后,发现没有更优路径,不再更新。
- 只有路径表有变化的节点(如
-
算法停止
- 当所有节点的路径表不再变化时,算法结束,网络进入稳定状态,每个节点都知道全局最优路径。
举个生活例子
想象三个村庄(x, y, z)互相通邮:
- 初始:各村只知道直接相邻村的邮路费用(如
x到y邮费2元)。 - 第一次通信:各村互相告知邮费表,
x发现通过y寄到z更便宜(总3元),于是更新自己的邮费表。 - 第二次通信:只有更新过的村(
x和z)再次通知邻居,其他村发现邮费没变,不再行动。 - 最终:所有村都掌握了全局最低邮费路径,寄信时自动选最省钱的路!
核心思想
- 本地信息+定期广播:每个节点只和邻居交换信息,逐步推导全局最优路径。
- 动态更新:发现更优路径立即修正,直到全网稳定。
- 简单高效:适合小型网络,但大型网络中可能收敛慢或产生环路(需额外机制解决)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TongZhuo's Blog!
评论
