部分局域网连接中的 Dr 选举

网络工程 路由 路由器 ospf 协议论 射频
2022-02-27 06:17:13

假设我们在 OSPF 广播网络 (LAN) 中有三个具有全网状连接的路由器 R1 R2 和 R3。R1 成为 DR。R2 BDR 和 R3 与它们都形成邻接关系。现在让路由器 r4 连接,但它只能听到并发送到 R3,(因为说网络故障)发送你好说他的 DR 是 R1 和 BDR 是 r2 但它自己不承担任何职责。问题是 r4 会选举 r3 作为他的博士(因为根据 rfc 9.4,没有什么使他没有资格参加博士选举算法。假设 r3 优先级不为零。有人可以根据标准说明在这种情况下会发生什么。

 R1(DR)--R2(BDR)  
     \      /
      \    /
       \  / 
        \/  
        R3 HELLO=(DR=R1, BDR=R2)
         |
         | 
        R4 ELECTED DR - ???
2个回答

修改:

我不确定 RFC 是否涵盖这种奇怪的情况,因此它取决于实现。

经过进一步的思考(以及@ronmaupin 的一点点刺激),很明显 R4 永远不会超越 R3 的 2way 状态。

R3 将使用 DR 和 BDR 的 RID 向 R4 发送问候。R4 将接受这些值并尝试联系 R1 和 R2。既然不能,它就永远不会加载它的数据库,所以路由表中不会有 OSPF 路由。

问题是,既然 R4 无法联系到 DR 或 BDR,它会开始新的选举吗?如果它决定它或 R3 是 BDR,它“应该”开始在 AllDRRouters 地址 (224.0.0.6) 上发送问候。但 R3 没有在听,因为它已经知道 DR 和 BDR 是谁。

所以它应该保持在2way状态,认为是DR,但没有其他人会注意它。

在您的拓扑中,R3 和 R4 是 OSPF 点对点连接。所以没有 DR 或 BDR 选举。r3 和 r4 之间的邻居总是处于 FULL 状态。但是 r3 和 r2 仅来自邻接关系,它们之间没有邻居,因为 r1 在它们之间被选为 DR。所以 r3 和 r1 , r2 和 r1 只会来自邻居