Interior
Gateway Routing Protocol (IGRP) is a distance-vector routing protocol. It is also a Cisco
proprietary routing protocol – which means that all routers in your network
must be Cisco routers in order to run IGRP.
Before getting
into all the details of IGRP take a quick look aton Dynamic Routing Protocols for some detailed information on
distance-vector routing protocols. This will help you understand the
limitations and problems of distance-vector routing protocols and the necessity
of an enhanced routing protocol like IGRP. The maximum hop count of 15 in RIP
is enhanced into a maximum hop count of 255 with a default of 100 in IGRP –
making IGRP more appropriate for larger networks.
Moreover IGRP uses
a composite metric to determine the best route to an internetwork. It’s called
a composite because it uses a combination of metrics – bandwidth and delay of
the link by default. Reliability and load of the link can also be used as
metrics.
Later on we’ll
take a look at how these metrics are combined to form a composite metric.
Main
Characteristics of IGRP
- IGRP is a Cisco proprietary distance vector routing protocol.
- IGRP sends routing updates every 90 seconds, advertising networks of a particular autonomous system.
- By default IGRP uses bandwidth and delay as metrics. It can be configured to use a combination of variables such as bandwidth, delay, load and reliability to establish a composite metric.
- IGRP has an administrative distance of 100 making it a more trustworthy routing protocol than RIP which has an administrative distance of 120.
IGRP Timers
- Update timer: specifies how frequently routing update messages should be sent. The default is 90 seconds.
- Invalid timer: specifies how long a router should wait in the absence of routing-update messages about a specific route before declaring that route invalid (or unreachable). The default is three times the update period which is equal to 270 seconds. After this period, the route is placed in the holddown state.
- Holddown timer: specifies the amount of time a router should wait after expiration of the invalid timer. During this time the specific route is marked as unreachable and information about alternative routes is ignored. The IGRP default for this variable is three times the update timer period plus 10 seconds = 280 seconds.
- Flush timer: indicates how much time should pass before a route is flushed from the routing table. The default is seven times the routing update timer which is equal to 630 seconds.
Configuring
IGRP
Configuring IGRP
is similar to configuring RIP. The only difference is that you have to use
anAutonomous System (AS) number in order to be able to turn on
IGRP. The same AS number needs to be configured on all IGRP enabled routers on
the network in order to be able to exchange routing updates. A router may use
more than one AS number. This way it can share different pieces of information
with different routers.
Let’s use the
following subnet internetwork to configure IGRP routing:
The router
igrp command turns IGRP routing on in the router. The Autonomous
System number specified here is 100 (it can be any number between 1 and 65535).
Notice that IGRP uses classful routing, similar to RIP, meaning that it does
not send subnet mask information along with the routing protocol updates.
Notice that we use
the same AS number (100) in order for the two routers to be able to exchange
IGRP routing protocol updates.
Verifying IGRP
Issuing the
command show ip route on routerA you can notice that routing
information for network 172.16.0.0 has been acquired via IGRP. The I means IGRP
learned routes. The 100 in [100/80135] is the administrative distance of IGRP
and 80135 is the composite metric. The lower this metric, the better the route.
Using the
command show ip protocols you can verify IGRPs operation.
Information regarding IGRP timers, AS number and maximum hop count can be
obtained from this command. Moreover the metric variables can be seen here as
well (K1- K5).
Metric
Calculation
Use the show
interface command to view the metrics used on the specific interface
on which IGRP is being routed.
IGRP uses the
following metric calculation:
Metric=[K1*
bandwidth + (K2 * bandwidth)/(256-load) + (K3 * delay)]* [K5/(reliability +K4)]
By default only
bandwidth and delay are considered in the metric calculation. To obtain this
behavior (seen on the show ip protocols command as well) the following default
variable values are configured:
K1=1, K2=0,
K3=1, K4=0, K5=0, where
K1 is for
bandwidth, K2 for load, K3 for delay, K4 and K5 for Reliability
Substituting the
default values in the metric calculation we end up with:
Metric=
bandwidth + delay
The values used in
the metric calculation are not the raw values obtained from the show
interface command. Actually these raw values are used in the following
equations to compute the calculated values which are displayed in the show
ip route command:
- Bandwidth = (10000000/raw bandwidth measured in Kb/s)
- Delay = (raw delay in s/10)
Example: For a
serial interface with a bandwidth of 1544 kb/s and delay of 20000X10-6 s
the calculated values used in IGRP routing updates would be:
- Bandwidth = 10000000/1544 = 6476
- Delay = 20000/10 = 2000
To end up with the
final composite metric, the router sums up all calculated delay metrics on the
outgoing interfaces along the route towards a given destination and the
Bandwidth calculated metric taken from the lowest bandwidth along the route.
The IGRP
Scenario
If IGRP has lower
AD than RIP, then I should use IGRP, right?
Actually the
answer is NO. There is no single best case solution. There is no
best solution among RIP and IGRP.
Networks vary in
many ways. You need to fully understand the operation of these routing
protocols and try to adapt their operation into the architecture of your
network in order to differentiate their pros and cons.
Though I cannot
tell you which of these two protocols is better, what I am able to tell you is
that if you do have the option to use EIGRP, then you should use it
over IGRP or RIP. EIGRP is definitely a better routing protocol than both RIP
and IGRP.
More Networking Tips:











