Thursday, February 20, 2020

OSPF Router ID

Each OSPF router selects a router ID (RID) that has to be unique on your network. OSPF stores the topology of the network in its LSDB (Link State Database) and each router is identified with its unique router ID , if you have duplicate router IDs then you will run into reachability issues.
Because of this, two OSPF routers with the same router ID will not become neighbors but you could still have duplicated router IDs in the network with routers that are not directly connected to each other.
OSPF uses the following criteria to select the router ID:
  1. Manual configuration of the router ID.
  2. Highest IP address on a loopback interface.
  3. Highest IP address on a non-loopback interface.
Let’s see this in action. I will use the following router for this demonstration:
Cisco Router OSPF 4 interfaces
There are two physical interfaces and two loopback interfaces. All interfaces are active:
R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.1.1     YES manual up                    up
FastEthernet0/1            192.168.11.1    YES manual up                    up
Loopback0                  1.1.1.1         YES manual up                    up
Loopback1                  11.11.11.11     YES manual up                    up
Let’s start an OSPF process:
R1(config)#router ospf 1
R1(config-router)#exit
Now we can check what router ID it selected:
R1#show ip protocols | include Router ID
  Router ID 11.11.11.11
It selected 11.11.11.11 which is the highest IP address on our loopback interfaces. Let’s get rid of the loopbacks now:
R1(config)#no interface loopback 0
R1(config)#no interface loopback 1
Take a look again at the router ID:
R1#show ip protocols | include Router ID
  Router ID 11.11.11.11
It’s still the same, this is because the router ID selection is only done once. You have to reset the OSPF process before it will select another one:
R1#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
Let’s see if this makes any difference:
R1#show ip protocols | include Router ID
  Router ID 192.168.11.1
There we go, the router ID is now the highest IP address of our physical interfaces. If you want we can manually set the router ID. This will overrule everything:
R1(config)#router ospf 1
R1(config-router)#router-id 111.111.111.111
Use the router-id command for this. Let’s verify our work:
R1#show ip protocols | include Router ID
  Router ID 111.111.111.111
There we go, our new router ID is visible.
When your router doesn’t have any neighbors then OSPF will immediately change the router ID (if you used the router-id command). When you do have neighbors you will have to reset the OSPF process.

hostname R1
!
interface FastEthernet0/1
 ip address 192.168.11.1 255.255.255.0
!
interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.0
!
interface Loopback1
 ip address 11.11.11.11 255.255.255.0
!
router ospf 1
 router id 111.111.111.111
!
end

That’s all there is to it, I hope this example has been useful! Any questions? Just leave a comment.

No comments:

Post a Comment