DR与BDR有啥作用?如何选举?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DR与BDR有啥作用?如何选举?相关的知识,希望对你有一定的参考价值。

DR和BDR的选举是根据优先级来确定的,优先级越大约有可能成为DR,如果优先级相同,那么就根据route-id的大小来选举,越大越有可能成为DR。
首先,所有路由器向外发送hello包的时候,每个路由器都认为自己是DR,这个时候的状态为init,当达到2-way状态时,已经是邻居关系,这个时候在你给我发的数据包中我能看见我自己的信息。这个时候谁的优先级大谁是DR,如果优先级相同就比较route-id。
如果主从关系确定后,一个新加入的路由器比DR优先级大,那么原有的DR还是DR.只有当DR挂掉后,原有的bdr会向外发送其优先级route-id和其他路由器对比,如果该BDR优先级高,那么继任DR的工作。
这里有一点需要明确:优先级都为0的时候,不能参与主从选举。drther都是优先级为0.
drther和dr通讯的组播地址是:224.0.0.6.
其余的都是224.0.0.6.

希望楼主好好看看卷一。
网络之路慢慢长,我们共勉吧
参考技术A

DR和BDR的选举是根据优先级来确定的,优先级越大约有可能成为DR,如果优先级相同,那么就根据route-id的大小来选举,越大越有可能成为DR。

    首先,所有路由器向外发送hello包的时候,每个路由器都认为自己是DR,这个时候的状态为init,当达到2-way状态时,已经是邻居关系,这个时候在你给我发的数据包中我能看见我自己的信息。这个时候谁的优先级大谁是DR,如果优先级相同就比较route-id。

    如果主从关系确定后,一个新加入的路由器比DR优先级大,那么原有的DR还是DR.只有当DR挂掉后,原有的bdr会向外发送其优先级route-id和其他路由器对比,如果该BDR优先级高,那么继任DR的工作。

    这里有一点需要明确:优先级都为0的时候,不能参与主从选举。drther都是优先级为0.
    drther和dr通讯的组播地址是:224.0.0.6.。

    其余的都是224.0.0.6.。

OSPF的DR与BDR选举

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

以上是关于DR与BDR有啥作用?如何选举?的主要内容,如果未能解决你的问题,请参考以下文章

OSPF的DR与BDR选举

为啥ospf要选举dr和bdr

DR详解

选举DR/BDR

ospf除了DR和BDR选举,之后还有主从关系选举!

OSPF中DR和BDR到底是谁先选举出来的?