天天看点

OSPF协议及链路状态算法

❓为什么要有开放最短路径优先OSPF(Open Shortest Path First)?

RIP协议缺点较多,首先,++RIP限制了网络的规模,它能使用的最大距离为15(16表示网络不可达)++。其次,++路由器之间交换的路由信息是路由器中的完整路由表++,因而随着网络规模的扩大,开销也就增大。最后,++“坏消息传得慢”,使更新过程的收敛时间过长++。因此对于规模较大的网络使用的是OSPF协议,而对规模较小的网络使用较多的是RIP协议。

OSPF协议

开放最短路径优先OSPF协议:“开放”标明OSPF协议是公开发表的;“最短路径优先”是因为使用了最短路径算法SPF。OSPF并不表示其他的路由选择协议不是“最短路径优先”,++实际上,所有的在自治系统内部使用的路由选择协议都是要寻找一条最短路径。++

OSPF最主要的特征就是使用==分布式==的链路状态协议。

OSPF的特点:

和谁交换?

使用==洪泛法==向自治系统内所有的路由器发送信息,即路由器通过输出端口向所有的相邻路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器(但不再发送给刚刚发来消息的路由器)。【广播】→最终整个区域内所有路由器都得到了这个信息的一个副本。这里就与RIP协议区分开来了,RIP协议仅仅是向相邻的路由器发送消息。

交换什么?

发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价——费用、距离、时延、带宽等)。对于RIP协议,发送的信息是:“到所有网络的距离和下一跳路由器”。

多久交换?

只有当链路状态发生变化或每隔30分钟,路由器才向所有的路由器洪泛发送此信息。

最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。对于每一个路由器,它都知道全网有多少个路由器,以及哪些路由器是相连的,其代价是多少。

⭐链路状态路由算法

1.每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居结点的网络地址。

2.设置到它的每个邻居的成本度量metric。

3.构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。

4.如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息。

5.收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新。

6.更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。

只要一个路由器的链路状态发生变化:

5.泛洪发送【LSU链路状态更新分组】进行更新。

6.更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。

7.使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。

⭐OSPF的区域

⭐OSPF分组

⭐OSPF其他特点