Introduction to EIGRP

Hello Michael

Strictly speaking, the split-horizon rule states that you should not advertise to your neighbor what was already learned from them. To put it a different way, if RouterA advertises a network to RouterB through a particular interface, RouterB will NOT advertise the network back to RouterA through that interface.

Now this often does result in what you described, that a network is not advertised out of an interface that this the best path to reach that destination, but not always. This is not the definition of the split horizon rule.

Split horizon may also be applied when the network being learned via an interface (and not being sent back through that interface) is not the best path to the destination.

Look at the following diagram:

Here, R2 is advertising to the leftmost router a path to the Destination. R1 is also advertising this same network to the leftmost router. The best path is via R2, but the leftmost router will still apply the split horizon rule to its interface connected with R1, even though that isnā€™t the best path to the destination.

The split horizon rule does not evaluate if that particular interface is the best path. It may be, it may not be. It simply states that if you learned about a network via interface X, donā€™t send info about that network out that same interface.

I hope this has been helpful!

Laz

Hi Lazaros,
I understand split horizon but i wanted to be clear in that the evaluation that a Cisco router will make as to wheter it accepts the EIGRP Update route from its peer is dependent on two situations (as it appears to me)

  1. Did this neighbor send me an update about a prefix and should i send a similar update about that prefix out the same interface i received it on.
  2. Is this interface i received the update on the outgoing interface i would used to reach that destination.
    Thats what I found at least in the real world. This came about due to the lack of a FS in the topology table. A few of us were trying to figure out why the router would not install a backup route that it should have based on the topology we implemented. Largely the reason is split horizon. There just seems to be nuances in how that rule is processed.
    Thoughts?

In addition. The following was taken from official Cisco ccnp preparation textbook

"EIGRP uses Split Horizon rules on most interfaces by default, which impacts exactly which topology data EIGRP sends during both full and partial updates.
Split Horizon limits the prefixes that EIGRP advertises out an interface. Specifically, if the currently best route for a prefix, list a particular outgoing interface. Split Horizon means that EIGRP will not include that prefix in the update sent out that same interface.
For example, routerA uses s0/0/.1 as its outgoing interface for subnet 10.11.1.0/24, so routerA would not advertise prefix 10.11.1.0/24 in its Update message sent out s0/0/0.1

Hi Michael,

I think the Cisco Press books has a good definition of how split horizon works for EIGRP. Iā€™ll make some changes to my explanation.

What topology did you try to test this?

Rene

Hi Rene,
Long time no speak.
The topology i tried it out on is one we have at work.
Rene, i have a question. If a router already knows about a network and sends that advertisement downstream to its neighbor and lets say that neighbor has a backup path to that network, how will the advertising router know about that potential back up unless some how the downstream neighbor didnt break the split horizon rule and let the upstream neighbor know about that network.

Hello Michael

Letā€™s say that R1 and R2 are connected to each other and are EIGRP neighbors. Letā€™s also assume that R1 knows about network A from some source and R2 has also learned about network A from a different source. R1 informs R2 of the route to A, and R2 places one of those routes as the successor, and the other as the feasible successor. R2 however, due to the split horizon rule, will not inform R1 about the alternate route.

The result is that R1 will not know of this alternate route (which would possibly be via R2). But thatā€™s OK, because if it did, then a routing loop may occur, where R1 and R2 would be sending packets to each other for that route in an infinite loop.

Why is it OK? Because if R1 does lose connectivity to network A via itā€™s own learned route, then it can actively ask R2 for a route to that destination. The split horizon rule does not apply when you no longer have an entry for a particular route. Sure, the routing algorithm has to kick in, and EIGRP packets have to be exchanged, but that is a small price to pay for ensuring that routing loops are avoided.

I hope this has been helpful!

Laz

Hi Rene, i was testing on GNS3 the topology you used, but i see no advertisements from the routers to R4, if i deactivate Split Horizon i receive them.

EIGRP only advertises the Successor route? with split horizon deactivated, can a router advertise the Feasible route to the feasible successor?

Thanks in advance.

Hello Erick

Hmm, thatā€™s interesting. Can you be more specific about your topology? Where are you deactivating split horizon?

EIGRP will only advertise the successor, that is, itā€™s best route, to a destination. A router will get multiple advertisements from various routers to a destination, and from this information, it determines the successor and the feasible successor.

Split horizon has a different function. It prevents routing loops by preventing the advertising of a destination network out of the same interface from which that destination was learned.

I hope this has been helpful!

Laz

Hi @lagapidis thanks for the reply, before i deactivate split horizon on the interfaces with the circle, R1 dinā€™t received any advertisement for the 100.100.100.0/24 network, from any of the neighbors R3 and R2. I should receive the one that R2 advertises to R3, and R3 Advertises to R1 the one it received in the g3/0 interface.

Hello Erick

Iā€™ve tried to recreate your topology and tested it with and without split horizon. I seem to be getting the behaviour described in the lesson. Can you specify what output you are seeing so that we can troubleshoot more specifically?

Laz

As i see here, R1 is not receiving any advertisement from the 100 network, because the other routers donā€™t advertise the routes that are not feasible successor nor successor. Am i right?

R1 topology table.

R1#sh ip eigrp topology all-links 
EIGRP-IPv4 Topology Table for AS(1)/ID(192.168.100.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status 

P 192.168.100.0/24, 1 successors, FD is 2816, serno 3
        via Connected, GigabitEthernet3/0
P 192.168.0.0/24, 2 successors, FD is 3072, serno 6
        via 10.0.0.3 (3072/2816), GigabitEthernet1/0
        via 172.16.0.2 (3072/2816), GigabitEthernet2/0
P 172.16.0.0/24, 1 successors, FD is 2816, serno 2
        via Connected, GigabitEthernet2/0
P 10.0.0.0/24, 1 successors, FD is 2816, serno 1
        via Connected, GigabitEthernet1/0
P 100.100.100.0/24, 1 successors, FD is 130816, serno 4
        via 192.168.100.4 (130816/128256), GigabitEthernet3/0

R3 topology table

R3(config)#do sh ip eigr top all
EIGRP-IPv4 Topology Table for AS(1)/ID(192.168.0.3)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status 

P 192.168.100.0/24, 1 successors, FD is 3072, serno 4
        via 10.0.0.1 (3072/2816), GigabitEthernet1/0
        via 192.168.0.2 (3328/3072), GigabitEthernet3/0
P 192.168.0.0/24, 1 successors, FD is 2816, serno 2
        via Connected, GigabitEthernet3/0
P 172.16.0.0/24, 2 successors, FD is 3072, serno 6
        via 10.0.0.1 (3072/2816), GigabitEthernet1/0
        via 192.168.0.2 (3072/2816), GigabitEthernet3/0
P 10.0.0.0/24, 1 successors, FD is 2816, serno 1
        via Connected, GigabitEthernet1/0
P 100.100.100.0/24, 1 successors, FD is 131072, serno 5
        via 10.0.0.1 (131072/130816), GigabitEthernet1/0
        via 192.168.0.2 (131328/131072), GigabitEthernet3/0

R2 topology table
R2(config-router)#do sh ip eigrp top all
EIGRP-IPv4 Topology Table for AS(1)/ID(192.168.0.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status 

P 192.168.100.0/24, 1 successors, FD is 3072, serno 4
        via 172.16.0.1 (3072/2816), GigabitEthernet2/0
        via 192.168.0.3 (3328/3072), GigabitEthernet3/0
P 192.168.0.0/24, 1 successors, FD is 2816, serno 2
        via Connected, GigabitEthernet3/0
P 172.16.0.0/24, 1 successors, FD is 2816, serno 1
        via Connected, GigabitEthernet2/0
P 10.0.0.0/24, 2 successors, FD is 3072, serno 6
        via 172.16.0.1 (3072/2816), GigabitEthernet2/0
        via 192.168.0.3 (3072/2816), GigabitEthernet3/0
P 100.100.100.0/24, 1 successors, FD is 131072, serno 5
        via 172.16.0.1 (131072/130816), GigabitEthernet2/0
        via 192.168.0.3 (131328/131072), GigabitEthernet3/0

Hello Erick

R1 has received a route to 100.100.100.0/24 via R4 but has not received any information about the route to this destination from either R2 or R3. This is because the path to the destination that R2 and R3 are advertising to R1 does not fulfil the feasibility condition. In other words, the metric that R2 and R3 are advertising to R1 concerning how to reach the 100.100.100.0/24 network is greater than the metric that R1 already has. So you wonā€™t see this in the EIGRP topology table. This will be the case whether you have split horizon enabled or not on the G1/0 and G2/0 interfaces on your diagram.

I hope this has been helpful!

Laz

HI @lagapidis i understand that, thanks! so, an EIGRP router, donā€™t advertise a route that doesnā€™t fulfil the feasibility condition?

Hello Erick

Yes, that is correct. A router will not advertise an EIGRP route that it knows of if that route does not fulfil the feasibility condition. If a route does not fulfil this condition, then the router is not a candidate to be able to route packets using that path, so there is no use in letting other routers know about this ā€œunsuitableā€ path. This is one of the differences between EIGRP and OSPF, where EIGRP doesnā€™t give ALL the information to all routers, but just the needed information, whereas OSPF routers know ALL information about a network and make their own decisions.

I hope this has been helpful!

Laz

1 Like

hi,

is really eigrp now an open standard?
iā€™m reading an article where is written: Cisco submitted a portion of EIGRP to the IETF for consideration as a potential standard, the entire protocol has not been accepted as a standard and remains proprietary to Cisco.

Hello Andrea

EIGRP was developed by Cisco in originally in 1993 for its own routers as a proprietary standard. However, it was converted to an open standard in 2013 as described in the following Cisco documentation.


Now the designation of EIGRP as an ā€œopen standardā€ is simply a statement by Cisco that says that they are making EIGRP available to be used by other vendors. The term here is used loosely and is used by Cisco to specify that it is openly available.

However, Cisco is not releasing full control of the protocol, as it still retains complete control of its development. For this reason, EIGRP was published by the IETF with what is known as ā€œinformational statusā€ as RFC 7868 in 2016. This simply means that the IETF has openly published everything necessary for other vendors to implement the protocol, but is not considered an official open standard by the IETF since it can only be modified by Cisco.

Stating that it is an open standard is an attempt by Cisco that is more marketing oriented. The truth is they give permission for other vendors to use the protocol, but not to modify or develop it.

I hope this has been helpful!

Laz

2 Likes

fantastic ā€¦very good explanation! thanks

1 Like

Hi,
Could someone please confirm which table is advertised (RIB or topology table) when forming EIGRP neighbors?
Also, does EIGRP run the DUAL algorithm on the topology table to get the best loop-free paths to a destination and then install them in RIB?

Hello Luis

EIGRP neighbors are formed when hello packets are exchanged. In order to become neighbors, prefixes need to be shared initially, only the EIGRP parameters must be met (same subnet, same AS, any security parameters as well).

Once neighbors are formed, they start exchanging prefixes that are stored within the EIGRP topology table. This is the storage area of all learned routes as well as of all routes shared with other EIGRP routers.

The DUAL algorithm is run on all routes within the topology table, determining their metrics, and their candidacy as successor/feasible successor. This process takes place within the topology table. What is actually placed in the routing table simply depends on the best metric (and the variance command if unequal cost load balancing is employed). You can find more detailed information about the DUAL algorithm and how it works at the following lesson:


I hope this has been helpful!

Laz

1 Like

Hi Lazaros, thanks for your reply, doubts cleared, appreciate it!

1 Like