DR/BDR 是怎么选出来的
在广播型网络里,所有路由器两两建邻接的代价是平方级的,OSPF 用指定路由器(DR)与备份指定路由器(BDR)解决:其他路由器只与 DR、BDR 形成完全邻接关系,路由信息由 DR 汇总扩散。选举按接口优先级比大小,优先级相同时比 Router-ID,数值大者胜出;优先级为 0 表示本接口永不参与选举。选举结果不会因为后来者优先级更高而改变,这叫不抢占。
基本信息
| 适用平台 | 广播型网络(以太网)上的 OSPF 接口 |
|---|---|
| 命令形态 | 华为 ospf dr-priority,思科 ip ospf priority,H3C ospf dr-priority |
| 取值范围 | 0 到 255,默认 1;0 表示不参与选举 |
| 权限要求 | system-view / 接口配置模式 |
| 生效条件 | 改完需触发重新选举(重置进程或清除接口邻居),否则不抢占 |
典型使用场景
- 指定核心交换机做 DR:让流量走规划好的汇聚路径,避免次优转发
- 保护设备:把防火墙、负载均衡这类设备优先级设为 0,永不担任 DR
- 新设备上线:新设备默认优先级 1 且 Router-ID 较大时可能抢走 DR,需要提前规划
- 排障定位:业务路径与设计不符时,先看当前 DR 是否落在预期设备上
- 大规模二层网络:在服务器接入网段控制 DR 位置,减少邻接数量与协议开销
华为 VRP
华为 VRP
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ospf dr-priority 100 # 值大者更可能当 DR
! 0 表示本接口不参与 DR/BDR 选举
[Huawei] reset ospf process # 触发重选(会断邻居,慎用)
<Huawei> display ospf interface GigabitEthernet0/0/1 # 查看 DR/BDR 字段思科 IOS
思科 IOS
SW-CORE-01(config)# interface GigabitEthernet0/1
SW-CORE-01(config-if)# ip ospf priority 100
SW-CORE-01# show ip ospf interface GigabitEthernet0/1 | include priority|DR
SW-CORE-01# clear ip ospf process # 触发重选(会断邻居,慎用)
SW-CORE-01# show ip ospf neighbor # 确认邻接关系已重建H3C Comware
H3C Comware
[H3C] interface GigabitEthernet1/0/1
[H3C-GigabitEthernet1/0/1] ospf dr-priority 100
<H3C> reset ospf process # 触发重选(会断邻居,慎用)选举规则
| 比较项 | 规则 | 工程要点 |
|---|---|---|
| 接口优先级 | 数值大者优先,范围 0-255 | 默认 1;设 0 表示永不参选 |
| Router-ID | 优先级相同时比 Router-ID,大者胜 | 手工规划 Router-ID 可避免选举结果不可预期 |
| 是否抢占 | 不抢占:已在任的 DR 不会被更高优先级抢走 | 改完必须触发重选才生效 |
| BDR 的作用 | DR 失效后接管,无需全网重算 | BDR 由优先级次高者担任 |
| 选举范围 | 按网段(广播域)分别选举 | 同一设备的多个接口可担任不同网段的角色 |
不希望参与 DR 选举的设备(防火墙、负载均衡、单臂探针主机)把优先级设 0 是常见做法,避免它们承担邻接与 LSA 扩散工作。判定谁是 DR 要看 display ospf interface 或 show ip ospf interface 的 DR 字段,邻居状态正常不代表本机就是 DR。