Sunday, April 6, 2014

EIGRP Router-ID

Lessons Learned:

Used for external Loop Prevention
-Don’t accept self-originated external routes
-Duplicate router-id’s can result in traffic black holes

Can be manually specified with
# eigrp router-id (address) under the process.

==========================================

It is important to have the router-id unique throughout the routing domain.
The EIRGP router-ID is only used in our external Routes for loop prevention.
It’s used to make sure a route that the local router is redistributing, does not get learned back in through EIGRP and then get installed in the topology or the routing table.

The idea is that if for some reason external EIGRP has a lower administrative distance then the protocol were redistributing from, then there could potentially be a loop.

Really unless you manually change the External EIGRP Distance to be a lower value. The default External EIGRP value is 170 – which is higher than all the other IGP’s.

Topology.

















On R1 I added a loopback with the IP of 10.1.1.1 and redistributed connected under EIGRP.
This route will now show by default as an external route on all the other routers, example:

D EX    10.1.1.0 [170/156160] via 192.168.14.1, 00:03:29, FastEthernet1/0
D    192.168.23.0/24 [90/30720] via 192.168.34.3, 00:17:43, FastEthernet0/0
                     [90/30720] via 192.168.24.2, 00:17:43, FastEthernet0/1
C    192.168.34.0/24 is directly connected, FastEthernet0/0
R4#


R1#sh ip eigrp topology 10.1.1.0 255.255.255.0
IP-EIGRP (AS 300): Topology entry for 10.1.1.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 128256
  Routing Descriptor Blocks:
  0.0.0.0, from Rconnected, Send flag is 0x0 – From Redistributed connected
      Composite metric is (128256/0), Route is External
      Vector metric:
        Minimum bandwidth is 10000000 Kbit
        Total delay is 5000 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1514
        Hop count is 0
      External data:
        Originating router is 192.168.14.1 (this system) – This is my router Id and I am the local originator of this route.

        AS number of route is 0
        External protocol is Connected, external metric is 0
        Administrator tag is 0 (0x00000000)

What this will prevent is the route going from R1 – to R2 – then R3 and back to R1. With internal routes you wouldn't have to worry about this because of the DUAL algorithm and the feasibility condition.

In the case of the eternal routing information, we lose visibility about the original loop prevention mechanism of the source protocol. Meaning either from OSPF or BGP when sending the route into BGP.  

EIGRP will add an additional error check that says, if I receive an external route in that has my local ROUTER-ID in the external field. Do not accept the route.

This can be an issue if there’s duplicate router ID in the network, this means they would not accept each other’s external route information. Can be hard to troubleshoot if you’re not familiar with the Router-ID and its purpose.

Example:

Let’s look at R4 and its route to 10.1.1.0 /24

R4#sh ip route 10.1.1.1
Routing entry for 10.1.1.0/24
  Known via "eigrp 300", distance 170, metric 156160, type external
  Redistributing via eigrp 300
  Last update from 192.168.14.1 on FastEthernet1/0, 00:18:58 ago
  Routing Descriptor Blocks:
  * 192.168.14.1, from 192.168.14.1, 00:18:58 ago, via FastEthernet1/0
      Route metric is 156160, traffic share count is 1
      Total delay is 5100 microseconds, minimum bandwidth is 100000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1
R4#

  192.168.24.2 (FastEthernet0/1), from 192.168.24.2, Send flag is 0x0
      Composite metric is (158720/156160), Route is External
      Vector metric:
        Minimum bandwidth is 100000 Kbit
        Total delay is 5200 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 2
      External data:
        Originating router is 192.168.14.1  - Route is originated form this router.
        AS number of route is 0
        External protocol is Connected, external metric is 0
        Administrator tag is 0 (0x00000000)
R4#

Now on R4 under the EIGRP Process – if I change the router ID to match that or the originating router - 192.168.14.1   - I will not be able to install the route now in the routing table.

Now if I look at the topology again – the route is not in the routing table.
R4#sh ip eigrp topology 10.1.1.0/24
% IP-EIGRP (AS 300): Route not in topology table
R4#

Although the other neighbors still have the route.

R3#sh ip route 10.1.1.0
Routing entry for 10.1.1.0/24
  Known via "eigrp 300", distance 170, metric 158720, type external
  Redistributing via eigrp 300
  Last update from 192.168.23.2 on FastEthernet1/0, 00:02:48 ago
  Routing Descriptor Blocks:
  * 192.168.23.2, from 192.168.23.2, 00:02:48 ago, via FastEthernet1/0
      Route metric is 158720, traffic share count is 1
      Total delay is 5200 microseconds, minimum bandwidth is 100000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2

R3#


We can easily prevent this by making sure all router ID’s are unique. It’s also best practice to manually specify the router ID on all routers. 

No comments:

Post a Comment