计算机网络网络层之路由算法2链路状态路由算法

系列文章目录

第九章计算机网络之网络层之路由算法2链路状态路由算法


二、链路状态路由算法

网络抽象:图

在这里插入图片描述

链路状态路由算法

每个路由器构建链路状态分组并且广播出去。
链路状态分组包含:与该路由器直接相连的路由的路由ID(如IP地址)和该路由直接相连的链路费用,广播出去。
广播:在链路状态算法里面是通过扩散(泛洪式),将该分组发送给所以邻居,邻居再发送给邻居,直到所有路由收集完全部分组构成完整的网络拓扑。
c(x,y)有物理链路直接相连费用则为权值,没有就置为无穷大。
D(v):可能是最短路径也可能不是,费用值(总路费用和)
P(v):A-B-C-D P(D)=C
在这里插入图片描述

Dijkstra算法

目的是找到原到目的最短路径或者通过其他路由转发那个最短路径的路由接口
初始化:以u为例
到达w路径的最短路径没有找到:
在目前到达这些(w)结点除了找到最短路径(在N’中),没找到最短路径(不在N’中的)中的所有结点中,到达W的DW值最小的,满足该条件,则该路径就是到达W的最短路径。

在这里插入图片描述

Dijkstra算法:例1

Step0:初始化
找到不在当前N’所有结点,那个结点到u费用路径最小,v,w,x,y,z都不在,开始比较3,u最小,则w到u最短(则源为u到目的w最短路径找到
将w加入N’中,更新w的邻居,比较最小原先到达目的的费用值D or 到达最小W的费用值加w到达目的的费用值
这种迭代方法,通过5次迭代将最短路径找到。
在这里插入图片描述

Dijkstra算法:例2

在这里插入图片描述
在这里插入图片描述

Dijkstra算法:讨论

在这里插入图片描述发生震荡时,可能B的数据报发给C后,C到D后,结果D的路由表重新计算更新,D又到C又到B,然后B路由表又重新计算,到C…
这样反复下去,直到TTL,数据报被丢弃。B的数据报始终到不了A
所以,使用该算法要采取一些机制,随机延迟链路状态更新。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值