一、实验目的
- 理解 OSPF 区域(Area)的概念:掌握骨干区域 Area 0 与非骨干区域的关系,理解 "所有非骨干区域都必须与 Area 0 直连" 的组网原则;
- 掌握 ABR(区域边界路由器)的作用与判定:理解 ABR 是 "接口分属 ≥2 个区域且其中一个必须是 Area 0" 的路由器,掌握其配置方法及其在跨区域路由中的 "桥梁" 作用;
- 掌握 OSPF 多区域配置命令 :重点理解
network命令中**反掩码(Wildcard Mask)**的写法与含义,能正确将不同网段宣告到指定区域; - 验证区域间路由学习 :掌握区域间路由
O_IA的识别方法,验证跨区域网段全部可以学习(AR2 ↔ AR3 双向互通); - 理解 Type-3 LSA 汇总机制 :通过
display ospf lsdb观察 Type-1 / Type-2 / Type-3 LSA,理解 ABR 如何将其他区域的路由以 Type-3 LSA 汇总通告; - 掌握基本排错能力 :能通过
display ospf peer、display ospf brief等命令判断邻居状态与区域归属,排查常见配置错误。
二、实验简介
OSPF(开放最短路径优先)是华为数通设备上最常用的动态路由协议。在中小型网络中,为了减小路由表规模、隔离故障域,通常会把网络划分成多个区域(Area) ,其中 Area 0 是骨干区域,其他所有非骨干区域都必须直接与 Area 0 相连。
本实验演示一台 ABR(区域边界路由器) 同时连接 Area 0 和 Area 1,实现跨区域网段互相学习 。核心看点是:区域间路由在路由表里以 O_IA 形式出现,而这正是 ABR 通过 Type-3 LSA(汇总 LSA) 通告的结果。
三、实验拓扑

- AR1:ABR(区域边界路由器),一个接口在 Area 0,一个接口在 Area 1,是本次实验的核心。
- AR2:Area 0 内部路由器(Internal Router),用 LoopBack 0 模拟 Area 0 里的一个业务网段。
- AR3:Area 1 内部路由器,用 LoopBack 0 模拟 Area 1 里的一个业务网段。
四、IP 地址规划表
表格
| 设备 | 接口 | IP 地址 / 掩码 | 所属区域 | 用途说明 |
|---|---|---|---|---|
| AR1(ABR) | G0/0/0 | 10.0.0.1/24 | Area 0 | 连接 R2 的骨干链路 |
| AR1(ABR) | G0/0/1 | 192.168.1.1/24 | Area 1 | 连接 R3 的链路 |
| AR2 | G0/0/0 | 10.0.0.2/24 | Area 0 | 连接 R1 |
| AR2 | LoopBack 0 | 10.0.1.1/24 | Area 0 | 模拟 Area 0 业务网段 |
| AR3 | G0/0/0 | 192.168.1.2/24 | Area 1 | 连接 R1 |
| AR3 | LoopBack 0 | 192.168.2.1/24 | Area 1 | 模拟 Area 1 业务网段 |
Router ID 规划(OSPF 进程内必须唯一):
表格
| 设备 | Router ID |
|---|---|
| AR1 | 1.1.1.1 |
| AR2 | 2.2.2.2 |
| AR3 | 3.3.3.3 |
五、实验环境
- eNSP 模拟器(VRP5 平台,AR 路由器)
- 3 台 AR 路由器(AR2220 或 AR3260 均可)
六、实验步骤
步骤 1:启动 eNSP,搭建拓扑
从左侧拖入 3 台 AR 路由器,按上面拓扑图连接:
- AR1 的 G0/0/0 连接 AR2 的 G0/0/0
- AR1 的 G0/0/1 连接 AR3 的 G0/0/0
注意:连线时一定要看清接口编号,ABR 的 G0/0/0 进 Area 0、G0/0/1 进 Area 1,别接反,否则后面的区域归属就全乱了。
步骤 2:配置各设备接口 IP 地址
AR1(ABR)接口配置:
shell
<Huawei> system-view # 进入系统视图(可简写 sys)
[Huawei] sysname AR1 # 改设备名为 AR1,方便后面观察
[AR1] interface GigabitEthernet0/0/0 # 进入连接 AR2 的接口(可简写 int g0/0/0)
[AR1-GigabitEthernet0/0/0] ip address 10.0.0.1 24 # 配 IP:10.0.0.1,掩码24位,属Area0链路
[AR1-GigabitEthernet0/0/0] quit # 返回上一级
[AR1] interface GigabitEthernet0/0/1 # 进入连接 AR3 的接口
[AR1-GigabitEthernet0/0/1] ip address 192.168.1.1 24 # 配 IP,属 Area1 链路
[AR1-GigabitEthernet0/0/1] quit
AR2 接口配置:
shell
<Huawei> system-view
[Huawei] sysname AR2
[AR2] interface GigabitEthernet0/0/0
[AR2-GigabitEthernet0/0/0] ip address 10.0.0.2 24 # 连接 AR1
[AR2-GigabitEthernet0/0/0] quit
[AR2] interface LoopBack 0 # 创建逻辑环回接口,模拟业务网段
[AR2-LoopBack0] ip address 10.0.1.1 24 # LoopBack 不依赖物理线路,稳定不易down
[AR2-LoopBack0] quit
AR3 接口配置:
shell
<Huawei> system-view
[Huawei] sysname AR3
[AR3] interface GigabitEthernet0/0/0
[AR3-GigabitEthernet0/0/0] ip address 192.168.1.2 24 # 连接 AR1
[AR3-GigabitEthernet0/0/0] quit
[AR3] interface LoopBack 0
[AR3-LoopBack0] ip address 192.168.2.1 24
[AR3-LoopBack0] quit
步骤 3:配置 OSPF 多区域(重点)
AR1 ------ ABR 的 OSPF 配置(本实验核心,对应你的原始配置):
shell
[AR1] ospf 1 router-id 1.1.1.1
# 创建 OSPF 进程1,并显式指定 Router ID 为 1.1.1.1
# 进程号只要全互联路设备一致即可(默认都用 1)
# Router ID 相当于路由器在 OSPF 世界里的身份证,必须全网唯一
[AR1-ospf-1] area 0
# 进入骨干区域 Area 0
# 骨干区域必须连续,且所有非骨干区域都要"挂"在它上面
[AR1-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
# 把 10.0.0.0/24 这条骨干链路宣告进 Area 0
# 注意!OSPF 的 network 后面跟的是【反掩码】0.0.0.255,不是子网掩码
# 反掩码 = 255.255.255.255 - 子网掩码,/24 对应的反掩码就是 0.0.0.255
[AR1-ospf-1-area-0.0.0.0] quit
[AR1-ospf-1] area 1
# 进入非骨干区域 Area 1
[AR1-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
# 把 192.168.1.0/24 这条链路宣告进 Area 1
[AR1-ospf-1-area-0.0.0.1] quit
[AR1-ospf-1] quit
# 退出 OSPF 进程,配置完成
# 此时 AR1 同时属于 Area 0 和 Area 1,自动升级为 ABR(区域边界路由器)
AR2(Area 0 内部路由器)OSPF 配置:
shell
[AR2] ospf 1 router-id 2.2.2.2
[AR2-ospf-1] area 0
[AR2-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255 # 宣告互联链路 10.0.0.0/24
[AR2-ospf-1-area-0.0.0.0] network 10.0.1.0 0.0.0.255 # 宣告 LoopBack 业务网段 10.0.1.0/24
[AR2-ospf-1-area-0.0.0.0] quit
[AR2-ospf-1] quit
AR3(Area 1 内部路由器)OSPF 配置:
shell
[AR3] ospf 1 router-id 3.3.3.3
[AR3-ospf-1] area 1
[AR3-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 # 宣告互联链路 192.168.1.0/24
[AR3-ospf-1-area-0.0.0.1] network 192.168.2.0 0.0.0.255 # 宣告 LoopBack 业务网段 192.168.2.0/24
[AR3-ospf-1-area-0.0.0.1] quit
[AR3-ospf-1] quit
配置完稍等几秒,让 OSPF 完成邻居建立和收敛(Hello 报文默认 10 秒发一次)。
步骤 4:验证 OSPF 邻居关系
在 AR1 上查看邻居:
shell
[AR1] display ospf peer brief
正常情况下能看到两个邻居,且 State 均为 Full/Full(表示邻接关系完全建立):
表格
| Area | Neighbor ID | Interface | State |
|---|---|---|---|
| 0.0.0.0 | 2.2.2.2(AR2) | GigabitEthernet0/0/0 | Full/Full |
| 0.0.0.1 | 3.3.3.3(AR3) | GigabitEthernet0/0/1 | Full/Full |

确认 AR1 的 ABR 角色:
shell
[AR1] display ospf bri

输出中会看到 Border Router: ABR(AREA) 的标记,说明 AR1 已被 OSPF 识别为区域边界路由器,同时能看到它同时承载了 Area 0 和 Area 1。
步骤 5:验证跨区域路由学习(✅ 核心验证点)
在 AR2(Area 0)上查看 OSPF 路由表:
shell
[AR2] display ip routing-table protocol ospf
预期结果:
表格
| 目的网段 | 协议 / 优先级 | 下一跳 | 说明 |
|---|---|---|---|
| 192.168.1.0/24 | O_IA | 10.0.0.1 | Area 1 互联链路,跨区域学到的 |
| 192.168.2.1/32 | O_IA | 10.0.0.1 | R3 的 LoopBack,跨区域学到的 |

在 AR3(Area 1)上查看:
shell
[AR3] display ip routing-table protocol ospf
预期结果:
表格
| 目的网段 | 协议 / 优先级 | 下一跳 | 说明 |
|---|---|---|---|
| 10.0.0.0/24 | O_IA | 192.168.1.1 | Area 0 互联链路,跨区域学到的 |
| 10.0.1.1/32 | O_IA | 192.168.1.1 | AR2 的 LoopBack,跨区域学到的 |

O_IA是关键 :O_SPF表示区域内路由(本区域直连),O_IA表示区域间路由(Inter-Area)。只要出现O_IA,就说明 ABR 的跨区域通告生效了 ------ 这就是实验要求里 "跨区域网段全部可以学习" 的验证结果。
步骤 6:进阶验证 ------ 观察 LSA 类型(理解原理用)
在 AR3 上查看 Area 1 的链路状态数据库:
shell
[AR3] display ospf lsdb

你会看到三类 LSA:
- Type-1(Router LSA):AR1、AR3 各自产生的路由器 LSA,描述自己直连的链路状态。
- Type-2(Network LSA):由 DR 产生的网络 LSA,描述广播链路(以太网)上所有路由器。
- Type-3(Summary LSA) :由 ABR(AR1) 产生的汇总 LSA------
10.0.0.0/24和10.0.1.1/32就是靠它从 Area 0 通告到 Area 1 的。
这就是 OSPF 区域划分能减小路由表、隔离故障域的根本原理:Area 1 内部路由器不需要知道 Area 0 的拓扑细节,只需要一条汇总路由即可。
步骤 7:全网互通测试(Ping)
从 AR2 ping AR3 的业务网段:
shell
[AR2] ping 192.168.2.1

从 AR3 ping AR2 的业务网段:
shell
[AR3] ping 10.0.1.1

两端都能收到 Reply from ... 即表示跨区域通信完全打通。
七、核心知识点解析
1. OSPF 区域与路由器角色
表格
| 角色 | 全称 | 判定条件 | 本实验 |
|---|---|---|---|
| IR | 内部路由器 | 所有接口都在同一个区域 | AR2、AR3 |
| 骨干路由器 | Backbone Router | 至少一个接口在 Area 0 | AR2 |
| ABR | 区域边界路由器 | 接口分属 ≥2 个区域,且必须有一个在 Area 0 | AR1 |
| ASBR | 自治系统边界路由器 | 引入外部路由进 OSPF | 本实验不涉及 |
ABR 是跨区域通信的 "桥梁":它把 Area 0 的路由转成 Type-3 LSA 通告到 Area 1,把 Area 1 的路由转成 Type-3 LSA 通告回 Area 0。没有 ABR,区域之间就 "老死不相往来"。
2. 反掩码(Wildcard Mask)------ 最容易写错的地方
OSPF 的 network 命令后面跟的是反掩码,不是子网掩码:
plaintext
反掩码 = 255.255.255.255 - 子网掩码
表格
| 子网掩码 | 反掩码 | 含义 |
|---|---|---|
| /24(255.255.255.0) | 0.0.0.255 | 前 24 位必须匹配 |
| /8(255.0.0.0) | 0.255.255.255 | 前 8 位必须匹配 |
易错提示(反掩码) :Area 0 中如果写成
network 10.0.0.0 0.255.255.255,会把设备上所有 10.x.x.x 网段 都宣告进 Area 0。本实验仅有一条 10.0.0.0/24 骨干链路,因此不影响结果;但在生产环境中,若设备还存在其他 10.x 网段接口,就会被误宣告进错误区域,导致路由归属混乱。因此建议一律使用精确反掩码0.0.0.255,避免网段被错误区域捕获,这也是更规范、更稳妥的写法。
3. LoopBack 接口以 /32 通告(重要细节)
观察步骤 5 的路由表你会发现:AR2 的 LoopBack 明明是 10.0.1.1/24,但 R3 学到的却是 10.0.1.1/32。
这是华为设备的默认行为 :LoopBack 是逻辑接口,OSPF 默认把它当作主机接口处理,一律通告为 /32 主机路由。这不是配置错误,别被吓到。这也是生产环境中常用 LoopBack 地址做 Router ID、管理地址的原因之一。
4. 广播链路与 DR/BDR(补充)
以太网是**广播型多路访问(Broadcast)**网络,OSPF 需要选举 DR/BDR 来减少邻接关系数量:
- 默认优先级都是 1,Router ID 大者当选 DR
- 本实验 10.0.0.0/24 链路上:AR2(2.2.2.2)为 DR,AR1 为 BDR
- 192.168.1.0/24 链路上:AR3(3.3.3.3)为 DR,AR1 为 BDR
可用以下命令观察:
shell
[AR1] display ospf interface
八、常见错误与排错思路
表格
| 现象 | 可能原因 | 排查命令 |
|---|---|---|
| 邻居卡在 ExStart/Exchange,始终不到 Full | 两端 Area 号不一致 | display ospf peer、display ospf brief |
| 邻居能建立,但学不到某个网段 | network 声明遗漏或反掩码写错 | display ip routing-table protocol ospf |
| 全网不通 | 接口地址与 network 不匹配 / 接口没 up | display interface brief |
| R3 学到的是 /32 而不是 /24 | LoopBack 默认行为,正常现象 | --- |
常用排错命令汇总:
shell
display ospf peer # 邻居状态(重点看 Full)
display ospf brief # 查看区域、接口、DR/BDR
display ospf error # 查看邻居错误计数
display ip routing-table protocol ospf # 只看 OSPF 学习到的路由
display current-configuration # 查看完整配置,检查 network 声明
九、实验总结
本实验的核心结论:
- Area 0 是骨干,所有非骨干区域都必须直接连到 Area 0;
- ABR 是跨区域路由的桥梁,它把区域间路由转成 Type-3 LSA 通告;
- 区域间路由在路由表中显示为
O_IA,出现它即代表跨区域学习成功; - OSPF 的
network用的是反掩码 ,且 LoopBack 默认通告 /32,这两点是高频考点也是易错点。
十、思考题
- 如果把 AR3 的
area 1误写成area 0,会怎样?还能学到路由吗? - 在 AR1 上改用
network 10.0.0.0 0.255.255.255,并且给 AR1 再加一个10.2.1.1/24的接口,会发生什么?验证一下 "反掩码过宽" 的危害。 - 为什么 AR2 学到的 R3 LoopBack 是
/32?如果希望 R3 把一个真实的/24业务网段通告出去(不显示成 /32),应该用什么方式?(提示:可以用连接终端的物理接口来承载该网段)