cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
10982
Views
60
Helpful
23
Replies

Eigrp routing table not updated - topology table do not show additional route - why~

SJ K
Level 5
Level 5

Hi all,

Please kindly find the exhibit setup using eigrp routing protocol as below ->

 

R1 config

router eigrp 10
 passive-interface FastEthernet0/0
 network 192.168.1.0
 network 192.168.2.0
 network 192.168.3.0
 auto-summary

R2 config

router eigrp 10
 network 10.0.0.0
 network 192.168.2.0
 auto-summary


R3 config

router eigrp 10
 passive-interface FastEthernet0/1
 network 10.0.0.0
 network 172.16.0.0
 network 192.168.3.0
 auto-summary

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

Problem There are 2 routes that can be taken for R1 to reach 172.16.0.0/16 network but it isnt showing in the topology table
via R1 --> R3 or R1 --> R2 -->R3
(see bolded red below)

R1#show ip eigrp topology
IP-EIGRP Topology Table for AS(10)/ID(192.168.2.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.0.0.0/8, 1 successors, FD is 284160
        via 192.168.3.2 (284160/281600), FastEthernet1/0
        via 192.168.2.2 (307200/281600), FastEthernet0/1  -- going to the 10.0.0.0 network, 2 possible routes are discovered.
P 192.168.1.0/24, 1 successors, FD is 281600
        via Connected, FastEthernet0/0
P 192.168.2.0/24, 1 successors, FD is 281600
        via Connected, FastEthernet0/1
P 192.168.3.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet1/0
P 172.16.0.0/16, 1 successors, FD is 2588160
        via 192.168.3.2 (2588160/2585600), FastEthernet1/0
--- where is via 192.168.2.2 FastEther0/1 ?  -- why isn't 2 routes discovered here also ? 
R1#show ip eigrp neighbors
IP-EIGRP neighbors for process 10
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   192.168.2.2             Fa0/1             13 00:13:06  236  1416  0  107
1   192.168.3.2             Fa1/0             10 00:15:28  106   636  0  44

 

On shut down and no shut on R2 fa0/0 and having debug ip eigrp on R1, following was observed.

1) R2 fa0/0 did advertise 172.16.0.0/16 out through fa0/0 interface

R2
*Mar  1 08:38:53.917: IP-EIGRP(Default-IP-Routing-Table:10): 172.16.0.0/16 - do advertise out FastEthernet0/0
*Mar  1 08:38:53.921: IP-EIGRP(Default-IP-Routing-Table:10): Int 172.16.0.0/16 metric 2611200 - 2560000 51200

2) R1 did receive but doesn't want to install into the routing table (which routing table, eigrp topology or show ip route routing table)

*Mar  1 00:55:36.391: IP-EIGRP(Default-IP-Routing-Table:10): Processing incoming UPDATE packet
*Mar  1 00:55:36.391: IP-EIGRP(Default-IP-Routing-Table:10): Int 172.16.0.0/16 M 2636800 - 2560000 76800 SM 2611200 - 2560000 51200
*Mar  1 00:55:36.395: IP-EIGRP(Default-IP-Routing-Table:10): route installed for 172.16.0.0  ()
*Mar  1 00:55:36.395: IP-EIGRP(Default-IP-Routing-Table:10): 172.16.0.0/16 routing table not updated thru 192.168.2.2

 

q1) Why is it so ? :(

 

Regards,
Confused Noob

 

23 Replies 23

Peter

I do not want this to appear as posturing of any kind, neither do I want to be irritating

I think you know me well enough by now but just in case, that part of what I said was purely in jest although I did mean the rest.

Using humour on the forums, will I never learn :-)

Jon

Jon,

I think you know me well enough by now but just in case, that part of what I said was purely in jest

Absolutely no problem, please rest assured that I had a good belly laugh when I first read it :) But then again, and now it's my turn to say this just in case, sometimes my attitude really irritates people, and I honestly do not want that to happen.

Best regards,
Peter

Well, you can't please all of the people all of the time and I'm pretty sure I irritate some people on these forums.

But I have never found your attitude irritating, I wasn't even aware you had an attitude you come across so politely.

Not as courteously as me though, obviously :-)

Jon

Hi Peter,

Good to see your reply ! Yeap, you can call me Koh; that's my surname. I have adpoted the nick "Noob" because...

i) i always believe being humble is the correct way to learn... and
ii) i am ..in fact.. quite noob :P.

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

Back to the wonderful topic.

1) Can i say that the update/query is actually not to confirm on the router's (newly found successor) but to inform the others/neighbors of the updated metric.to the currently (in-use) successor;

 

2) through the above, neighbors will reply with their updated/confirmed RD to the destination nework; and this is when the current Router itself, can confirm on and use its (newly found successor) ; changing its current FD to infinity and updating it to the new FD for the newly found successor; then going in to passive again.

 

Yeap; visualizing over a large network and thinking of possibilities that might oppose how it should work originally etc make my headspin; so i am going to believe that whoever come up with EIGRP is a maths or some path-finding genius.

However, i do have 2 questions which i am kinda curious

q1)  as mentioned, the update of 1's metrics can create a series of chain effect and 1 must wait for all the replies before 1 can confirm on its own successor and change from active to passive.

 -- assuming we are talking about a super large network; (i don't know if eigrp is use across WAN/Internet as well);  and assuming that the destination network is quite some distance away in a extremely meshed up network.  -- how can we be sure if we will get all the replies we need ?

 

q2) if a router started a self initiated trigger of sending queries (due to the example earlier on of updating one's metric (e.g. changing delay/bandwidth of the link between itself and the successor); after it has received all replies and confirmed on its latest updated successor/metric -  should it send out an update to tell its neighbor routers of its updated metric (RD) ?

 

I am just thinking  A -> B -> C -> Network E

                                       -> D -> Network E

 

Initially from B's perspective, C is the successor to network E; however due to the reason that I have change the metric between B and C (e.g. latency), it is no longer the best path.  (B -> D -> Network) is but D failed the Feasibility Condition check.

Updates are send out from B to A, C, D.
A has only 1 connection to B and hence, will not do further diffusing computation (just update its FD/RD accordingly)

C will report the same RD again and so does D.
B then gather the replies and decided to use B - D - E as the new route  with D as its successor instead.

Now, will B update A again ? (i am thinking that it must; and this information will be deem as a gratuitous update that EIGRP has mentioned that any change in topology/metric, an update will be send out)

 

Regards,
Noob

Hi,

Yeap, you can call me Koh; that's my surname

Understood. Pardon my ignorance - what is your first name? Sze or Jie? It's uncommon for me in an informal setting like this one to address a person by his/her surname.

1) Can i say that the update/query is actually not to confirm on the router's (newly found successor) but to inform the others/neighbors of the updated metric.to the currently (in-use) successor;

Very correct. You do not send out Queries because you want to "confirm" something. Rather, you send out Queries to inform your neighbors about your updated metric toward the destination network through your current successor, request them to update their own choice of best paths and respond with their own updated best distances. All this is done so that you can choose your new successor based on guaranteedly up-to-date information, knowing that your neighbors have been briefed on the update that has affected you and have considered that before sending a Reply back to you.

2) through the above, neighbors will reply with their updated/confirmed RD to the destination nework; and this is when the current Router itself, can confirm on and use its (newly found successor) ; changing its current FD to infinity and updating it to the new FD for the newly found successor; then going in to passive again.

... "changing its current FD to infinity and updating it to the new CD for the newly found successor". Yes, correct.

so i am going to believe that whoever come up with EIGRP is a maths or some path-finding genius.

There are many smart people behind the fundamental principle but its principial author is Prof. Jose Joaquin Garcia-Luna-Aceves, currently at University of California, Santa Cruz, the author of the Feasibility Condition and of the DUAL itself. He also reused the diffusing computation mechanism from E. W. Dijkstra and C. Scholten and has adapted all of this to the basic shortest path search algorithm by Bellman and Ford.

But you see, to prove that EIGRP works correctly, you do not try to prove it for an entire network at once. Instead, the general mechanism is consider the processes on a single node and their interaction with neighboring routes. By recursively applying this over an entire network, you get the actual proof.

q1)  as mentioned, the update of 1's metrics can create a series of chain effect and 1 must wait for all the replies before 1 can confirm on its own successor and change from active to passive.

Very good! This chained dependence in EIGRP is in fact its Achilles heel, and if some router for whatever reason fails to deliver its Reply to the neighbor that has asked for it, you'll end up with so-called Stuck-In-Active (SIA) states. EIGRP developers had to implement a specific mechanism to recover from these occurrences, and there are lots of things in best practices that should be done to make sure that SIA states never happen. That would require a separate thread.

-- assuming we are talking about a super large network; (i don't know if eigrp is use across WAN/Internet as well);  and assuming that the destination network is quite some distance away in a extremely meshed up network.  -- how can we be sure if we will get all the replies we need ?

EIGRP is an enterprise interior gateway protocol and is not usually used in service provider environment. Still, even enterprise networks, especially when compounded with high redundancy, lots of VLANs, and VPNs, can get exceedingly complex. How we can be sure we'll get a Reply eventually?

With respect to the reliability of delivering EIGRP messages, EIGRP uses its own reliable transport protocol that allows reliability both when unicasting and multicasting and preserves message ordering. From this viewpoint, EIGRP has the means to make sure that once a Reply has been sent, it will eventually come through if you have infinite time for possible retries.

Of course, this is a theoretical assumption. You need to have the Reply as soon as possible, otherwise the convergence speed of your network suffers. However, the links may be so overloaded or faulty that the Replies cannot make it in reasonable time. You may also have some other specific problems - losing packets of specific type or length, software issues, etc. that may cause that the Reply is simply unable to make it back to the neighbor that needs it.

For this situations, EIGRP imposes a time limit on each diffusing computation. If the diffusing computation is not finished in this time (3 minutes by default), the routers will give up on it and just move on with the remaining replies they have received, if any. This is an extremely simplified description of handling a SIA but as I indicated earlier, this topic would be more suitable in a standalone thread.

I am just thinking  A -> B -> C -> Network E

                                       -> D -> Network E

Okay, so what happens here if you raise the cost of the link between B and C, causing D that nonetheless fails the Feasibility Condition to provide the least cost path?

B will go Active and send a Query to all its neighbors. C and D are totally unaffected - they have not been using B to reach network E before and are even less eager to use it after they found out it is even farther than before. So while C and D process B's indicated RD into their topology tables, their best paths do not change and they just send back a Reply indicating their (unchanged) distance to E.

What happens on A is somewhat more surprising. For A, there is a very big chance that B's RD (as learned from its Query) has grown beyond A's FD. That would mean that A has lost its own successor and the router providing the least cost path (in this case, it's still B) does not meet the Feasibility Condition. For A, this means it has to go Active as well.

So A will send out a Query to its only neighbor, B, indicating A's own increased distance. Now, B has to send a Reply but hey, B is still Active so how can it send a Reply? Isn't this a deadlock?

Fortunately, it isn't. If B is in Active state and receives a Query itself, it sends a Reply right away, indicating the same distance it already indicated in its own Query - because that's the truth: At the moment B is Active, its current distance is the increased distance through C. B has indicated this in its Query already but should B receive a Query from any of its neighbors while still Active, B is going to send a Reply right away indicating the same distance again.

So in this network, after A sends a Query to B, B will respond with a Reply, indicating the same distance it has already indicated in its Query. As A got all Replies it expected, it sets the FD to infinity, then chooses the neighbor providing the best path (B), updates the metric in the routing table, then goes Passive and - remember that A still has a Reply to send - sends B a Reply, indicating its momentary distance from the network E.

Only now, at this point, B has all Replies it expects, so it sets its own FD to infinity, chooses the neighbor providing the least cost path (D), updates its own metric in its routing table, and because now B's distance has changed from what it was before the topology change, B sends an Update to all its neighbors including A. To A, this will appear as a metric decrease.

I would not call Updates as "gratuituous". They are simply event-driven and uncoordinated. Every time a router in a Passive state detects a topology change such that its distance to the destination changes but no diffusing computation is required, it will advertise its updated distance in an Update packet.

Best regards,
Peter

Hi Peter,

 

Nice to hear from you~!~~~

I rest my case. I can no longer provide any substantial questions to your killer answers.

 

But i do have more later -> as i have piled up quite abit in OSPF :P!!

 

Regards,
Alan  --> changed  ;)

Hi Koh,

Regarding the way you should approach your studies, this is a delicate matter.

First of all, I agree with each and every opinion Bilal and Jon have shared here.

Deciding on how deep to go when first being exposed to a new topic, this is a fine balancing act, and I do not think there are any general recommendations to be made. When you have a new topic to learn, there is a risk of getting overwhelmed by details if you try to dig too deep, but at the same time, you feel yourself that if you're going too superficial, the things just don't click into each other. I believe you are so far to feel this for yourself and to let yourself guide by this. Especially if you are inquisitive, which you definitely are, then you have the ability to go deep and not remain satisfied with shallow, cursory knowledge. So my recommendation for you is: Go the way you've gone so far if you feel it works well for you. If you really feel like growing in knowledge and understanding by this approach then it's great, that's the way your learning works best.

Whether you are able to process this in-depth information: Yes, you are, and it is not just my opinion. Jon has said it very nicely and I second his observations. Your questions are to the point, they show you are thinking about things, looking for ways of how to grasp their logic and, so to say, finding your own way of making them make sense. This is in my opinion one of the most important things when striving to become an expert: To find your own approach on how to incorporate the logic of things into your own style and patterns of thinking. You're actually developing your own system of processing, remembering and inferring the knowledge you want to master. Once you have that, and it works effectively, suddenly learning new things will become more and more easy because you'll already trained in the particular way of thinking, and also because ideas in networking repeat themselves, and once you have gained the necessary insight and overview, you'll start noticing the patterns repeating over and over again. You are on the best way of accomplishing that so please continue!

There is a slight drawback in knowing more in-depth information than required for a particular level of certification: The exams are often written assuming that the knowledge of the applicant is about the level of the certification itself, i.e. a CCNA applicants have a CCNA-level knowledge in general. For people that are more qualified, it may actually be difficult to pass the certifications because with a given question and a set of answers, what appears clear to a person with less knowledge may appear as ambiguous and questionable to a person who knows better. EIGRP is one of those specific topics where almost all textbooks, courses and certification exams get it wrong. What I have explained here, and what you can always test in your GNS3 so you can see I am not making things up, contradicts the simplistic yet widespread explanations of EIGRP operations. Naturally, this is the fault of all those people who were given the responsibility of creating correct and unambiguous certification questions and related training materials, but as it happens so often, once someone gets it wrong, it just spreads and it's a grueling task to eradicate the mistake. So to sum it up, by knowing more, you also see the imperfections and inaccuracies more and more, and it may be a certain hindrance in some occassions. Sometimes you need to "put aside" the extra knowledge you have, and just think in terms of what you're supposed to know at the particular level - this is the typical case of certification exams.

But whether to limit yourself just to superficial and fleeting overview of things required by the CCNA blueprint - absolutely not if you want to be a true networker, and a true specialist in your field. The "why" is much more important than "how", and it differentiates an expert from just a configurator.

One last thing: Stop calling yourself "Noob". It is so beneath you. I don't think I have ever called you by that nickname or whatever that is, and I definitely know I am not going to ever call you by that name. You are in fact an entire opposite of what that word stands for. If anyone tries to comment on my modesty again I'll be more than glad to point him to you for a better example.

Best regards,
Peter

Bilal Nawaz
VIP Alumni
VIP Alumni

P 172.16.0.0/16, 1 successors, FD is 2588160 via 192.168.3.2 (2588160/2585600), FastEthernet1/0 --- where is via 192.168.2.2 FastEther0/1 ? -- why isn't 2 routes discovered here also ?

 

We only see one route because assuming that all metrics are default EIGRP see’s this route as the closest one (successor). Even take a look at  the no. of hops to get there. It’s shorter distance to get there via fa1/0.

 

I’m unsure about your q1 could you please. Is it that the prefix is not making it to the RIB?

edit: Jon you beat me to it :) I didnt know about that command, 5+

Please rate useful posts & remember to mark any solved questions as answered. Thank you.

Hi Bilal

edit: Jon you beat me to it :) I didnt know about that command, 5+

Don't think I did until I started using the forums !

Jon