9 IGRP Model User Guide

woonsocketpoliticalNetworking and Communications

Oct 28, 2013 (4 years and 8 months ago)


Standard Models User Guide 9 IGRP Model User Guide
Modeler/Release 10.0 STM-9-1
9 IGRP Model User Guide
IGRP is the Interior Gateway Routing Protocol used in TCP/IP and OSI
internets. It is classified under the interior gateway protocol (IGP) class of
routing protocols, but can also be used as an exterior gateway protocol (EGP)
for inter-domain routing.
Like the RIP routing protocol, IGRP uses distance vector routing technology.
This technology specifies that gateways exchange routing information only with
adjacent gateways. This routing information contains a summary of information
about the rest of the network. The concept is that each router need not know all
the router/link relationships for the entire network. Each router advertises
destinations with a corresponding distance and the routers hearing the
information adjust the distance and pass along the information to neighboring
The distance information in IGRP is represented as a composite metric of
available bandwidth, delay, load utilization, and link reliability. The dependence
on all these metric-related parameters allows fine tuning of link characteristics
to achieve optimal paths.
Model Scope and Limitations
The following features are implemented.
 The IGRP routing tables maintained at each node are initialized with the local
gateways IP addresses. The cost for these routes is set to 0. The cost
computation for routes learned from neighboring routers is performed using
topological delay, bandwidth of the narrowest bandwidth segment, channel
occupancy of the route, and the route reliability.
 Equal-cost multi-path support: In many cases it makes sense to split traffic
between two or more paths. IGRP will do this whenever two or more paths
are equally good.
 A modified Bellman-Ford algorithm (as documented in the reference above)
is used during route computation.
 The start time at which the first regular routing update is generated is a
parameter that you can control on a per-node basis.
 Triggered updates (that is, a new routing table) are sent every time a change
is detected in the routing tables. Normally, new routing tables are sent to
neighboring gateways on a regular basis (every 90 seconds by default; this
can be adjusted using a model attribute).
Standard Models User Guide 9 IGRP Model User Guide
STM-9-2 Modeler/Release 10.0
 Holddown timer is implemented to avoid the problems due to potential
latency in route propagation through the entire network. The holddown rule
indicates that when a route is removed, no new route will be accepted for the
same destination for some period of time. This holddown period ensures that
triggered updates are delivered to all other gateways, so that any new routes
received are indeed new, not an old route being re-inserted by a gateway that
has not received the triggered update.
 Split horizon with route poisoning is implemented to avoid routing loops. Split
horizon should prevent loops between adjacent gateways. Route poisoning
is intended to break larger loops. The rule is that, when an update shows the
metric for an existing route to have increased sufficiently, there is a loop. The
route should be removed and put into holddown.
 IGRP simulation efficiency. With this technique (enabled by default), routing
update messages are not sent after a certain point in time, resulting in faster
simulation execution. If you know that routing information will not change
after a certain point, enter that time as the IGRP Stop Time.
It is intended that only nodes that are gateways (those that have more than one
network interface) implement IGRP. Therefore the IGRP routing tables are only
used to route packets between gateways. This is important in order to reduce
unnecessary simulation events and therefore improve simulation efficiency.
The IGRP route metric computation requires particular units for the bandwidth
and delay components. These values are specified for each media type in a
common external file (igrp_metric_compute_support.gdf):
Figure 9-1 Units for Bandwidth and Delay Components
Standard Models User Guide 9 IGRP Model User Guide
Modeler/Release 10.0 STM-9-3
Model Architecture
The following diagram depicts a typical node model using the process models
defined for the IGRP model suite.
Figure 9-2 Node Model Structure Surrounding IGRP
Process Models
The following table lists the process models used by the IGRP model suite.
Model Interfaces
Packet Formats
The following table lists the packet formats used in the IGRP model suite.
Table 9-1 IGRP Process Models
name location summary
IGRP IGRP Module Implements the Interior Gateway Routing
Protocol to dynamically create routing tables
for IP.
End of Table 9-1
Table 9-2 IGRP Packet Formats
name description
igrp_message Packet format used for sending routing updates. The
routing information field of the packet contains the
local IGRP routing table.
End of Table 9-2
Standard Models User Guide 9 IGRP Model User Guide
STM-9-4 Modeler/Release 10.0
ICI Formats
The following table lists the interface control information (ICI) formats used in
the IGRP model suite.
Table 9-3 IGRP ICI Formats
name description
ip_encap_req_v4 ICI used to communicate with the underlying IP
process. The dest_addr field is used to pass
destination address information from IGRP to IP.
ip_encap_ind_v4 ICI used to carry information from IP layer to IGRP.
Contains information used to compute route metrics.
End of Table 9-3
Standard Models User Guide 9 IGRP Model User Guide
Modeler/Release 10.0 STM-9-5
Configuring IGRP in a Network
IGRP is similar to RIP in its general operation. One of the principal differences
is that IGRP can maintain multiple routes for each destination and can do load
balancing between the routes based on dynamic metrics.
Attributes for configuring IGRP are grouped together under the IGRP
Parameters compound attribute. All of the attributes described in the rest of this
section are sub-attributes of IGRP Parameters. Most IGRP attributes can be left
in their default values; however, you may wish to perform some of the following
steps to configure IGRP for your network model:
1) Ensure that IGRP is one of the routing protocols specified for all appropriate
interfaces in your routers IP Routing Parameters

Interface Information

Routing Protocols attribute. See the Chapter 10 IP Model User Guide
page STM-10-1 for instructions on how to do this.
2) Configure the timers associated with IGRP using the Timers compound
attribute. The Timers table consists of an Update Interval timer to control
the frequency (secs) of IGRP updates sent by the router. If desired, you
may change the standard timer settings that control route aging. In IGRP,
both routes and destinations can become stale and then removed from the
routing table. Routes are aged out and removed from the routing table
when the Timeout Value timer expires. When a destination has no more
routes, the Flush Value timer is set. After this timer expires, the
destinations entry in the routing table goes into a hold down mode for a
duration equal to the value of the Holddown Value timer. During this
period, new updates are ignored to prevent old information from undoing
the destination removal. After this period, the destination is removed.
3) Configure the IGRP activity period. For the purposes of simulation, you may
or may not want IGRP to be active throughout the period you are studying.
If IGRP traffic overhead and/or IGRP behavior is of interest, you should
allow IGRP to remain active. However, if these issues are not key to your
simulation project, you can save simulation time by shutting down IGRP
activity once stable routes have been established. IGRP activity should not
start too early in the network simulation because other critical network
functions must be established to transport IGRP packets. Namely, layer 2
functionality of the Spanning Tree Bridge protocol must converge on a
stable logical topology before IGRP packets are sent. Otherwise, IGRP will
not successfully transmit its initial routing updates and routing will not be
possible until at least one Update Interval later (typically 30 seconds). Use
the Start Time and Stop Time attributes to control the duration of this
period. However, it is not recommended to have the Start Time set to less
than the default of 5 seconds.
4) Configure IGRPs multipath capability. IGRP can store multiple routes for
each destination. To control how many routes are stored, a certain
variance in route cost is tolerated. This is controlled via the Variance
attribute of each router. Normally, this value is set to 1.0, meaning that only
paths of equal cost are considered. In other words, the best path and any
Standard Models User Guide 9 IGRP Model User Guide
STM-9-6 Modeler/Release 10.0
paths of equal cost to it are maintained and second-best paths are deleted.
This is the recommended setting, providing equal-cost multipath
capability; however, if you want to change it, consult your commercial IGRP
documentation for a complete discussion of its behavior.