三十五、OSPF协议的链路状态算法

2021/12/28 11:37:08

本文主要是介绍三十五、OSPF协议的链路状态算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 1、OSPF协议
  • 2、链路状态路由算法
  • 3、OSPF的区域
  • 4、OSPF的分组
  • 5、OSPF的其他特点
  • THE END

1、OSPF协议

\qquad 开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF
\qquad OSPF最主要的特征就是使用分布式的链路状态协议
\qquad OSPF的特点:
\qquad 和谁交换? 使用洪泛法,向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有相邻的路由器。类似于一种广播的形式。最终整个区域内所有路由器都得到了这个信息的一个副本。
\qquad 交换什么? 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价–费用、距离、时延、带宽等)
\qquad 多久交换? 只有当链路状态发生变化时,路由器才向所有的路由器洪泛发送次信息。最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图

2、链路状态路由算法

\qquad 算法用到的分组和算法流程如下所示:
\qquad (1) 每个路由器发现它的邻居结点【hello文化分组】,并了解邻居结点的网络地址;
\qquad (2) 设置到它每个邻居的成本度量metric
\qquad (3) 构造【DD数据描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息;
\qquad (4) 如果DD分组中的摘要自己都有,则邻站不做处理;如果没有或者是更新的,则发送【LSR链路状态请求分组】,请求自己没有的和比自己更新的信息;
\qquad (5) 收到邻站的LSR分组之后,发送【LSR链路状态更新分组】进行更新;
\qquad (6) 更新完毕之后,邻站返回一个【LSAck链路状态确认分组】进行确认;
只要一个路由器的链路状态发生变化:
\qquad (5) 洪泛发送【LSU链路状态更新分组】进行更新;
\qquad (6) 更新完毕之后,其他站返回一个【LSAck链路状态确认分组】进行确认;
\qquad (7) 使用Dijkstra根据自己的链路状态数据库狗仔到其他节点间的最短路径。

3、OSPF的区域

\qquad 为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个32位的区域标识符(用点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过200个。
在这里插入图片描述

4、OSPF的分组

\qquad OSPF直接用IP数据报传送。
在这里插入图片描述

5、OSPF的其他特点

\qquad 每隔30min,要刷新一次数据库中的链路状态;
\qquad 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多;
\qquad OSPF不存在坏消息传的慢的问题,它的收敛速度很快

THE END



这篇关于三十五、OSPF协议的链路状态算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程