一、什么是DR & BDR?
在OSPF协议中,DR(Designated Router)和BDR(Backup Designated Router)是两个非常重要的角色。当一个多点链路上有多个OSPF路由器时,DR和BDR会被选出来,负责发送组播数据包(LSA)和组播首选项列表(PSL)信息。其它OSPF路由器则通过与DR/BDR建立邻居关系来交换路由信息。
二、为什么要使用DR & BDR?
在多点链路中,如果每个路由器都跟其它路由器建立邻居关系来交换路由信息,那么路由信息的交换数量将非常庞大。当链路上有多个路由器时,为了减少路由信息交换的数量,OSPF提出了DR/BDR的机制。
每个OSPF网络中的路由器都会参与DR/BDR的选举过程。选举过程中,路由器根据OSPF优先级和路由器ID来决定DR/BDR。
通过选举DR/BDR,链路上的所有路由器就只需要跟DR/BDR建立邻居关系来交换路由信息,而不用跟其它OSPF路由器互相交换路由信息,可以减少路由信息的交换量,提高OSPF网络的稳定性和性能。
三、DR & BDR的选举过程
DR/BDR的选举过程需要通过Router ID和优先级来决定:
- Router ID:每个OSPF路由器都必须有一个唯一的Router ID表示它自己。Router ID的选取顺序是:首先看是否手动指定,如果没有手动指定,则选取Loopback接口的IP地址,如果Loopback接口没有配置IP地址,则选取最高IP地址的物理接口的IP地址。
- 优先级:每个OSPF路由器都有一个OSPF优先级,范围是0~255,默认是1。优先级越高,就越有可能被选为DR/BDR。
DR/BDR的选举过程如下:
- 每个路由器都将自己的Router ID和优先级信息打包成Hello消息广播出去。
- 收到Hello消息的路由器会根据收到的信息更新自己的邻居表,并通过LSA信息确认链路上其它路由器的存在。
- 在邻居表中,每个路由器都会记录其它路由器的Router ID和优先级信息,并且将自己的DR/BDR选举状态设为未选举。
- 路由器选举DR和BDR的过程是:先从本地路由器的邻居表中剔除无用的链路,然后按照优先级从高到低的顺序筛选,并选取其中Router ID最大的作为DR,次大的作为BDR。如果本地路由器本身能够被选为DR/BDR,则向自己投票。
- 最终,每个路由器都会通过Hello消息确定它在链路中的角色:DR/BDR、邻居路由器或备份路由器。
四、DR & BDR的配置示例
以下是DR/BDR的配置示例,其中R1为DR,R2为BDR,R3和R4为其它路由器。配置示例如下:
<R1>system-view
[R1] ospf 1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0] priority 100
<R2>system-view
[R2] ospf 1
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0] priority 50
<R3>system-view
[R3] ospf 1
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
<R4>system-view
[R4] ospf 1
[R4-ospf-1] area 0
[R4-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
在配置示例中,R1的优先级为100,R2的优先级为50,因此R1将被选为DR,R2将被选为BDR。
五、总结
DR/BDR是OSPF协议中非常重要的两个角色,它们通过选举过程来减少路由器之间的路由信息交换数量,提高了OSPF网络的性能和稳定性。配置DR/BDR非常简单,只需要在不同OSPF路由器上设置不同的优先级即可。