DR和BDR的选举问题

DR和BDR的选举问题

1、 DR---Designated Router(指定路由器)

DR的任务:   


该图中,当R3所直连的某一网络发生中断,则R3将把该信息只交给R1(DR),DR收到该信息后,再向R2和R4发送该网络中断的信息。换句话说,R1(即DR)是整个OSPF网络中的领导者,网络中出现任何变化,都需要向DR汇报,再由DR向其他路由器发送该消息。

2、 BDR---Backup Designated Router(备份指定路由器)

BDR的任务:在上图中,如果充当整个OSPF网络管理者的DR路由器发生意外情况,down了,则整个网络会因为失去了核心而变得混乱。BDR的作用就是在DR实效后顶替DR的位置,变成新的DR。

3、 为什么要选择DR、BDR? 先来考虑一下没有DR/BDR网络的更新将是什么样子的: 如图,当R2路由器有路由更新信息需要告诉给其他路由器,那么它会把信息copy三份分别发给R1,R3,R4 



当R1、R3、R4收到来自R2的更新报文后,也会做同样的事---因为它们不确定别的路由器是否已经知道了这条更新,所以他们会尽力的把自己知道的所有消息通过所有的ospf interface转发出去。 



这样会导致一个问题:网络中的重复更新信息被复制了很多份,占用了宝贵的网络资源。如果仅仅只有一台领导者DR和一台BDR那么问题就会解决:所有的非DR、BDR路由器有任何的路由更新信息都只告诉DR和BDR,再由DR负责向其他的路由器转发该更新信息。


4、 怎么选择DR、BDR 如下图,四台OSPF路由器的Router ID都已标识出来.它们使用HELLO报文来互相交换信息,从而选择出DR、BDR。在整个OSPF网络中,Router ID最高者则成为DR,次高者成为BDR,其余的路由器统称为DRother。下图中,因为R1路由器的Router ID最高,则成为DR;而R2路由器的Router ID次高,成为BDR;R3、R4两台路由器被称为DRother. 


5、 手工配置DR、BDR DR需要处理整个网络中的实时的变动信息,承担着整个OSPF网络中领导者的责任,因此做为DR路由器需要较强的性能。不排除一种可能性:网络中的一台较低端的路由器因为其上IP数值较大,那么很可能在DR选举时会成为DR,那么它将成为整个网络性能的瓶颈。我们可以通过手工控制选举的方式来指定谁将成为DR,谁将成为BDR。 可以有两种方式:

1)、 通过控制每台路由器的Router ID来指定DR、BDR 每台OSPF路由器选举DR、BDR,是通过比较各自的Router ID来决定,谁的Router ID最高,谁将成为DR。那么我们可以通过手工指定各台路由器的Router ID,来控制选举。例如在上图中,我们现在修改DR、BDR分别为R4、R3,而R1、R2均成为DRother.

Router1(config)#int lo 0

Router1(config-if)#ip add 1.1.1.1 255.255.255.0

Router1(config-if)#router ospf 100

Router1(config-router)#router-id 1.1.1.1


Router2(config)#int lo 0

Router2(config-if)#ip add 2.2.2.2 255.255.255.0

Router2(config)#router ospf 200

Router2(config-router)#router-id 2.2.2.2


Router3(config)#int lo 0

Router3(config-if)#ip add 3.3.3.3 255.255.255.0

Router3(config)#router ospf 300

Router3(config-routre)#router-id 3.3.3.3


Router4(config)#int lo 0

Router4(config-if)#ip add 4.4.4.4 255.255.255.0

Router4(config)#router ospf 400

Router4(config-routre)#router-id 4.4.4.4

因为在上图中网络已经收敛,DR、BDR已经选出,如果此时我们重新修改各路由器的Router ID,它们也不会重新选举,那样会造成网络的动荡。因此,我们在修改配置后,需要手动的重启ospf进程: Clear ip ospf pro Y 然后可以通过命令:show ip ospf neighbor 来查看配置是否生效。

2)、 通过修改路由器优先级来控制DR、BDR的选举 路由器在选举的过程中,需要比较Router ID和优先级别,优先级默认是相同的,均为1。所以在默认情况下,只比较Router ID即可。但是可以通过手工的修改优先级来控制选举。方法如下: 例如在上图中,我们需要更改R3为DR,R1为BDR,其余则为DRother

R3(config-if)#ip ospf priority 100

R1(config-if)#ip ospf priority 80

Priority范围是0~255,当一台路由器的priority为0时,该路由器将不会参加选举。


需要注意的是:

只有在广播或NBMA类型接口才会选举DR,在点到点或点到多点类型的接口上不需要选举DR。 DR是某个网段中的概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。 路由器的优先级可以影响一个选取过程,但是当DR/BDR已经选取完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选取的DR/BDR成为新的DR/BDR。 DR并不一定就是路由器优先级最高的路由器接口;同理,BDR也并不一定就是路由器优先级次高的路由器接口

 

出处:http://wenku.baidu.com/view/e504ecf67c1cfad6195fa7e8.html





### OSPF 中 DRBDR选举规则原理 OSPF(开放最短路径优先)是一种链路状态路由协议,在广播型网络或多路访问网络中,为了减少路由器之间的邻接关系数量并优化网络通信效率,引入了 DR(Designated Router,指定路由器) BDR(Backup Designated Router,备份指定路由器)。以下是关于 DR BDR 选举的具体规则原理: #### 1. 路由器角色定义 - **DR**: 主要负责管理整个网络中的路由信息交换。它与其他所有非 DR/BDR 路由器建立邻接关系,并通过这些连接来传播路由更新。 - **BDR**: 是 DR 的备用设备。当 DR 出现故障时,BDR 将自动接管其职责。 #### 2. 选举机制的核心目标 DR BDR 的存在旨在降低网络复杂度,因为它们减少了全网范围内需要形成完全邻接关系的路由器数量。只有 DR BDR 需要与同一子网内的其他路由器保持完整的邻接关系[^1]。 #### 3. 选举规则 选举基于以下条件依次判断: - 如果某台路由器的接口被配置为不参与 DRBDR 的竞选(`priority=0`),那么该路由器将不会进入候选名单[^2]。 - 接口优先级最高的路由器将成为 DR;次高的成为 BDR。默认情况下,每台路由器的初始优先级均为 1,范围是从 0 到 255[^3]。 - 当两台或更多路由器具有相同的优先级时,系统会选择拥有最高 router-id 的设备作为胜者。Router-ID 可能来源于手动设置、环回地址或者物理接口 IP 地址[^4]。 #### 4. 特殊情况处理 - **非抢占模式**:一旦 DR BDR 被选中,即使后来加入的新成员具备更高的优先级或更好的 router-id,也不会触发重新选举过程[^3]。 - **DR 故障恢复**:假如当前担任 DR 角色的路由器发生故障,原本的 BDR 自动升级为新的 DR。随后,剩余节点间再次启动新一轮选举以决定谁充当新任 BDR。 ```python # 示例代码展示如何查看 Cisco 设备上的 OSPF DR/BDR 状态 show ip ospf neighbor detail ``` 以上便是有关于 OSPF 协议下 DR BDR选举逻辑及其背后的设计理念说明。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值