DR和BDR详解

为减小多路访问网络中OSPF流量,OSPF会选择一个指定路由器(DR)和一个备份指定路由器(BDR)。当多路访问网络发生变化时,DR负责更新其他所有OSPF路由器。BDR会监控DR 的状态,并在当前DR发生故障时接替其角色。DR和BDR是由同一网段中所有的路由器根据路由器优先级、Router ID通过HELLO报文选举出来的,只有优先级大于0的路由器才具有选取资格。进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中,发给网段上的每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,路由器优先级高者胜出。如果优先级相等,则Router ID大者胜出。
DR的选举
1.记录当前网络中的DR和BDR值,以便之后作比较用。
2.按照如下方式计算BDR。只有那些在列表中的没有宣称自己为DR的路由器才能参加BDR选举。若多于一台路由器宣称自己为BDR(例如,当前在它们的Hello包中它们将自己列为BDR,但不是DR),则拥有最高路由器优先级的路由器被选举成为BDR。如果路由器的优先级相等,则拥有最高Router ID的路由器将当选;如果没有路由器宣称自己为BDR,则选举拥有最高路由器优先级的邻居路由器为BDR(同样不考虑那些宣称自己为DR的路由器),同样使用Router ID来打破平局。
3.按照如下方法为此网络计算新的DR。若一或多个路由器宣称自己为DR(也就是说,当前在它们的Hello包中将它们自己列为DR),则拥有最高路由器优先级的路由器被宣告为DR。如果出现平局,拥有最高Router ID者胜出;如果没有路由器宣告自己为DR,则新选择出来的BDR成为DR。
4.如果路由器X现在被选为新的DR或者BDR,或者它不再成为DR或者BDR,重复步骤2和3,然后跳到步骤5。例如,如果路由器X现在是DR,当重复第2步时路由器X将不能再参加BDR的选举。此外,这也会保证没有任何路由器会同时宣告自己为BDR和DR。
5.作为选举的结果,路由器本身可能现在成为了DR或者BDR。路由器的接口状态将被依此而设置。如果路由器现在成为了BDR,则端口的新状态为“备份”。否则,接口的新状态成为DR Other。
6.如果所连接的网络是NBMA网络而路由器本身正好被选举为DR或者BDR,它必须开始发送hello包给那些无权成为DR的邻居。这是通过调用每个拥有路由器优先级0的邻居消息“Start”来实现的。
7.如果以上计算导致了DR或者BDR身份的改变,与此端口关联的邻接关系需要进行改变。某些邻接关系需要建立,而其他一些将被打破。为了实现此动作,为所有状态至少为“2-Way”的邻居调用消息“AdjOK?”。这将会导致它们重新检查邻接状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值