05-05-2024 10:00 AM
Hi anyone,
Quick question, but am I right in assuming that the purpose of Split Horizon in EIGRP is to suppress unnecessary updates rather than to prevent routing loops?
DUAL (and the FC) seems to take care of routing loops, so I'm thinking that is its only point.
Sam
05-05-2024 10:09 AM - edited 05-05-2024 12:31 PM
MHM
05-05-2024 11:05 AM - edited 05-05-2024 11:06 AM
Hi,
Thanks for replying, although your explanation doesn't make sense.
Could you please clarify the topology of the network you are using in your example and where you think updates are being sent to/from.
Thanks,
Sam
05-05-2024 11:18 AM - edited 05-05-2024 11:18 AM
Hi @MHM Cisco World ,
I read your response again and I think the following statement is incorrect:
Now R1 loss connect to this prefix' it will use path toward R2 and R3 for this prefix' even if this path is not correct.
Its incorrect because the update(s) received by R1 from R2 and R3 will fail the Feasibility Check and as a result R1 will have have no Feasible Successor. So R1 will then go active and send out queries.
Sam
05-05-2024 11:34 AM - edited 05-05-2024 12:30 PM
MHM
05-05-2024 12:02 PM
Hi,
I am a bit confused as to what you are trying to prove in your example. Essentially, what I am asking is "does split horizon in EIGRP prevent routing loops?"
Sam
05-05-2024 12:04 PM - edited 05-05-2024 12:31 PM
MHM
05-05-2024 12:24 PM
I disagree, unless you can provide an explanation that makes sense.
05-05-2024 11:43 AM
Its all depends on the use case -
Split horizon is one of the methods used by distance vector routing protocols to avoid routing loops. The principle is simple – a router will not advertise a route back onto the interface from which it was learned. Split horizon is enabled on interfaces by default.
More explain split horizon and FC here with example :
https://www.practicalnetworking.net/stand-alone/eigrp-feasibility-condition/
05-05-2024 12:16 PM
Hi @balaji.bandi ,
Thanks for responding.
Yes, I understand its benefit with regard to distance-vector protocols such as RIP, however, EIGRP uses DUAL for loop avoidance, so I am wondering if split-horizon's purpose in EIGRP's case if efficiency because the reverse-route would fail the FC anyway.
Please correct me if I am wrong or misunderstanding.
Thanks.
Sam
05-05-2024 12:39 PM
Hello,
DUAL is the calculation that provides the metric. The Feasibility Condition is the "loop" detection and prevention mechanism.
-David
05-05-2024 12:50 PM
Hi @David Ruess ,
Thank you for clarifying the distinction.
So EIGRP does not require split horizon to maintain a loop-free network? And the FC check is all that is (ultimately) required- correct?
Regards,
Sam
05-05-2024 12:55 PM - edited 05-05-2024 12:57 PM
After double checking the RFC (almost right). DUAL is used for a loop free topology when a single route exists for the network. It will choose the lowest metric route. While DUAL calculates metrics for all paths the Feasibility Condition is what creates the loop free topology for the feasible sucessors.
Split horizon does not prevent loops in and of itself as there are some topologies (like DMVPN) where it needs to be and is disabled.
Here is an excerpt from the EIGRP RFC:https://datatracker.ietf.org/doc/html/rfc7868
1. Introduction This document describes the Enhanced Interior Gateway Routing Protocol (EIGRP), a routing protocol designed and developed by Cisco Systems, Inc. DUAL, the algorithm used to converge the control plane to a single set of loop-free paths is based on research conducted at SRI International [3]. The Diffusing Update Algorithm (DUAL) is the algorithm used to obtain loop freedom at every instant throughout a route computation [2]. This allows all routers involved in a topology change to synchronize at the same time; the routers not affected by topology changes are not involved in the recalculation. This document describes the protocol that implements these functions.
Second exceprt:
Feasibility Condition: The Feasibility Condition is a sufficient condition used by a router to verify whether a neighboring router provides a loop-free path to a destination.
Hope this helps
-David
05-06-2024 02:02 AM
Hi @David Ruess ,
Okay, thanks, I'll have a read.
No mention of split-horizon in the RFC with regard to loop prevention must mean it serves another purpose (I was guessing it's for efficiency).
Yeah, I'm aware that it needs to be disabled in hub and spoke topologies, because the hub needs to advertise back out of the same interface to spokes.
I also see reverse poison is also used in EIGRP, as per other distance-vector protocols, maybe it is to avoid corrupt updates etc being sent to a neighbour.
Anyhow, thanks again for clarifying.
Sam
05-06-2024 06:04 AM - edited 05-06-2024 06:04 AM
The poison reverse is just to advertise an infinite metric of the route learned back out the interface it’s using to reach that route. Not necessarily corrupt but I believe it’s to help with querying. If I receive a poison reverse route from my neighbor then obviously it’s using me to get to that network so I probably don’t need to query it if I lose the route. Although I’d have to lab that scenario.
-David
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide