所有路由协议具有相似的组件。 它们都使用路由协议消息来交换路由信息。 这些消息有助于构建数据结构,然后使用路由算法进行处理。

OSPF 路由协议的三个主要组件包括:

数据结构

OSPF 创建和维护三种数据库:(参见图 1)。

这些表包含用于交换路由信息的邻接路由器列表,在 RAM 中保存和维护。

路由协议消息

OSPF 使用五种数据包交换消息来传递路由信息。 这些数据包如图 2 所示,包括:

这些数据包用于发现邻居路由器,还可交换路由信息来维护准确的网络信息。

算法

CPU 使用 Dijkstra 的 SPF 算法处理邻居表和拓扑表。 SPF 算法基于到达目的地的累计开销。

SPF 算法将每个路由器置于树的根部并计算到达每个节点的最短路径,从而创建 SPF 树。 然后使用 SPF 树计算最佳路由。 OSPF 将最佳路由放入转发数据库,用于创建路由表。