DR和BDR 作用:减少网络中LSA流量的泛洪 特点: 1.不会减少Hello报文,较少的DD,LSR,LSU,LSAck报文 2.DRother只和DR以及BDR泛洪DD,LSR,LSU 3.DRother之间只互相发送Hello报文 4.DRother之间保持2-Way关系 5.DR和BDR负责收集网络LSA 6.DR负责向网络中其他DRother通告拓扑信息 7.BDR监控DR运行状态,准备随时取代 8.只存在MA网络 选举规则: 1.先比较优先级,默认为1,大的为DR次大为BDR 优先级0,表示不参与选举 如果两台路由器优先级都为0,则邻居状态为2-Way 2.优先级相同,比较Router-ID,大的为DR次大为BDR 细节: 1.网络初始时,先选出BDR,BDR发现网络中没有DR后,把自己变为DR,再选出BDR。 2.非抢占性,当网络中已经有了DR和BDR,有一台优先级更高的或者RID更高的路由器接入,为了保障网络的稳定,DR和BDR不会发生改变。 (1)重启DR和BDR或者OSPF进程 (2)把路由器接口的优先级置为0 3.当整个网络没有DR和BDR存在时,所有的OSPF路由器都会在2-Way状态下,等待一个dead时间(40s)后进行选举 4.当多个MA网络通过交换机互联时,DR和DR之间竞选,BDR和BDR之间进行竞选。 5.在帧中继Hub-Spoke结构,必须让Hub节点成为DR,最好其他节点不参与选举优先级为0。 实验: 拓扑: 1.如何实现快速让新加入的设备成为DR 先开启R1、R2、LSW1,并运行OSPF,根据选举规则R2将成为DR,R1成为BDR 再将R3启动并运行OSPF,查看DR和BDR。 发现R3加入后,DR和BDR没有变动,验证了DR和BDR选举的非抢占性,当网络中有DR存在时,即使有优先级高的,Router-ID大的路由器加入网络也不会进行重新选举。 假设R3是一台高性能路由器,必须让它成为DR,该如何做? 方法1:重启现在为DR的R2的OSPF进程,触发重新选举 <R2>reset ospf 1 process R2的OSPF进程重启后,先前网络中为BDR的R1成为DR,而Router-ID大的R3成为了BDR。网络初始化时,发现网络中没有BDR,即先选出BDR,一台路由器成为BDR后,监控DR运行状态,发现DR不存在时,把自己的角色从BDR定义为DR通告出去。所以即便R2重启了OSPF,触发了重新选举,也只是把R3选为了BDR,R1从BDR转换为DR,R3仍然不是DR。 因此,我们再重启R1的OSPF进程,让R3从BDR->DR <R1>reset ospf 1 process R3从BDR->DR,而且也把Router-ID第二大的R2选为了BDR 方法2:把R1和R2的优先级设置为0(不参与选举) 我们先让R3恢复DRother身份 [R3-GigabitEthernet0/0/0]shutdown 先shutdown后等40s路由器失效再undo shutdown [R3-GigabitEthernet0/0/0]undo shutdown 这样又让R2成为了DR,R1成为了BDR [R1-GigabitEthernet0/0/0]ospf dr-priority 0 [R2-GigabitEthernet0/0/0]ospf dr-priority 0 将R1和R2的OSPF的dr都优先级置为0(不再参与选举) 触发两次选举,R3从Drother->BDR->DR 由于R1和R2都不参与选举,此时网络中只有DR没有BDR 将R2优先级调为1,让R2成为BDR,开始下一个实验 2.当两台交换机之间的链路断开后又重新连接,两边的DR和BDR该如何自处? [SW1-Ethernet0/0/4]shutdown 先把交换机之间的链路断开 把右边SW2、R4、R5、R6开启并运行OSPF,让R6为DR、R5为BDR 因此配置顺序应该为先配置R6、再R5、R4 配置完成后的环境 R2、R5为BDR,R3、R6为DR 现在将R2的OSPF的dr优先级调为2(成为该网络中最大的优先) 如果现在将SW1和SW2的链路开启,会发生什么? [SW1-Ethernet0/0/4]undo shutdown 按照规则,两边DR和DR进行比较优先级和RID,BDR和BDR比较优先级和RID