OSPF 中 DR 和 BDR 选举并不会主动发生。 如果在 DR 和 BDR 选举完成后,将具有更高优先级或更高路由器 ID 的新路由器添加到网络,那么新添加的路由器并不会接收 DR 或 BDR 角色。 这是因为角色分配已经完成。 新增新路由器不会开始新的选举过程。

一旦选出 DR,它就会保持 DR 的角色,直到下列任一事件发生:

如果 DR 发生故障,那么 BDR 将自动提升为 DR。 即使在最初的 DR/BDR 选举之后将具有更高优先级或更高路由器 ID 的其他 DROTHER 添加到网络,这种情况也会发生。 但是,当 BDR 提升为 DR 后,新的 BDR 选举就会发生,那么具有更高优先级或更高路由器 ID 的 DROTHER 就会被选为新的 BDR。

图 1 至图 4 描述了关于 DR 和 BDR 选举过程的多个场景。

在图 1 中,当前 DR (R3) 出现故障;因此,预先选举的 BDR (R2) 承担 DR 角色。 随后,选举出新的 BDR。 由于 R1 是唯一的 DROTHER,它被选为 BDR。

在图 2 中,R3 已重新加入了网络(前几分钟内 R3 不可用)。 由于 DR 和 BDR 已经存在,R3 未能接收任何角色;相反,它成为 DROTHER。

在图 3 中,具有更高路由器 ID 的新路由器 (R4) 被添加到网络。 DR (R2) 和 BDR (R1) 保留了 DR 和 BDR 角色。 R4 自动成为 DROTHER。

在图 4 中,R2 出现故障。 BDR (R1) 自动成为 DR,而由于 R4 具有更高的路由器 ID,在选举过程中 R4 被选举为 BDR。