DR/BDR

1. DR/BDR简介

在广播网和 NBMA 网络中,任意两台路由器之间都要交换路由信息。如果网络中有 n 台路由器,则需要建立 n(n-1)/2 个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题, OSPF 协议定义了指定路由器 DR Designated Router ),所有路由器都只将信息发送给 DR ,由 DR 将网络链路状态发送出去。
如果 DR 由于某种故障而失效,则网络中的路由器必须重新选举 DR ,再与新的 DR 同步。这需要较长的时间,在这段时间内,路由的计算是不正确的。为了能够缩短这个过程, OSPF 提出了 BDR Backup Designated Router ,备份指定路由器)的概念。
BDR 实际上是对 DR 的一个备份,在选举 DR 的同时也选举出 BDR BDR 也和本网段内的所有路由器建立邻接关系并交换路由信息。当 DR 失效后, BDR 会立即成为 DR 。由于不需要重新选举,并且邻接关系事先已建立,所以这个过程是非常短暂的。当然这时还需要再重新选举出一个新的 BDR ,虽然一样需要较长的时间,但并不会影响路由的计算。
DR BDR 之外的路由器(称为 DR Other )之间将不再建立邻接关系,也不再交换任何路由信息。这样就减少了广播网和 NBMA 网络上各路由器之间邻接关系的数量。
7 所示,用实线代表以太网物理连接,虚线代表建立的邻接关系。可以看到,采用 DR/BDR 机制后, 5 台路由器之间只需要建立 7 个邻接关系就可以了。
DR/BDR_第1张图片图7 DR BDR 示意图

2. DR/BDR选举过程

DR BDR 是由同一网段中所有的路由器根据路由器优先级、 Router ID 通过 HELLO 报文选举出来的,只有优先级大于 0 的路由器才具有选取资格。
进行 DR/BDR 选举时每台路由器将自己选出的 DR 写入 Hello 报文中,发给网段上的每台运行 OSPF 协议的路由器。当处于同一网段的两台路由器同时宣布自己是 DR 时,路由器优先级高者胜出。如果优先级相等,则 Router ID 大者胜出。如果一台路由器的优先级为 0 ,则它不会被选举为 DR BDR
需要注意的是:
l              只有在广播或 NBMA 类型接口才会选举 DR ,在点到点或点到多点类型的接口上不需要选举 DR
l              DR 是某个网段中的概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是 DR ,在另一个接口上有可能是 BDR ,或者是 DR Other
l              路由器的优先级可以影响一个选取过程,但是当 DR/BDR 已经选取完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选取的 DR/BDR 成为新的 DR/BDR
l              DR 并不一定就是路由器优先级最高的路由器接口;同理, BDR 也并不一定就是路由器优先级次高的路由器接口。