摘要

OSPF协议是计算机网络常用的路由协议,它采用了Dijkstra算法。Dijkstra算法在各领域都有广泛的应用,掌握其原理很有必要,因此提出在MATLAB中利用三重循环实现算法的仿真。首先确定代价矩阵,明确起始路由器,并把该路由器放入到S集中。其次采用最外层循环判断是否遍历全部路由器,中间循环遍历S集中的路由器,里层循环遍历U集中的路由器,寻找到每一次外层循环时距起始路由器的代价最小的路由器,并把这个路由器移出U集,并放入到S集中。最后通过回溯方法得到最短路径树。通过仿真实验,不仅能帮助掌握OSPF协议中路由的选择方法,更能加深对Dijkstra算法的理解。

全文