为什么需要选举 DR 和 BDR?

多路访问网络对 OSPF 的 LSA 泛洪过程提出了两项挑战:

为理解多边相邻关系带来的问题,必须学习一个公式:

对于多路访问网络上任意数量的路由器(指定为 n),有 n (n – 1) / 2 个邻接关系。

图 1 所示为五台路由器组成的简单拓扑,五台路由器都连接到同一个多路访问以太网。 如果没有任何机制来减少相邻关系数量,这些路由器总共将形成 10 项相邻关系:

5 (5 – 1) / 2 = 10

这个数字看起来不大,但随着路由器添加到网络,邻接关系数量会大幅增加,如图 2 所示。

要了解 LSA 的大量泛洪问题,请播放图 3 中的动画。 在动画中,R2 发出一个 LSA。 这一事件触发其他路由器各发出一个 LSA。 动画中未显示收到每个 LSA 后需要发出的确认。 如果多路访问网络中的每台路由器都需要向其他所有路由器泛洪 LSA 并为收到的所有 LSA 发出确认,网络通信将变得非常混乱。

用于在多路访问网络中管理邻接关系数量和 LSA 泛洪的解决方案是 DR。 在多路访问网络中,OSPF 会选举出一个 DR 负责收集和分发 LSA。 如果 DR 发生故障,则会选择 BDR。 所有其他路由器成为 DROther。 DROther 表示除 DR 和 BDR 以外的路由器。

播放图 4 中的动画,观察 DR 的作用。