OSPF路由协议

四张表,五种报文,六类LSA:在OSPF单区域中有两种LSA,在多区域中有四种LSA;123457

七种邻居之间的状态

一、RIP 的不足

RIP 协议在实际应用中存在明显局限,具体如下:

不足类型 具体表现
路径评估不合理 以跳数作为度量值,可能选择非最优路径。例如,RTA 到 10.2.0.0 网络,跳数为 1 的 64Kbps 链路传输需 32 秒,而跳数为 2 的 2Mbps 链路仅需 3 秒,但 RIP 会优先选择跳数少的链路
网络尺度受限 最大跳数为 16,超过则认为网络不可达,限制了网络直径
收敛速度慢 采用定期更新(默认 30 秒),失效计时器 180 秒,清除计时器 240 秒,拓扑变化后收敛延迟大
资源消耗高 定期发送全部路由表,大网络中带宽浪费严重。例如,两台各有 1000 条路由的路由器,单向更新至少消耗 160Kb 带宽

二、OSPF的定义与特点

  • OSPF英文全称Open Shortest Path First (开放式最短路径优先)

  • OSPF是IETF开发的一种链路状态路由协议,使用基于带宽的度量值;

  • 使用 SPF 算法,从算法上保证了无路由环路;

  • 通过邻居关系维护路由,减少定期更新的带宽消耗;

  • 收敛速度快,适用于大中型网络;

  • 报文封装于 IP,协议号 89,使用组播地址 224.0.0.5(所有 OSPF 路由器)和 224.0.0.6(DR/BDR)。

三、OSPF的工作原理

(一)协议模型与核心流程

1.OSPF基本协议模型

OSPF 的工作遵循 "建立邻居→发起 LSA→洪泛同步 LSDB→SPF 计算路由" 的流程,具体如下:

  1. 建立邻居:通过 Hello 报文发现和维护邻居,形成邻居表;

  2. 发起 LSA:描述直连网段及拓扑,生成链路状态通告(LSA),存入本地链路状态数据库(LSDB);

  3. 洪泛同步:LSA 在区域内洪泛,确保同一区域内所有路由器的 LSDB 一致;

  4. 计算路由:以自身 LSA 为根进行 SPF 计算,生成最优路由加入路由表。

2.OSPF四张表

(二)OSPF基本概念

1.Router ID(RID):
  • 32 位无符号整数,唯一标识自治系统内的路由器;

  • 可手工配置,或自动选取最大 Loopback(回环) 接口 IP(无则选最大 UP 接口 IP)。推荐手工配置

2.链路状态---LS
  • 包括直连网段状态(网段、掩码、接口开销);

  • 直连拓扑状态(邻居 RID、连接接口、开销);

  • 接口开销 = 参考带宽(默认 100Mbps)/ 接口带宽,Loopback 接口默认开销为 1。

3.链路状态通告---LSA
  • -- 按一定格式封装后的链路状态信息。

  • 每30分钟更新一次。

4.链路状态数据库---LSDB
  1. -- 每台OSPF路由器都有一个LSDB,用于存储LSA。

  2. -- 同一个区域中的OSPF路由器的LSDB一致。

  • LSA封装在LSU报文中,在区域内洪泛,最终达到区域内LSDB一致。

  • LSA在洪泛过程中内容保持不变。

5.开销---SPF
  • 以自身 LSA 1 为根计算最优路径,各路由器独立计算,互不影响;

  • 路由开销为到达目标网段的出接口开销和。

  • 接口开销 = 参考带宽(默认 100Mbps)/ 接口带宽,Loopback 接口默认开销为 1。

6.OSPF网络类型
  • Broadcast广播多路访问以太网接口 (局域网中使用)

  • NBMA(Non-Broadcast Multi-Access,非广播多点访问网络):帧中继接口

  • P2MP(Point-to-MultiPoint,点到多点)

  • P2P(Point-to-Point,点到点:PPP HDLC接口 (广域网中使用)

  • 一条链路上的网络类型需要相同

  • 在一个广播多路访问网络中,网络内所有设备的接口必须属于同一网络号(即处于同一网段)。

7.OSPF的报文
OSPF 报文类型 作用
Hello(除此之外都有序号) 建立并维护邻居关系
Database Description(DD) 汇总数据库内容(仅 LSA 头部)
Link State Request(LSR) 请求缺失或更新的链路状态信息
Link State Update(LSU) 链路状态更新信息 (LSA 头部 + 内容)
Link State Acknowledge(LSAck) 确认 LSU 报文
(1)包含在各种报文中的 LSA 信息
Packet 类型 LSA 信息
Database Description LSA 头部信息,包括 LS Type、LS ID、Advertising Router 和 LS Sequence Number
LS Request 只有 LS Type、LS ID 和 Advertising Router 简化 LSA 头部
LS Update 完整的 LSA 信息,包括 LSA 头部和具体的链路状态信息
LS Ack LSA 头部信息,包括 LS Type、LS ID、Advertising Router 和 LS Sequence Number
(2)OSPF报文的目的地址
  • OSPF报文直接封装在IP报文中,协议号为89
(3)LSA 报文头部解释

LSA 报文头部为 32Bits 结构,各字段含义如下:

字段 说明
LS age 用于计时,LSA 自发起时开始递增,到达最大老化时间(3600 秒)后从 LSDB 中清除
Options 包含一些可选参数,用于标识 LSA 的特性和支持的功能等
LS type 标识 LSA 的类型,如 LSA 1 为路由器链路状态通告,LSA 2 为传送网络链路状态通告等
Link State ID 链路状态 ID,根据 LSA 类型的不同,其表示的含义有所差异,用于唯一标识特定的链路状态信息
Advertising Router 发起该 LSA 的路由器的 Router ID,标识 LSA 的来源
LS sequence number 序列号,用于判断 LSA 的新旧,序列号越大表示 LSA 越新,帮助接收方确定是否需要更新本地 LSDB
LS checksum 校验和,用于检验 LSA 在传输过程中是否发生错误,确保数据的完整性
Length 表示 LSA 的长度,包括头部和具体的链路状态信息的总长度

(三)OSPF的基本概念(续)

8.维持邻居关系(点对点)
  • 邻居之间通过交换Hello报文,确认邻居是否工作正常

  • 周期性发送Hello报文,以30s为周期,过期时间为四个周期120s

  • 如果在一定的时间间隔内,收不到邻居发来的Hello报文,就认为邻居已经失效,从邻居表中删除。

9.维持邻居关系(广播多路访问网络)
  • 周期性发送Hello报文,以10s为周期,过期时间为四个周期40s

  • 采用DR/BDR建立邻接关系,可以降低需要维护的邻接关系数量

10.DR/BDR 选举(广播多路访问网络):

在拓扑建立完成之后,发送链路通告之前

  • 目的:减少邻接关系数量(原需 n (n-1)/2,采用 DR/BDR 后大幅减少为R = 2 (n-2) + 1);

  • 首先比较Hello报文中携带的优先级:优先级最高的被选举为DR,优先级次高的被选举为BDR;优先级为0的不参与选举

  • 优先级一致的情况下,比较Router IDRouter ID越大越优先

  • 保持稳定原则:当DR/BDR已经选举完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选举的DR/BDR成为新的DR/BDR。

11.邻居关系无法建立原因总结
参数 配置要点
router id 每台 OSPF 路由器的 router id 必须唯一
area id 同一网段的所有端口应当配置在同一区域内
Interface network-type 同一网络接口的类型要相同,即 hello 时间与 hellodown 时间双方要一致
network mask 除了点到点网络之外,同一网段的所有端口应当配置相同的掩码
authentication type 同一区域的验证类型必须一致
authentication data 同一网段的验证码必须一致
extern option 配置 stub 区域或者 NSSA 时,区域内的所有路由器都需要指定 stub 特性或者 NSSA 特性
peer NBMA 网络上的邻居需要手动指定
12.邻居关系
  • DOWN、Init(初始化)、two-way(双方都知道对方为邻居),ExStart(预启动)和Exchange(已确认主从),Loading(加载)和Full(更新完毕)

  • DRother路由器停留在 two-way 状态

    1.DOWN、Init(初始化)、two-way
2.ExStart(预启动)和Exchange(已确认主从)

I:双方处于初始化状态

M:说明后面还有更多的DD报文

MS:参与主从的选举

3.Loading和Full
  • OSPF协议包具备超时重传机制

  • OSPF协议包具备序列号,对重复包不做处理;除Hello报文

13.泛洪新LSA

当有新的LSA生成或收到时,这条新的LSA应当被泛洪。泛洪新的LSA时,只需要使用LS Update报文和LS Ack报文。

  • 当RTA有新的LSA要泛洪时,RTA向RTB发送一个LS Update报文,在 这个报文里包含这条LSA。

  • 收到新的LSA以后,RTB向RTA泛洪一个LS Ack报文进行确认。

  • 泛洪新的LSA不影响邻居状态

  • 在广播和NBMA网络中,链路状态发生变化时,先通知DR和BDR, 主要是通过DR路由器发送更新报文。

14.LSA 洪泛与老化
  • LSA不老化的缺点:当网络长时间中断,故障网络中的设备发起 的LSA长时间无效,但仍然存储在LSDB中,浪费设备内存。

  • 洪泛机制:新 LSA 生成后,通过 LSU 报文洪泛,接收方用 LSAck 确认;收到 LSA 时,比较序列号,序列号大则更新 LSDB 并转发;

  • 老化机制:LSA 自发起计时,最大老化时间 3600 秒,超时从 LSDB 清除;每 30 分钟(老化时间一半)重新发起 LSA,序列号 + 1,老化时间重置为 0。

四、OSPF多区域

(一)单区域 OSPF 的缺点

单区域 OSPF 虽然配置简单,适用于小型网络,但在网络规模扩大时存在明显局限性,主要体现在以下几个方面:

  1. 链路状态数据库(LSDB)庞大:单区域内所有路由器的 LSDB 完全一致,随着网络中路由器数量、网段数量的增加,LSDB 会急剧膨胀,占用大量设备内存资源,增加存储压力。

  2. SPF 计算效率低:当网络规模大、拓扑复杂时,SPF 计算会变得非常耗时,占用大量 CPU 资源,影响路由器处理业务的效率。

  3. 收敛速度变慢:网络拓扑发生变化时(如链路故障、新增设备),相关的链路状态通告(LSA)需要在整个区域内泛洪。单区域范围越大,LSA 泛洪的路径越长、涉及的设备越多,导致全网路由收敛的时间延长,影响网络稳定性。

  4. 缺乏故障隔离能力:单区域内任何一处拓扑变化都会引发全网 LSA 泛洪和 SPF 重新计算,局部故障可能扩散至整个区域,导致网络波动范围扩大,增加故障排查难度。

  5. 不适应大规模网络:对于包含大量路由器和复杂拓扑的大中型网络,单区域无法通过区域划分分担路由计算和管理压力,难以满足网络扩展性和可维护性需求。

(二)OSPF 区域划分

1.基本概念
  • OSPF 区域:将 OSPF 路由域划分为多个区域,用 Area ID(32 位,数字或 IP 表示)标识;

  • 骨干区域(Area 0):所有区域必须连接到骨干区域,确保路由互通。防环路的产生

2.路由器角色
  • 区域内部路由器:仅属于一个区域,所有接口在同一区域;

  • 骨干路由器:至少有一个接口在 Area 0;

  • 区域边界路由器(ABR):连接多个区域(至少含 Area 0),负责区域间路由传递;

  • 自治系统边界路由器(ASBR):连接 OSPF 路由域与其他自治系统,引入外部路由。

相关推荐
Mogu_cloud1 天前
光猫配置DMZ到路由器
智能路由器
Z7676_2 天前
VRRP虚拟路由器冗余协议
网络·智能路由器
伤心男孩拯救世界(Code King)2 天前
Linux网络:网络层-IP协议
linux·网络·tcp/ip·智能路由器
wc_xue_fei_le2 天前
2025.7.15vlan作业
网络·智能路由器
ICT系统集成阿祥2 天前
交换机能替代路由器吗?
网络·智能路由器
搬码临时工2 天前
本地电脑映射端口到外网访问的开启方法和注意事项,内网服务提供跨网使用简单操作实现
网络·智能路由器·电脑
成都纵横智控科技官方账号3 天前
5G工业路由器如何凭借高性价比助力多行业数字化转型?
智能路由器·边缘计算·5g工业路由器
zhezhi5013 天前
VRRP技术
智能路由器·vrrp
asdfg12589634 天前
路由器SDH POS接口
网络·计算机网络·智能路由器·通信·网络运维