Configuring IGRP: The Cisco IGRP Implementation
Configuring IGRP: The Cisco IGRP Implementation
This chapter describes how to configure the Interior Gateway Routing Protocol (IGRP). For a complete
description of the IGRP commands in this chapter, refer to the “IGRP Commands” chapter of the
Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols. To locate documentation of other
commands that appear in this chapter, use the command reference master index, or search online.
IGRP is a dynamic distance-vector routing protocol designed by Cisco in the mid-1980s for routing in
an autonomous system that contains large, arbitrarily complex networks with diverse bandwidth and
delay characteristics.
For protocol-independent features, see the chapter “Configuring IP Routing Protocol-Independent
Features” in this book.
To identify the hardware platform or software image information associated with a feature, use the
Feature Navigator on Cisco.com to search for information about the feature or refer to the software
release notes for a specific release. For more information, see the “Identifying Supported Platforms”
section in the “Using Cisco IOS Software” chapter in this book.
Autonomous
Autonomous system 1 system 2
System
Subnet B
Exterior
Interior
S1019a
IGRP Updates
By default, a router running IGRP sends an update broadcast every 90 seconds. It declares a route
inaccessible if it does not receive an update from the first router in the route within three update periods
(270 seconds). After seven update periods (630 seconds), the Cisco IOS software removes the route from
the routing table.
IGRP uses flash update and poison reverse updates to speed up the convergence of the routing algorithm.
Flash update is the sending of an update sooner than the standard periodic update interval of notifying
other routers of a metric change. Poison reverse updates are intended to defeat larger routing loops
caused by increases in routing metrics. The poison reverse updates are sent to remove a route and place
it in holddown, which keeps new routing information from being used for a certain period of time.
Command Purpose
Step 1 Router(config)# router igrp as-number Enables an IGRP routing process, which places you
in router configuration mode.
Step 2 Router(config-router)# network network-number Associates networks with an IGRP routing process.
IGRP sends updates to the interfaces in the specified networks. If the network of an interface is not
specified, the interface will not be advertised in any IGRP update.
It is not necessary to have a registered autonomous system number to use IGRP. If you do not have a
registered number, you are free to create your own. We recommend that if you do have a registered
number, you use it to identify the IGRP process.
Command Purpose
Router(config-router)# offset-list [access-list-number | Applies an offset to routing metrics.
access-list-name] {in | out} offset [interface-type |
interface-number]
Command Purpose
Router(config-router)# neighbor ip-address Defines a neighboring router with which to exchange
routing information.
To control the set of interfaces with which you want to exchange routing updates, you can disable the
sending of routing updates on specified interfaces by configuring the passive-interface router
configuration command. See the discussion on filtering in the “Filter Routing Information” section in
the “Configuring IP Routing Protocol-Independent Features” chapter.
Command Purpose
Router(config-router)# variance multiplier Defines the variance associated with a particular path.
Note By using the variance feature, the Cisco IOS software can balance traffic across all feasible paths and
can immediately converge to a new path if one of the paths should fail.
See the “IGRP Feasible Successor Relationship Example” section at the end of this chapter.
To control how traffic is distributed among multiple routes of unequal cost, use the following command
in router configuration mode:
Command Purpose
Router(config-router)# traffic-share balanced Distribute traffic proportionately to the ratios of metrics.
Command Purpose
Router(config-router)# metric weights tos k1 k2 k3 k4 k5 Adjusts the IGRP metric.
By default, the IGRP composite metric is a 24-bit quantity that is a sum of the segment delays and the
lowest segment bandwidth (scaled and inverted) for a given route. For a network of homogeneous media,
this metric reduces to a hop count. For a network of mixed media (Ethernet, FDDI, and serial lines
running from 9600 bits per second to T1 rates), the route with the lowest metric reflects the most
desirable path to a destination.
Adjusting Timers
Routing protocols use several timers that determine such variables as the frequency of routing updates,
the length of time before a route becomes invalid, and other parameters. You can adjust these timers to
tune routing protocol performance to better suit your internetwork needs. You can make the following
timer adjustments:
• The rate (time in seconds between updates) at which routing updates are sent
• The interval of time (in seconds) after which a route is declared invalid
• The interval (in seconds) during which routing information regarding better paths is suppressed
• The amount of time (in seconds) that must pass before a route is removed from the routing table
• The amount of time for which routing updates will be postponed
It also is possible to tune the IP routing support in the software to enable faster convergence of the
various IP routing algorithms, and, hence, quicker fallback to redundant routers. The total effect is to
minimize disruptions to end users of the network in situations where quick recovery is essential.
To adjust the timers, use the following command in router configuration mode:
Command Purpose
Router(config-router)# timers basic update invalid Adjusts routing protocol timers.
holddown flush [sleeptime]
Disabling Holddown
When the Cisco IOS software learns that a network is at a greater distance than was previously known,
or it learns the network is down, the route to that network is placed in holddown. During the holddown
period, the route is advertised, but incoming advertisements about that network from any router other
than the one that originally advertised the new metric of the network will be ignored. This mechanism
is often used to help avoid routing loops in the network, but has the effect of increasing the topology
convergence time.
To disable holddowns with IGRP, use the following command in router configuration mode. All devices
in an IGRP autonomous system must be consistent in their use of holddowns.
Command Purpose
Router(config-router)# no metric holddown Disables the IGRP holddown period.
Command Purpose
Router(config-router)# metric maximum-hops hops Configures the maximum network diameter.
Command Purpose
Router(config-router)# no validate-update-source Disables the checking and validation of the source
IP address of incoming routing updates.
Command Purpose
Router(config-if)# ip split-horizon Enables split horizon.
Router(config-if)# no ip split-horizon Disables split horizon.
Split horizon for Frame Relay and SMDS encapsulation is disabled by default. Split horizon is not
disabled by default for interfaces using any of the X.25 encapsulations. For all other encapsulations, split
horizon is enabled by default.
See the “Split Horizon Examples” section at the end of this chapter for examples of using split horizon.
Note In general, changing the state of the default is not recommended unless you are certain that your
application requires making a change in order to advertise routes properly. Remember that if split
horizon is disabled on a serial interface (and that interface is attached to a packet-switched network),
you must disable split horizon for all routers in any relevant multicast groups on that network.
56620
Route to Network A
Router C1 Metric = n = 12776 Router C2
A maximum of four paths can be in the routing table for a single destination. If there are more than four
feasible paths, the four best feasible paths are used.
In the next example, Figure 38 illustrates a typical situation in which the no ip split-horizon interface
configuration command would be useful. This figure depicts two IP subnets that are both accessible via
a serial interface on Router C (connected to Frame Relay network). In this example, the serial interface
on Router C accommodates one of the subnets via the assignment of a secondary IP address.
The Ethernet interfaces for Router A, Router B, and Router C (connected to IP networks 10.13.50.0,
10.155.120.0, and 10.20.40.0, respectively) all have split horizon enabled by default, while the serial
interfaces connected to networks 172.16.1.0 and 192.168.1.0 all have split horizon disabled by default.
The partial interface configuration specifications for each router that follow Figure 38 illustrate that the
ip split-horizon interface configuration command is not explicitly configured under normal conditions
for any of the interfaces.
S0
Router C Router B S2
Network address:
10.13.50.0
Interface address: Secondary
Interface address: interface address: Interface address:
10.13.50.1 192.168.1.2
172.16.1.1 192.168.1.1
E1
Network
address:
S1 Network 192.168.1.0
Router A address:
Interface address: 172.16.1.0
172.16.2.2
Frame Relay
network
S1069a
In this example, split horizon must be disabled in order for network 172.16.1.0 to be advertised into
network 192.168.1.0, and vice versa. These subnets overlap at Router C, serial interface 0. If split
horizon were enabled on serial interface 0, it would not advertise a route back into the Frame Relay
network for either of these networks.
The configurations for routers A, B, and C follow.
Router Configuration A
interface ethernet 1
ip address 10.13.50.1
!
interface serial 1
ip address 172.16.2.2
encapsulation frame-relay
Router Configuration B
interface ethernet 2
ip address 10.155.120.1
!
interface serial 2
ip address 192.168.1.2
encapsulation frame-relay
Router Configuration C
interface ethernet 0
ip address 10.20.40.1
!
interface serial 0
ip address 172.61.1.1
ip address 192.168.1.1 secondary
encapsulation frame-relay