距离矢量:算法过程 初始时每个节点都知道到自已直接邻居节点的距离,到其它节点 的距离被指定为无穷大 节点A的初始路由表 B 目的 距离 下一跳 B B C 1 C A C D 00 00 E E E F 1 F D G 00 00 F G 16
16 距离矢量:算法过程 ◼ 初始时每个节点都知道到自己直接邻居节点的距离,到其它节点 的距离被指定为无穷大 B C D A F E G 节点A的初始路由表 目的 距离 下一跳 B 1 B C 1 C D ∞ ∞ E 1 E F 1 F G ∞ ∞
距离矢量:算法过程 每个节点向它的所有直接邻居节点发送自己的所有路由表信息, 告诉邻居节点自己到其它节点的距离 ·A接收到邻居节点发送的路由表信息,则A计算通过该邻居到其它每 个节点的距离,如果该距离小于自己保存的路由表中到对应节点的 距离,则用该距离和邻居更新路由表 节点A的路由表 B 目的 距离 下一跳 B B C 1 C <A,1> A <B,1> C D 2 C <D,1> E E E F 1 F D G 2 F F G 17
17 距离矢量:算法过程 ◼ 每个节点向它的所有直接邻居节点发送自己的所有路由表信息, 告诉邻居节点自己到其它节点的距离 ◼ A接收到邻居节点发送的路由表信息,则A计算通过该邻居到其它每 个节点的距离,如果该距离小于自己保存的路由表中到对应节点的 距离,则用该距离和邻居更新路由表 B C D A F E G 节点A的路由表 目的 距离 下一跳 B 1 B C 1 C D ∞ ∞ E 1 E F 1 F GG ∞2 F∞ <A, 1> <B, 1> D 2 C <D, 1>
距离矢量:更新消息 在距离矢量算法中,节点通过发送更新 消息向直接邻居节点公告自己到其它每 个节点的距离 ■两种情况下会发送更新消息 ·定期更新:节点以一定的频率自动发送更新 消息 ·触发更新:每当一个节点从它的邻居节点接 收到导致改变路由表中一个路由而引发的更 新 18
18 距离矢量:更新消息 ◼ 在距离矢量算法中,节点通过发送更新 消息向直接邻居节点公告自己到其它每 个节点的距离 ◼ 两种情况下会发送更新消息 ◼ 定期更新:节点以一定的频率自动发送更新 消息 ◼ 触发更新:每当一个节点从它的邻居节点接 收到导致改变路由表中一个路由而引发的更 新
距离矢量:故障 故障发现机制 ·节点通过发送控制分组持续地检测到另一个节点的 链路,并且查看是否接收到确认 。 如果节点在最近几次更新周期中接收不到预期的定 期更新,则确定该链路(或者链路另一端的节点) 发生故障 故障处理 ·首先发现故障的节点发送更新消息给它的邻居节点, 其中到故障链路或者节点的距离为无穷大 19
19 距离矢量:故障 ◼ 故障发现机制 ◼ 节点通过发送控制分组持续地检测到另一个节点的 链路,并且查看是否接收到确认 ◼ 如果节点在最近几次更新周期中接收不到预期的定 期更新,则确定该链路(或者链路另一端的节点) 发生故障 ◼ 故障处理 ◼ 首先发现故障的节点发送更新消息给它的邻居节点, 其中到故障链路或者节点的距离为无穷大
距离矢量:故障实例 节点F发现它到G的链路发生故障 节点A的路由表 B 目的 距离 下一跳 B B C 1 C <G,2> D 2 C E 1 E E F F 6 D G 3 C F G 20
20 距离矢量:故障实例 ◼ 节点F发现它到G的链路发生故障 B C D A F E G 节点A的路由表 目的 距离 下一跳 B 1 B C 1 C D 2 C E 1 E F 1 F GG ∞32 CFF <G, 2>