OSFP协议DR与BDR选举

 OSPF的网络类型:

P2P型:一对路由器只加入到一个网络中

Broadcast型:例如 LAN

NBMA网络(非广播多路访问网络): 例如 帧中继网络

point-to-multipoint

point-to-multipoint NBMA

loopback

 

在P2P网络中没有DR和BDR的选举,DR和BDR的选举是在MA网络中进行的

OSPF为什么有多种网络类型?

因为OSPF路由协议是基于大型网络而设计的,大型网络的底层链路是不同的 OSPF的邻接关系

是通过组播来实现的,OSPF出现如此多的网络类型是为了适应底层的网络,例如 如果我们的底层网络是 LAN ,那么这种网络我们称之为MA网络,在默认情况下封装成为 Broadcast ,只有在MA网络中,才会进行DR和BDR的选举。

当多台OSPF路由器连接到同一个MA网络时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多的LSA,为了减少LSA的数量,那么通过在MA网络中的多台路由器中选出一台核心路由器DR 网段中的所有OSPF路由器都和DR交换LSA,这样一来DR就拥有了所有的LSA,并且将所有的LSA转发给每一台路由器;DR就像是该网段LSA的中转站,所有的路由器都与该中转站互换LSA,如果DR失效后,那么就会造成LSA的丢失与不完整,所以在MA网络中除了要选举一个DR之外,还会选举出一个BDR作为DR的备份,BDR在DR不可用时,替代DR的工作。剩下的路由器称之为DROTHER。

用例子说明上述的问题

比如一期思科培训第一天开班,来参加所有培训的学生之间本身并不熟悉,由于大家都在同一屋檐下学习,为了集体的和谐和团结,现在所有的学员之间进行自我介绍,如果有培训班有10个人,那么每个人都需要把自己的个人信息,跟另外9个人说,那么同样的内容都要说9次,一个人说9次 10个人就要说90次,此时每一个学员才能知道另外9个人的个人信息。那么这样就比较麻烦,如果此时我们在10个人中选出一个班长DR和一个副班长BDR,学员只要把自己的信息告诉给班长和副班长,此时班长和副班长就知道班级中所有成员的个人信息,然后班长再站出来大声的把另外9个人的信息念出来,此时只要说一次学员信息,其他学员听到后就都知道其他每个人的信息了,但是如果班长DR由于某种原因没来上课,此时维护学员信息的任务就交给副班长BDR了。

 

我们搭建网络拓扑

 

在四台路由器之间配置IP地址并跑起OSPF路由协议

 

R1>en

R1#config

R1(config)#int lo 0

R1(config-if)#ip add 1.1.1.1 255.255.255.0

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#int f1/0

R1(config-if)#ip add 12.1.1.1 255.255.255.0

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#router ospf 100

R1(config-router)#router-id 1.1.1.1

R1(config-router)#net 12.1.1.0 0.0.0.255 area 0

 

R1(config-router)#net 1.1.1.0 0.0.0.255 area 0

R1(config-router)#exit

 

 

R1(config)#

 

 

 

R2>en

R2#config

R2(config)#int lo 0

R2(config-if)#ip add 2.2.2.2 255.255.255.0

R2(config-if)#no shut

R2(config-if)#int f1/0

R2(config-if)#ip add 12.1.1.2 255.255.255.0

R2(config-if)#no shut

R2(config-if)#exit

R2(config)#router ospf 100

R2(config-router)#router-id 2.2.2.2

R2(config-router)#net 12.1.1.0 0.0.0.255 area 0

R2(config-router)#net 2.2.2.0 0.0.0.255 area 0

R2(config-router)#exit

R2(config)#

 

R3>en
R3#config
R3(config)#int lo 0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#no shut
R3(config-if)#int f1/0
R3(config-if)#ip add 12.1.1.3 255.255.255.0
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#router ospf 100
R3(config-router)#router-id 3.3.3.3
R3(config-router)#net 3.3.3.0 0.0.0.255 area 0
R3(config-router)#net 12.1.1.0 0.0.0.255 area 0
R3(config-router)#exit
R3(config)#
 
 
R4>en
R4#config
R4(config)#int lo 0
R4(config-if)#ip add 4.4.4.4 255.255.255.0
R4(config-if)#exit
R4(config)#
R4(config)#int f1/0
R4(config-if)#ip add 12.1.1.4 255.255.255.0
R4(config-if)#no shut
R4(config-if)#exit
R4(config)#router ospf 100
R4(config-router)#router-id 4.4.4.4
R4(config-router)#net 4.4.4.0 0.0.0.255 area 0
R4(config-router)#net 12.1.1.0 0.0.0.255 area 0
R4(config-router)#exit
 
 
 

 

 

从上图我们看到 R1是DR R2是BDR R3;R4是DROTHER
 
R3 R4同时与R1 R2之间互换LSA 但是R3 R4之间不能互换LSA
 
其实DR和BDR之间并没有任何本质上的功能区别但是我们要注意一下几点
1.只有在MA网络中才有DR和BDR
2.DR和BDR与OSPF的区域没关系,因为在一个区域内也可以有多个MA网络,那么就会存在多个DR和     BDR
3.一个MA网络中只能有一个DR和一个BDR
 
我们继续通过实验来证明上述三点
 

 
配置IP地址以及宣告路由协议过程略
 
 

R1和R2之间的关系为 full 但是没有标记DR和BDR

R2和R1之间是full关系,但是和R3之间就选举出了DR和BDR,通过图上我们发现 R3是R2和R3之间的DR

 

R3分处两个MA网络中,R3在两个MA网络中所处的角色是不同的,R3对于R2来说是DR,但是对于R4来说是BDR,可见一个OSPF区域中的不同MA网络中,路由器所处的角色也是不相同的

 

那么在MA网络中 DR和BDR 的选举规则是什么呢?

1. 比较接口优先级

  选举优先级高的接口成为DR,优先级的数字越大,则优先级越高,被选举为DR的机率就越大,次   优的优先级为BDR,优先级的取值范围为1-255 默认情况下端口优先级为1,如果优先级为0的话,   表示不会参加DR和BDR的选举

2. route-id的大小,如果在优先级都相同的情况下, route-id最大的成为DR,其次是BDR,数字越    大被选举为DR的机率就越大

3. 运行OSPF的路由器,谁先启动的OSPF谁就是DR,不管route-id 大小以及优先级大小

4. 已经选举出来的DR,不会因为BDR以及DROTHER的优先级以及route-id发生变化,而丢失DR角色

 

在R2和R3组成的MA网络中, DR为R3,那么我们修改R2的优先级,继续看DR和BDR的选举过程

 

 

r2(config)#int f2/0

r2(config-if)#ip ospf priority  255

 

 

 

成功将优先级修改为255

 

 

R3的接口优先级为默认值 1

此时我们看到,R2的接口优先级优于R3 此时我们继续查看DR角色

 

我们发现R3的DR角色并没有改变,可见DR选举之后就不能再被抢占了,此时我们让R2和R3重新协商OSPF邻居

 

同时清两台路由器的OSPF进程,让它们重新进行协商

 

此时我们看到 R3变成了 BDR,

所以我们证明了,接口优先级越大越优,DR角色不会被抢占,只有重新进行OSPF的协商才能重新选举DR和BDR角色

在本例第一个拓扑中

 

R4的 route-id 最大为4.4.4.4 ,但是我在宣告OSPF协议时候是从R1开始宣告的也就是R1的OSPF进程是最先启动的,所以 R1是DR R2是BDR R3和R4为DROTHER

所以就证明了,哪个路由器最先启动,哪个就是DR,而不管优先级以及route-id

因为所有路由器都能与DR和BDR交换LSA,所以所有的路由器与DR和BDR之间的关系都为邻接关系,而DROTHER之间无法互换LSA,所以它们之间是邻居关系

两台OSPF路由器能够形成邻居,但并不一定能相互交换LSA 只要能互换LSA关系则为邻接关系,邻居关系之间只交换HELLO包,但是邻接关系之间还会交换LSA

 

关于DR和BDR的选举就介绍到这里

你可能感兴趣的:(DR,选举,BDR,十全十美,OSFP)