HCIE数通-OSPF专题(1)链路状态路由协议的灵魂,从LSA到区域,从邻居到路由计算

  |   0 评论   |   0 浏览

图片

大家好。上篇文章我们深入探讨了IPv6的世界,从地址分类到SRv6,从NDP到EVPN,开启了下一代网络的探索。今天,我们把目光聚焦一个几乎所有网络工程师都绕不开的协议--OSPF(开放最短路径优先)。

OSPF诞生于1989年(RFC 1131),历经30多年的演进,依然是园区网、企业网、运营商网络中最核心的IGP协议之一。它采用链路状态算法(SPF),拥有快速收敛、无环路、支持分层设计、支持VLSM和CIDR等诸多优势。

今天,我们将从OSPF的核心概念讲起,深入LSA的七种类型、区域的五种形态、邻居建立的八个状态,再到认证、汇总、过滤等高级特性,最后带你全面掌握这个“链路状态之王”。无论你是备考HCIE,还是在工作,这篇文章都将成为你的“随身宝典”。

一、OSPF是什么?为什么它如此重要?

1. 定义

OSPF(Open Shortest Path First,开放最短路径优先) 是一种基于链路状态算法的内部网关协议(IGP),由IETF开发,用于在单一自治系统(AS)内进行路由决策。它使用Dijkstra算法(SPF算法)计算最短路径树,具备快速收敛、无环路、支持分层设计等优点。

2. OSPF的核心特点

特点说明
链路状态算法每台路由器收集全网链路状态,生成统一的链路状态数据库(LSDB),独立计算路由
快速收敛拓扑变化触发更新,收敛速度秒级
无环路SPF算法天然保证无环路
分层设计支持划分区域(Area),减小LSDB规模,降低CPU/内存消耗
VLSM/CIDR支持可变长子网掩码和无类域间路由
认证机制支持明文和MD5认证,保障邻居安全
负载均衡支持等价多路径(ECMP)

3. OSPF vs RIP

对比维度OSPFRIP
算法链路状态(SPF)距离矢量(跳数)
收敛速度快(秒级)慢(分钟级)
环路无环路易产生环路
度量值带宽(Cost)跳数
分层支持区域划分不支持
适用规模大型网络小型网络

二、OSPF的核心概念

1. Router ID

Router ID是OSPF进程中用于唯一标识一台路由器的32位值,通常使用IPv4地址格式。Router ID的选举规则:

  • 手动配置(推荐)→ 最大的Loopback接口IP → 最大的物理接口IP
  • Router ID一旦选定,不会轻易改变,除非手动重置OSPF进程
[R1] ospf 1 router-id 1.1.1.1

2. 链路状态数据库(LSDB)

LSDB是OSPF路由器的核心数据结构,存储了区域内所有链路状态通告(LSA)的集合。同一区域内的所有路由器LSDB必须保持同步,才能保证路由计算的一致性。

3. 区域(Area)

OSPF通过划分区域来减小LSDB的规模,将网络拓扑变化限制在区域内。区域由32位区域ID 标识,通常采用点分十进制表示(如0.0.0.0)。

区域类型

区域类型说明
骨干区域(Area 0)所有非骨干区域必须与骨干区域直连,骨干区域负责区域间路由的传递
普通区域(Standard Area)除骨干区域外的常规区域,可承载区域内、区域间、外部路由
STUB区域阻止Type5 LSA(外部路由)进入,通过ABR自动生成默认路由(Type3)访问外部
Totally STUB区域阻止Type3、Type5 LSA进入,只保留区域内路由和一条默认路由(华为特有)
NSSA区域(Not-So-Stubby Area)允许引入外部路由(Type7),在ABR上转换为Type5传播到其他区域
Totally NSSA区域在NSSA基础上,阻止Type3 LSA进入,由ABR生成默认路由(华为特有)

区域类型总结

STUB区域:不允许发布自治系统外部路由(Type5),由ABR发布Type3缺省路由

Totally STUB区域:不允许发布自治系统外部路由和区域间路由(Type3),由ABR发布Type3缺省路由

NSSA区域:允许引入自治系统外部路由,由ASBR发布Type7 LSA,在ABR上转换成Type5

4. 路由器类型

根据路由器在OSPF网络中的位置,可以分为以下角色:

路由器类型说明笔记对应
内部路由器(Internal Router)所有接口都属于同一个OSPF区域
区域边界路由器(ABR)同时属于两个以上区域,且至少一个接口属于骨干区域<span leaf="">[R4]ospf 1</span> <span leaf="">area 2</span>
骨干路由器(Backbone Router)至少有一个接口属于骨干区域(Area 0)
自治系统边界路由器(ASBR)引入了外部路由(如静态路由、其他协议路由)<span leaf="">import-route</span>

OSPF中路由器类型

区域内部路由器:所有接口都属于同一个OSPF区域

区域边界路由器(ABR):可以同时属于两个以上的区域,但其中一个必须是骨干区域

骨干路由器:至少有一个接口属于骨干区域

自治系统边界路由器(ASBR):与其他AS交换路由信息的设备

5. 路由类型

OSPF路由按优先级分为以下几类:

路由类型说明优先级
区域内路由(Intra Area)同一区域内的路由最高
区域间路由(Inter Area)不同区域间的路由(Type3 LSA)次高
第一类外部路由(Type1 External)外部路由的开销与本AS内部开销可比较低
第二类外部路由(Type2 External)外部路由的开销远大于AS内部开销(默认)最低

开销

Type1 External:本设备到ASBR的开销 + ASBR到目的地址的开销
Type2 External:仅ASBR到目的地址的开销(不累加)

6. 网络类型

OSPF根据链路层协议,将网络分为四种类型:

网络类型链路层协议报文发送方式DR/BDR选举
广播类型(Broadcast)Ethernet、FDDI组播(224.0.0.5/6)需要
NBMA类型帧中继、X.25单播需要
点到多点(P2MP)手动配置组播(Hello)/单播不需要
点到点(P2P)PPP、HDLC组播(224.0.0.5)不需要

网络类型

广播类型:以组播形式发送Hello、LSU、LSAck;224.0.0.5为OSPF设备预留组

播地址;224.0.0.6为OSPF DR/BDR预留组播地址

7. 开销(Cost)

OSPF使用Cost作为度量值,计算公式为:Cost = 参考带宽 / 接口带宽 。参考带宽默认为100Mbps(即100Mbps链路的Cost为1),可通过bandwidth-reference命令修改。

[R5-ospf-1] bandwidth-reference 10000   # 将参考带宽修改为10G,建议所有路由器统一<R5> reset ospf process   # 重启OSPF进程使配置生效

8. 优先级(Preference)

OSPF协议的优先级默认为10 (华为设备),可通过<span leaf="">preference</span>命令修改。当多个路由协议同时存在时,优先级数字越小越优先。

常见的路由优先级

直连路由(Direct):0
静态路由(Static):60
OSPF:10
RIP:100


三、OSPF报文与邻居建立

1. OSPF报文类型

报文类型报文名称作用
Type 1Hello发现和维护邻居关系,选举DR/BDR
Type 2DD(Database Description)描述LSDB的摘要信息,用于数据库同步
Type 3LSR(Link State Request)请求所需的LSA
Type 4LSU(Link State Update)发送所需的LSA
Type 5LSAck(Link State Acknowledgment)确认收到的LSA

2. 邻居状态机(8种状态)

OSPF邻居建立需要经历8个状态,这是HCIE考试的高频考点:

状态说明关键事件
Down初始状态,未收到Hello报文发送Hello后进入Init
Attempt仅NBMA网络,向邻居发送Hello收到Hello后进入Init
Init收到Hello,但未包含自己的Router ID收到包含自己Router ID的Hello后进入2-Way
2-Way双向通信建立,选举DR/BDR若需建立邻接,进入Exstart;否则停留在2-Way
Exstart协商主从关系,确定DD序列号主从协商完成后进入Exchange
Exchange交换DD报文,描述LSDB摘要DD交换完成后进入Loading
Loading发送LSR请求详细LSALSA请求完成后进入Full
Full邻接关系完全建立,LSDB同步完成

邻居状态日志

Jan 23 2021 17:07:31-08:00 BG W01OSPF/4/NBR_CHANGE: neighbor status changed.(ProcessId=256, NeighborAddress=2.26.1.10, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init)
Jan 23 2021 17:07:31-08:00 BG W01OSPF/4/NBR_CHANGE: neighbor status changed.(ProcessId=256, NeighborAddress=2.26.1.10, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way)
Jan 23 2021 17:07:31-08:00 BG W01OSPF/4/NBR_CHANGE: neighbor status changed.(ProcessId=256, NeighborAddress=2.26.1.10, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=Exstart)

3. DR/BDR选举

在广播网络和NBMA网络中,为了减少邻接关系数量,需要选举DR(指定路由器)BDR(备份指定路由器)

选举规则

  • 优先级最高的成为DR,次高的成为BDR(优先级范围0-255,0表示不参与选举)
  • 优先级相同时,Router ID大的优先
  • 非DR/BDR的路由器(DR Other)只与DR/BDR建立Full邻接关系
  • DR/BDR不可抢占,除非DR故障
# 修改接口优先级[R1-GigabitEthernet0/0/0] ospf dr-priority 100

四、LSA详解:OSPF的核心数据结构

OSPF的七种LSA是HCIE考试的重中之重。下面我们逐一拆解。

1. Type 1 LSA(Router LSA)

属性说明
产生者每台路由器
传播范围仅在区域内
包含内容路由器的直连链路信息(邻居、接口、Cost)
作用描述区域内拓扑结构

2. Type 2 LSA(Network LSA)

属性说明
产生者DR
传播范围仅在区域内
包含内容DR所在网段的所有路由器Router ID
作用描述广播网络或NBMA网络的拓扑

3. Type 3 LSA(Network Summary LSA)

属性说明
产生者ABR
传播范围区域内(跨区域传播时由ABR重新生成)
包含内容区域间路由(网络号、掩码、Cost)
作用描述区域间路由

4. Type 4 LSA(ASBR Summary LSA)

属性说明
产生者ABR
传播范围区域内(ASBR所在区域以外的区域)
包含内容ASBR的位置信息(Router ID、Cost)
作用描述如何到达ASBR

5. Type 5 LSA(AS External LSA)

属性说明
产生者ASBR
传播范围整个OSPF域(STUB/NSSA区域除外)
包含内容外部路由(网络号、掩码、Cost、Forwarding Address)
作用描述OSPF域外部路由

6. Type 7 LSA(NSSA LSA)

属性说明
产生者NSSA区域内的ASBR
传播范围仅在NSSA区域内
包含内容NSSA区域内引入的外部路由
作用允许NSSA区域引入外部路由,在ABR上转换为Type5

7. Type 9/10/11 LSA(Opaque LSA)

类型传播范围用途
Type 9接口所在网段用于GR(Graceful Restart)
Type 10区域内用于MPLS TE
Type 11整个自治域扩展用途

笔记中的LSA总结

Router-LSA (Type1):每个设备都会产生,描述链路状态和开销,在区域内传播

Network-LSA (Type2):由DR产生,描述本网段的链路状态,在区域内传播

Network-summary-LSA (Type3):由ABR产生,描述某个网段的路由,向非Totally STUB或NSSA区域通告

ASBR-summary-LSA (Type4):由ABR产生,描述ASBR的路径

AS-external-LSA (Type5):由ASBR产生,描述区域外部路由,通告到所有区域(STUB/NSSA除外)

NSSA LSA (Type7):由ASBR产生,描述区域外部路由,仅在NSSA区域内传播
Opaque LSA (Type9/10/11):提供OSPF扩展机制


五、OSPF高级特性

1. 路由认证

OSPF支持两种认证方式:

认证类型说明
接口认证在接口下配置,优先级高于区域认证
区域认证在区域下配置,该区域内所有接口均生效

配置示例

# 接口明文认证[R1-GigabitEthernet0/0/0] ospf authentication-mode simple plain Huawei@123
# 接口MD5认证[R1-GigabitEthernet0/0/0] ospf authentication-mode md5 1 cipher Huawei@123
# 区域MD5认证[R1-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher Huawei@123

2. 路由汇总

OSPF支持两种汇总方式:

汇总类型配置位置作用
ABR汇总ABR上配置将区域内的连续路由聚合成一条Type3 LSA
ASBR汇总ASBR上配置将引入的外部路由聚合成一条Type5 LSA
# ABR汇总(将192.168.0.0/16范围内的路由聚合成一条)[R1-ospf-1-area-0.0.0.0] abr-summary 192.168.0.0 255.255.0.0
# ASBR汇总[R1-ospf-1] asbr-summary 9.9.0.0 255.255.0.0

路由汇总

路由汇总:减少路由表大小,提高路由查找速度
自治系统间的汇总:只能在ASBR上配置

3. 路由过滤

OSPF支持多种路由过滤方式:

过滤方式配置位置作用
filter-policy importOSPF进程下过滤从其他协议引入的路由(只影响本机路由表,不影响LSDB)
filter-policy exportOSPF进程下过滤向邻居发布的路由(仅ASBR有效)
区域间LSA过滤ABR上配置过滤进入区域的Type3 LSA
# 过滤路由(使用ACL)[R1] acl 2000[R1-acl-basic-2000] rule 5 deny source 10.1.4.0 0.0.0.255[R1-acl-basic-2000] rule 10 permit[R1] ospf 1[R1-ospf-1] filter-policy 2000 import
# 区域间LSA过滤(ABR上)[R1-ospf-1-area-0.0.0.0] filter 2000 import

4. 特殊区域配置

STUB区域

[R1-ospf-1-area-0.0.0.1] stub

Totally STUB区域 (华为特有):

[R1-ospf-1-area-0.0.0.1] stub no-summary

NSSA区域

[R1-ospf-1-area-0.0.0.1] nssa

5. 虚链路(Virtual Link)

当非骨干区域无法与骨干区域直连时,可以通过虚链路建立逻辑连接。

# 在Area 2的ABR上配置[R4] ospf 1[R4-ospf-1] area 2[R4-ospf-1-area-0.0.0.2] vlink-peer 7.7.7.7   # 对端路由器ID
# 在Area 2的另一台ABR上配置[R7] ospf 1[R7-ospf-1] area 2[R7-ospf-1-area-0.0.0.2] vlink-peer 4.4.4.4

虚链路

如果常规区域没有和骨干区域直连,此时需要采用虚链路来将常规区域连接到骨干区域(防止路由环路)

6. 默认路由下发

OSPF支持在ASBR上通过命令下发默认路由:

[R1] ospf 1[R1-ospf-1] default-route-advertise always   # 始终下发默认路由

默认路由

Type3缺省路由优先级高于Type5或Type7路由
外部缺省路由的发布如果依赖于其它路由,依赖的路径不能是OSPF路由域内的路由

7. 路由引入

OSPF可以引入其他协议(静态、直连、RIP、BGP等)的路由:

# 引入静态路由(默认Type2)[R1-ospf-1] import-route static
# 引入直连路由(Type1)[R1-ospf-1] import-route direct type 1
# 引入RIP路由,设置Cost[R1-ospf-1] import-route rip 1 cost 100

六、OSPF配置实战(华为设备)

1. 单区域OSPF配置

# 配置Router ID和OSPF进程[R1] ospf 1 router-id 1.1.1.1[R1-ospf-1] area 0[R1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255[R1-ospf-1-area-0.0.0.0] network 12.1.1.0 0.0.0.255[R1-ospf-1-area-0.0.0.0] quit

2. 多区域OSPF配置

# R4(ABR)[R4] ospf 1 router-id 4.4.4.4[R4-ospf-1] area 0[R4-ospf-1-area-0.0.0.0] network 24.1.1.0 0.0.0.255[R4-ospf-1-area-0.0.0.0] quit[R4-ospf-1] area 2[R4-ospf-1-area-0.0.0.2] network 10.1.1.0 0.0.0.255[R4-ospf-1-area-0.0.0.2] quit
# R7(区域内路由器)[R7] ospf 1 router-id 7.7.7.7[R7-ospf-1] area 2[R7-ospf-1-area-0.0.0.2] network 10.1.1.0 0.0.0.255

3. NSSA区域配置

# 在NSSA区域的ABR上配置[R4] ospf 1[R4-ospf-1] area 2[R4-ospf-1-area-0.0.0.2] nssa
# 在NSSA区域内的ASBR上引入外部路由[R7] ospf 1[R7-ospf-1] area 2[R7-ospf-1-area-0.0.0.2] nssa[R7-ospf-1] import-route static

4. 验证命令

# 查看OSPF邻居表display ospf peer brief
# 查看OSPF路由表display ospf routing
# 查看LSDBdisplay ospf lsdb
# 查看指定LSAdisplay ospf lsdb router 1.1.1.1
# 查看OSPF接口信息display ospf interface
# 查看OSPF错误信息display ospf error

七、HCIE考题实例分析

考题描述(HCIE综合题)

某大型企业网络采用OSPF作为IGP协议,划分为Area 0、Area 1、Area 2三个区域。网络管理员在Area 2中部署了一台服务器,需要通过ASBR引入外部路由到OSPF域中。配置完成后,发现Area 1中的路由器无法学习到该外部路由,但Area 0中的路由器可以学习到。请分析可能的原因,并给出解决方案。

分析思路

  1. 检查外部路由引入的位置
    • 外部路由在Area 2的ASBR上引入
    • Area 0能学习到,说明Type5 LSA已经产生并传播到骨干区域
  2. 检查Area 1与Area 0的连接
  • Area 1通过ABR与Area 0相连
  • 如果ABR正常,Type5 LSA应该能通过ABR进入Area 1
  1. 检查Area 1的区域类型
  • 如果Area 1被配置为STUB或Totally STUB区域,则不允许Type5 LSA进入
  • STUB区域会丢弃Type5 LSA,仅通过Type3默认路由访问外部
  1. 检查ABR的过滤策略
  • 可能在ABR上配置了过滤,阻止了Type5 LSA进入Area 1

解决方案

  1. 确认Area 1区域类型
display ospf area 1

如果输出显示Area 1为STUB区域,需要决定是否保留STUB属性:

  • 若必须保留STUB,则Area 1内的路由器通过ABR的默认路由访问外部
  • 若必须学习外部路由,则需要将Area 1改为普通区域
  1. 如果Area 1是普通区域 ,检查是否有过滤配置:
display current-configuration | include filter
  1. 最终解决方案
    • 若确认Area 1是STUB区域且无法修改,则无需处理(这是预期行为)
    • 若Area 1是普通区域但路由被过滤,则删除过滤配置

答案要点

  • 原因 :Area 1被配置为STUB或Totally STUB区域,这种区域默认阻止Type5 LSA进入
  • 解决方案 :如果必须让Area 1学习到外部路由,需要将Area 1改为普通区域

八、OSPF与其他IGP的对比

对比维度OSPFIS-ISRIP
算法链路状态(SPF)链路状态(SPF)距离矢量
分层区域(Area)层级(Level-1/2)不支持
收敛速度快(秒级)快(秒级)慢(分钟级)
度量值带宽(Cost)带宽(Metric)跳数
扩展性良好优秀(支持IPv6原生)
适用规模大型网络运营商级小型网络
厂商支持全厂商全厂商(尤其运营商)全厂商

九、总结与思考

关键点说明
核心算法链路状态(SPF),无环路,快速收敛
区域划分骨干区域(Area 0)必须与非骨干区域直连;STUB、NSSA等特殊区域限制LSA传播
LSA类型Type1-7各有用途,Type3传递区域间路由,Type5传递外部路由,Type7用于NSSA
邻居状态Down → Init → 2-Way → Exstart → Exchange → Loading → Full
DR/BDR广播网络和NBMA网络需要选举,减少邻接数量
认证接口认证优先于区域认证,支持明文和MD5
汇总与过滤ABR汇总区域间路由,ASBR汇总外部路由;filter-policy控制路由加入
HCIE考点LSA类型与作用、区域类型、邻居建立过程、特殊区域配置、虚链路、认证、汇总、过滤

OSPF作为IGP的王者,以其强大的分层设计、快速收敛和灵活的特性,在网络中无处不在。掌握OSPF,不仅是HCIE考试的要求,更是成为一名优秀网络工程师的基石。


图片

💡 文末互动 :你在配置OSPF时遇到过哪些“坑”?是邻居建立失败、外部路由无法引入,还是特殊区域配置不当?欢迎在评论区分享你的排错经历!

📌 关注公众号,后台回复【HCIE数通】获取本文笔记、教程、实验拓扑文件,最新版ENSP PRO的朋友请订阅后续系列文章。

下期预告 :OSPF邻居建立专题 | 从Hello报文到Full状态,8个状态机全解析,带你彻底搞懂OSPF邻居建立的核心机制。我们将深入剖析邻居建立的完整过程,详解Down→Init→2-Way→Exstart→Exchange→Loading→Full每个状态的关键事件与排查方法,帮你掌握邻居建立失败的8大原因及定位技巧,让OSPF邻居关系不再“若即若离”!

往期回顾

HCIE数通-IPv6专题,告别地址枯竭,拥抱未来网络,从理论到实践,再到SRv6与EVPN的融合

HCIE数通-宽带接入专题PPPoE:运营商与家庭宽带之间的“最后一公里”密码

HCIE数通-WAN技术篇之PPP与MP,广域网链路中的“可靠”与“提速”艺术

HCIE数通-二层破环专题(终章):ERPS标准化的以太环网保护协议

HCIE数通-二层破环专题,SEP华为智能以太网保护协议的深度解析与实战

HCIE数通-二层破环专题(RRPP):华为环网保护协议的深度解析与实战

HCIE数通-二层破环专题(上): STP/RSTP/MSTP:从“死锁”到“负载均衡”的进化史

HCIE数通-网络基石篇:OSI与TCP/IP、你真的理解数据包的“一生”吗?

RHCE认证:

RHCE 必考考点:RHEL 9 KVM虚拟化配置全流程

RHCE认证考试学习(十一):计划任务与Ansible自动化

RHCE认证考试学习笔记(十):Shell脚本编程

RHCE认证考试学习笔记(九):文件系统与存储管理

RHCE认证学习笔记(八):防火墙与SELinux,筑牢系统安全防线

RHCE工程师认证学习笔记(七):网络配置与管理

RHCE认证学习笔记(六):软件包管理 – 从RPM到YUM仓库

RHCE认证学习笔记(五):进程管理与服务控制

RHCE认证学习笔记(四):用户管理与权限控制

RHCE认证学习笔记(三):重定向、管道与正则表达式

RHCE认证学习笔记(二):文件操作与Vim编辑器

RHCE认证考试学习笔记(一):Linux基础入门

#HCIE数通 #HCIE考试 #HCIE教程 #HCIE实验 #HCIE网络工程师 #ENSP #ensppro #IPV6 #IPV6组网


标题:HCIE数通-OSPF专题(1)链路状态路由协议的灵魂,从LSA到区域,从邻居到路由计算
作者:shuaiqijun
地址:https://www.shuaiqijun.com/articles/2026/04/04/1775270747370.html