A while ago Bruce has written couple emails to
groupstudy on redistribution subject. Although these emails represent
only limited details of this greatly complex topic, many people find
them useful in the current form so I decided to publish the notes here.
I hope that this would be useful.
I intend to add to the notes as time goes by; in addition there is a project to publish more study material on the subject.
I will keep this posting closed, but you are more then welcome to post questions/comments on this board.
Best regards, Alexei
quote:Here
is a suggested approach to addressing a complex redistribution scenario
where “you to limit the damage (to the score on the lab) if, for
whatever reason, redistribution doesn't completely work”:
First,
perform as little redistribution as possible to attain the goal of
universal connectivity. For example, if you have two or more potential
redistribution points between two or more routing domains, perform
redistribution on the minimum number of redistribution points to attain
the goal of universal connectivity.
If the network topology
you have been presented with provides multiple connections between two
or more routing domains and you want to utilize all of the
interconnection points for redundancy, load balancing and optimal path
section, do not be concerned with these enhancements at this time. You
will get there. Again, in your initial stage of configuring
redistribution, configure the minimum amount of configuration to attain
the goal of universal connectivity.
Once, you have provided
this minimum requirement, run a test to determine whether you have
attained universal connectivity. This can be done by performing a
manual ping to every IP address within your test pod from all devices
within the same pod. This is a time consuming and potentially
exhausting proposition. Instead of performing a manual ping, consider
running the following TCL script on a Cisco router:
This
script is executed using the "rcmd" commands on each of the routers in
your test pod. For more details on this script, go to http://www.netmasterclass.net/site/lib.php and
download the paper titled: "Cisco IOS TCL and RCMD Testing and
Troubleshooting Scripting". This paper will walk through (1) how to
collect all IP addresses within your pod using a TCL script, (2) how to
configure the sample script above and (3) how to enter the appropriate
RCMD commands on each router.
There are other ways of testing
for universal connectivity. We use different methods in our CHECKiT
grading tool. However, the method stated above is an excellent method
to consider using in a Cisco CCIE lab testing environment because you
can run the script right on a Cisco router.
Use whatever
technique you are most comfortable with to test for universal
connectivity. Once, you have proved that you have attained universal
connectivity by configuring the minimum amount of redistribution
possible, then begin to incrementally expand your redistribution
configuration to deploy levels of redundancy, load balancing and
optimal path selection.
With every incremental increase of
complexity in your redistribution configuration, run a connectivity
test using a tool like the sample TCL script displayed above.
Performing a connectivity test every time you add an additional command
to your redistribution configuration sounds like it is prohibitively
time consuming. At first it will be time consuming when you are in the
learning and mastering stage of the task of redistribution. However,
once you developed a strong understanding of the topic and you have
solidified your incremental approach to redistribution, you will not
need to perform a universal connectivity test after each incremental
increase of the complexity of your redistribution configuration.
Another recommendation to consider when performing redistribution is to enable the following IOS debugging tools:
debug ip routing
If
OSPF is involved in the redistribution process, then enable "debug ip
ospf lsa-generation" If EIGRP is involved, then enable "debug ip eigrp"
If ISIS is involved, then enable "debug isis local-updates"
If
"debug ip routing" generates output that show a redistributed route
constantly being ADDED and DELETED to the local routing table, more
than likely you have some type of redistribution problem.
With
the routing protocol specific debugs, if you see a prefix, LSA or LSP
being constantly added and deleted, this typically reflects a
redistribution issue.
For example, "debug ip ospf
lsa-generation" will display the generation of external LSA's. When
this debugging tool shows healthy External LSA's being generated, the
LSA's will have an age of 0 and a metric of whatever value was assigned
to the external prefix at the time of redistribution (the default value
is 20). However, when OSPF wants to purge an external LSA, it
advertises the prefix with an age of 3600 (the OSPF maxage) and a
metric of 16,777,215 which is 2^^24-1. An OSPF External LSA has a 24
bit metric and when this 24 bit metric possesses a value of 16,777,215,
it is being advertised with an infinite distance, i.e., the prefix is
unreachable. In summary, when you see an OSPF external prefix being
advertised in an alternating fashion with values of age=0/metric=20 and
age=3600/metric=16777215, more than likely you have some type of
redistribution issue.
You will see similar output from the debugging tools for EIGRP and ISIS listed above.
So to summarize......
If you encounter a complex redistribution requirement and you get stuck, consider the following points:
perform as little redistribution as possible to attain the goal of universal connectivity
Once
you have provided the minimum configuration, test for universal
connectivity. Consider using the TCL script mentioned above.
Once
you have proved that you have attained universal connectivity with the
minimum redistribution configuration, incrementally increase the
complexity of your configuration to attain the desired goals of
redundancy, load balancing, optimal path selection, etc.
While
enhancing your redistribution configuration, enable some of debugging
tools mentioned above. These will act as your "redistribution heart
monitors".
Continue to test for universal connectivity
frequently. If you lose universal connectivity while increasing the
complexity of your redistribution configuration, revert back to your
minimum configuration. This should be your worst case scenario.
Therefore,
in your worst case scenario, you have configured minimal redistribution
and you have attained universal connectivity; however, you have not
taken advantage of the underlying physical topology of your Scenario
network. For example, let's say your Scenario topology provides you
with multiple interconnection points between two routing domains and
you have not taken advantage of the redundancy your Scenario network
provides you with. You may now have the connectivity you need to go on
to other topics such as BGP and multicast, but you may not have
fulfilled the redistribution requirements to the level of satisfaction
that the particular CCIE lab is looking for.
Now, how do you
deal with this situation? Unfortunately, there is no absolute answer.
You can ask the proctor for some guidance and direction, but you are
not guaranteed that you will get the response you hope for. It does not
hurt to ask. Always ask the proctor a question when you have one!!!
The general recommendation for this situation is two-fold:
Recommendation #1:
In a CCIE scenario, perform only as much redistribution as the exam
asks you to perform. If the exam you are performing asks you to use all
possible links for redundancy, then configure your redistribution to
the multiple links to provide for redundancy. However, do not go over
board and fret about optimal load balancing, optimal path selection and
symmetric routing unless the exam scenario asks you to consider these
issues.
Hopefully, when you are studying the topic of
redistribution, you learn the techniques to deploy redistribution while
considering all of these factors: redundancy, load-balancing, optimal
path selection and symmetric routing. The NetMasterClass DOiT labs will
expose you to all of these issues. If you want to learn about
redistribution, consider performing the DOiT labs. The scenarios
possess challenging redistribution tasks and the Spot the Issues Answer
Key provides excellent diagrams, tables and descriptions of the
solutions to these tasks.
Recommendation #2: Never blindly perform 2-way redistribution everywhere and then begin to pray. This is almost always a disaster.
As mentioned earlier, be incremental in your approach to any redistribution task.
I hope this helps.
- Bruce Caslow CCIE #3139 NetMasterClass, LLC
quote:Here
are some suggested tips and suggestions for dealing with redistribution
issues. I originally drafted this e-mail earlier this year in response
to a similar question posed by one of the NetMasterClass DOiT
subscribers. When I drafted the original e-mail, it spiraled into a
rather lengthy response. In an effort to avoid being too obtuse, I
curtailed the drafting of this e-mail to a reasonable length. Topics
and explanations contained within this e-mail, as well as follow-on
topics, will be part of a series of tech-notes that will be published
on the NetMasterClass web-site. Two of these Tech-Notes are referenced
later in this e-mail.
References in this e-mail will be made
to the NetMasterClass DOiT workbook; however, the techniques and points
made can be applied to any other vendor's scenario involving
redistribution. One of the original design objectives of the DOiT
scenarios was to provide challenging redistribution problems. Many of
the 22 DOiT labs possess rigorous redistribution problems. To provide a
detailed explanation of each scenario's redistribution problem, the
companion Spot the Issues Answer Key possesses a detailed color coded
redistribution map, along with a redistribution table as well as a
description of the redistribution solution. Finally, all related
redistribution configuration commands can be accessed via the DOiT
SHOWiT engine. To download a sample DOiT Scenario along with a Spot the
Issues Answer Key, go to www.netmasterclass.net Also, to see how the NetMasterClass SHOWiT technology can help you get the most out of your answer keys, go to www.netmasterclass.net for a demonstration.
Now, let's begin to answer your question: "Is there some general strategy and approach to performing redistribution?"
In answering this question, let’s first consider the following three points:
Remember
that redistribution is a non-standard operation. For example, there is
no RFC that outlines how to perform redistribution. As result, there is
no industry recognized technique for performing redistribution.
In
production networks, the process of redistribution is not something
performed casually. Redistribution must be performed in a very
controlled manner and usually redistribution is performed as a last
resort. The general practices are: (1) for a given single
administrative routing domain, attempt to run a single routing protocol
whenever possible and (2) if you are going to perform redistribution,
perform it in a hierarchical manner. Remember this phrase “HIERARCHICAL
MANNER”. It is the key principle to successfully performing complex
redistribution.
Remember with redistribution, you
usually lose information. For example, when you perform redistribution
between EIGRP and RIP, how do you convert an EIGRP composite metric to
a RIP hop count? Conversely, how do you convert a RIP hop count into an
EIGRP composite metric? The answer is, “You really can’t easily convert
these two metrics.” The best you can do is convert these metrics to an
arbitrarily assigned metric. You can do this with a single metric
statement or you can be more granular with this assignment with a
route-map.
How does all of this help us in the CCIE lab?
Upon first glance, not much since you know you are going to have to
perform redistribution between at least three routing protocols. You
will not have the opportunity to make the design decision of
configuring a single routing protocol in the CCIE lab. However, the key
points you need to take away from the three points stated above are:
much of what a single routing protocol is designed to do – (1) select
the best path to a given prefix and (2) prevent the development routing
protocol pathologies such as the creation of loops and blackholes – is
oftentimes broken by route redistribution. The key issue all of these
points force us to address is: how is the best path to a given prefix
selected in a fragmented multi-IGP environment? When a single path to a
given destination prefix is made up of multiple IGP’s there is a high
likelihood of inconsistent criteria for path selection (part of the
path is selected based upon something like a “hop count”, the other
part of the path is selected based upon something like “a composite
metric”) – AND – the same path will be using different techniques for
loop avoidance, blackholing and route flapping (for example, while an
OSPF router might be recalculating its SPF tree to accommodate a route
that has been reported as down, RIP might be placing that same route
into a “holddown” state).
With these points made, let’s begin
to answer the original question: “What is the best method to approach
any redistribution problem, from the simplest to the most complex?” The
answer lies in the following (4) points:
With your redistribution operations, CREATE A ROUTING HIERARCHY. (What is exactly meant by this? Please read ahead.)
When
performing complex route redistribution tasks: initially, perform as
little redistribution as possible to fulfill the goal of universal
connectivity. Attaining this configuration will be called the “Golden
Moment”.
Once universal connectivity is attained
through the most minimal amount of redistribution, incrementally
increase the complexity of your redistribution configuration to add
more robust levels of redundancy, load balancing and optimal path
selection.
DO NOT APPROACH A COMPLEX REDISTRIBUTION
REQUIREMENT BY PERFORMING TWO-WAY REDISTRIBUTION EVERYWHERE. Many
attempt to fulfill complex redistribution requirements in this manner
with the hope that it will work without creating any types of
reachability problems. If this method does result in the creation of
routing problems, then attempts are made to adjust this “perform
two-way redistribution everywhere” technique so that it works properly.
DO NOT APPROACH COMPLEX REDISTRIBUTION REQUIREMENTS IN THIS MANNER.
As
mentioned earlier, at the heart of implementing a successful
redistribution configuration is the underlying task of creating a
routing hierarchy. How do you create a routing hierarchy? Let’s
consider the following steps:
First examine the physical
topology. Are there any loops in the physical topology? There will be
two possible answers to this opening question:
There are no physical loops.
Physical loops exist.
A REDISTRIBUTION SOLUTION ON A PHYSICAL TOPOLOGY WITH NO LOOPS
If
there are no loops in the physical topology, then any redistribution
requirements you have should be simple. A loop free physical topology
directly supports the creation of a routing hierarchy.
If
there are no loops in a physical topology, there will be an unambiguous
set of transit physical links and non-transit physical links. In a loop
free physical topology, all non-transit physical links will be “stub”
links. A “stub” physical link is defined as a link that has one and
only one connection into the rest of the physical topology.
Now,
let’s apply the theme of a “routing hierarchy” to a loop-free physical
topology. The routing protocol(s) deployed on the transit physical
links will be classified as “core” routing protocol(s). The routing
protocols that are deployed on the non-transit “stub” physical links
will be classified as “edge” routing protocols. A loop free topology
creates an implicit two tier routing hierarchy: (1) transit routing
domains in the core and (2) edge non-transit routing domains on the
edge. (Question: Can you think of any IGP’s that create a two tier
routing hierarchy? Answer: OSPF and IS-IS.)
Here is the
Redistribution Solution to this type of topology: One-way
redistribution will be sufficient to fulfill the redistribution
requirements in a loop free physical topology. The edge non-transit
routing domains will redistribute their prefixes into the core transit
routing domains. This is performed to allow the core routing protocols
to provide return path routing paths back to the edge routing domains.
(NOTE: Performing one-way redistribution will make the core routing
protocol domains a “default free (routing) zone” – DFZ. The DFZ is a
very important concept in large scale hierarchical routing. For more
info on DFZ routing, do a google search on “DFZ routing”. The concept
applied in “DFZ routing” will be important to our topics covered later
in this e-mail.) A default route can be injected into the edge
non-transit routing domains on the routers performing the one-way
redistribution. There is no problem or danger with performing two-way
redistribution between core transit routing domains and edge
non-transit routing domains. In a loop free physical topology, such
operations do not create a danger; however, such operations can be
superfluous and highly inefficient.
Great, we now have a
solution for redistribution. However, this solution is for a loop-free
topology that facilitates the creation of a two tiered routing
hierarchy. This is the simplest type of topology to deal with.
Now,
closely examine the physical topologies of all of the Scenarios in the
DOiT workbook. Question: How many of these Scenarios possess a loop
free topology? Answer: Very few of them. Therefore, the redistribution
solution described above is of minimal use for the majority of the DOiT
Scenarios. Now, we must examine the following type of redistribution problems:
A REDISTRIBUTION SOLUTION ON A PHYSICAL TOPOLOGY WITH LOOPS
When you have identified that a Scenario’s physical topology possesses one or more loops, perform the next step:
Are
the loops in the physical topology contained within a single IGP
routing domain? If the loops in the physical topology are contained
within a single IGP, life is good. The single IGP that contains the
physical loops will select the best possible path between the two or
more paths created by the loops AND the single IGP will apply
consistent loop avoidance methods.
Are the loops in the
physical topology spread over multiple routing domains? If yes, well
NOW you have encountered the most challenging type of redistribution
problem! Let’s outline an approach to this type of redistribution
problem. When you examine the physical topology’s of most of the DOiT
Scenarios AND you examine the layout of the IGP routing protocols over
these physical topologies, you will see that many of these Scenarios
contain looping physical topologies that are spread over multiple
routing domains. These characteristics can be easily –and colorfully
seen – by examining the Redistribution Section of each Spot the Issues
Answer Key for each Scenario (RIP links are colored blue, OSPF links
are colored red, EIGRP links are colored green, ISIS links are colored
magenta). Along with this diagram is a description of the logic applied
to the redistribution for each Scenario along with a redistribution
table summarizing whether one-way or two-way redistribution was
performed between two routing protocols, and whether some prefixes were
filtered during the redistribution process as well as whether the
administrative distance has been adjusted for a set of prefixes.
Review
and examine the contents of the redistribution section of each of the
DOiT Scenarios. When you examine the redistribution solutions supplied
in each DOiT Scenario, look for the key ingredient of a successful
route redistribution configuration – it was mentioned earlier in this
e-mail – THE CREATION OF A ROUTING HIERARCHY.
Now the next
issue that must be addressed is: How is a routing hierarchy created
when you are presented with a looped physical topology and the loop
physical topology is spread over multiple IGP domains?
This is not an easy or straight forward question. Here is a suggested approach:
Classify the links in your topology by bandwidth capacity. Let’s use the following assignments.
With this information, you must answer the following types of questions:
What
is a better path to a given destination, a path made up of a single 128
Kbps Frame-Relay link OR a path made up of 1 ATM OC-3 link and 1
FastEthernet link?
Answering these types of questions will allow you to determine where you want to place the backbone of your Scenario topology.
Once
you have determined where you want to locate your Scenario backbone,
determine which IGP routing protocol(s) contain these links. These
routing protocol(s) will constitute your core transit routing
domain(s).
All other routing protocols will comprise the set
of non-transit routing domains. Non-transit routing domains can be
further classified into the following two groups:
Stub non-transit routing domains
Multi-homed non-transit routing domains
Of
the two non-transit routing domains, stub routing domains are the more
simplistic. As mentioned earlier, a stub routing domain has only one
physical connection to another routing domain.
A multi-homed
routing domain is more complex. It possesses two or more connections to
another routing domain or set of routing domains.
IT IS THE
CREATION AND THE PROPER TUNING OF THE NON-TRANSIT MULTI-HOMED IGP
ROUTING DOMAIN(S) THAT IS A KEY ELEMENT TO PROPER COMPLEX ROUTE
REDISTRIBUTION CONFIGURATION. THE NON-TRANSIT MULTI-HOMED IGP ROUTING
DOMAIN IS THE KEY BUILDING BLOCK TO CREATING A “ROUTING HIERARCHY” IN A
COMPLEX REDISTRIBUTION SCENARIO.
Methods of tuning non-transit
multi-homed IGP routing domains involve the configuration and
application of distribute-lists, route-maps and distance commands to
the redistribution process.
Before going any farther, let’s
define the difference between a transit routing domain and a
multi-homed non-transit routing domain.
A transit routing
domain, imports external routes from one routing domain and advertises
these same external routes to another routing domain.
A
non-transit multi-homed routing domain, can import external routes from
one routing domain; however, it does NOT advertise these external
routes to another routing domain. A non-transit multi-homed routing
domain advertises only prefixes that originate from the domain itself
and nothing more.
Central to the definition of the both transit
routing domains and non-transit multi-homed routing domains is the
issue of what a given routing protocol ADVERTISES. Therefore, by
controlling what a routing protocol domain advertises will determine
whether the routing domain is a transit or non-transit domain.
Controlling what a routing domain advertises during the redistribution
process will involve either a distribute-list or route-map.
I
am going to stop drafting this e-mail here. Please let me know if any
of this e-mail makes sense to you…. or if it is in any way helpful. We
are planning to publish a number of tech-note papers on the topic of
“redistribution”. These tech-notes will be available on the NMC
web-site.
What the upcoming tech-notes will introduce is an
IGP route redistribution technique that applies many of the same path
selection and loop avoidance techniques used by BGP. These techniques
will apply using routing tagging during IGP route redistribution.
IN CLOSING, SOME SUGGESTED STEPS TO APPROACH A REDISTRIBUTION TASK:
Here
are some suggested steps to perform when planning your
route-redistribution configuration for complex redistribution scenarios:
Examine the physical topology of the Scenario. Is it a loop-free topology or does the topology possess physical loops?
If
the physical topology contains loops, are the loops contained within a
single IGP routing domain or are the loops spread over multiple IGP
routing domains?
If the physical loops are spread over
multiple IGP routing domains, determine where you want to establish the
transit core routing domain(s). Typically, you want the core transit
routing domain(s) to possess the highest concentration of high-speed
links.
Whatever routing domains are not core transit
routing domains are non-transit routing domains. Non-transit routing
domains can be classified as stub or multi-homed. To assure that a
multi-homed non-transit routing IGP domain retains its non-transit
status, care must be taken during redistribution. Whenever possible,
only one-way redistribution should be performed from the non-transit
routing domains into the transit routing domains. If two-way
redistribution is being performed, filtering must be performed to
prevent non-native (or external) prefixes from being advertised into
the transit domain. Again, if a non-transit IGP routing domain
advertises non-native (external) prefix, the non-transit routing domain
is no longer non-transit. It becomes a transit routing domain for the
prefix it just advertised.
Get to the “golden
moment” – the stage in your redistribution configuration where
universal connectivity is attained for all routers and switches within
your topology WITH THE MOST MINIMAL LEVEL OF REDISTRIBUTION
CONFIGURATION AS POSSIBLE.
Once the “Golden Moment”
has been attained, enhance your redistribution configuration
incrementally to provide your topology a more desired level of
redundancy, load balancing and more optimal path selection. Whenever
possible, use IGP route tagging techniques, to help identify routes as
they pass throughout your routing domains. (More on IGP routing tagging
in an upcoming tech-note.) Test for universal connectivity as you
incrementally enhance your redistribution configuration. Streamline
your testing with the tcl ping script that has been discussed several
times on this discussion forum. If you are not familiar with this
script download the tech-note titled “Cisco IOS TCL and RCMD Testing
and Troubleshooting Scripting” from the following NMC site: http://www.netmasterclass.net/site/lib.php
For
routers that are performing redistribution between two or more
redistribution points, make sure the administrative distance is set so
that prefixes originating from a native routing domain will select the
native routing domain as a routing information source. For more
information on manipulating the administrative distance in routing
domains that possess two or more redistribution points, download the
tech-note titled “A Scenario with Multiple Redistribution Points” from
the NMC tech library: http://www.netmasterclass.net/site/lib.php
MORAL OF THE ROUTE COMPLEX ROUTE REDISTRIBUTION CHALLENGE:
“It
is difficult to establish a hierarchical routing topology within a
routing domain comprised of multiple routing protocols when your
physical topology is not hierarchical AND the deployment of IGP routing
protocols is performed in a non-hierarchical manner.”
I hope
the contents of this e-mail has provided some useful points and
suggestions to approaching route redistribution configuration
requirements.
Q. Can you describe redistribution of connected routes, specifically
why connected ISIS networks are not redistributed as for other routing protocols
why
when I add redistribution of connected routes some prefixes which were
redistributed from routing protocols prior to that go missing
A. Simplified a little
To
better understand what is happening here let us look into how
redistribution happens... For most routing protocols (except ISIS)
redistribution out of the protocol into another protocol will export 2
types of prefixes. Let us say we redistribute into OSPF from EIGRP,
OSPF will get:
the prefixes which are in the routing table as “eigrp”
prefixes which are in the routing table as “connected” and covered by EIGRP network statement
Note
that second step of the process described above redistribute prefixes
which are not “eigrp” but “connected” prefixes, which is a desired
behavior in most cases. I like to name this implicit redistribution of connected.
ISIS is only routing protocol which does not mechanism for implicit
redistribution of connected, and subsequently only prefixes marked in
the local routing table as “isis” are redistributed from ISIS. To get
the immediately connected ISIS network into another routing protocol
one needs to add a form of
redistribute connected
command under that other protocol. This command is what I like to name explicit redistribution of connected.
There are other cases when explicit
redistribution of connected is required. For example to get a prefix
which is not covered by network statement of any routing protocol into
global routing table such prefix usually needs to be explicitly redistributed as connected.
During explicit
redistribution of connected filtering is often used. Using a route-map
filtering can match either prefix or the interface of the prefix. For
example if only a prefix on Loopback 0 is desired it may be more visual
to match the Loopback 0 interface in the route-map versus to match the
ip address of the actual prefix.
In the past when explicit
redistribution of connected was used with OSPF 2 LSA were generated if
a connected prefix was also covered by OSPF network statement: one for
internal and one for external. Since then OSPF redistribution was
adjusted so now only internal LSA would be generated for such prefix,
as such a need to filter on explicit redistribution of connected into OSPF become much smaller.
Now let us look on how explicit and implicit redistribution of connected interact.
In short when filtering is used with explicit redistribution it takes priority over implicit and only the networks permitted by the filters (if any) on the explicit redistribution will be redistributed.
Let us illustrate it with an example.
Say we have a router with 2 Loopback interface and 3 Ethernet interfaces:
Loopback 0 – 172.16.101.1/24 – not covered by any network statement
Loopback 1 – 172.16.201.1/24 – not covered by any network statement
Ethernet 1 – 172.16.11.1/24 – ISIS network
Ethernet 2 – 172.16.12.1/24 – EIGRP 100 network
Ethernet 3 – 172.16.13.1/24 – OSPF network
And
let as assume out goal is to get all ISIS and EIGRP networks into OSPF,
and get Loopback 0 into OSPF. Loopback 1 should not be redistributed
into any routing protocol.
Let us take it step by step:
EIGRP
router ospf 1
redistribute eigrp 100 subnets
Note that 172.16.12.1/24 connected prefix covered by EIGRP network statement made it into OSPF due to implicit
redistribution of connected. Examining external LSAs generated by the
router will show that the following LSA is being advertised (in
addition to remote EIGRP networks):
– 172.16.12.0/24
ISIS
router ospf 1
redistribute isis subnets
Note
that so far we have gotten all remote ISIS prefixes but not the
172.16.11.1/24. Let us move to add it, at the same time we will get the
Loopback prefix in.
First redistribution of connected
router ospf 1
redistribute connected subnets
Now we have added explicit
redistribution of connected. Examining external LSAs generated by the
router will show that the following LSAs are being advertised (in
addition to remote EIGRP and ISIS networks):
As
we can see we get all the networks we want, but we get one extra prefix
for Loopback1. (As a side note, there is no external LSA for
172.16.13.0/24 which use to be an undesirable behavior of IOS up to
12.0 I think). Let us try to remove the unwanted LSA.
Second redistribution of connected
router ospf 1
redistribute connected subnets route-map Connected-->OSPF
!
route-map Connected-->OSPF permit 10
match ip address Connected-ISIS-->OSPF
!
route-map Connected-->OSPF permit 20
match ip address Connected-Loopback-->OSPF
!
ip access-list standard Connected-ISIS-->OSPF
permit 172.16.11.0 0.0.0.255
!
ip access-list standard Connected-Loopback-->OSPF
permit 172.16.101.0 0.0.0.255
!
Way
my logic went here was that I permitted in the route map the networks I
wanted on top of what I already had on the step 1. After all the EIGRP
prefix is implicitly redistributed so it would be no need to permit it in the route-map, right? Let us look at the resulting external LSAs:
– 172.16.101.0/24
– 172.16.11.0/24
Apparently
the EIGRP connected prefix 172.16.12.0/24 is not there. The reason
behind is very simple – the route-map did not permit it and when the
filter is applied on the redistribution of connected it takes
precedence over an “implicit” redistribution. A router if you will is
going to look at each connected prefix and try to redistribute it, and
as soon as route-map denies it the router will move to the next prefix
and it will not attempt another methods of redistributing this prefix.
Let us adjust our route-map to include the EIGRP prefix
Third redistribution of connected
router ospf 1
redistribute eigrp 100 subnets
redistribute isis subnets
redistribute connected subnets route-map Connected-->OSPF
!
route-map Connected-->OSPF permit 10
match ip address Connected-ISIS-->OSPF
!
route-map Connected-->OSPF permit 15
match ip address Connected-EIGRP-->OSPF
!
route-map Connected-->OSPF permit 20
match ip address Connected-Loopback-->OSPF
!
ip access-list standard Connected-ISIS-->OSPF
permit 172.16.11.0 0.0.0.255
!
ip access-list standard Connected-EIGRP-->OSPF
permit 172.16.12.0 0.0.0.255
!
ip access-list standard Connected-Loopback-->OSPF
permit 172.16.101.0 0.0.0.255
!
Routing
protocols (with exception of IGRP and EIGRP, which at this point is
matter of history) use different methods of metric calculation. As such
a metric of one routing protocol can not be ‘translated’ into a metric
of another routing protocol; instead a metric is administratively
assigned on a redistributing route to the route entering a protocol.
Some routing protocols (OSPF and ISIS) have a default metric which will
be assigned, other protocols (EIGRP, RIP) do not have such default
metric. For the protocols which do not have a default metric, it must
be established in the configuration, otherwise redistribution will not
work. The metric can be assigned on
a protocol level (such as to apply to all routes entering the protocol on the router)
on
redistribution command level (such as to apply to all the routes
entering the protocol via the particular redistribute command)
on per-prefix basis via a route map attached to a redistribution command
The
particular value to use for a metric can only be chosen in context of
what else is going on. If no requirements are present otherwise, I say
you keep default for ISIS and OSFP, use 1 for RIP, use 10000 10 255 0
1500 for EIGRP (or another set of similar values). Sometime an explicit
requirements will make you change the redistribution metric. At other
times implicit requirements may influence how you set the metrics. For
example if you had a stub RIP domain at the edge of the network and
there were 2 routers on the border you may need to ensure that all
traffic exits RIP domain via one router versus to another; you can set
the RIP metric on the preferred exit point to 1 and on another router
to 10 which will do the trick. An example of such an implicit
requirement can be NAT. For example if you were to NAT some portion of
traffic entering RIP domain into Lo0 of respective routers where the
Lo0 did not belong to RIP but was redistributed into it, you would have
to get the reply traffic to exact same router which has performed NAT
in the first place, otherwise NAT of return traffic would break; since
the Lo0 on both routers are not covered by RIP but rather redistributed
in you would need to do something about the metric; in this case set
metric of the local Lo0 on each router to 1 and of remote Lo0 to 10.
quote:Q:
Should multipoint redistribution be considered in a scenario which does
not specify such requirement or redundant path requirement?
By
now I have answered different variations of this question in different
discussion, but I now want to have a little more detailed answer
recorded here…
Let me start by looking into the history of DOiT
workbook. Initially workbook was developed to give students great deal
of flexibility in how they address redistribution requirements, one
could choose simple or more complex redistribution, providing that all
prefixes were reachable from everywhere and other requirements met. As
a matter of fact back then the Spot the Issue answer key had no
information on redistribution in it. Later Spot the Issue answer key
was expanded with redistribution information and SHOWiT engine was put
in place to make additional information accessible. At that point in
time redistribution design was made a little more consistent between
different scenarios, but we were working with an intention to
demonstrate different methods and techniques from scenario to scenario.
We as well made a choice to have relatively complex design and
implementation of redistribution for the DOiT scenarios; biggest single
component of this choice was a desire to show complex solutions with an
assumption that after a student went though scenarios with such
redistribution there would be nothing on the real exam to through one
off.
Now after we have talked about the history, let us get to
the essence of the question... The answer is “that depends”. What and
where you are trying to do?
If you at home
practicing for the exam preparation, I say time invested in IGP
redistribution is well spend. IGP routing protocols continue to
represent major portion of the exam points significant enough that it
is not possible to pass the exam without getting IGP right. So in my
view there efforts put in learning IGPs and redistribution is a great
tool for that will not go wasted. Here is an opinion of one of the
students
quote:Originally posted by Chris Bryant: ... The
one part of the DoIt labs that really stand out are the redistribution
scenarios. I personally would say that when you can do the DoIt
redistribution, you won't have much of a problem with Cisco's
redistribution.
The DoIt labs have very difficult
redistribution, but take it from me, you learn a lot going through the
process that will help you greatly on exam day.
Chris Bryant CCIE 12933
Note
that the above is not limited to redistribution section of DOiT
scenarios, the scenarios were build to ensure that a student who can
comfortably complete them would not have technical difficulties on CCIE
exam as DOiT scenarios are often more complex then actual exam.
Having
said all that, there is nothing in most of DOiT scenarios to make you
adopt complex redundant multipoint redistribution design; you do have a
freedom of adopting simpler approach of doing single point
redistribution, and DOiT will continue to be a great learning tool
then. (You would have configurations which vary more from SHOWiT
versions though.)
If you are on real CCIE exam, do not
invent difficulties for yourself. This is a general rule applied to
each and every part of the exam. To quote one of the proctors “the exam
is difficult as it is and by adding extra requirements which are not
there one would make it impassable”. So on the real exam if there is
not a requirement for multipoint redistribution, only redistribute on a
single router between 2 IGPs, even if you could have redistributed on
two routers. Just carefully follow all explicit and implicit
requirements present and do not invent your own. The exam is about
router configuration and not about network design and best practices.
What is the role of administrative distance in redistribution?
Many
people ask questions the subject, often thinking that filtering can
substitute administrative distance in redistribution scenarios. So I
though a little write up is in order.
Here is a brief explanation... a little simplified
R1
and R3 mutually redistribute RIP <--> OSPF. As OSPF
administrative distance is better then RIP they would want to install
172.16.102.0/24 prefix via OSPF not via RIP. Interestingly enough it is
not easy to get filtering to help here, as the issue is on R1/R3 itself
and not what they advertise into the RIP domain.
What we
really need to happen there is for R1 & R3 to continue to advertise
the prefix into OSPF, so R4 can get there, but locally prefer RIP
learned route so they know how to get there.
This is exactly
what administrative distance is for. By making RIP administrative
distance on R1 & R3 better then OSPF just for the 172.16.102.0/24
prefix we can fix our little network up.
I have to say that
multipoint redistribution is absolutely required to create this
conditions; if redistribution was single point (only R1 was
redistributing) no issue would exist.
Further the issue would
not show up with all routing protocols as EIGRP has inbuilt protection
for such situations - it installs external routes with worse distance
then internal ones so if it was used in the little network described in
place of RIP or OSPF the issue would not have existed. It does not mean
though that EIGRP would not ever have an issue. Say we did use EIGRP
instead of OSPF
and
enjoyed flawlessly working network with no manual adjustments of
administrative distance for a little while, but then our manager had a
bad day
and made us to insert prefix 172.16.104.0/24 into EIGRP by
redistribution (before that bad day we use to cover it by network
statement). What would happen then that from R1 & R3 perspective
this would become EIGRP external route, with a distance inferior to RIP
and sure enough R1 and R3 no sending traffic destined to
172.16.104.0/24 up to R2. Our problem is back, but we know how to fix
it, right? Off we go typing “ip distance” command under EIGRP routing
process... nothing improves. We have just learned that unlike other
routing protocols administrative distance of external EIGRP routes can
not be changed on per-prefix basis, as we were able to do with RIP (and
would have been able to do with all other routing protocols). The way
out is to manipulate RIP administrative distance for the
172.16.104.0/24 prefix, now making it higher (inferior) to EIGRP.
OSPF
has a command to change administrative distance of external routes,
which can make it behave as EIGRP and help avoid a need to manipulate
administrative distance on per-prefix basis, which we could have used
in our first example by simply keeping OSPF internal routes
administrative distance at default and making OSPF external routes
distance say 200 (that is up until our manager has a bad day and made
172.16.104.0/24 external also but we hope he does not do it this time
around).
Please remember that administrative distance is not
carried in routing updates of any IGP protocol and as such is unique on
each router in the network; you only need to ever adjust it at
redistribution points though, and only if more then one redistribution
point exists.
This concludes our discussion of administrative distance.
I decided to expand this article by providing
links to discussions elsewhere on this board where redistribution is
discussed in details.
This is not a full list as I am just
starting to maintain it, there are a number of good discussions in
archives which are not referenced there, but I hope it will help anyway.
The lab scenario workbook with 24 labs providing you
the ultimate practice challenge. DOiT is updated with 12.2T and IPv6 features. On-line version is available!