1.SPF算法原理:

构造一棵树[a],使n个节点之间的总长最小(树是一个在每两个节点之间仅有一条路径的图)。

在我们给出的构造过程中,分枝被分成3个集合:

I  被明确分配给构造中的树的分枝(它们将在子树中);

Ⅱ 这个分枝的隔壁分枝被添加到集合I;

Ⅲ 剩余的分枝(抛弃或不考虑)。

节点被分成2个集合:

A 被集合I中的分枝连接的节点

B 剩佘的节点(集合Ⅱ中有且仅有一个分枝将指向这些节点中的每一个节点)。

· 树数据库—树数据库用来表示集合I。通过向数据库中添加分枝实现向最短路径树中添加链路(分枝)。当算法完成时,这个数据库将可以描述最短路径树。

· 候选对象数据库—候选对象数据库对应集合Ⅱ。按照规定的顺序从链路状态数据库向该列表中复制链路,作为向树中添加的候选对象。

· 链路状态数据库—按照前面的描述,这里保存所有链路,这个拓扑数据库对应集合Ⅲ。

这里的节点是路由器。这些路由器被明确地用路由器链路三元组(路由器ID、邻居ID、代价)中的邻居ID表示。集合A由树数据库中链路所连接的路由器组成。集合B是所有其他的路由器。由于全部要点是发现到每台路由器的最短路径,所以当算法结束时集合B应该为空。

步骤1 路由器初始化树数据库,将自己作为树的根。这表明路由器作为它自己的邻居,代价为0。

步骤2 在链路状态数据库中,所有描述通向根路由器邻居链路的三元组被添加到候选对象数据库中。

步骤3 计算从根到每条链路的代价,候选对象数据库中代价最小的链路被移到树数据库中。

如果两个或更多的链路离根的最短代价相同,选择其中一条。

步骤4 检查添加到树数据库中的邻居ID。

除了邻居ID已在树数据库中的三元组之外,链路状态数据库中描述路由器邻居的三元组被添加到候选对象数据库中。

步骤5 如果候选对象数据库中还有剩余的表项.回到第3步。如果候选数据库为空,那么终止算法。

在算法终止时,在树数据库中,每个单一的邻居ID表项将表示1台路由器,到此最短路径树构造完毕。

2.SPF算法建树过程示例:

感谢诺达汤sir,感谢思科资源,成长进行中···

CCNP-OSPF中SPF(最短路径树)算法剖析,建树过程示例相关推荐

  1. 【好记性不如烂笔头】二叉树之利用先序中序还原树

    利用先序中序还原树 前言 一.二叉树示例 二.思路 写一下节点信息 考虑递归实现 前言 之前进行了二叉树的先序中序后序打印,那么反过来怎么把先序中序还原出二叉树呢? 一.二叉树示例 二.思路 写一下节 ...

  2. 计算机网络之网络层:8、开放最短路径优先算法OSPF

    网络层:8.开放最短路径优先算法OSFP 思维导图: OSPF数据报格式: OSPF协议特点: OSPF链路状态路由算法: 自治系统: OSPF优点: 思维导图: OSPF数据报格式: OSPF属于网 ...

  3. 【java集合框架源码剖析系列】java源码剖析之java集合中的折半插入排序算法

    注:关于排序算法,博主写过[数据结构排序算法系列]数据结构八大排序算法,基本上把所有的排序算法都详细的讲解过,而之所以单独将java集合中的排序算法拿出来讲解,是因为在阿里巴巴内推面试的时候面试官问过 ...

  4. CCNP——OSPF协议详解及其支持的网络类型

    OSPF协议简介: O SPF O = open 开放 SPF = shortest path first 最短路径优先 cost=metric OSPF = 开放性的最短路径优先协议 如果到达一个目 ...

  5. CCNP OSPF协议详解

    OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是由Internet工程任务组开发的路由选择协议,公用协议,任何厂家的设备. 链路状态路由协议(也可以说OS ...

  6. OSPF协议及链路状态算法(详解)

    一.路由选择协议分类回顾 二.OSPF协议 开放最短路径优先OSPF协议:"开放"标明OSPF协议不是受某一家厂商控制,而是公开发表的: "最短路径优先"是因为 ...

  7. python贪心算法最短路径_dijkstra算法(贪心算法)——解决最短路径问题

    最短路径 给定一张带权图和其中的一个点(作为源点),求源点到其余顶点的最短路径 基本思想 1)源点u,所有顶点的集合V,集合S(S中存有的顶点,他们到源点的最短路径已经确定,源点u默认在S中),集合V ...

  8. 计算机网络-网络层(路由协议,自治系统,域内路由与域间路由(IGP,EGP)RIP协议与距离向量算法,OSPF协议与链路状态算法)

    文章目录 1. 自治系统 2. 域内路由与域间路由 3. RIP协议与距离向量算法 4. OSPF协议与链路状态算法 1. 自治系统 自治系统(AS):单一技术管理下的一组路由器,这些路由器使用一种A ...

  9. CSP认证201609-4 交通规划[C++题解]:最短路径树、dijkstra求单源最短路、递推思想

    题目分析 来源:acwing 分析: 这题是最短路树.保持原图中所有点到根结点的最短距离不变,然后在原图中选择一些边,使所有点连通的最短路是多长. 最短路径树,是一种使用最短路径算法生成的数据结构树. ...

  10. 最小生成树、最短路径树

    一.最小生成树与最短路径树的区别 最小生成树能够保证整个拓扑图的所有路径之和最小,但不能保证任意两点之间是最短路径. 应用如网络部线,把所有的电脑(服务器?)都连起来用的网线(光纤?)最少,即用最小的 ...

最新文章

  1. SpringBoot b2b2c 多用户商城系统 ssm b2b2c
  2. Huffman 编码压缩算法
  3. mysql数据库一些可能会用到的命令
  4. 计算机考研各个学校科目,计算机考研学校的前几个排名
  5. Mybatis基于XML配置SQL映射器(一)
  6. 人工智能支撑马赛克战机理研究
  7. 拼多多协助广东警方打击网络黑灰产 15名嫌疑人于近日落网
  8. 为什么会有Memlink? redis
  9. OpenV2X 标准整理
  10. PLC梯形图编程基础知识详解(转自:http://gongkong.ofweek.com/2014-09/ART-310012-11000-28882866_2.html)
  11. 前端JS-页面延迟刷新
  12. python人工智能算法的方式_Python与人工智能
  13. 百度移动搜索冰桶算法公告
  14. FPGA:实现快速傅里叶变换(FFT)算法
  15. 记录下学习的mac 自带apache 使用方法,及xamp的使用
  16. 应用程序如何隐藏标题栏
  17. Java 已知三边求三角形求面积
  18. android-柱状图、折线图、x轴、y轴绘制以及实例代码
  19. 新闻推荐系统【DAY1】
  20. mac系统,思科Cisco Anyconnect卸载之后,无法重新安装问题

热门文章

  1. threejs 720/360全景工具开发心得
  2. 用友 uap NC系统单点登录总结
  3. 【简单记】用友NC6.5_RCE
  4. 机器学习 | 线性方法降维(理论篇)
  5. Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
  6. python计算决策树误差_《统计学习方法》第五章决策树 练习题解答
  7. 1月24日源码中国VB源码下载排名
  8. APP离线后,通过SystemClock.elapsedRealtime()校正时间
  9. 惊鸿一现的永恒经典2007-05-07 09:40:18
  10. [动态规划-0] 前言-我的动态规划学习之路