以下是我整理出来的关于OSPF DR的选举规则,大家参考一下:
DR:指的是指定路由器,为了避免路由器之间建立的完全的邻接关系而引起大量的开销,OSPF要求在多路访问的网络中要选举一个DR,每个路由器都要与这个DR路由器建立邻接关系,在这个网络中,每个路由器都要与这个路由器交换路由信息,由这个路由器负责通知其他的路由器,告知整个网络的拓扑。
BDR:作为DR的备份之用,备份指定路由器,在指定路由器失效的情况下,备份路由器代替指定路由器的工作.
OSPF的DR(指定路由器)指的是路由器的一个活动接口,并非整台路由器,为了更好地管理OSPF拓扑的flooding,在多路访问的网络中(如广播网络,像普通的以太网)需要选举出一台DR和一台BDR,以下是DR/BDR的选举规则:
1. OSPF priority 最高者为DR(缺省所有OSPF路由器为1,通过ip ospf priority 接口配置命令更改),如果priority相同,则具有最高的Router-ID的路由器被选举为DR(Router-Id为最大的接口IP地址,如果配置了loopback地址,则使用loopback地址作为Router-ID,如果配置有多个loopback地址,则以最高的loopback地址为Router ID.也可是通过 router-id <address> 路由器配置命令强制某个IP地址作为路由器的Router ID.
需要说明的是:1.其中BDR的选择,是优先级仅次于DR的路由器,选举为BDR。
2. 如果路由器的OSPF 优先级设为“0”,则该路由器不作为DR或BDR,称为DRother.
3.OSPF中的路由器的默认的优先级是1,这样在所有的路由器都没有修改优先级的情况下,所有的路由器的优先级都为1,这时就需要看router-id了,router-id大的作为DR路由器。
2. 假设在一个OSPF多路访问网络中已存在一台DR路由器和一台BDR路由器,如果DR死掉(重起),则BDR自动升级为DR,同时选举该多路访问网络中的另一台OSPF路由器作为BDR.当原DR启动以后,虽然检测到目前运行的BDR的Router ID没有自己高,但是仍只能作为BDR或DR Other路由器运行(如果已经选举了另一台BDR).(这样也在一定的程度上就确保了链路状态的稳定性)