EIGRP

Categories

Study

Why we would use EIGRP?
1. EIGRP provides fast convergence because it maintain Backup route.
2. EIGRP has flexibility in summarization.
3. Support Unequal cost load Balancing.

EIGRP (Enhanced Interior Gateway Routing Protocol)

1. EIGRP is a Classless Routing Protocol means supports VLSM, CIDR, Discontigiuous Network.
2. EIGRP is Advance distance vector routing protocol which uses the Diffusing Update Algorithm, (DUAL) .
3. EIGRP maximum supports 255 and default hop limit is 100.
4. AD:-90 for internal route and 170 for external route and 5 for summary route. AD is reliability of routing information and lower is better.

5. By default support “equal cost load balancing” but can support unequal load balancing using “variance”. Remember one thing “variance” value can’t effect traffic sharing b/w links it only effect which feasible successor can be used for unequal load balancing.
FD*variance_> metric of feasible successor

6. Metric =composite metric (by default calculate bandwidth and delay as a metric but basically metric calculation depended on k-values. we can use bandwidth, delay, load, reliability as a metric by changing k-values.

7. EIGRP uses IP protocol 88 as its transport means EIGRP packets travel as the payload of their IP packets. IP packets contain a protocol field (88) which informs the receiving routers that it contains EIGRP data.There are 5 types of EIGRP packets like Hello, Update, query, Reply, Ack.

8. EIGRP has four components:

1. Protocol-Dependent Modules:-PDM is responsible for the protocol specific routing tasks. EIGRP automatically redistributes with other protocols in many cases:

  1. IPX EIGRP automatically redistributes with IPX RIP and NLSP.
  2. AppleTalk EIGRP automatically redistributes with AppleTalk RTMP.
  3. IP EIGRP automatically redistributes routes with IGRP if the IGRP process is in the same autonomous system.

2. Reliable Transport Protocol (RTP):-Reliable Transport Protocol (RTP) manages the delivery and reception of EIGRP packets. Reliable delivery means that delivery is guaranteed and that packets will be delivered in order. In some cases, RTP may use unreliable delivery. No acknowledgement is required, and no sequence number will be included for unreliably delivered EIGRP packets.

EIGRP Packet Opcode Identify EIGRP Packet Type as below
Version Opcode checksum 1 Hello
flag 3 Query
sequence 4 Reply
ACK 5 Hello
Autonomous System Number 10 SIA Query
TLVs 11 SIA Reply
Autonomous Number identify EIGRP AS number Ack is 32 bit sequence number last heard from the neighbor to which packet is being sent. A hello packet with a nonzero Ack filed as an ack packet rather than as a Hello
Sequence 32bit sequence number used by RTP
we can find flag info using this url
Flag and other troubleshooting information

A. Hello packets are used for neighbor discovery/recovery and do not require acknowledgment. Use 224.0.0.10 as multicast address.

  1. Update packets: – update message used to send topological information. When updates are required by specific router, they are Unicast. In other cases, such as a link-cost change, updates are multicast. Updates always are transmitted reliably.
  2. Query and reply packets are sent when a destination has no feasible successors. Query packets are always multicast. Reply packets are sent in response to query packets. Reply packets are unicast to the originator of the query. Both query and reply packets are transmitted reliably.
  3. ACK: – acknowledgments of update query and reply packet.

3. Neighbor Discovery/Recovery:-EIGRP router send Hello message to discover EIGRP neighbor and perform basic parameter checks to determine which router should become EIGRP neighbor.

Neighbor Requirement :-

  1. Interface’s primary IP address must be in same N/w.
  2. Must use same ASN.
  3. K-values must be match.
  4. Must pass neighbor authentication (if configured).
  5. Must not be “Passive” on connected interface.

Something about Neighbor table:-

  1. Multicast Flow Timer:-used to determine how long a router should wait for ACK to receive before switching from multicast to unicast.
  2. RTO: – if multicast is failed than “Unicast” is sent to particular neighbor, RTO is the time in millisecond that router waits for an acknowledgement of that unicast. If RTO is expire before ACK is received EIGRP retransmit another copy of packet. **maximum of 16 times or until the hold time is expire than neighbor is declared down.
  3. SRTT (Smooth Round Trip Time):-The average time in millisecond b/w the transmission of a packet and receipt of an ACK. This timer is used to determine ‘RTO’.

4. Diffusing Update Algorithm (DUAL)

8. EIGRP maintain three table:

1. Neighbor table:-List of all directly connected EIGRP neighbor.

2. Topology Table: – Lists all Learned routes from all EIGRP Neighbors.

Something about topology table:
A. Feasible distance (FD): Total metric to reach destination.
B. Advertising Distance(AD or RD: Reported Distance): Total metric to reach destination from advertising Router.
C. Successor:– Best route known as successor.

D. Feasible successor: Pre-calculated backup Path.
E. Feasible condition:Criteria for valid backup path(FD of successor >AD of other router )
F. Active Route: – if a route is mark as active means router actively looking for Backup or we can say something wrong with route.
G. Passive Route: – if a route is mark as Passive means everything is fine and we can send traffic.

3. Routing table: – Choose best routes to destination from topology table and copied into routing table.

EIGRP Queries and Stuck-In-Active

When Router loses the particular network, then it will check for feasible successor:
1. Feasible successor is available then promote as successor.
2. Feasible successor is not available: when router does not have an FS in the topology table, it sends out queries to neighboring routers to find alternate route. This process puts the route in active state.

This query packet is received by each neighbor. If the receiving router has an alternative route, it replies back to the sending router letting it know about the alternative route and the query ends there.

If the receiving neighbor does not have a route, it queries all of its own neighbors asking for an alternative route. The queries propagate through the network creating an expanding tree of queries.
When a route goes active, a reply must be received for every generated query, otherwise it stays active the whole time.

Stuck-in-Active
The SIA state means that an EIGRP router has not received a reply to a query from one or more neighbors within the Defined time (default 3 minutes). When this happens, EIGRP clears the neighbors that did not send a reply.

As per topology R-1 still waiting for reply and R1’s active timer (3 minutes) is still counting down while R2 are trying to get the reply back from R3.When this timer expires, R1 declares an route as SIA and The R1/R2 neighbor relationship is reset.

As we can see there is problem between R2 and R3 router but neighborship has been reseted between R1 and R2 so cisco came up with SIA query and SIA-reply message.
Now we have SIA query and SIA Reply and things will work differently.

R1 will send Query packet to R2 and starts 3min active timer. As R2 doesn’t have alternative route to 10.1.0.0/24 so send the query to it’s neighbor. R3 will Reply back to R2 with unreachable because of link congestion or some other reason R2 is not getting reply back from R3. After 90sec R1 will send SIA query to R2 to ask for its status. R2 will respond back with SIA-Reply and R1 will came to know everything is fine between R1 and R2 so doesn’t terminate the neighbor relationship. Meanwhile R2 will send SIA-Queries to R3 and if that go unanswered R2 will terminate the neighbor relationship with R3. this cears the query from R2’s point of view and R2 replies to R1.

Load Balancing:

There are two types of load balancing:

Equal cost Path Load Balancing – By default EIGRP and other routing protocol does equal cost load balancing when we have multiple paths to a destination with the same routing metric value. The maximum-paths command determines the maximum number of routes that the routing protocol can use.
Unequal cost path Load Balancing – Unequal cost load balancing happens when we have multiple paths to a destination with the different routing metric value. EIGRP offers unequal cost load balancing feature by using “Variance” command.

•  If we have one link with lower metric and as a result it is being over utilized while other connections are idle, we can load balance using the variance command. Variance is a numeric value between 1 to 128 which is  multiplied by the best metric (FD of Successor*Variance Value) then includes the routes with the lesser or equal metric.
The default Variance value is 1, which means equal-cost load balancing.

Let’s have a look through this diagram where we have 3 different path to reach 10.0.123.0/24 network from eva-wr04 as below:

  FD AD  
Via eva-wr01 768 256 Will become Successor as Lower Metric (FD)
Via eva-wr02 2048 512 Will become Feasible Successor as fulfilled Feasible Condition (FD of successor> AD).
Via eva-wr03 1280 768 Will  not become Feasible Successor as not fulfilled Feasible Condition (FD of successor> AD) …. Noticed that overall it has Lower FD but not selected as Feasible successor due to feasible condition.

We verify the minimum and the maximum cost to reach 10.0.123.0/24 network from eva-wr04 by using command “show ip eigrp topology all-links”. Eva-wr04 learning the route 10.0.123.0/24 from all the sources but installed the route learned via neighbour eva-wr01 in its routing table as its has lower FD.

Configuration which i did at all 4 devices is below and here For simplicity I have configured EIGRP to only use the Delay K value when calculating Feasible Distances.

eva-wr01#sh run int fa0/0
Building configuration…
Current configuration : 96 bytes
!
interface FastEthernet0/0
ip address 10.0.41.1 255.255.255.252
duplex auto
speed auto
end
eva-wr01#sh run int fa0/1
Building configuration…
Current configuration : 104 bytes
!
interface FastEthernet0/1
ip address 10.0.123.1 255.255.255.0
delay 1
duplex auto
speed auto
end
eva-wr01#sh run | sec eigrp
router eigrp 1
network 0.0.0.0
metric weights 0 0 0 1 0 0
no auto-summary
eva-wr01#
eva-wr02#sh run int fa0/0
Building configuration…
Current configuration : 96 bytes
!
interface FastEthernet0/0
ip address 10.0.42.1 255.255.255.252
duplex auto
speed auto
end
eva-wr02#sh run int fa0/1
Building configuration…
Current configuration : 104 bytes
!
interface FastEthernet0/1
ip address 10.0.123.2 255.255.255.0
delay 2
duplex auto
speed auto
end
eva-wr02#sh run | sec eigrp
router eigrp 1
network 0.0.0.0
metric weights 0 0 0 1 0 0
no auto-summary
eva-wr02#
eva-wr03#sh run int fa0/0
Building configuration…
Current configuration : 96 bytes
!
interface FastEthernet0/0
ip address 10.0.43.1 255.255.255.252
duplex auto
speed auto
end
eva-wr03#sh run int fa0/1
Building configuration…
Current configuration : 104 bytes
!
interface FastEthernet0/1
ip address 10.0.123.3 255.255.255.0
delay 3
duplex auto
speed auto
end
eva-wr03#sh run | sec eigrp
router eigrp 1
network 0.0.0.0
metric weights 0 0 0 1 0 0
no auto-summary
eva-wr03#  
eva-wr04#sh run int fa0/0
Building configuration…
Current configuration : 105 bytes
!
interface FastEthernet0/0
ip address 10.0.41.2 255.255.255.252
delay 2
duplex auto
speed auto
end
eva-wr04#sh run int fa0/1
Building configuration…
Current configuration : 105 bytes
!
interface FastEthernet0/1
ip address 10.0.42.2 255.255.255.252
delay 6
duplex auto
speed auto
end
eva-wr04#sh run int fa1/0
Building configuration…
Current configuration : 105 bytes
!
interface FastEthernet1/0
ip address 10.0.43.2 255.255.255.252
delay 2
duplex auto
speed auto
end
eva-wr04#sh run | sec eigrp
router eigrp 1
network 0.0.0.0
metric weights 0 0 0 1 0 0
no auto-summary
eva-wr04#

Variance value can be calculated as {FD of Feasible successor/ FD of Successor} so in our diagram {{2048/768=2.66} so will take variance as 3 to unequally load balance. Here we have to notice that we have 3 path to reach destination but its doing load balancing between 2 only as there is one successor and 1 feasible successor and  Variance is applicable to do unequal load balancing over feasible successors only means if we don’t have feasible successor then Variance does effect routing table.

 

OffsetList:

Offset-List is a mechanism which is used to increase incoming and outgoing metric of route learns via EIGRP.

According to topology eva-wr02 doesn’t become feasible successor because it does not full-fill feasible condition. When successor goes down then it’s relying on DUAL to send a query packet to find new route. When EIGRP router uses DUAL then convergence will happen slowly. To solve this problem we can use offset-list:

  FD (Feasible Distance) AD (Advertising Distance)
Via eva-wr01 768 512
Via eva-wr02 1024 768
By using offset list, if FD become 770( eva-wr01) Means now eva-wr02 become feasible successor.
Create access-list for specific route and implement offset list
eva-wr03(config-router)#offset ACLNO. In value increase s1/0
If offset-list reference “0” instead of an access-list number, offset value applies to all routes received through the specified interface.
What happened if interface is doesn’t given by us?

EIGRP Stub: 
1. Stub router means has only one neighbor and only needs a default router.
2. EIGRP stub commonly used in Hub & Spoke topology.
3. EIGRP Stub configured router will send a special peer information packet to all neighboring routers to report its status as a stub so other router will not send Query to stub router.

A. Receive-only – Stub does not send any route. No other keyword can be specified, Use this option if there is a single interface on the router.
B. Connected (default) – Stub sends connected routes if the EIGRP network command is used. Otherwise you will need to use the redistribute connected command under the EIGRP process.

C. Static – Stub sends static routes. Redistributing static routes with the redistribute static command is still necessary.
D. Summary (default) – Stub will send summary routes.
E. Redistribute – Stub will send redistributed routes. Redistributing routes with the redistribute command is still necessary.

Static Neighbor: – When you specify a “Static Neighbor” over a particular interface, EIGRP will disable processing of multicast packet on specified interface means don’t send multicast and process multicast at that interface.
R(config-if)#neighbor X.X.X.X int s0/0

Static EIGRP is a useful feature to use on media that do not support broadcast or Multicast such as Frame relay and it can also be used to help avoid unnecessary EIGRP packets sending on a multi-access network.

IP Next-hop-self EIGRP:
By default, EIGRP sets the IP next-hop value to be itself for routes that it is advertising, even when advertising those routes on the same interface from which the router learned them. If we have a hub and spoke topology, the spokes will have as a next-hop address the HUB IP. This will not permit us to go directly to the spoke for a spoke-to-spoke communication, and we must go to the hub.

To change this default, you must use the no ip next-hop-self eigrp command under interface to instruct EIGRP to use the received next-hop value when advertising these routes.

For more inof URL_DMVPN_Needs to be Updated 

Split-horizon: Split-horizon is a mechanism which prevents route from being advertised out the interface through which it was learnt. In EIGRP, Split horizon behavior is turned on by default so we are not receiving spoke routes at other spoke as per below diagram. If we want to receive routes from eva-wr02 or vice-versa then we have to disable split horizon at eva-wr01 router using below command:
eva-wr01(config)#int s0/0
eva-wr01(config-if)#no ip split-horizon eigrp 1

Why Split-horizon is needed in EIGRP?

The only reason split horizon is used in EIGRP is to prevent unnecessary duplicate routes in the topology table not to avoid loops.

In EIGRP we have feasible condition to avoid loops. As we know If eva-wr01 advertise a prefix to eva-wr02 with metric X, and because of split horizon being disabled, eva-wr02 advertise the prefix back to eva-wr01, the metric will always be greater than X.  This causes the feasibility condition to fail, and the route to be rejected.

3 Comments

Leave a Reply to Shashank Cancel reply

  • Why Split-horizon is needed in EIGRP?

    Shashank Reply
  • Hi,I log on to your new stuff named “EIGRP | evanetworktech” on a regular basis.Your humoristic style is witty, keep up the good work! And you can look our website about تحميل افلام.

    تحميل افلام Reply
  • Hey There. I discovered your blog the use of msn. This is a very smartly written article. I’ll be sure to bookmark it and return to read more of your useful information. Thanks for the post. I’ll definitely comeback.

    zortilonrel Reply

Leave a Reply to Shashank Cancel reply

Your email address will not be published. Required fields are marked *

TOP
error: