Thursday, February 20, 2020

OSPF DR/BDR Election explained

OSPF uses a DR (Designated Router) and BDR (Backup Designated Router) on each multi-access network.



Most CCNA students think that this DR/BDR election is done per area but this is incorrect. I’ll show you how the election is done and how you can influence it. This is the topology we’ll use:
ospf 3 routers multi access
Here’s an example of a network with 3 OSPF routers on a FastEthernet network. They are connected to the same switch (multi-access network) so there will be a DR/BDR election. OSPF has been configure so all routers have become OSPF neighbors, let’s take a look:
R1#show ip ospf neighbor 

Neighbor ID     Pri   State       Dead Time   Address       Interface
192.168.123.2   1   FULL/BDR      00:00:32    192.168.123.2 FastEthernet0/0
192.168.123.3   1   FULL/DR       00:00:31    192.168.123.3 FastEthernet0/0
From R1 perspective, R2 is the BDR and R3 is the DR.
R3#show ip ospf neighbor 

Neighbor ID     Pri   State       Dead Time   Address         Interface
192.168.123.1   1   FULL/DROTHER  00:00:36    192.168.123.1 FastEthernet0/0
192.168.123.2   1   FULL/BDR      00:00:39    192.168.123.2 FastEthernet0/0
When a router is not the DR or BDR it’s called a DROTHER. I have no idea if we have to pronounce it like “BROTHER with a D” or “DR-OTHER” 🙂 Here we can see that R1 is a DROTHER.
R2#show ip ospf neighbor 

Neighbor ID     Pri   State       Dead Time   Address         Interface
192.168.123.1   1   FULL/DROTHER  00:00:31    192.168.123.1 FastEthernet0/0
192.168.123.3   1   FULL/DR       00:00:32    192.168.123.3 FastEthernet0/0
And R2 (the BDR) sees the DR and DROTHER.
Of course we can change which router becomes the DR/BDR by playing with the priority. Let’s turn R1 in the DR:
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip ospf priority 200
You change the priority if you like by using the ip ospf priority command:
  • The default priority is 1.
  • A priority of 0 means you will never be elected as DR or BDR.
  • You need to use clear ip ospf process before this change takes effect.
R1#show ip ospf neighbor 

Neighbor ID     Pri   State       Dead Time   Address         Interface
192.168.123.2   1   FULL/BDR      00:00:31    192.168.123.2 FastEthernet0/0
192.168.123.3   1   FULL/DR       00:00:32    192.168.123.3 FastEthernet0/0
As you can see R3 is still the DR, we need to reset the OSPF neighbor adjacencies so that we’ll elect the new DR and BDR.
R3#clear ip ospf process 
Reset ALL OSPF processes? [no]: yes
R2#clear ip ospf process 
Reset ALL OSPF processes? [no]: yes
I’ll reset all the OPSF neighbor adjacencies.
R1#show ip ospf neighbor 

Neighbor ID     Pri   State       Dead Time   Address         Interface
192.168.123.2   1   FULL/DROTHER  00:00:36    192.168.123.2 FastEthernet0/0
192.168.123.3   1   FULL/BDR      00:00:30    192.168.123.3 FastEthernet0/0
Now you can see R1 is the DR because the other routers are DROTHER and BDR.
R3#show ip ospf neighbor
Neighbor ID     Pri  State        Dead Time   Address         Interface
192.168.123.1   200  FULL/DR      00:00:30    192.168.123.1 FastEthernet0/0
192.168.123.2   1    FULL/DROTHER 00:00:31    192.168.123.2 FastEthernet0/0
Or we can confirm it from R3, you’ll see that R1 is the DR and that the priority is 200.
hostname R1
!
ip cef
!
interface FastEthernet0/0
 ip address 192.168.123.1 255.255.255.0
 ip ospf priority 200
!
router ospf 1
 network 192.168.123.0 0.0.0.255 area 0
!
end
hostname R2
!
ip cef
!
interface FastEthernet0/0
 ip address 192.168.123.2 255.255.255.0
!
router ospf 1
 network 192.168.123.0 0.0.0.255 area 0
!
end
hostname R3
!
ip cef
!
interface FastEthernet0/0
 ip address 192.168.123.3 255.255.255.0
!
router ospf 1
 network 192.168.123.0 0.0.0.255 area 0
!
end


Something you need to be aware of is that the DR/BDR election is per multi-access segment…not per area!). Let me give you an example:
Ospf R1 R2 R3 Two Broadcast Domains
In the example above we have 2 multi-access segments. Between R2 and R1, and between R2 and R3. For each segment, there will be a DR/BDR election.
R2#show ip ospf neighbor 

Neighbor ID     Pri   State     Dead Time   Address         Interface
192.168.23.3    200   FULL/DR   00:00:36    192.168.23.3    FastEthernet1/0
192.168.12.1    200   FULL/DR   00:00:37    192.168.12.1    FastEthernet0/0
In the example above you can see that:
  • R1 is the DR for the 192.168.12.0/24 segment.
  • R3 is the DR for the 192.168.23.0/24 segment.
This also means that R2 is the BDR for the 192.168.12.0/24 and the BDR for the 192.168.23.0/24 segment.
hostname R1
!
ip cef
!
interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
!
router ospf 1
 network 192.168.12.0 0.0.0.255 area 0
!
end
hostname R2
!
ip cef
!
interface FastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
!
interface FastEthernet1/0
 ip address 192.168.23.2 255.255.255.0
!
router ospf 1
 network 192.168.12.0 0.0.0.255 area 0
 network 192.168.13.0 0.0.0.255 area 0
!
end
hostname R3
!
ip cef
!
interface FastEthernet0/0
 ip address 192.168.23.3 255.255.255.0
!
router ospf 1
 network 192.168.13.0 0.0.0.255 area 0
!
end
Last but not least let me show you an example where we don’t have a DR/BDR election:
ospf point to point
R1#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.12.2      0   FULL/  -        00:00:36    192.168.12.2    Serial0/0
R2#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.12.1      0   FULL/  -        00:00:34    192.168.12.1    Serial0/0
Here’s an example of a point-to-point link running HDLC. You can see that we have a neighbor but we didn’t do an election for DR or BDR. Makes sense because there is always only one router on the other side.
hostname R1
!
ip cef
!
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
!
router ospf 1
 network 192.168.12.0 0.0.0.255 area 0
!
end
hostname R2
!
ip cef
!
interface Serial0/0
 ip address 192.168.12.2 255.255.255.0
!
router ospf 1
 network 192.168.12.0 0.0.0.255 area 0
!
end

That’s all I wanted to show you for now. I hope you enjoyed reading this lesson, if you have any questions please leave a comment!

No comments:

Post a Comment