首页 > 编程知识 正文

最短路径优先算法SPF,开放最短路径优先协议(OSPF)采用( )算法计算最佳路径

时间:2023-05-03 21:04:38 阅读:190097 作者:2988

本文通过图解说明了SPF算法在具体OSPF协议中的过程。 仔细一看,图解很容易理解。 首先,构建典型的拓扑图。 地图上接口的数字显示了通过此接口提交数据所消耗的费用。 以下,将此作为费用的衡量标准进行说明。 也就是说,从R 2到R 1的访问开销为1,从R 1到R 2的访问开销为2 )

正在在线运行OSPF协议。 为了便于说明,本文没有提到各个地区的问题。 路由器之间是如何建立邻接关系的,交换的是什么样的消息等,在这篇文章中将不会涉及。 后续文章将详细介绍OSPF协议。

以下将直接展示收敛完毕后的链路状态数据库(LSDB),为了容易理解,后续都会以下图的形式展示路由条目

以以前的两条LS记录为例,R 1声称自己有R 2和R 3两个邻居,开销分别为2和1。 其他条目也是同样的意思。

每个路由器的LSDB都是相同的。 在这种情况下,从以 R 1 为根变为计算 R 1 的最短路树

步骤1 :将根到邻居的LS记录添加到临时数据库中最短的LSDB。 (请注意,树根访问成本表示此LS记录的邻居到R 1的开销值,而不是此LS记录的开销值。 这里是直接连接,所以相等)

步骤2 :在临时数据库中选择访问根成本最低的链接,在树数据库中注册此记录和访问根成本,然后删除临时数据库中的相应记录。 (R 1 - R 1的开销必须为0,树数据库中存在根到根开销为0的记录,以避免在后续计算时出现从其他路由器到R 1的不同记录。)

步骤3 (路由器检查驻留在树数据库中并连接到此LS记录的邻居路由器的Router—ID,并将该路由器生成的LS记录添加到临时数据库中。 (如果此routerid已经存在于树数据库记录中,则将被忽略。)

图:将R 1 - R 3追加到树数据库中,所以在LSDB中查找与R 3对应的LS记录并追加到临时数据库中; 不再添加R 3 - R 1的LS记录,因为树数据库中已存在R 1 - R 1记录(因为它并不比树数据库好)。

由于R 1 - R 3的开销为1,R 3 - R 5的开销为2,因此根访问的成本为3。

在此处,重复步骤2和3,直到临时数据库为空。

如果至少出现了两个根访问成本LS记录,请选择其中一个。

下面的计算基本相同。 一步一步地演示。

此处选择了到R 5的最佳路径,因此可以从临时数据库中删除R 3 - R 5的LS记录。

现在,最短路径树可以宣布计算完成,因为临时数据库为空,而树数据库也具有从根到所有路由器的最佳路径。

如果从R 1最终的树数据库制作以R 1为根节点的最短根树,则如图所示,树数据库内的开销值成为从目标路由器向根的开销,所以在制作最短根树时需要注意计算

绘制完成后,可以与第一个拓扑进行匹配。

每个路由器计算以自己为根的最短路由树,并将其存储在路由表中。 传输数据时,选择最短路径(最小开销)进行传输。

该最短路径树以根为节点一点一点地展开,并且由于计算出同一节点在数据库中只出现一次,所以最短路径树中一定不会出现循环。

建议读者接下来自己计算其他节点的最短根树,加深记忆!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。