路由基础之OSPFRouterID及DR和BDR的选举

Posted 晚风挽着浮云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路由基础之OSPFRouterID及DR和BDR的选举相关的知识,希望对你有一定的参考价值。

理解OSPF Router-ID

1:原理概述:

一些动态路由协议要求使用Router-ID作为路由器的身份标示,如果在启动这些路由协议时没有指定Router-ID,则路由进程可能无法正常启动。

Router-ID选举规则为,如果通过Router-ID命令配置了Router-ID,则按照配置结果设置。在没有配置Router-ID的情况下,如果存在配置了IP地址的Loopback接口,则选择Loopback接口地址中最大的地址作为Router-ID;如果没有已配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的地址作为Router-ID(不考虑接口的UpDown状态).

当且仅当被选为Router-ID的接口IP地址被删除/修改,才触发重新选择过程,其他情况(例如接口处于DOWN状态;已经选取了一个非Loopback接口地址后又配置了一个Loopback接口地址;配置了一个更大的接口地址等)不触发重新选择的过程。

Router-ID改变之后,各协议需要通过手工执行reset命令才会重新选取新的Router-ID。

2:实验目的:

理解Router-ID的选举规则

掌握OSPF手动配置Router-ID的方法

理解OSPF中Router-ID必须唯一的意义

3:连接拓扑图,开始实验:

路由基础之OSPFRouterID及DR和BDR的选举_OSPF

4:我们首先配置好接口和OSPF:

AR1:

#
interface GigabitEthernet0/0/0
ip address 10.0.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.12.1 255.255.255.0
#
interface NULL0
#
ospf 1
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 10.0.1.0 0.0.0.255
network 10.0.12.0 0.0.0.255

AR2:

#
interface GigabitEthernet0/0/0
ip address 10.0.12.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.254 255.255.255.0
#
interface GigabitEthernet2/0/0
ip address 10.0.24.1 255.255.255.0
#
interface NULL0
#
ospf 1
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 10.0.12.0 0.0.0.255
network 10.0.23.0 0.0.0.255
network 10.0.24.0 0.0.0.255

AR3:

#
interface GigabitEthernet0/0/0
ip address 10.0.23.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.2.254 255.255.255.0
#
interface NULL0
#
ospf 1
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 10.0.2.0 0.0.0.255
network 10.0.23.0 0.0.0.255

AR4:

#
interface GigabitEthernet0/0/0
ip address 10.0.24.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.3.254 255.255.255.0
#
interface NULL0
#
ospf 1
area 0.0.0.0
network 10.0.3.0 0.0.0.255
network 10.0.24.0 0.0.0.255

配置完成后,我们查看各个路由器的路由表:

AR1:

 路由基础之OSPFRouterID及DR和BDR的选举_OSPF_02

AR2:

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_03

AR3:

路由基础之OSPFRouterID及DR和BDR的选举_OSPF_04

AR4:

路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_05

我们验证网络的连通性:

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_06

PC1与PC2和PC3互通;

我们开始下一步:

5:我们验证Router-ID选举规则:

在进行基础配置之前,在AR1上使用display router id 命令来查看当前设备上

的Router-ID;

因为我们刚刚配置了接口。所以我们查看Router-ID是有信息的;

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_07

如果我们没有配置的话,它是没有的,

我们查看AR1的接口信息:

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_08

我们接下来在AR1上配置环回端口:

 路由基础之OSPFRouterID及DR和BDR的选举_OSPF_09

我们查看当前设备的router id 可以观察到,当前端口router id为10.0.1.254,而不是loopback环回接口地址1.1.1.1,这是为什么呢?

原因是接口配置顺序会影响Router-ID的选举,因为设备上第一次配置的物理接口的地址,该动作会触发Router-ID的选举,而此刻,设备上也有且仅有该物理地址,所以该地址便会Router-ID所使用,后续即使再配置了环回接口地址也不会使用。同理,如果第一次配置的是其他接口物理接口的地址,或者是环回接口的地址,都会被Router-ID所使用;

在AR1上删除G0/0/0接口的IP地址,并再次查看此时设备的Router-ID

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_10

我们再次查看AR1的Router-ID

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_11

我们发现删除当前Router-ID所使用的IP地址时。便会触发重新选举,按照环回接口优先的规则选择用1.1.1.1作为Router-ID;

我们也可以采用手动配置的方式强制指定AR1的Router-ID为1.1.1.1,这样配置的优点是,即使该地址现在已经不是AR1的任何接口地址,也可以修改为Router-ID(删除该环回接口也不会触发重新选举,验证省略)

该信息表示Router-ID已经被修改,请重启相应的路由协议进行更新。即当前全局配置的Router-ID已经被更新,如果目前设备上已经运行了OSPF协议,需要重置OSPF协议进程或者重启整合路由器才可以使得OSPF协议中Router-ID也同步更新使用该新的全局Router-ID,需要使用reset ospf process 命令来重置OSPF协议进程;

6:我在开始的时候就做了基础配置,实现了全网互通,接下来我们给其他三个路由器配置上OSPF协议的私有Router-ID,如果不配置,则默认使用全局下的Router-ID。

注意分区设备全局下的Router-ID和路由协议的Router-ID,因为环回接口是逻辑接口比物理接口更加稳定。在对网络操作时,网络管理员有可能误操作导致物理接口地址删除,或者改动,而环回接口则一般不会去改动;

AR1:

 路由基础之OSPFRouterID及DR和BDR的选举_OSPF_12

AR2:

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_13

AR3:

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_14

AR4:

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_15

我们将每台路由器的Router-id都配置了一遍,也都查看了一遍,目的是理解OSPF的Router-ID

我们查看各个路由器的OSPF的邻居关系:

AR1:

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_16

AR2:

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_17

AR3:

 路由基础之OSPFRouterID及DR和BDR的选举_OSPF_18

AR4:

 路由基础之OSPFRouterID及DR和BDR的选举_OSPF_19

我们现在的截图是为了下面的实验,用来做对比:

7:我们现在修改AR2的Router-ID为3.3.3.3,即AR3的Router-ID,使AR3和AR2的Router-ID重叠,并重置协议进程使该配置生效;

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_20

待协议收敛后,再次查看AR2的OSPF的邻居信息;

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_21

可以观察到,AR2和AR3的邻居关系消失;

此时,我们测试其连通性;

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_22

网络已经发生故障,无法正常通信。验证了OSPF建立了直连邻居关系时,Router-ID一定不能重叠。

那么如果OSPF非直连邻居Router-ID重叠会产生什么现象,我们不用想也知道,肯定是不通;(此处实验我们就省略喽)

 

实验结论:

  1. OSPF协议的Router-ID务必要在整个路由选择域内保持唯一;
  2. 在OSPF路由中会使用route id来标识路由器的序列号,竞选DR和BDR根据router-id的大小进行。
  3. Loopback口叫回环口,是一个虚拟的接口,如果路由器不关机,即使物理接口全都down了,loopback口还是会存在的,一般loopback口是用来检测和管理主机等,因为它在正常的情况下是非常稳定的。
  4. Router-ID在OSPF中,起到了一个表明身份的作用,不同的router-id表明了一个OSPF进程中不同路由器的身份。一般如果不手工指定的话,会默认用loopback口来作为router-id,就如同我前面说的,因为loopback口非常稳定,不会受链路的up/down的影响。
  5. 如果loopback口没有地址,会用物理接口上最大的IP地址作为router-id,如果连物理接口都没有,路由器会提示手工指定一个router-id.

 

OSPF中DR和BDR的选举

1:基础概念:

在OSPF的广播类型网络和NBMA类型网络中,如果网络中有n台路由器,若任意两台路由器之间都需要建立邻接关系,则需要建立n❌(n-1)/2个邻接关系,即当路由器很多时,则需要建立和维护的邻接关系就很多,两两之间需要发送的报文也就很多,这会造成很多内容重复的报文在网络中传递,浪费了设备的带宽资源。因此在广播和NBMA类型的网络中,OSPF协议定义了指定路由器DR(Designated Router),即所有其他路由器都只将各自的链路状态发送给DR,再以DR以组播方式发送至所有路由器,大大减少了OSPF数据包的发送。

但是如果DR由于某种故障而失效,此时网络中必须重新选举DR,并同步链路状态信息,这需要较长的时间为了缩短这个过程,OSPF协议又定义了BDR(Backup Designated Router)的概念,作为DR路由器的备份,当DR路由器失效时,BDR成为DR,并再选举新的BDR路由器。其他非DR/BDR路由器都称为DR Other路由器。

每一个含有至少两个路由器的广播类型网络或NBMA类型网络都会选举一个DR和BDR,选举规则是首先比较DR优先级,优先级高者成为DR,次高的成为BDR。如果优先级相等,则Router-ID数值高的成为DR,次高的成为BDR 。如果一台路由器的DR优先级为0,则不参与选举。需要注意的是,DR是在某个广播或者NBMA网段内进行选举的,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。

若DR、BDR已经选举完毕,人为修改任何一台路由器的DR优先级值为最大,也不会抢占成为新的DR或BDR,即OSPF的DR/BDR选举是非抢占的。

2:实验目的:

理解OSPF在哪种网络类型中会选举DR/BDR

掌握OSPF DR/BDR的选举规则

掌握如何更改设备接口上的DR优先级

理解OSPF DR/BDR选举的非抢占特性

基础概念有些难以理解,我们用实验来更加详细地讲述OSPF中DR/BDR的选举;

3:实验开始:

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_23

我们首先先做一些基本的基础配置,先让网络互通;

配置命令如下:

AR1:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface NULL0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 172.16.1.0 0.0.0.255

AR2:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface NULL0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
ospf 1
area 0.0.0.0
network 172.16.1.0 0.0.0.255

AR3:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.3 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface NULL0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
ospf 1
area 0.0.0.0
network 172.16.1.0 0.0.0.255

AR4:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.4 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface NULL0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
ospf 1
area 0.0.0.0
network 172.16.1.0 0.0.0.255

记得在每个路由器中手动配置Router id

配置完成后,我们尝试是否可以ping通,pc1 ping pc4

 路由基础之OSPFRouterID及DR和BDR的选举_OSPF_24

可以ping通,我们进入下一步实验;

同时重启四台路由器上的OSPF进程,或者直接同时重启设备;

命令:

<路由>reset ospf process

重启后检查OSPF邻居建立情况:

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_25

可以观察到,AR2此时已经和其他路由器成功建立起OSPF邻居关系。

其他设备在此省略;

我们接下来查看默认DR/BDR状态;

可以观察到在此广播区域中,AR3为DR,AR2为BDR;

这是由于在默认情况下,每台路由器上DR优先级为1,此时是通过Router-ID的数值高低进行比较的;

接下来在每台设备上相关接口下修改OSPF的网络类型为点到多点;

[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]os
[Huawei-GigabitEthernet0/0/0]ospf net
[Huawei-GigabitEthernet0/0/0]ospf network-type p
[Huawei-GigabitEthernet0/0/0]ospf network-type p2mp

配置完成后,在AR1上再次观察此时OSPF的DR/BDR选举情况;

可以观察到,DR/BDR都为none,验证了在点到多点的网络类型中不选举DR/BDR,同样在点到点网络中也是,这里不再赘述;

4:现在根据要求,网管要使用性能好的处理能力较强的AR1成为DR,性能次之的AR2成为BDR,而性能最差的AR4不能参加DR和BDR的选举,由此来完成网络的优化。

首先将OSPF网络类型还原为默认的广播网络类型:

[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]os
[Huawei-GigabitEthernet0/0/0]ospf net
[Huawei-GigabitEthernet0/0/0]ospf network-type b
[Huawei-GigabitEthernet0/0/0]ospf network-type broadcast

每台路由器都配置完成后

修改AR1端口G0/0/0的优先级为100,AR2为50,AR4为0,AR3为保持默认不变;

AR1:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.1 255.255.255.0
ospf dr-priority 100

AR2:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.2 255.255.255.0
ospf dr-priority 50

AR4:

#
interface GigabitEthernet0/0/0
ip address 172.16.1.4 255.255.255.0
ospf dr-priority 0

配置完成后,我们查看各个路由器的DR/BDR选举状态;

 路由基础之OSPFRouterID及DR和BDR的选举_Router-ID_26

注意:如果发现DR/BDR都没有改变,那就重新启动OSPF进程;

此时我们所查看的路由器的DR/BDR的选举情况,在该广播网络中,AR1为DR,AR2为BDR,实现了网络的需求;

 路由基础之OSPFRouterID及DR和BDR的选举_DR和BDR的选举_27

实验结论:

OSPF选举规则,在广播网络中,优先级越大者,被选举为DR,次者为BDR;

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!

以上是关于路由基础之OSPFRouterID及DR和BDR的选举的主要内容,如果未能解决你的问题,请参考以下文章

OSPF-DR与BDR的选举及作用

为啥ospf要选举dr和bdr

OSPF DR/BDR

DR、BDR、SBR、ASBR等名词的解释和原理????加分!

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

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