希赛考试网
首页 > 软考 > 网络工程师

ospf建立过程

希赛网 2024-08-22 18:06:46

OSPF是目前应用最广泛的动态路由协议之一,其采用链路状态(LS)算法,以及开放最短路径优先(OPEN SHORTEST PATH FIRST)的路由选择算法。在网络拓扑发生变化时,OSPF能够快速更新路由表,从而保证网络的高可用性和高性能。接下来,本文将从多个角度分析OSPF建立的过程。

一、OSPF协议

OSPF是一种链路状态路由协议,我们通过分析它的协议格式来了解OSPF报文中各个字段的作用。OSPF报文主要分为以下8个类型:

类型 | 名称 | 描述

-------|-------------|-----------

1 | Hello | 邻接关系的建立

2 | DBD | 数据库更新

3 | LSR | 链路状态请求

4 | LSU | 链路状态更新

5 | LSAck | 确认报文

6 | 预留 | -

7 | NSSA | 非标准区域

其中,Hello报文主要用于邻接关系的建立,也就是寻找相邻的OSPF路由器;DBD报文用于在邻接状态下进行数据库对比,以决定LSA的交换和同步;LSR报文用于发现已知LSA的缺失或错误情况,以向其它OSPF路由器请求特定的LSA;LSU报文用于向其它路由器发送LSA,以分享链路状态信息;LSAck报文用于确认其它类型的LSA报文。

二、OSPF的邻接建立

邻接关系的建立是OSPF协议中最为基本也是相对简单的一个部分。在一个OSPF域内,每个OSPF路由器都要通过Hello报文与相邻路由器进行通信,以建立邻接关系。邻接建立的过程如下:

1. 初始化状态

在路由器启动时,首先会初始化路由表,进入Init状态。

2. 搜索相邻路由器

路由器将Hello消息发送到它能直接到达的所有邻居,等待它们的响应。若在Hello消息的固定周期内收到响应,则双方开始建立邻接关系。

3. 确定邻居状态

然后,通过Hello消息的确定参数,如Dead Interval和Neighbor Priority等,确定邻居之间的状态,如:Down、Attempt、Init和Full等。只有Full状态的邻居才能与其他路由器交换LSA信息。

4. 形成邻接关系

在确认完邻居状态之后,若判断可达,就建立邻接关系,在此基础上,就可以进一步互相交换网络拓扑信息。

三、OSPF的路由计算

OSPF协议在收到邻居发送过来的路由信息后,会根据设定的算法,来进行路由计算。OSPF中采用开放最短路径优先算法,即OSPF借鉴了Dijkstra算法的思想,采用以SPF(Shortest Path First)为重要特征。具体路由计算过程如下:

1. 建立LSA数据库

路由器之间的邻接关系建立后,将建立起LSA数据库(链路状态数据库)。

2. 生成SPF树

接着,路由器在LSA数据库中搜索并选择出直接相连的最短路径,并建立一棵SPF树。

3. 计算最短路径

根据已经生成的SPF树,计算从当前路由器到达目的网络或主机的最短路径,从而选择出最佳路径。

4. 写入路由表

计算出最佳路径后,将其写入路由表。

四、OSPF的故障恢复

在OSPF网络拓扑发生较大变化时,如某网络被禁用或路由失败,路由器之间的LSA库也会推迟更新。为了保证网络拓扑和路由表的及时更新,OSPF采用了故障恢复的机制,具体过程如下:

1. 发送LSU报文

发生路由故障后,该路由器会

向相邻路由器发送LSU(链路状态更新)报文。

2. 更新LSA数据库

相邻路由器收到更新的LSA后,会更新自己的LSA数据库,并向相邻路由器转发广播。

3. 抑制洪泛

当LSA产生环路时,为了避免路由器因LSA数据库更新而浪费大量的网络资源,OSPF采用了抑制洪泛的方式,即OSPF路由器通过LSA的序列号来更新自己的LSA,以避免洪泛发生。

综上所述,OSPF的建立过程包括邻接关系的建立、路由计算和故障恢复。每一个过程都是很复杂的,只有了解基本的原理和工作方式,才能正确运用OSPF协议实现网络拓扑构建、路由选择和网络故障恢复。

网络工程师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
网络工程师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件