Home To Know Networking EIGRP (Enhanced Interior Gateway Routing Protocol)

EIGRP (Enhanced Interior Gateway Routing Protocol)

320
0
SHARE
EIGRP (Enhanced Interior Gateway Routing Protocol)

EIGRP (Enhanced Interior Gateway Routing Protocol) is a cisco proprietary, Advance distance vector, classless Interior gateway routing protocol.

  • Released in-1994.
  • It works on Network Layer of OSI Model.
  • It use the IP protocol no 88. (It doesn’t use TCP or UDP)
  • EIGRP AD – 90
  • Eigrp External routes AD – 170
  • EIGRP has a maximum hop-count of 224, though the default maximum hop-count is set to 100
  • EIGRP use AS numbers to divide a network logically.
  • AS No – 1to 65535.
  • EIGRP supports only one type of Authentication that is MD-5.
  • It forwards incremental updates.
  • It forwards bounded updates.
  • It supports unequal load balancing.
  • Multi-protocol support – IP, IPx and AppleTalk.
  • Rapid convergence using DUAL Algo.
  • Supports CIDR and VLSM.

EIGRP uses Bandwidth and Delay of the Line, by default to calculate its distance metric. It also supports three other parameters to calculate its metric: Reliability, Load and MTU.

EIGRP uses Diffusing Update Algorithm (DUAL) to determine the best path among all “feasible” paths. DUAL also helps ensure a loop free routing environment.

EIGRP will form neighbor relationships with adjacent routers in the same Autonomous System.

EIGRP traffic is either sent as unicasts, or as multicasts. It send multicast hello using the multicast IP 224.0.0.10 Reliable Transport Protocol is used to ensure delivery of most EIGRP packets.

EIGRP routers do not send periodic, full-table routing updates. Updates are sent when a change occurs, and include only the change.

EIGRP allows for up to 16 equal-metric routes to be installed in the routing table, the default is four. EIGRP also has something called variance. Variance allows for un – equal cost load balancing. EIGRP packets are by default use no more than 50% of bandwidth.

Hello and Hold Interval Timers

Link Bandwidth Hello Hold
1.544 Mbps or less 60 Sec 180 Sec
1.544 Mbps or more 5 Sec 15 Sec

EIGRP Technologies/Components

  1. NDR (Neighbor Discovery and Recovery)
  2. RTP (Reliable Transport protocol)
  3. DUAL (Defusing update algorithm)
  4. PDM (Protocol Dependent Module)

NDR (Neighbor Discovery and Recovery)

It is used to maintain the neighborship.

Functions of NDR

  • Firstly it determines that how many neighbors are exists. It determines that how many hellos and acknowledge will be expected.
  • If it does not receive hello in whole hold time then it erase the neighbor from neighbor table.
  • If it doesn’t receive hello then it forwards 16 unicasts hello message, if neighbor is still not responding then it erase that neighbor from neighbor table.

RTP (Reliable Transport protocol)

RTP is cisco proprietary protocol. It is used to send some EIGRP messages. EIGRP is protocol independent; it does not rely on TCP/IP to exchange routing information, the way RIP, IGRP and OSPF do. RTP supports reliable and unreliable delivery.

RTP is used for EIGRP Queries, updates and replies. RTP is not used for hellos and acks.

DUAL (Defusing update algorithm)

It is a modification in distance vector algorithm. It provides a backup path with loop free network.

Functions of DUAL

  • Best path determination.
  • Backup path with loop free network.

PDM (Protocol Dependent Module)

It is used to support different types of routed protocols. Ex- IP, IPx, AppleTalk. (Routing protocol gives us best path and routed protocols are used to carry the data packets.)

EIGRP Packet Types

EIGRP employs five packet types:

  • Hello Packets: Hello packets are used to discover, verify and rediscover neighbor routers.
    On IP networks, EIGRP hello packets are multicast, 224.0.0.10.
    EIGRP routers send hellos at a fixed interval, called the hello interval. Which is 5 sec.
  • Update Packets: Update packets are used when a router discovers a new neighbor.
    EIGRP Updates are only sent when a network is added or removed from the topology database. The EIGRP router sends a multicast update packet to all neighbors alerting them to change.
  • Query Packets: Query packets are sent by a router when a Successor route fails, and there is no Feasible Successor in the topology table. The router places the route in an Active state, and queries its neighbors for an alternative route. Query packets are sent as a multicast to address 224.0.0.10.
  • Reply Packets: A reply packet is used to respond a query. If an EIGRP router loses its successor and cannot find a feasible successor for a route, Dual places the route in the active state.
    The router multicasts a query to all neighbors, searching for a successor to the destination network.
    Neighbors must send replies that either provide information on successors, or indicate that no successor information is available.
    Queries can be multicast or unicast, while replies are always unicast.
  • Acknowledgement Packets: Acknowledgement packets are unicast. It is used to ensure reliable communication.

EIGRP Much Like OSPF, builds 3 Tables

  1. Neighbour Table
  2. Topology Table
  3. Routing Table

Neighbour Table

Each EIGRP router maintains a neighbor table that lists adjacent routers. It contains the information related to its neighbors.

Requirements for Neighborship
  1. AS value must match.
  2. Network must match.
  3. K values must match.
  4. Authentication must match.
  5. If you are using static neighbor, then define on both routers.
Components of Neighbor Table
  1. IP Address of neighbor.
  2. Interface on which the Hello was received.
  3. Hold Time in seconds.
  4. Up Time: How long the neighbor has been up.
  5. SRTT (Smooth Round Trip Time): The average time in milliseconds between the transmission of a packet to a neighbor and the receipt of an acknowledgement.
  6. RTO (Retransmission Timeout): If a multicast has failed, then a unicast is sent to that particular router, the RTO is the time in milliseconds that the router waits for an acknowledgement of that unicast
  7. Queue: Shows the number of queued packets.
  8. Sequence Number of the last EIGRP packet received.
Topology Table

List of all the routes in the network. Topology table contains the information about successor and feasible successor.

Routing Table

It contains the best route to reach destination.

EIGRP Terminology

  • Successor: A best path to reach destination is called successor.
  • Successor in EIGRP Terminology
    Successor in EIGRP Terminology
  • Feasible Successor:A path which provides backup to the successor is called feasible successor.
    To be considered a feasible successor the AD must be less than the FD of Successor.
  • Feasible Distance:A total calculated metric of successor is called feasible distance.

The metric of EIGRP is Bandwidth and delay.

Note: Basically EIGRP use composite metrics. This composite metric is K1, K2, K3, K4 and K5.

K1 – Bandwidth
K2 – Load
K3 – Delay
K4 – Reliability
K – 5 MTU

But Cisco recommends to use only bandwidth and delay as a metric.

Link By Default Delay (In Microseconds)
Serial 20,000
Ethernet 1000
Fast Ethernet 100

256*(107/least bandwidth + Total delay/10) (This is the formula which EIGRP uses)

Advertised Distance/Reported Distance: A routers’ FD is called Advertised Distance for its neighbor. How far it is from your neighbor is called Advertised distance or Reported Distance.

Input Events: An input which has the capability to change the database of EIGRP is called Input events.

Local Computation: When the input event has occurred EIGRP performs a local computation, EIGRP looks for a Feasible Successor (FS) route in its topology table and if it cannot find one it will actively query its neighbors for a route.

Going Active: If successor goes down then feasible successor will become successor. If feasible successor is not available then that route will become active and will start to forward query messages to its neighbors.

EIGRP Terminology
EIGRP Terminology

First we need to configure the above IP add on each interface and then we will run EIGRP Protocol

R1 (config) #router Eigrp 100
R1 (config-router) #network 192.168.1.0
R1 (config-router) #network 192.168.4.0
R1 (config-router) #network 172.168.101.0 0.0.0.255
R1 (config-router) #no auto-summary


R2 (config) # router Eigrp 100
R2 (config-router) #network 192.168.1.0
R2 (config-router) #network 192.168.2.0
R2 (config-router) #network 172.168.102.0 0.0.0.255
R2 (config-router) #no auto-summary


R3 (config) # router Eigrp 100
R3 (config-router) #network 192.168.2.0
R3 (config-router) #network 192.168.3.0
R3 (config-router) #network 172.168.103.0 0.0.0.255
R3 (config-router) #no auto-summary


R4 (config) # router Eigrp 100
R4 (config-router) #network 192.168.3.0
R4 (config-router) #network 192.168.4.0
R4 (config-router) #network 172.168.104.0 0.0.0.255
R4 (config-router) #no auto-summary


R1#show ip route
R1#show ip Eigrp neighbors
R1#show ip Eigrp topology
R1#show int fa0/0
R1#show int s0/0
R1#show ip protocols
R1#Ping 172.168.103.1
R1#Traceroute 172.168.103.1

By default EIGRP uses 4 paths to reach destination, we can increase it.

R1 (config) #router Eigrp 100
<1-16> number of paths
R1 (config-router) #maximum-paths 10
R1#show Ip protocol

In EIGRP we can create static neighborship also.

R1 (config) #router Eigrp 100
R1 (config-router) #neighbor 192.168.1.2 s0/0

If we are creating static neighborship then we need to create on both sides.

R2 (config) # router Eigrp 100
R2 (config-router) #neighbor 192.168.1.1 s0/0

Now we will check Hello and Hold interval and we will change also.

R1#show ip Eigrp int s0/0
R1#show ip Eigrp int detail
R1#show ip Eigrp neighbors
R1 (config) #int s0/0
R1 (config-if) # ip hello-interval Eigrp 100 ?
(1-65535) seconds between hello transmissions
R1(config-if)#ip hello-interval Eigrp 100 10
R1# sh ip Eigrp interface detail
R1 (config) # int s0/0
R1 (config-if) # ip hold-time Eigrp 100 ?
R1 (config-if) # ip hold-time Eigrp 100 20
R1# show ip Eigrp neighbors

EIGRP uses multicast address 224.0.0.10 to see this we need to use debug command.

R1#debug ip packet
R1# un all
R1#debug Eigrp packet
R1# un all

To stop unwanted updates sending on fast Ethernet.

R1(config)#router Eigrp 100
R1(config-router)#passive-interface fa0/0

EIGRP Authentication

R1 (config) #key chain mani
R1 (config-keychain) #key 5
R1 (config-keychain-key) # key-string cisco
R1 (config) #int s0/0
R1 (config-if) #ip authentication mode Eigrp 100 md5
R1 (config-if) #ip authentication key-chain Eigrp 100 mani
R2(config)#key chain test
R2(config-keychain)#key 5
R2(config-keychain-key)# key-string cisco
R2(config)#int s0/0
R2(config-if)#ip authentication mode Eigrp 100 md5
R2(config-if)#ip authentication key-chain Eigrp 100 test

By default Eigrp uses 100 hop count. But we can increase it.

R1(config)#router Eigrp 100
R1(config-router)#metric maximum-hops 255
R1#sh ip protocols

We can change the bandwidth also.

R1(config)#int s0/0
R1(config-if)#bandwidth 1000

We can change the variance for unequal load balancing.

R1(config)#router Eigrp 100
R1(config-router)#variance 2
R1#sh protocols

Now we will change K values. But for neighborship K values must match.

R1#sh protocols
R1(config)#router Eigrp 100
R1(config-router)#metric weight 0 0 0 0 0 1

Neighborship would break now. Because we changed the K values. After weight we use Toss value, which is always 0. And then k1, k2, k3,k4 and k5 values.

Now we will correct it.

R1(config-router)#no metric weight 0 0 0 0 0 1

Here we will create some loop back on the Router1.

R1(config)# int lo 1
R1(config-if)# ip add 10.1.1.1 255.255.255.0
R1(config-if)# int lo 2
R1(config-if)# ip add 10.1.2.1 255.255.255.0
R1(config-if)# int lo 3
R1(config-if)# ip add 10.1.3.1 255.255.255.0
R1(config-if)# int lo 4
R1(config-if)# ip add 10.1.4.1 255.255.255.0
R1(config-if)# int lo 5
R1(config-if)# ip add 10.1.5.1 255.255.255.0
R1(config-if)# int lo 6
R1(config-if)# ip add 10.1.6.1 255.255.255.0

R3#sh ip route

R1(config)#int s0/0
R1(config-if)#ip summary-add Eigrp 100 10.1.0.0 255.255.248.0
R1(config)#int s0/1
R1(config-if)#ip summary-address Eigrp 100 10.1.0.0 255.255.248.0
R1#clear ip route *

R3#clear ip route *
R3#sh ip route

Leave a Reply