OSPF(开放最短路径优先协议)

一、简介

        OSPF 协议是一种链路状态路由协议,是为了替代距离矢量路由协议 RIP 而开发的。

        RIP 是网络和互联网早期广泛使用的路由协议。但是,RIP 用来确定最佳路由的唯一度量参数是跳数,在拥有速度各异的多条路径的大型网络中,使用跳数无法很好地扩展。

        OSPF 与 RIP 相比具有巨大优势,因为它既能快速收敛,又能扩展到更大型的网络。它使用了区域的概念,网络管理员可以把路由域划分为不同的区域,以此对路由更新流量实施控制。

        链路指的是路由器上的接口,链路也指两台路由器之间直连的网段,或者末节网络,比如只连接了一台路由器的以太网 LAN 。有关各条链路的状态的信息称为链路状态。链路状态信息中包含网络前缀、前缀长度和开销。

二、工作过程

        在 OSPF 中,开销是用来确定去往目的地的最优路径的。 路由器会按照以下步骤完成链路状态路由过程:

  1. 建立邻接关系
  2. 交换链路状态通告
  3. 构建链路状态数据库(LSDB)
  4. 执行 SPF 算法
  5. 选择最优路由

1、建立邻接关系

        启用了 OSPF 的路由器必须在网络中互相识别出对方,之后它们之间才能共享信息。启用 OSPF 的路由器将 Hello 数据包从所有启用 OSPF 的接口发送出去,以确定这些链路上是否存在邻居。如果存在邻居,启用 OSPF 的路由器将尝试与该邻居建立邻接关系。

报文结构示例:

2、交换链路状态通告

        建立邻接关系之后,路由器之间会交换链路状态通告 (LSA)。LSA 包含每个直连链路的状态和开销。路由器将其 LSA 泛洪到邻居。收到 LSA 的邻接邻居立即将 LSA 泛洪到其他直接连接的邻居,直到区域中的所有路由器收到所有 LSA。

报文结构示例:

 3、构建链路状态数据库(LSDB)

        在接收到 LSA 后,启用 OSPF 的路由器会根据收到的 LSA 来构建拓扑表 (LSDB)。这个数据库中最终会包含与这个区域有关的所有拓扑信息,某个区域内的所有路由器都有相同的 LSDB。

4、执行 SPF 算法

        路由器在构建拓扑表时,会使用 Dijkstra SPF(最短路径优先)算法基于到达目的地的累计开销计算最短路径。

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

5、选择最优路由

        在SPF树构建完成后,路由器会把去往每个网络的最优路径放入到IP路由表中,系统根据路由表中的条目做出路由决策。

三、多区域OSPF

        一个区域中有过多路由器会使 LSDB 非常大并增加 CPU 的负载。因此,将路由器有效分区可以把巨大的数据库分成更小、更易管理的数据库。

        路由器收到与区域中拓扑更改有关的最新信息时(包括添加、删除或修改链路),路由器必须重新运行 SPF 算法,创建新的 SPF 树并更新路由表。其他区域中的路由器也会接收到有关拓扑变化的更新,但这些路由器只会更新自己的路由表,而不会重新执行 SPF 计算。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IP_FF02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值