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
原文地址:http://blog.51cto.com/13566489/2063032