Cisco developed the Interior Gateway Routing Protocol (IGRP) to provide a robust protocol for routing within an £Ra£rutonomous £Rs£rystem (AS).
|
IGRP was designed for complex network topologies, and for media with diverse bandwidth and delay characteristics.
|
An AS is a collection of networks that share a common routing strategy under the same administration.
|
Typically, it is given a unique 16-bit number assigned by the Network Information Center (NIC).
|
In the mid-1980s, the most popular intra-AS routing protocol was the Routing Information Protocol (RIP).
|
Although RIP was quite useful for routing within small to medium-sized, relatively homogenous internetworks, its limits were being pushed by network growth.
|
RIP's small hop count limit of 15 restricted the size of internetworks in which it could operate.
|
IGRP has a hop count limit of 255 hops.
|
Furthermore, its single metric (hop count) did not allow for much routing flexibility in complex environments.
|
The popularity of Cisco routers and the robustness of IGRP have encouraged many organizations to replace RIP with IGRP.
|
Cisco's initial IGRP implementation worked in Internet Protocol (IP) networks.
|
However, IGRP was designed to run in any network environment.
|
So Cisco ported it to run in Open System Interconnection (OSI) Connectionless Network£R £rProtocol (CLNP) networks.
|
In the early 1990s, Cisco developed Enhanced Interior Gateway Routing Protocol.

To learn more about Enhanced Interior Gateway Routing Protocol, see the CBT Systems course £RImplementing IP Enhanced IGRP on Cisco Routers£r.
@@
IGRP is a distance vector interior-gateway protocol (IGP).
|
Under distance vector routing protocols, routers send all or part of their routing tables in routing update messages to each of their neighboring routers.
|
Periodic routing update messages are sent at regular intervals.
|
Of course, routers can calculate distances to all nodes within the autonomous system.
|
Distance vector routing protocols are often contrasted with link-state routing protocols, which send local connection information to neighboring routers in the internetwork.
|
IGRP uses a combination (vector) of metrics.
|
The following are all factored into the routing decision:

• internetwork delay
|
• bandwidth
|
• reliability
|
• load
|
Network administrators can set the weighting factors for each of these metrics.
|
IGRP uses either the administrator-set or default weightings to automatically calculate optimal routes.
|
IGRP provides a wide range for its metrics.
|
For example, reliability and load can take on any value between 1 and 255.
|
IGRP reliability reflects the stability of the link, given as a fraction of 255.
|
A value of 255 indicates 100% reliability - that is, a completely stable link.
|
A value of 1 indicates that the link is unreliable.
|
IGRP load reflects the saturation of the link, given as a fraction of 255.
|
A value of 255 indicates that the link is 100% saturated.
|
A value of 1 indicates that there is no traffic on the link.
|
Bandwidth can take values reflecting speeds from 1200 bps to 10 gigabits per second.
|
The IGRP internetwork delay is the speed of the media in units of 10 milliseconds.
|
For example, the delay is 100 or 1ms for a 10-Mbps Ethernet.
|
Wide metric ranges provide suitable metric settings for internetworks with widely varying performance characteristics.
|
Most importantly, the metric components are combined in a user-definable algorithm.
|
Therefore, network administrators can influence route selection in a flexible fashion.
|
To provide additional flexibility, IGRP features multipath routing.
|
Dual lines of equal bandwidth may run a single stream of traffic in a "round-robin" fashion.
|
IGRP provides automatic switchover to the second line if the first line goes down.
|
Multiple paths can also be used if the metrics for the paths are different.
|
One path may be three times better than another because its metric is three times lower, so it will be used three times as often.
|
Only paths with metrics that are within a certain range of the best path are used as multiple paths.
@@
Features that IGRP provides to enhance its stability include

• hold-downs
|
• split horizon
|
• poison reverse updates
|
Hold-downs are used to prevent regular update messages inappropriately reinstating a route that may have become defective.
|
When a router goes down, neighboring routers detect this because there is a major reduction in regularly scheduled update messages.
|
These routers then calculate new routes and send routing update messages to inform their neighbors of the route change.
|
This begins a wave of triggered updates that filter through the network.
|
These triggered updates do not arrive simultaneously at every network device.
|
Therefore, it is possible for a device that
has yet to be informed of a network 
failure to send a regular update message 
to a device that has just been informed 
of a network failure, incorrectly 
indicating that a route that has just gone 
down is still good.
|
As a result, the latter device would now contain, and might advertise, incorrect routing information.
|
Hold-downs tell routers to hold down any changes that might affect stated routes for a specific period of time.
|
The hold-down period is usually calculated to be just greater than the period of time necessary to update the entire network with a routing change.
|
Split horizons derive from the fact that it is never useful to send information about a route back in the direction from which it came.
|
Let's say Router 1 (R1) initially advertises that it has a route to Network A, as shown.
|
Router 2 (R2) has no reason to include this route in its update back to R1, as R1 is closer to Network A.
|
The split-horizon rule says that R2 should remove this route from any updates it sends to R1.
|
The split-horizon rule helps prevent routing loops.
|
Let's suppose R1's interface to Network A goes down.
|
Without using the split horizon rule, R2 would continue to inform R1 that it can get to Network A (through R1).
|
If R1 does not have sufficient intelligence, it may actually pick up R2's route as an alternative to its failed direction.
|
This causes a routing loop.
|
Although hold-downs should prevent this happening, the split horizon rule is implemented in IGRP because it provides extra algorithm stability.
|
Poison reverse updates are intended to defeat larger routing loops - whereas the split horizon rule should prevent routing loops between adjacent routers.
|
Increases in routing metrics generally indicate routing loops.
|
Poison reverse updates are then sent to remove the route and place it in hold-down.
|
In Cisco's implementation of IGRP, poison reverse updates are sent if a route metric has increased by a factor of 1.1 or more.
|
IGRP maintains a number of timers and variables that contain time intervals.
|
These include

• an update timer
|
• an invalid timer
|
• a hold-time period
|
• 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 update messages about a specific route, before declaring that route invalid.
|
The IGRP default for this variable is three times the update period.
|
The hold-time variable specifies the hold-down period.
|
The IGRP default for this variable is three times the update timer period plus ten seconds.
|
The flush timer indicates how much time should pass before a route should be flushed from the routing table.
|
The IGRP default is seven times the routing update period.
@@
IGRP advertises three types of routes:

• interior
|
• system
|
• exterior
|
Interior routes are routes between subnets in the network attached to a router interface.
|
If the network attached to a router is not subnetted, IGRP does not advertise interior routes.
|
System routes are routes to networks within an autonomous system.
|
The Cisco IOS software derives system routes from directly connected network interfaces and from system route information provided by other IGRP-using routers or access servers.
|
System routes do not include subnet information.
|
Exterior routes are routes to networks outside the autonomous system that are considered when identifying a gateway of last resort.
|
The Cisco IOS software chooses a gateway of last resort from the list of exterior routes that IGRP provides.
|
The software uses the gateway (router) of last resort if it does not have a better route for a packet 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.
@@
Here you will see how to turn on IGRP on the SanFran and Dublin routers.
|
By so doing, you will upgrade the network from RIP to IGRP.
|
You will also monitor IGRP operation on the SanFran router.
|
In this network, routers already have IP addresses assigned and the RIP protocol running.
|
You will first change the protocol on the SanFran router from RIP to IGRP.
|
Then you will do the same with the Dublin router.
|
As a result, both routers will be able to communicate using the IGRP protocol.
|
Assume that you have logged onto the SanFran router and are in User Exec mode.
|
You enter £Renable£r at the prompt to put the router in Privileged mode.
|
Now IGRP has to be configured on the SanFran router so that the Dublin router can be reached.
|
To do this, you enter £Rconfig£r at the prompt to enter Configuration mode.
|
Then you press £UReturn£u to configure from the terminal.
|
Before you enable IGRP you have to turn off RIP routing.
|
To turn off RIP routing, you enter £Rno router rip£r in Configuration mode.
|
You are now ready to enable IGRP routing on the SanFran router.
|
You type £Rrouter igrp 59£r to enable IGRP.
|
59 is the autonomous system process-id. It is used to tag the routing information for other routers using IGRP.
|
This command identifies the IGRP router processes that will share routing information.
|
Now that you have turned on IGRP, you have to specify the network on which it is to operate.
|
The IP address of the network in this example is 172.16.0.0, so you type £Rnetwork 172.16.0.0£r.
|
When IGRP is enabled and the network on which it is to operate has been selected, you exit Configuration mode.
|
You press £UCtrl+Z£u to exit Configuration mode.
|
You have now returned to Privileged mode.
|
To save the configuration in NVRAM, you enter £Rcopy runn start£r at the prompt.
|
When the configuration is saved, the [OK] prompt will appear.
@@
You will now log onto the Dublin router from SanFran.
|
You first enter £Rtelnet Dublin £rat the prompt.
|
The SanFran router now accesses the Dublin router's IP address, 172.16.67.2, which it verifies as being open.
|
Then you are required to enter a remote login password for the Dublin router.
|
You enter £Rcbtcbt£r at the password prompt.
|
Next, you put the Dublin router in Privileged mode.
|
To do so, you type £Renable£r at the prompt.
|
You then enter the Privileged mode password, £Rcisco£r.
|
You are now ready to configure the Dublin router.
|
To enter Configuration mode, you enter £Rconfig£r at the prompt.
|
Before you can enable IGRP on the Dublin router, you have to turn off RIP routing.
|
You use the No Router RIP command to do this.
|
Now you enable IGRP on the Dublin router by entering £Rrouter igrp 59£r at the configuration prompt.
|
You are now required to specify the network on which IGRP is to operate.
|
You use the Network command to do this.
|
So, in this example, you enter £Rnetwork 172.16.0.0£r.
|
When IGRP is enabled and the network on which it operates selected, you exit Configuration mode by pressing £UCtrl+Z£u.
|
You now enter £Rcopy runn start£r at the prompt to save the configuration in the Dublin router's NVRAM.
|
Finally, you log out of the Dublin router and return to SanFran by typing £Rexit£r.
@@
Now let's see how to monitor IGRP on the SanFran router.
|
During this monitoring you will examine

• IGRP updates
|
• routing tables
|
• network connectivity
|
• Telnet
|
You first log on and enter Privileged mode.
|
To view IGRP updates, you turn on IGRP debugging.
|
To do this, you enter £Rdebug ip-igrp £rat the Priviliged mode prompt.
|
The Debug IP-IGRP command displays routing updates as they are sent and received.
|
For example, the first IGRP update is received from the London router IP address 172.16.67.2 on serial port 1.
|
You turn off IGRP debugging with the Undebug IP-IGRP command.
|
You can examine the routing tables by entering £Rshow ip route£r in Privileged mode.
|
The tables contain a list of all known networks and subnets, and the metrics associated with each entry.
|
You enter £Rshow ip protocol£r at the prompt to see which protocol is being used on this router.
|
Of course, in this case it is IGRP.
|
The Ping and Trace commands allow you to test network connectivity.
|
For example, you can use the Trace command to test the connectivity of the Dublin router.
|
The Trace command traces the route to the Dublin network.
|
You can also use the Ping command to test network connectivity.
|
For example, you enter £Rping 172.16.67.2 £rto test connectivity to the same Dublin router.
|
The five exclamation marks on screen confirm that the network connection is valid.
@@
Now you'll go through the procedure to turn on IGRP on the London and Sydney routers.
|
You will also monitor IGRP on the London router.
|
Assume that you have logged onto the London router and are in User Exec mode.
|
You now need to place the London router in Privileged mode.
|
To do this, you enter £Renable£r at the prompt.
|
Then you enter £Rcisco£r, the Privileged mode password, when prompted to do so.
|
The London router is now in Privileged mode.
|
The first step in entering Configuration mode is to enter £Rconfig£r at the London# prompt.
|
Then you press £UReturn£u to configure the router from the terminal.
|
Before you can enable IGRP routing on the SanFran router, you have to turn off RIP routing.
|
To do this, you type £Rno router rip£r at the Configuration prompt.
|
You then enter £Rrouter igrp 59£r at the prompt to enable IGRP for the SanFran router.
|
You now enter£R network 172.16.0.0£r at the prompt.
|
Because IGRP is enabled on the London router and the network on which it operates has been specified, you can now exit Configuration mode.
|
To do so, you press £UCtrl+Z£u.
|
You enter £Rcopy runn start£r to save the configuration in London's NVRAM.
@@
You now log onto the Sydney router from London.
|
To do this, you first Telnet Sydney by entering £Rtelnet£r £RSydney £rat London's prompt.
|
Next, you enter the remote login password to log on to the Sydney router.
|
The remote login password is £Rcbtcbt£r.
|
Once you have logged onto the Sydney router, you have to put the Sydney router into Privileged mode.
|
You do this by first entering £Renable£r at the Sydney router's User Exec prompt.
|
You then enter £Rcisco£r, the Privileged mode password, after the second password prompt.
|
The Sydney router is now in Privileged mode, but it has to be in Configuration mode for IGRP to be enabled.
|
You type £Rconfig£r at the prompt to put the Sydney router into Configuration mode.
|
Before you enable IGRP on the Sydney router, you have to turn off RIP routing.
|
To turn it off, you use the No Router RIP command.
|
You enter £Rrouter igrp 59£r in Configuration mode to enable IGRP routing for the Sydney router.
|
You now need to specify the network on which IGRP is to operate.
|
In this example the network address is 172.16.0.0.
|
To specify this network, you enter £Rnetwork 172.16.0.0£r at Sydney's Configuration mode prompt.
|
You can now exit Configuration mode by pressing £UCtrl+Z£u.
|
Then you enter £Rcopy runn start£r in Privileged mode to save the new configuration in NVRAM on Sydney.
|
Now that you have enabled IGRP on the Sydney router, you can exit back to the London router.
|
To return to the London router, you enter £Rexit£r at the Sydney router's prompt.
@@
Now you'll go through the procedure to monitor IGRP on the London router.
|
Assume that you have logged onto this router and are in Privileged mode.
|
You enter £Rdebug ip-igrp£r at the prompt to look at IGRP updates.
|
This command displays routing updates as they are sent and received.
|
And you enter £Rundebug ip-igrp£r to turn off IGRP debugging.
|
You can now examine the routing tables from the local router prompt.
|
You enter £Rshow ip route£r to bring up the routing table.
|
This table contains a list of all networks and the metrics associated with them.
|
You use the Show IP Protocol command to see which protocol is being used on this router.
|
Of course, the protocol is IGRP.
|
Let's say you want to check the network connectivity of the Sydney interface 172.16.68.1, using the Trace command.
|
To do this, you enter £Rtrace£r £R172.16.68.1£r.
|
In the same way, you can use the Ping command to test network connectivity.
|
So, to test the connectivity of the Sydney IP address 172.16.65.1, you enter this address after the Ping command.
|
You can now test IGRP routing by Telnetting to a router that is not directly connected.
|
Let's say you want to Telnet to the SanFran router, IP address 172.16.67.1.
|
You enter £Rtelnet 172.16.67.1£r to do this.
|
You can also Telnet other locations.
|
Your router learns the Dublin router's IP addresses from IGRP updates.
|
You can enter £Rtelnet 172.16.67.2£r to access the Dublin router.
|
You now enter £Rexit£r to return to the London router.
@@