#问题
(以下全文基于OSPFv2,即IPv4下的OSPF;链路层协议为以太网)
OSPF在发送/接收Hello包时,可以选举DR/BDR。
Hello包有一个字段为Rtr Pri(8 bit),是DR的优先级,默认为1,当它设置为0时,路由器不参与DR/BDR选举。
那么一个网络若除了一台路由器,其余路由器优先级全为0,也就会意味着网络中没有BDR?这样可行吗?
(结论是可以的,即OSPF网络可以没有BDR)
#实验条件
如图配置,三台交换机接口处于同一网段123.0.0.0 24。
将AR1和AR3接口OSPF DR优先级设置为0,即不参与DR/BDR选举。
#实验结果
先将AR1和AR3配置刷入,不管AR2。
这时AR1和AR2正常发送Hello包,所以两者成为邻居(2-Way)关系。但他们没有选举出DR/BDR。
如图,AR3发送的Hello包中,DR和BDR都属于未选举状态,但已经和AR1建立邻居。
到这里我们已经可以得出,实际情况就是根据OSPF的状态变换条件一步步推导即可,网络中的设备交流是按照我们规定好的法则。
比如目前AR1和AR3满足了建立邻居条件,就可以建立邻居。
接下来刷入AR2配置。经过一段时间建立LSDB后,AR2和AR1与AR3都形成了邻接(Full)关系。
验证AR2的Hello包,OSPF网络中确实没有选举BDR。
#结论
OSPF网络中的状态就是按照我们规定的法则来运行的,它们自己意识不到没有DR/BDR在使用时会出现问题;在没刷入AR2配置之前,OSPF网络中甚至就只有两个邻居状态的路由器,DR也没有。