一、使用的软件
Cisco Packet Tracer 8.0
二、实验名称
OSPF DR/BDR选举与控制实验
三、实验设备
路由器:
五台 2911 Router(R1、R2、R3、R4、R5)
交换机:
一台2960-24T 交换机
四、实验要求
(注意:交换机为二层交换机,仅作为数据转发,无需配置)
1、配置5台路由器IP ;
2、网段为10.19.0.0/24;
3、标识各路由器的Router-ID;
4、通过更改R3接口优先级,把当前DR设置给R3(Router-ID:3.3.3.3);
5、通过更改R2接口优先级以及路由器的id标识,由2.2.2.2修改为6.6.6.6,将当前DR设置给R2。
五、端口连接概况
R1设备的 GigabitEthernet0/1 接口连接 2960-24T 交换机的 FastEthernet 0/1接口;
R2设备的 GigabitEthernet0/1 接口连接 2960-24T 交换机的 FastEthernet 0/2接口;
R3设备的 GigabitEthernet0/1 接口连接 2960-24T 交换机的 FastEthernet 0/3接口;
R4设备的 GigabitEthernet0/1 接口连接 2960-24T 交换机的 FastEthernet 0/4接口;
R5设备的 GigabitEthernet0/1 接口连接 2960-24T 交换机的 FastEthernet 0/5接口。
六、实验拓扑图
(各设备接口连接见 "端口连接概况"):

七、实验配置
(注意:保存配置用write memory)
R1:
Router>enable # 进入特权模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R1 # 设置设备名称为R1
R1(config)#interface gigabitEthernet 0/1 # 进入接口
R1(config-if)#ip address 10.19.0.1 255.255.255.0 # 配置接口IP地址
R1(config-if)#no shutdown # 启用接口
R1(config-if)#exit # 退出接口配置模式
R1(config)#router ospf 1 # 启用OSPF进程1
R1(config-router)#router-id 1.1.1.1 # 设置路由器ID
R1(config-router)#network 10.19.0.0 0.0.0.255 area 0 # 宣告网络到区域0
R1(config-router)#exit # 退出OSPF配置模式
R1(config)#exit # 退出全局配置模式
R1#write memory # 保存配置
R2:
Router>enable # 进入特权模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R2 # 设置设备名称为R2
R2(config)#interface gigabitEthernet 0/1 # 进入接口
R2(config-if)#ip address 10.19.0.2 255.255.255.0 # 配置接口IP地址
R2(config-if)#no shutdown # 启用接口
R2(config-if)#exit # 退出接口配置模式
R2(config)#router ospf 1 # 启用OSPF进程1
R2(config-router)#router-id 2.2.2.2 # 设置路由器ID
R2(config-router)#network 10.19.0.0 0.0.0.255 area 0 # 宣告网络到区域0
R2(config-router)#exit # 退出OSPF配置模式
R2(config)#exit # 退出全局配置模式
R2#write memory # 保存配置
R3:
Router>enable # 进入特权模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R3 # 设置设备名称为R3
R3(config)#interface gigabitEthernet 0/1 # 进入接口
R3(config-if)#ip address 10.19.0.3 255.255.255.0 # 配置接口IP地址
R3(config-if)#no shutdown # 启用接口
R3(config-if)#exit # 退出接口配置模式
R3(config)#router ospf 1 # 启用OSPF进程1
R3(config-router)#router-id 3.3.3.3 # 设置路由器ID
R3(config-router)#network 10.19.0.0 0.0.0.255 area 0 # 宣告网络到区域0
R3(config-router)#exit # 退出OSPF配置模式
R3(config)#exit # 退出全局配置模式
R3#write memory # 保存配置
R4:
Router>enable # 进入特权模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R4 # 设置设备名称为R4
R4(config)#interface gigabitEthernet 0/1 # 进入接口
R4(config-if)#ip address 10.19.0.4 255.255.255.0 # 配置接口IP地址
R4(config-if)#no shutdown # 启用接口
R4(config-if)#exit # 退出接口配置模式
R4(config)#router ospf 1 # 启用OSPF进程1
R4(config-router)#router-id 4.4.4.4 # 设置路由器ID
R4(config-router)#network 10.19.0.0 0.0.0.255 area 0 # 宣告网络到区域0
R4(config-router)#exit # 退出OSPF配置模式
R4(config)#exit # 退出全局配置模式
R4#write memory # 保存配置
R5:
Router>enable # 进入特权模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R5 # 设置设备名称为R5
R5(config)#interface gigabitEthernet 0/1 # 进入接口
R5(config-if)#ip address 10.19.0.5 255.255.255.0 # 配置接口IP地址
R5(config-if)#no shutdown # 启用接口
R5(config-if)#exit # 退出接口配置模式
R5(config)#router ospf 1 # 启用OSPF进程1
R5(config-router)#router-id 5.5.5.5 # 设置路由器ID
R5(config-router)#network 10.19.0.0 0.0.0.255 area 0 # 宣告网络到区域0
R5(config-router)#exit # 退出OSPF配置模式
R5(config)#exit # 退出全局配置模式
R5#write memory # 保存配置
# 通过更改R3接口的优先级为10,把当前DR设置给R3(router-id:3.3.3.3)(接口默认优先级为1,值越大越优先)
R3:
R3(config)#interface gigabitEthernet 0/1 # 进入接口
R3(config-if)#ip ospf priority 10 # 设置OSPF接口优先级为10(用于DR/BDR选举)
R3(config-if)#exit # 退出接口配置模式
R3(config)#exit # 退出全局配置模式
R3#clear ip ospf process # 重置OSPF进程(使优先级更改生效)
Reset ALL OSPF processes? [no]: yes # 确认重置所有OSPF进程
R3#write memory # 保存配置
# 通过更改R2接口的优先级为10,以及更改当前的Router-ID,把当前DR设置为R2(接口默认优先级为1,值越大越优先)
R2(config)#interface gigabitEthernet 0/1 # 进入接口配置模式
R2(config-if)#ip ospf priority 10 # 设置OSPF接口优先级为10
R2(config-if)#exit # 退出接口配置模式
R2(config)#router ospf 1 # 进入OSPF进程1配置模式
R2(config-router)#router-id 6.6.6.6 # 修改路由器Router-ID为6.6.6.6
R2(config-router)#end # 直接退回到特权模式
R2#clear ip ospf process # 重置OSPF进程(使优先级和路由器ID更改生效)
Reset ALL OSPF processes? [no]: yes # 确认重置所有OSPF进程
R2#write memory # 保存配置
八、实验结果
1、通过修改R3接口的优先级后,使用 show ip ospf neighbor 在各路由器上查看邻居路由器的DR选举状况。
R1:

R2:

R3:

R4:

R5:

2、通过修改R2接口的优先级与R3相同再修改R2的Router-ID为6.6.6.6,使DR选举为R2,使用 show ip ospf neighbor 在各路由器上查看邻居路由器的DR选举状况。
R1:

R2:

R3:

R4:

R5:

九、实验结论
1、DR选举机制验证成功:
通过调整接口优先级与路由器ID,可以控制OSPF在多接入网络中的DR选举结果。
2、优先级优先于Router-ID:
在DR选举中,接口优先级最高的路由器优先成为DR,优先级相同时才比较Router-ID。
3、Router-ID的作用:
当优先级相同时,Router-ID较大的路由器成为DR。
4、配置生效方式:
修改优先级或Router-ID后,需使用clear ip ospf process命令重启OSPF进程,才能使新配置生效,无需重启设备。
5、实验结果符合预期:
第一阶段:
R3优先级提升至10,成为DR。
第二阶段(模拟优先级相同情况,实际上可直接修改R2路由接口优先级为最大):
R2优先级提升至10,且Router-ID改为6.6.6.6(大于3.3.3.3),成功取代R3成为DR。
十、实验总结
DR选举机制(同网段内):
(1)默认情况:
1、 默认优先级为1,优先级为0表示不参与选举,值越大越优先。
(2)选举顺序:
1、优先级最高者成为DR(最高优先级无视Router-ID和接口IP地址);
2、优先级相同,则比较Router-ID,越大越优先(最大Router-ID无视
接口IP地址数值);
3、优先级相同,若未配置Router-ID,则比较接口IP地址(数值越大越优先)。
(3)重新选举DR:
使用clear ip ospf process命令:
可重启OSPF进程使新配置生效,无需重启设备,避免业务中断。
十一、技术总结:
优点:
1、减少网络泛洪:
DR/BDR机制有效减少了OSPF在广播网络中的LSA泛洪,优化了网络性能。
2、可控性强:
通过优先级和Router-ID可灵活控制DR选举,适应不同网络设计需求。
3、动态适应:
支持动态重新选举,适应网络拓扑变化。
实际使用场景与注意事项:
1、适用场景:
多台路由器连接在同一广播域(如通过交换机互联);
需要指定某台性能较好或位置较中心的路由器作为DR。
2、注意事项:
(1)DR选举仅在接口启用OSPF时进行,后续除非重启进程或拓扑变化,否则不会重新选举;
(2)优先级设置为0可使路由器不参与选举,适用于纯客户端场景;
(3)修改Router-ID后必须重启OSPF进程才能生效;
(4)在真实网络 中,不建议频繁修改DR ,可能导致路由震荡;
(5)若DR故障 ,BDR会自动接替 ,无需手动干预;
(6)建议在规划阶段就确定好DR/BDR,避免后期频繁调整。
3、是否过时?
并不过时:
DR/BDR机制仍是OSPF在广播网络中的标准行为,尤其在传统企业网络和实验室环境中广泛应用。
现代替代方案:
在大型或复杂网络中,可采用点对点链路、OSPFv3、或使用SDN/Overlay技术减少对DR的依赖。
4、何时使用?
当网络中存在多台路由器共享同一广播域时;
当需要控制LSA泛洪路径、优化收敛性能时;
在模拟实验或教学环境中,用于理解OSPF邻居关系与选举机制。