关于OSPF(一)——迪杰斯特拉算法(最短路径算法)

OSPF核心算法

OSPF,英文全称Open Shortest Path First。是中大型园区网乃至数据中心用的最多的IGP。而作为一名网络工程师,在学习该协议的时候,一般从OSPF的网络状态、网络类型、LSA等方面入手。但该协议/技术的核心,我觉得还是迪杰斯特拉/最短路径优先算法。今天,经过我对迪杰斯特拉算法的学习和思考,整理出下列内容,不足之处还请各位大神多多指教。

迪杰斯特拉算法的核心

通过学习,我觉得迪杰斯特拉算法的核心就是:第一、以自身节点为源,寻找该源到达首跳最短路径的节点(路径距离需要是非负值)。第二、根据首跳最短路径节点依次寻找去往其他节点最短路径,并将去往该点的最优路径记录到源节点的最短路径表中。第三、重复执行上述两个步骤,直至源节点到所有节点的最短路径均进行计算。

例子

先来看下面的一张图
在这里插入图片描述
首先,我们以A为节点,计算到达各个节点的最短路径。A则会将每次计算的结果放入如下的表中。

目的节点 目的节点距离A的距离 该目的节点的上一节点 是否最优路径
X

*其中“目的节点”代表目的节点的名称,“目的节点距离A点的距离”则表示A点到该目的节点的距离,而“该目的节点的上一节点”则表示目的节

02f,18aug03,agi added #include 02e,02jun03,agi removed #include "rwproto.h" 02d,02jun03,agi changed #include "rwos.h" to include "ospf_rwos.h" 02c,29may03,agi removed unused includes, added new includes 02c,08may03,asr Changes to make OSPF virtual stack compatible 02b,09may03,agi added #include , removed #include 02a,17feb02,ram SPR 81808 Added OSPF memory partition support 21,13october01,kc Dynamic configuration changes. 20,21september01,kc Removed unused raw socket specific declarations. 19,26september00,reshma Added WindRiver CopyRight 18,25september00,reshma RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL. 17,20july00,reshma Unix compatibility related changes. 16,06july00,reshma Removed unnecessary header files and defines. 15,23february00,reshma Changes for ospf mib 14,23december99,reshma Compatibility with VxWorks-IP and VxWorks RTM-interface 13,13august99,jack compilation fixes no IP case 12,05august99,nishit Replaced including IP header files by the new ospf_ip_structures.h 11,17may99,jack Added new include file ospf_patricia_32_bits_key_prototypes.h 10,28december98,jack Compiled and added some comments 09,25november98,rajive Deleted socket include file 08,11november98,jack Config changes, linted and big endian changes 07,30october98,jack Incorporate changes for compilation on Vxworks 06,12february98,release engineer code style changes, feature enhancements, complete CISCO and BAY compaltibility. OSPF v4.2.0 05,10july97,cindy Pre-release v1.52b 04,10february97,cindy Release Version 1.52 03,22october97,cindy Release Version 1.50 02,05june96,cindy Including visnpstr.h as a kludge for the first beta release. 01,05june96,cindy First Beta Release
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值