From: RAdjakou/CFAO (radjakou@cfao.sn)
Date: Tue May 11 2004 - 12:40:46 GMT-3
The route redistributed on a router cannot be redistributed into another
protocol on the same router.
So u need to consider only two routing protocol at a time: RIP/OSPF,
RIP/EIGRP and OSPF/EIGRP.
Cordialement/Best regards;
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Roberto Adjakou
E-mail : RAdjakou@cfao.sn
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
-----Message d'origine-----
De : nobody@groupstudy.com [mailto:nobody@groupstudy.com] De la part de
David Buechner
Envoyi : mardi 11 mai 2004 15:06
@ : ccielab@groupstudy.com
Objet : Route Redistribution
Hi all!
There were some questions in the last couple of months which got me
started 
thinking.  The questions were about situations in which you're 
redistributing with three different protocols on one router, i.e. EIGRP
- 
OSPF - RIP.  The question was along the lines of "I redistribute EIGRP
into 
OSPF and OSPF into RIP - why don't the EIGRP routes show up in RIP?"  My
experience in doing scenarios had been that this was working as
designed, 
but I finally felt compelled to understand this better.  I've read some 
Cisco doc and labbed some situations to prove to myself how this works
and 
thought I'd share my thoughts with you.  Hopefully these are helpful to 
someone.  And if I'm wrong in any of this please let me know!
One thing I noticed in reading the Cisco doc is that talk about 
redistributing "derived routes" between "routing domains."  The more I
read 
this the more it occurred to me that what they're talking about is
routes 
in the main IP routing table which were learned from a particular 
protocol.  So for example, in the question above: RIP will learn about
OSPF 
routes by searching the main routing table for OSPF derived routes
rather 
than by searching the OSPF database directly.  If we track the
distribution 
path for an EIGRP learned route then it would seem that A) the EIGRP
route 
will be installed in the main routing table as it has the lowest
distance, 
B) OSPF will learn the route through redistribution since an EIGRP
derived 
route is in the main routing table, and C) RIP will not learn about the 
route since there is no OSPF derived route in the main routing table to 
redistribute.  As expected then you must also redistribute EIGRP
directly 
into RIP to get the EIGRP routes.
To test all this I set up a small 4 router network which looks like
this:
                   R4
                   |
------------------------------------      Frame Cloud
|                 |                |
R1                R2               R3
|                 |                |
------------------------------------      Ethernet 10.10.10.0/24
R4 is the hub of a frame cloud with spokes out to R1, R2, and R3.  R1,
R2, 
and R3 all have ethernet interfaces in a common IP subnet.  R1 is
talking 
RIP to R4.  R2 is talking OPSF to R4.  R3 is talking EIGRP to R4.  R4 is
redistributing every each protocol into both of the others.  I then used
the 3550 to which these routers are connected to bring interfaces online
or 
take them offline.  I did some debugs on the routers which I logged to a
syslog server.  Rather than send an even longer e-mail I put the results
up 
on a web page at:
http://home.comcast.net/~dbuechner/syslog.html
What I learned is that my expectations seemed to bear out on the 
routers.  I was able to see routes get modified or dropped based on 
redistribution criteria.  For example if you do the following: the EIGRP
router (R3) has the only active ethernet interface.  R1 and R2 are
learning 
about this interface from redistribution into RIP and OSPF on R4.  If I 
then configure a STATIC route to 10.10.10.0/24 on R4 the STATIC route 
replaces the EIGRP route in the main routing table.  The lack of the
EIGRP 
route in the main routing table then causes both OSPF and RIP (and 
therefore R2 and R1) to lose their routes to the interface.
I also understand the 'distribution list <x> out <routing-protocol>' 
statement better now.  Essentially what you are doing is applying the 
access-list <x> to routes derived from <routing-protocol> when you send 
updates out.  So for example I was getting a route from EIGRP which I 
redistributed into RIP.  I then added a distribution list to filter this
route by adding 'distribution list 1 out eigrp 1' under the RIP 
protocol.  RIP then lost the route.  If i shutdown the R3 interface and 
brought up the R2 interface I then had an OSPF derived route in the
routing 
table on R4.  This route got redistributed through RIP to R1 because the
distribution list command was specifically looking for EIGRP.  Also,
when 
the distribution list is keeping RIP from advertising the route I did 
notice one (originally confusing) thing: the route still shows up in the
RIP database on R4.  The distribution list doesn't keep the route out of
the database, just out of the updates being sent out.
The more I thought about this the more sense it made.  While I certainly
don't have access to the IOS code I started to remember my CS training -
specifically in the areas of algorithms and data structures.  It makes 
sense from a coding perspective for the OSPF process to be isolated from
changes to the data structures used by other routing protocols.  If 
everyone just looks at the main routing table it is much cleaner.
What's happening also makes sense from a routing perspective.  The whole
reason behind administrative distances is to handle the mismatch between
routing protocol metrics.  It makes sense that the same problem would
occur 
when you redistribute.  If I'm redistributing two protocols into OSPF,
for 
example, and both have routes to somewhere in common, how else would I 
decide which route to take on except by utilizing the AD?  Since the AD 
determination is already done for a route to be placed in the main
routing 
table it makes sense to get your routes for redistribution from there as
well.
I hope this all makes sense and that it is helpful to someone.  If I'm
out 
in left field *PLEASE* say so!  I'd hate to be wrong myself, and I'd
hate 
to lead others astray.  :-)
Back to the lab!!
David
This archive was generated by hypermail 2.1.4 : Wed Jun 02 2004 - 11:12:09 GMT-3