Overview
18.1 Distance
Vector Routing
18.1.1 Distance
vector routing updates
18.1.2 Distance
vector routing loop issues
18.1.3 Defining a
maximum count
18.1.4
Elimination routing loops through split-horizon
18.1.5 Route
poisoning
18.1.6 Avoiding
routing loops with triggered updates
18.1.7 Preventing
routing loops with holddown timers
18.2 RIP
18.2.1 RIP
routing process
18.2.2
Configuring RIP
18.2.3 Using the
ip classless command
18.2.4 Common RIP
configuration issues
18.2.5 Verifying
RIP configuration
18.2.6
Troubleshooting RIP update issues
18.2.7 Preventing
routing updates through an interface
18.2.8 Load
balancing with RIP
18.2.9 Load
balancing across multiple paths
18.2.10
Integrating static routes with RIP
18.3 IGRP
18.3.1 IGRP
features
18.3.2 IGRP
metrics
18.3.3 IGRP
routes
18.3.4 IGRP
stability features
18.3.5
Configuring IGRP
18.3.6 Migrating
RIP to IGRP
18.3.7 Verifying
IGRP configuration
18.3.8
Troubleshooting IGRP
Summary
Overview
Dynamic routing
makes it possible to avoid the configuration of static routes. Dynamic routing
makes it possible to avoid the time-consuming and exacting process of
configuring static routes. Dynamic routing also makes it possible for routers
to react to changes in the network and to adjust their routing tables
accordingly, without the intervention of the network administrator. However,
dynamic routing can cause problems. Some of the problems associated with
dynamic distance vector routing protocols are discussed in this module, along
with some of the steps that designers of the protocols have taken to solve the
problems.
RIP is a distance
vector routing protocol that is used in thousands of networks throughout the
world. The fact that RIP is based on open standards and is easy to implement
makes it attractive to some network administrators. However, RIP lacks the
power and features of more advanced routing protocols. Because of its
simplicity, RIP is a good basic protocol for networking students. This module
will also introduce RIP configuration and troubleshooting.
IGRP is another
distance vector routing protocol. Unlike RIP, IGRP is a Cisco-proprietary
protocol rather than a standards-based protocol. IGRP is also very simple to
implement. However, IGRP is a more complex routing protocol than RIP and can
use many factors to determine the best route to a destination network. This
module will introduce IGRP configuration and troubleshooting.
This module
covers some of the objectives for the CCNA 640-801, INTRO 640-821, and ICND
640-811 exams. -
Students who
complete this module should be able to perform the following tasks:
- Describe how routing loops can
occur in distance vector routing
- Describe several methods used
by distance vector routing protocols to ensure that routing information is
accurate
- Configure RIP
- Use the ip classless command
- Troubleshoot RIP
- Configure RIP for load
balancing
- Configure static routes for RIP
- Verify RIP
- Configure IGRP
- Verify IGRP operation
- Troubleshoot IGRP
18.1
Distance Vector Routing
18.1.1
Distance vector routing updates
This page will explain
how distance vector routing updates occur.
Routing table
updates occur periodically or when the topology in a distance vector protocol
network changes. It is important for a routing protocol to update the routing
tables efficiently. As with the network discovery process, topology change
updates proceed systematically from router to router. Distance vector algorithms call for each
router to send its entire routing table to each of its adjacent neighbors. The routing
tables include information about the total path cost. The path cost is defined
by the metrics and the logical address of the first router on the path to each
network in the table.
18.1
Distance Vector Routing
18.1.2
Distance vector routing loop issues
This page will
help students understand routing loops.
Routing loops can
occur when inconsistent routing tables are not updated due to slow convergence
in a changing network.
An example is as
follows:
- Just before the failure of
Network 1, all routers have consistent knowledge and correct routing
tables. The network is said to have converged. For Router C, the preferred
path to Network 1 is by way of Router B, and the distance from Router C to
Network 1 is 3.
- When Network 1 fails, Router E
sends an update to Router A. Router A stops routing packets to Network 1,
but Routers B, C, and D continue to do so because they have not yet been
informed of the failure. When Router A sends out its update, Routers B and
D stop routing to Network 1. However, Router C has not received an update.
For Router C, Network 1 can still be reached through Router B.
- Now Router C sends a periodic
update to Router D, which indicates a path to Network 1 by way of Router
B. Router D changes its routing table to reflect this incorrect
information, and sends the information to Router A. Router A sends the
information to Routers B and E, and the process continues. Any packet
destined for Network 1 will now loop from Router C to B to A to D and back
to again to C.
18.1
Distance Vector Routing
18.1.3
Defining a maximum count
This page will
teach students how to define a maximum count to prevent routing loops.
The invalid
updates of Network 1 will continue to loop until some other process stops the
looping. This condition, which is called count to infinity, loops packets
around the network in spite of the fact that the destination network, which is
Network 1, is down. While the routers count to infinity, the invalid
information allows a routing loop to exist.
Without
countermeasures to stop the count to infinity process, the distance vector
metric of hop count increases each time the packet passes through another
router. These packets loop through the network because of incorrect information
in the routing tables.
Distance vector
routing algorithms are self-correcting, but a routing loop problem can require
a count to infinity. To avoid this prolonged problem, distance vector protocols
define infinity as a specific maximum number. This number refers to a routing
metric, which may simply be the hop count.
With this
approach, the routing protocol permits the routing loop to continue until the
metric exceeds its maximum allowed value. The graphic shows the metric value as
16 hops. This exceeds the distance vector default maximum of 15 hops so the
packet is discarded by the router. When the metric value exceeds the maximum
value, Network 1 is considered unreachable.
18.1
Distance Vector Routing
18.1.4
Elimination routing loops through split-horizon
This page will
explain how split horizon can be used to avoid routing loops.
Some routing
loops occur when incorrect information that is sent back to a router
contradicts the correct information that the router originally distributed. An
example is as follows:
- Router A passes an update to
Router B and Router D, which indicates that Network 1 is down. However,
Router C transmits an update to Router B, which indicates that Network 1
is available at a distance of 4, by way of Router D. This does not violate
split horizon rules.
- Router B concludes,
incorrectly, that Router C still has a valid path to Network 1, although
at a much less favorable metric. Router B sends an update to Router A,
which informs Router A of the new route to Network 1.
- Router A now determines that it
can send to Network 1 by way of Router B. Router B determines that it can
send to Network 1 by way of Router C. Router C determines that it can send
to Network 1 by way of Router D. Any packet introduced into this
environment will loop between routers.
- Split horizon is used to avoid
this situation. If a routing update about Network 1 arrives from Router A,
Router B or Router D cannot send information about Network 1 back to
Router A. Split horizon reduces
incorrect routing information and routing overhead.
18.1 Distance Vector Routing
18.1.5
Route poisoning
This page will
explain what route poisoning is and why it is used.
Route poisoning
is used by various distance vector protocols to overcome large routing loops
and offer detailed information when a subnet or network is not accessible. To
accomplish this, the hop count is usually set to one more than the maximum.
One way to avoid
inconsistent updates is route poisoning. When Network 5 goes down, Router E
will set a distance of 16 for Network 5 to poison the route. This indicates
that the network is unreachable. When
the route is poisoned, Router C is not affected by incorrect updates about the
route to Network 5. After Router C receives a route poisoning from Router E, it
sends an update, which is called a poison reverse, back to Router E. This makes
sure all routers on the segment have received the poisoned route information.
When route
poisoning is used with triggered updates it will speed up convergence time
because neighboring routers do not have to wait 30 seconds before they
advertise the poisoned route.
Route poisoning
causes a routing protocol to advertise infinite-metric routes for a failed
route. Route poisoning does not break split horizon rules. Split horizon with
poison reverse is route poisoning that is placed on links that split horizon
would not normally allow routing information to flow across. In either case,
the result is that failed routes are advertised with infinite metrics.
18.1
Distance Vector Routing
18.1.6
Avoiding routing loops with triggered updates
This page will
explain how triggered updates can be used to prevent routing loops.
New routing
tables are sent to neighbor routers on a regular basis. For example, RIP
updates occur every 30 seconds. However a triggered update is sent immediately
in response to some change in the routing table. The router that detects a
topology change immediately sends an update message to adjacent routers. These
routers generate triggered updates to notify their adjacent neighbors of the
change. When a route fails, an update is sent immediately. Triggered updates,
used in conjunction with route poisoning, ensure that all routers know of
failed routes before any holddown timers can expire.
Triggered updates
do not wait for update timers to expire. They are sent when routing information
has changed. A router will immediately send a routing update on its other
interfaces. This forwards the information about the route that has changed and
starts the holddown timers sooner on the neighbor routers. The wave of updates
propagates throughout the network.
Router C issues a
triggered update, which announces that network 10.4.0.0 is unreachable. Upon receipt of this information, Router B
announces through interface S0/1 that network 10.4.0.0 is down. In turn, Router
A sends an update out interface Fa0/0.
18.1
Distance Vector Routing
18.1.7
Preventing routing loops with holddown timers
This page will
explain how holddown timers can be used to avoid a count to infinity problem:
- When a router receives an
update from a neighbor, which indicates that a previously accessible
network is now inaccessible, the router marks the route as inaccessible
and starts a holddown timer. Before the holddown timer expires, if an
update is received from the same neighbor, which indicates that the
network is accessible, the router marks the network as accessible and
removes the holddown timer.
- If an update arrives from a
different neighbor router with a better metric for the network, the router
marks the network as accessible and removes the holddown timer.
- If an update is received from a
different router with a higher metric before the holddown timer expires,
the update is ignored. This update is ignored to allow more time for the
knowledge of a disruptive change to propagate through the entire network.
18.2
RIP
18.2.1
RIP routing process
This page will
provide an overview of the RIP routing process.
The modern open
standard version of RIP, which is sometimes referred to as IP RIP, is formally
detailed in two separate documents. The first is known as Request for Comments
(RFC) 1058 and the other as Internet Standard (STD) 56.
RIP has evolved
over the years from a Classful Routing Protocol, RIP Version 1 (RIP v1), to a
Classless Routing Protocol, RIP Version 2 (RIP v2). RIP v2 enhancements include
the following:
- Ability to carry additional
packet routing information
- Authentication mechanism to
secure table updates
- Support for variable-length
subnet mask (VLSM)
To prevent indefinite
routing loops, RIP implements a limit on the number of hops allowed in a path
from a source to a destination. The maximum number of hops in a path is 15.
When a router receives a routing update that contains a new or changed entry,
the metric value is increased by 1 to account for itself as a hop in the path.
If this causes the metric to be higher than 15, the network destination is
considered unreachable. RIP includes a number of features that are common in
other routing protocols. For example, RIP implements split horizon and holddown
mechanisms to prevent the propagation of incorrect routing information.
18.2
RIP
18.2.2
Configuring RIP
This page will
explain how RIP is configured.
The router rip
command enables RIP as the routing protocol. The network command is then used
to tell the router on which interfaces to run RIP. The routing process
associates specific interfaces with the network addresses and begins to send
and receive RIP updates on these interfaces.
RIP sends routing-update
messages at regular intervals. When a router receives a routing update that
includes changes to an entry, it updates its routing table to reflect the new
route. The received metric value for the path is increased by 1, and the source
interface of the update is indicated as the next hop in the routing table. RIP
routers maintain only the best route to a destination but can maintain multiple
equal-cost paths to the destination. Most routing protocols use a combination
of time-driven and event-driven updates. RIP is time-driven, but the Cisco
implementation of RIP sends triggered updates whenever a change is detected.
Topology changes also trigger immediate updates in IGRP routers, regardless of
the update timer. Without triggered updates, RIP and IGRP will not perform.
After updating its routing table due to a configuration change, the router
immediately begins transmitting routing updates in order to inform other
network routers of the change. These updates, called triggered updates, are
sent independently of the regularly scheduled updates that RIP routers forward.
The descriptions for the commands used to configure router BHM shown in the
figure are as follows:
- BHM(config)#router rip –
Selects RIP as the routing protocol
- BHM(config-router)#network 10.0.0.0
– Specifies a directly connected network
- BHM(config-router)#network
192.168.13.0 – Specifies a directly connected network
The Cisco router
interfaces that are connected to networks 10.0.0.0 and 192.168.13.0 send and
receive RIP updates. These routing updates allow the router to learn the
network topology from a directly connected router that also runs RIP.
RIP must be
enabled and the networks must be specified. All other tasks are optional. These
optional tasks include the following:
- Apply offsets to routing
metrics
- Adjust timers
- Specify a RIP version
- Enable RIP authentication
- Configure route summarization
on an interface
- Verify IP route summarization
- Disable automatic route
summarization
- Run IGRP and RIP concurrently
- Disable the validation of
source IP addresses
- Enable or disable split horizon
- Connect RIP to a WAN
To enable RIP,
use the following commands in global configuration mode:
- Router(config)#router rip –
Enables the RIP routing process
- Router(config-router)#networknetwork-number
– Associates a network with the RIP routing process
18.2
RIP
18.2.3
Using the ip classless command
This page will
explain what the ip classless command is and how it is used.
Sometimes a
router receives packets destined for an unknown subnet of a network that has
directly connected subnets. Use the ip classless global configuration command
to instruct the Cisco IOS software to forward these packets to the best
supernet route. A supernet route is a route that covers a greater range of
subnets with a single entry. For example, if an enterprise uses the entire
subnet 10.10.0.0 /16, then a supernet route for 10.10.10.0 /24 would be
10.10.0.0 /16. The ip classless command is enabled by default in Cisco IOS
Software Release 11.3 and later. To disable this feature, use the no form of
this command.
When this feature
is disabled any packets received that are destined for a subnet that falls
within the subnetwork addressing scheme of the router will be discarded.
IP classless only
affects the operation of the forwarding processes in IOS. IP classless does not
affect the way the routing table is built. This is the essence of classful
routing. If one part of a major network is known, but the subnet toward which
the packet is destined within that major network is unknown, the packet is
dropped.
The most
confusing aspect of this rule is that the router only uses the default route if
the major network destination does not exist in the routing table. A router by
default assumes that all subnets of a directly connected network should be
present in the routing table. If a packet is received with an unknown
destination address within an unknown subnet of a directly attached network,
the router assumes that the subnet does not exist. So the router will drop the
packet even if there is a default route. To resolve this problem, configure ip
classless on the router. This allows the router to ignore the classful
boundaries of the networks in its routing table and simply route to the default
route. -
18.2
RIP
18.2.4
Common RIP configuration issues
This page will
provide some more information about the methods that are used to reduce routing
loops.
RIP routers must
rely on neighbor routers for some types of network information. A common term
used to describe this functionality is Routing by Rumor. RIP uses a distance
vector routing algorithm. All distance vector routing protocols have issues
that are primarily created by slow convergence. Convergence is when all routers
in a network have the same routing information.
Among these
issues are routing loops and counting to infinity. These result in
inconsistencies due to update messages with incorrect routes that are
propagated around the network.
To reduce routing
loops and counting to infinity, RIP uses the following techniques:
- Split horizon
- Poison reverse
- Holddown counters
- Triggered updates
Some of these
methods may need to be configured.
RIP permits a
maximum hop count of 15. Any destination greater that 15 hops away is tagged as
unreachable. This maximum hop count greatly restricts the use of RIP in large
internetworks but prevents counts to infinity and endless network routing
loops.
The split horizon
rule is based on the theory that it is not useful to send information about a
route back in the direction from which it came. In some network configurations,
it may be necessary to disable split horizon.
The following
command is used to disable split horizon:
GAD(config-if)#no
ip split-horizon
The holddown
timer is another mechanism that may need to be configured. Holddown timers help
prevent counting to infinity but also increase convergence time. The default
holddown for RIP is 180 seconds. This will prevent any inferior route from
being updated but may also prevent a valid alternative route from being
installed. The holddown timer can be decreased to speed up convergence but
should be done with caution. Ideally, the timer should be set just longer than
the longest possible update time for the internetwork. In the example in Figure
, the loop consists of four routers. If each router has an update time of 30
seconds, the longest loop would be 120 seconds. Therefore, the holddown timer
should be set to slightly more than 120 seconds.
Use the following
command to change the holddown timer as well as the update, invalid, and flush
timers:
Router(config-router)#timers
basicupdate invalid holddown flush [sleeptime ]
Another
configurable item that affects convergence time is the update interval. The
default RIP update interval in Cisco IOS is 30 seconds. This can be configured
for longer intervals to conserve bandwidth, or for shorter intervals to
decrease convergence time.
Another issue
with routing protocols is the unwanted advertisement of routing updates out a
particular interface. When a network command is issued for a given network, RIP
will immediately begin to send advertisements out all interfaces within the
specified network address range. A network administrator can use the
passive-interface command to disable routing updates on specified
interfaces.
Because RIP is a
broadcast protocol, the network administrator may have to configure RIP to
exchange routing information in a non-broadcast network such as Frame Relay. In
this type of network, RIP must be informed of neighbor RIP routers. To do this
use the neighbor command displayed in Figure .
By default, the
Cisco IOS software receives RIP Version 1 and Version 2 packets, but sends only
Version 1 packets. The network administrator can configure the router to only
receive and send Version 1 packets or the administrator can configure the
router to send only Version 2 packets. To configure the router to send and
receive packets from only one version, use the commands in Figure .
To control how
packets received from an interface are processed, use the commands in Figure .
18.2
RIP
18.2.5
Verifying RIP configuration
This page will
describe several commands that can be used to verify that RIP is properly
configured. Two of the most common are the show ip route command and the show
ip protocols command.
The show ip
protocols command shows which routing protocols carry IP traffic on the
router. This output can be used to
verify most if not all of the RIP configuration. Some of the most common
configuration items to verify are as follows:
- RIP routing is configured.
- The correct interfaces send and
receive RIP updates.
- The router advertises the
correct networks.
The show ip route
command can be used to verify that routes received by RIP neighbors are
installed in the routing table. Examine
the output of the command and look for RIP routes signified by "R".
Remember that the network will take some time to converge so the routes may not
appear immediately.
Additional
commands to check RIP configuration are as follows:
- show interfaceinterface
- show ip interfaceinterface
- show running-config
18.2
RIP
18.2.6
Troubleshooting RIP update issues
This page will
teach students how to troubleshoot RIP update issues.
Most of the RIP
configuration errors involve an incorrect network statement, discontiguous
subnets, or split horizons. An effective command that is used to find RIP
update issues is the debug ip rip command.
The debug ip rip
command displays RIP routing updates as they are sent and received. The example
in Figure shows the output from the
debug ip rip command after a router receives a RIP update. After the router
receives and processes the update, it sends the updated information out its two
RIP interfaces. The output shows the router uses RIP v1 and broadcasts the
update with the broadcast address 255.255.255.255. The number in parenthesis
represents the source address encapsulated into the IP header of the RIP
update.
There are several
key indicators to look for in the output of the debug ip rip command. Problems
such as discontiguous subnetworks or duplicate networks can be diagnosed with
this command. A symptom of these issues would be a router that advertises a
route with a metric that is less than the metric it received for that network.
The following
commands can also be used to troubleshoot RIP:
- show ip rip database
- show ip protocols {summary}
- show ip route
- debug ip rip {events}
- show ip interface brief
.
18.2
RIP
18.2.7
Preventing routing updates through an interface
This page will
teach students how to prevent routing updates.
Route filtering
regulates the routes that are entered into or advertised out of a route table.
These have different effects on link-state routing protocols than they do on
distance vector protocols. A router that runs a distance vector protocol
advertises routes based on what is in its route table. As a result, a route
filter influences which routes the router advertises to its neighbors.
Routers that run
link-state protocols determine routes based on information in the link-state
database, rather than the route entries advertised by neighbor routers. Route
filters have no effect on link-state advertisements or the link-state database.
For this reason, the information on this page only applies to distance vector
IP routing protocols such as RIP and IGRP.
The
passive-interface command prevents the transmission of routing updates through
a router interface. When update messages are not sent through a router
interface, other systems on the network cannot learn about routes dynamically.
In Figure , Router E uses the passive-interface command to prevent routing
updates from being sent.
For RIP and IGRP,
the passive-interface command stops the router from sending updates to a
particular neighbor, but the router continues to listen and use routing updates
from that neighbor.
18.2
RIP
18.2.8
Load balancing with RIP
This page will
describe load balancing and explain how RIP uses this feature.
Load balancing is
a concept that allows a router to take advantage of multiple best paths to a
given destination. These paths are either statically defined by a network
administrator or calculated by a dynamic routing protocol such as RIP.
RIP is capable of
load balancing over as many as six equal-cost paths. The default is four paths.
RIP performs what is referred to as “round robin” load balancing. This means
that RIP takes turns forwarding packets over the parallel paths.
Figure shows an example of RIP routes with four
equal cost paths. The router will start with an interface pointer to the
interface connected to Router 1. Then the interface pointer cycles through the
interfaces and routes in a deterministic fashion such as 1-2-3-4-1-2-3-4-1 and
so on. Since the metric for RIP is hop count, the speed of the links is not
considered. Therefore, the 56-Kbps path will be given the same preference as
the 155-Mbps path.
The show ip route
command can be used to find equal cost routes. For example, Figure is a display of the output show ip route to a
particular subnet with multiple routes.
Notice there are
two routing descriptor blocks. Each block is one route. There is also an
asterisk (*) next to one of the block entries. This corresponds to the active
route that is used for new traffic.
18.2
RIP
18.2.9
Load balancing across multiple paths
This page will
further explain how routers use load balancing to transmit packets to a
destination IP address over multiple paths. The paths are derived either
statically or with dynamic protocols, such as RIP, EIGRP, OSPF, and IGRP.
When a router
learns multiple routes to a specific network, the route with the lowest
administrative distance is installed in the routing table. Sometimes the router must select a route from
among many, learned through the same routing process with the same
administrative distance. In this case, the router chooses the path with the
lowest cost or metric to the destination. Each routing process calculates its
cost differently and the costs may need to be manually configured in order to
achieve load balancing.
If the router
receives and installs multiple paths with the same administrative distance and
cost to a destination, load-balancing can occur. Cisco IOS imposes a limit of
up to six equal cost routes in a routing table, but some IGPs have their own
limitations. EIGRP allows up to four equal cost routes.
By default, most
IP routing protocols install a maximum of four parallel routes in a routing
table. Static routes always install six routes. The exception is BGP, which by
default allows only one path to a destination.
The range of
maximum paths is one to six paths. To change the maximum number of parallel
paths allowed, use the following command in router configuration mode:
Router(config-router)#maximum-paths
[number ]
IGRP can load
balance up to six unequal links. RIP networks must have the same hop count to
load balance, whereas IGRP uses bandwidth to determine how to load balance.
In Figure , there
are three ways to reach Network X:
- E to B to A with a metric of 30
- E to C to A with a metric of 20
- E to D to A with a metric of 45
Router E chooses
the second path, E to C to A with a metric of 20, since it is a lower cost than
30 and 45.
Cisco IOS
supports two methods of load balancing for IP packets. These are per-packet and
per-destination load balancing. If process switching is enabled, the router
will alternate paths on a per-packet basis. If fast switching is enabled, only
one alternate route will be cached for the destination address. All packets
that are bound for a specific host will take the same path. Packets bound for a
different host on the same network may use an alternate route. Traffic is load
balanced on a per-destination basis.
By default the
router uses per-destination load balancing, also called fast switching. The
route cache allows outgoing packets to be load-balanced on a per-destination
basis rather than on a per-packet basis. To disable fast switching, use the no
ip route-cache command. Using this command will cause traffic to be load balanced
on a per-packet basis.
18.2
RIP
18.2.10
Integrating static routes with RIP
This page will
explain how static routes can be configured on a router that uses RIP.
Static routes are
user-defined routes that force packets to take a set path from a source to a
destination. Static routes become very important if the Cisco IOS software does
not learn a route to a particular destination. They are also used to specify a
gateway of last resort, which is commonly referred to as a default route. If a
packet is destined for a subnet that is not explicitly listed in the routing
table, the packet is forwarded to the default route.
A router that
runs RIP can receive a default route through an update from another router that
runs RIP. Another option is for the router to generate the default route
itself.
Use the no ip
route global configuration command to remove static routes. The administrator
can override a static route with dynamic routing information by adjusting the
administrative distance values. Each dynamic routing protocol has a default
administrative distance (AD). A static route can be defined as less desirable
than a dynamically learned route, as long as the AD of the static route is
higher than that of the dynamic route. Note that after the static route to
network 172.16.0.0 through 192.168.14.2 was entered, the routing table does not
show it. Only the dynamic route learned through RIP is present. This is because
the AD of 130 is higher for the static route, and unless the RIP route through
S0/0 goes down, the static route will not be installed in the routing table.
Static routes
that point out an interface will be advertised by the RIP router that owns the
static route and propagated throughout the internetwork. This is because static
routes that point to an interface are considered in the routing table to be
connected and thus lose their static nature in the update. If a static route is
assigned to an interface that is not defined in a network command, a
redistribute static command must be specified in the RIP process before RIP
will advertise the route.
When an interface
goes down, all static routes pointing out that interface are removed from the
IP routing table. Likewise, when the software can no longer find a valid next
hop for the address specified in the static route, then the static route is
removed from the IP routing table.
In Figure a static route has been configured on the GAD
router to take the place of the RIP route in the event that the RIP routing
process fails. This is referred to as a floating static route. To configure the
floating static route, an AD of 130 was defined on the static route. This is
greater than the default AD of RIP, which is 120. The BHM router would also
need to be configured with a default route.
To configure a
static route, use the command shown in Figure
in global configuration mode.
18.3
IGRP
18.3.1
IGRP features
This page will
explain the main features and functions of IGRP.
IGRP is a
distance vector IGP. Distance vector routing protocols measure distances to
mathematically compare routes. This measurement is known as the distance
vector. Routers that use distance vector protocols must send all or a portion
of their routing table in a routing update message at regular intervals to each
neighbor router. As routing information spreads throughout the network, routers
perform the following functions:
- Identify new destinations
- Learn of failures
IGRP is a
distance vector routing protocol developed by Cisco. IGRP sends routing updates
at 90 second intervals. These updates advertise all the networks for a
particular AS. Key design characteristics of IGRP are a follows:
- The versatility to
automatically handle indefinite, complex topologies
- The flexibility needed to
segment with different bandwidth and delay characteristics
- Scalability for functioning in
very large networks
By default, the
IGRP routing protocol uses bandwidth and delay as metrics. Additionally, IGRP can be configured to use a
combination of variables to determine a composite metric. These variables are
as follows:
- Bandwidth
- Delay
- Load
- Reliability
. 18.3
IGRP
18.3.2
IGRP metrics
This page will
describe the metrics that IGRP uses.
The show ip
protocols command displays parameters, filters, and network information about
the routing protocols in use on the router.
There are K1 to K5 factors shown on the graphic. They are used by the
algorithm to calculate the routing metric for IGRP. By default the values of
the factors K1 and K3 are set to 1, and K2, K4, and K5 are set to 0.
This composite
metric is more accurate than the hop count metric that RIP uses to choose a
path to a destination. The path that has the smallest metric value is the best
route.
IGRP uses the
following metrics:
- Bandwidth – The lowest
bandwidth value in the path
- Delay – The cumulative
interface delay along the path
- Reliability – The reliability
on the link toward the destination as determined by the exchange of
keepalives
- Load – The load on a link
toward the destination based on bits per second
IGRP uses a
composite metric. This metric is calculated as a function of bandwidth, delay,
load, and reliability. By default, only bandwidth and delay are considered. The
other parameters are considered only if enabled through configuration. Delay
and bandwidth are not measured values, but are set with the delay and bandwidth
interface commands. The show ip route command in the example shows the IGRP
metric values in brackets. A link with a higher bandwidth will have a lower
metric and a route with a lower cumulative delay will have a lower metric.
18.3
IGRP
18.3.3
IGRP routes
This page will
introduce the three types of routes that IGRP advertises:
- Interior
- System
- Exterior
Interior
Interior routes
are routes between subnets of a network attached to a router interface. If the
network attached to a router is not subnetted, IGRP does not advertise interior
routes.
System
System routes are
routes to networks within an autonomous system. The Cisco IOS software derives
system routes from directly connected network interfaces and system route
information provided by other IGRP routers or access servers. System routes do
not include subnet information.
Exterior
Exterior routes
are routes to networks outside the autonomous system that are considered when a
gateway of last resort is identified. The Cisco IOS software chooses a gateway
of last resort from the list of exterior routes that IGRP provides. The
software uses the gateway of last resort if a better route is not found and the
destination is not a connected network. If the autonomous system has more than
one connection to an external network, different routers can choose different
exterior routers as the gateway of last resort.
18.3
IGRP
18.3.4
IGRP stability features
This page will
describe three features that are designed to enhance the stability of IGRP:
- Holddowns
- Split horizons
- Poison reverse updates
Holddowns
Holddowns are
used to prevent regular update messages from reinstating a route that may not
be up. When a router goes down, neighbor routers detect this from the lack of
regularly scheduled update messages.
Split horizons
Split horizons
are derived from the premise that it is not useful to send information about a
route back in the direction from which it came. The split horizon rule helps
prevent routing loops between adjacent routers.
Poison reverse
updates
Poison reverse
updates are used to prevent larger routing loops. Increases in routing metrics
usually indicate routing loops. Poison reverse updates then are sent to remove
the route and place it in holddown. With IGRP, poison reverse updates are sent
only if a route metric has increased by a factor of 1.1 or greater.
IGRP also
maintains many timers and variables that contain time intervals. These include
an update timer, an invalid timer, a holddown timer, and a flush timer.
The update timer
specifies how frequently routing update messages should be sent. The IGRP
default for this variable is 90 seconds.
The invalid timer
specifies how long a router should wait in the absence of routing-update
messages about a route before it declares that route invalid. The IGRP default
for this variable is three times the update period.
The holddown
timer specifies the amount of time for which information about poorer routes is
ignored. The IGRP default for this variable is three times the update timer
period plus 10 seconds.
Finally, the
flush timer indicates how much time should pass before a route is flushed from
the routing table. The IGRP default is seven times the routing update timer.
IGRP lacks
support for VLSM. Cisco has created Enhanced IGRP to correct this problem.
18.3
IGRP
18.3.5
Configuring IGRP
This page will
introduce the commands that are used to configure IGRP.
To configure the
IGRP routing process, use the router igrp configuration command. To shut down
an IGRP routing process, use the no form of this command.
The command
syntax is as follows:
RouterA(config)#router
igrpas-number
RouterA(config)#no
router igrpas-number
The AS number
identifies the IGRP process.
To specify a list
of networks for IGRP routing processes, use the network router configuration
command. To remove an entry, use the no form of the command.
Figure shows an example of how to configure IGRP for
AS 101.
18.3
IGRP
18.3.6
Migrating RIP to IGRP
This page will
teach students how to convert a router from RIP to IGRP.
When Cisco
created IGRP in the early 1980s, it was the first company to solve the problems
associated with the use of RIP to route datagrams between interior routers.
IGRP examines the bandwidth and delay of the networks between routers to
determine the best path through an internetwork. IGRP converges faster than
RIP. This prevents routing loops that are caused by disagreement over the next
routing hop. Further, IGRP does not share the hop count limitation of RIP. As a
result of this and other improvements over RIP, IGRP enabled many large,
complex, topologically diverse internetworks to be deployed.
Use the following
steps to convert from RIP to IGRP:
- Enter show ip route to verify
that RIP is the routing protocol on the routers to be converted.
- Configure IGRP on Router A and
Router B.
- Enter show ip protocols on
Router A and Router B.
- Enter show ip route on Router A
and Router B.
18.3
IGRP
18.3.7
Verifying IGRP configuration
This page will
teach students how to verify an IGRP configuration.
To verify that
IGRP has been configured properly, enter the show ip route command and look for
IGRP routes signified by an "I".
Additional
commands for checking IGRP configuration are as follows:
- show interfaceinterface
- show running-config
- show running-config
interfaceinterface
- show running-config | begin
interfaceinterface
- show running-config | begin
igrp
- show ip protocols
To verify that
the Ethernet interface is properly configured, enter the show interface fa0/0
command. Figure illustrates the output.
To see if IGRP is
enabled on the router, enter the show ip protocols command. Figure illustrates the output.
The commands
illustrated in Figures - verify the network statements, IP addressing,
and routing tables.
18.3
IGRP
18.3.8
Troubleshooting IGRP
This page will
introduce some commands that can be used to troubleshoot IGRP.
Most IGRP
configuration errors involve a mistyped network statement, discontiguous
subnets, or an incorrect AS Number.
The following
commands are used to troubleshoot IGRP:
- show ip protocols
- show ip route
- debug ip igrp events
- debug ip igrp transactions
- ping
- traceroute
Figure shows output from the debug ip igrp events
command.
Figure shows output from the debug ip igrp
transactions command.
If the AS number
is wrong and then corrected, it results in the output shown in Figure .
Summary
This page
summarizes the topics discussed in this module.
Distance vector
algorithms call for each router to send its entire routing table to each of its
adjacent neighbors. The routing tables include information about the total path
cost as defined by the metrics and the logical address of the first router on
the path to each network contained in the table.
RIP uses many
techniques to reduce routing loops and counting to infinity. RIP permits a
maximum hop count of 15. A destination greater than 15 hops away is tagged as
unreachable.
The split horizon
rule specifies that it is not useful to send information about a route back in
the direction from which it came. In some network configurations, it may be
necessary to disable split horizon.
Route poisoning
is used to overcome large routing loops and provide information when a network
is down. It also keeps a router from receiving incorrect updates.
Holddown timers
help prevent counting to infinity but also increase convergence time. The
default holddown for RIP is 180 seconds. Triggered updates are also sent if
routing information changes. The router sends triggered routing update on its
other interfaces rather than waiting on the routing update timer to expire.
RIP v2
enhancements include the ability to carry additional packet routing
information, an authentication mechanism to secure table updates, and support
for VLSM. By default, routing updates are broadcast every 30 seconds.
RIP is enabled
with the router rip command. The network command is then used to tell the
router on which interfaces to run RIP.
A supernet route
is a route that covers a greater range of subnets with a single entry. The ip
classless global configuration command is used to forward packets to the best
supernet route when a router receives packets destined for an unknown subnet of
a network.
The two most
common commands used to verify that RIP is properly configured are the show ip
route and show ip protocols commands. The show ip route command shows the
routes that are installed in the routing table and the status of each route.
The show ip protocols command is used to verify the state of the active routing
protocol as well as the installed routes specific to the protocol.
To display RIP
routing updates as they are sent and received, use the debug ip rip command.
The
passive-interface command prevents routers from sending routing updates through
a router interface. This keeps update messages from being sent through a router
interface so that other systems on a network will not learn about routes
dynamically.
The show ip route
command is used to find equal cost routes for load balancing. RIP uses round
robin load balancing. Routers take turns to forward packets over equal cost
paths.
IGRP is a
distance vector routing protocol that measures distances to mathematically
compare routes. It sends routing updates at 90 second intervals to advertise
networks for an AS. IGRP uses a composite metric. This metric is calculated as
a function of bandwidth, delay, load, and reliability.
IGRP advertises
three types of routes. These include interior, system, and exterior. There are
many features such as holddowns and split horizons that provide stability.
Use the show ip
protocols and the show ip route commands to verify that IGRP is properly
configured. In addition, the ping and trace commands are used to troubleshoot
errors.
No comments:
Post a Comment