一、实验拓扑图

二、实验要求
R4环回地址已固定,其他所有网段使用192.168.1.0 /24 进行合理的分配。其中R1-3为区域0,R3-R4为区域1,r3的环回也在区域0。R1,R2也各有一个环回。
区域0中R3为DR设备,没有BDR设备。
R4环回不能宣告,全网可达,保障更新安全,避免环路, 减少路由条目。
三、实验细分析
3.1 网段划分
基于实验要求和实验拓扑图我们进行网段划分。
思路:
1.实验是基于192.168.1.0 /24 进行划分,且有区域0和区域1,因此我们借一位网络位,划分出192.168.1.0 /25 和 192.168.1.128 /25,作为两个区域的汇总。
2.区域1中只有R3、R4 两个路由器,因此,出于节约IP地址的考虑,只需要2个IP地址即可,划分的网段为:192.168.1.160 /30。
3.区域0中R1、R2、R3 三台路由器,都有环回接口,在加上骨干链路,一个需要划分四个网段,2^2=4,故借两位网络位,为192.168.1.0 /27、 192.168.1.32 /27、192.168.1.64 /27 、192.168.1.96 /27。
4.R1、R2、R3 三台路由器都连在同一台交换机(LSW1),这是一个共享的广播域,因此三台路由器都是在一个网段内,出于节约IP地址的考虑,只需要三个IP地址即可,因此在192.168.1.0 /27的基础上借两位网络位,为 192.168.1.1 /29、192.168.1.2 /29、192.168.1.3 /29。
结果:
192.168.1.0 /24
192.168.1.0 /25 -- area 0
192.168.1.0 /27 -- 骨干链路汇总
192.168.1.1 /29 -- R1 与 LSW1
192.168.1.2 /29 -- R2 与 LSW1
192.168.1.3 /29 -- R3 与 LSW1
192.168.1.32 /27 -- R1
192.168.1.64 /27 -- R2
192.168.1.96 /27 -- R3
192.168.1.128 /25 -- area 1
192.168.1.160 /30 -- R3 与 R4
图示结果:

3.2 对于实验要求二的分析
" 区域0中R3为DR设备,没有BDR设备",这说明了我们需要调整R1和R2路由器接口的ospf优先级,使得R1和R2的优先级为0,从而放弃DR和BDR选举。
3.3 对于实验要求三的分析
实验要求三是最为复杂与繁琐的,R4环回不能宣告,全网可达,保障更新安全,避免环路, 减少路由条目。
不能宣告:使用ospf的缺省路由。
保障更新安全:接口使用手工认证。
避免环路:使用静态路由指向空接口。
减少路由条目:使用手工汇总。
四、开始实验
4.1 配置ip
(注:篇幅有限,R2、R3、R4配置就不逐个展示了)
bash
#配置物理接口和环回接口
[r1]interface gigabitEthernet0/0/0
[r1-GigabitEthernet0/0/0]ip address 192.168.1.1 29
[r1-GigabitEthernet0/0/0]int loopback 0
[r1-LoopBack0]ip address 192.168.1.33 27




4.2 设置R1、R2接口ospf优先级
按正常应该是等到我们ospf配置完后,再完成这一步,但提前写也没关系。
bash
# R1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority 0
# R2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf dr-priority 0


4.3 配置动态路由ospf
区域0:
bash
-- R1 --
# 启动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
-- R2 --
[r2]ospf 1 r
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
-- R3 --
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 192.168.1.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 192.168.1.97 0.0.0.0
区域1:
bash
-- R3 --
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 1
[r3-ospf-1-area-0.0.0.1]network 192.168.1.161 0.0.0.0
-- R4 --
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 1
# 缺省路由
[r4-ospf-1]default-route-advertise always
[r4-ospf-1-area-0.0.0.1]network 192.168.1.162 0.0.0.0
++这里通过查看R3的配置信息和 R1 ping R3的环回 和 R4环回 来验证配置是否成功。++
4.3.1 查看R3的配置信息
bash
# 查看 OSPF 邻居状态的命令。
[r3]display ospf peer

由邻居表可以看出区域0中DR设备都是R3,且是没有BDR设备的。
bash
# 查看路由器上,由 OSPF 协议动态学习 / 生成的路由条目
[r3]display ip routing-table protocol ospf

从路由表可以看出R3 成功通过 OSPF 学习到了 3 条路由
4.3.2 R1 ping R3 的环回和 R4 环回

- ++综上所述的ospf的基础配置是没有问题的++
五、实验拓展(实验要求三)
5.1 手工认证
bash
# 手工认证,其余接口一致
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123123
各个接口都配置完后,检验邻居是否重写建立。

R1收到4.4.4.1回包,故配置成功。
5.2 手工汇总
手工汇总 是在边界路由器上基于区域进行IP汇总的。

观察R4的路由表可以看到去往区域0有四条路由,过于冗余,因此在R3上对于区域0进行手工汇总。
bash
# 手工汇总
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]abr-summary 192.168.1.0 255.255.255.128
配置后查看R4的路由表:

5.3 避免环路
将手工汇总的路由指向空接口。
bash
[r3]ip route-static 192.168.1.0 25 null 0

六、结语
恭喜你完成了本次 ospf 实验
本次 OSPF 实验,我们从一个清晰的拓扑出发,完成了从网段规划、OSPF 基础配置,到 DR/BDR 选举控制、路由手工汇总与环路避免的全流程实践。
在实验的起点,我们首先面对的是网段规划这一基础但至关重要的环节。根据实验要求,我们将
192.168.1.0/24这一主网段进行了精细化的子网划分,为 R1、R2、R3 所在的区域 0,以及 R3、R4 所在的区域 1 分配了独立的子网地址。紧接着,我们进入了 OSPF 基础配置阶段。从为每个接口配置 IP 地址,到在 OSPF 进程中宣告网络、划分区域,再到手动指定 Router-ID,每一步操作都在构建 OSPF 网络的骨架。我们见证了路由器如何通过 Hello 包发现邻居,如何逐步建立邻接关系,最终形成一个统一的链路状态数据库。
在区域 0 的广播网络中,我们重点实践了 DR/BDR 选举控制。通过调整 R3 接口的 OSPF 优先级,我们成功让 R3 成为了该网段唯一的 DR,并且刻意不选举 BDR。这一操作的背后,是对 OSPF 协议优化的深入思考:在明确的网络设计下,人为干预 DR/BDR 选举,可以避免不必要的协议开销,确保关键设备承担核心的路由转发角色,提升网络的稳定性和可预测性。
实验的核心挑战,在于如何满足 "R4 环回不宣告,但全网可达,同时避免环路、减少路由条目" 的要求。这引导我们进入了 路由手工汇总的高级实践。通过分析 R4 路由表中多条明细路由的共同前缀,我们将它们汇总为一条更优的汇总路由。这一操作不仅大幅缩减了路由表的条目数量,降低了设备的内存和 CPU 消耗,更重要的是,它通过隐藏明细路由的波动,实现了对网络故障的隔离,提升了全网的稳定性。同时,结合合理的路由过滤和汇总策略,我们成功避免了环路的产生,保障了网络更新的安全性。
相信看完本篇博客的你,也能轻松完成这个实验。