# Metric Calculation

## Metric Calculation

IGRP calculates and uses a composite metric of the previous values to calculate the route optimization. The metric value ranges from 1 to 16,277,215 (2 24 -1), and for purposes of route calculation, the lower the number (closer to zero), the better the route.

This composite metric reflects the various weights of each of the previously listed metrics. The general formula for this composite metric is as follows :

```Metric = (K1 x Bandwidth) + (K2 x Bandwidth)/(256 - Load) + (K3 x Delay)
```

K1, K2, and K3 are constants used to weigh the effect of these routing metrics; the default values for K1 and K3 is 1, and the default for K2 is 0.

There are two other constant values, K4 and K5, both of which default to 0 and are not used if they are left at the default value. The network administrator can change these values because they are not changed dynamically by IGRP operation.

The mathematical simplification of the composite metric, provided that all values remain at their defaults, is as follows:

```Metric = Bandwidth + Delay
```

The reliability metric, K5, is a constant and is used only if the reliability metric is greater than the default of 0. The composite operation used to determine the metric for K5 (Reliability) > 0 is shown here:

```Metric = Metric x [K5/(Reliability + K4)]
```

Delay is in units of 10 microseconds. This gives a range of 10 microseconds to 168 seconds.

Bandwidth is the inverse minimum bandwidth of the path in bits per second scaled by a factor of 10e10. The range is from a 1200bps line to 10Gbps.

Table E-1 lists the default delay values used by IGRP.

Media

Delay

Bandwidth

Satellite

200,000 (2 sec)

20 (500 Mbit)

Ethernet

100 (1 ms)

1,000

1.544 Mbit

2000 (20 ms)

6,476

64 Kbit

2000 (20 ms)

156,250

56 Kbit

2000 (20 ms)

178,571

10 Kbit

2000 (20 ms)

1,000,000

1 Kbit

2000 (20 ms)

10,000,000

## IGRP Timers

The default IGRP timer intervals are as follows :

• Update Timer (90 seconds) - How often the router is to initiate routing table updates.

• Hold Timer (280 seconds: 3 x Update Timer + 10 seconds) - The amount of time the IGRP routing table will hold down routing updates.

• Route Invalid Timer (270 seconds: 3 x Update Timer) - The amount of time a router will wait, in the absence of routing update messages about a specific route, before declaring the route invalid.

• Route-Flush Timer (630 seconds: 7 x Update Timer) - The amount of time before a route is flushed from the routing table.

## IGRP Convergence Mechanisms

IGRP uses similar convergence mechanisms to that of RIP. The convergence mechanisms used by IGRP are as follows :

• Flash Update

• Hold-Downs

• Split Horizon

• Poison Reverse Update

Each of these is discussed in more detail in the following sections.

#### IGRP Flash Update

Rather than wait for the update timer to elapse before sending a routing update, IGRP uses flash updates to send a routing change immediately to its routing neighbors. This results in significantly reduced convergence time compared to other distance-vector routing protocols, such as RIP or RIPv2.

#### IGRP Hold-Downs

Although IGRP flash updates are a significant improvement over "traditional" routing table updates ( timer-based versus event-based updates), the issue of time still remains. The question is whether each router in the internetwork will receive and update its tables in a reasonable amount of time, an interval that passes before traffic is to be transmitted.

Hold-down timers solve this potential problem by working with triggered updates. Essentially when a triggered update has been sent, a clock starts counting down (to zero). Until this hold-down timer hits zero, the router will not accept neighbor updates for the route in question.

The use of a hold-down timer prevents an IGRP router from accepting and converging on updates for a route that has been invalidated over a period of time. Hold-down timers prevent a router from believing that another router may have a path to an invalid destination.

#### IGRP Split Horizon

Like RIP, IGRP's split horizon is based on a simple premise : The router will not advertise a route over the same interface from which it was learned.

## NOTE

If you are operating a Frame Relay internetwork with multiple subinterfaces, be sure to disable split horizon on the interface if you want the remote sites to see each other across the network.

However, there is a drawback to simply implementing split horizon. Each router must wait for the destination to be marked as unreachable; after a route has timed out and been flushed from the table, a process that takes six update messages (90 seconds each), totaling upward of nine minutes before each routing table is updated with the inactive link. During this time, there are five update intervals that can pass where each router can misinform another as to the reachability of certain destinations. IGRP uses hold-down timers with split horizon to prevent routing instability caused by the misinformation traded between neighboring routers.

#### IGRP Poison Reverse

IGRP uses poison reverse updates to invalidate a route learned from a neighbor if that router believes the route to be looping. When an IGRP node receives a routing table update from a neighbor, it compares the learned information with the routing table information currently in memory. If the learned, or updated, information includes a routing metric whose value has increased 10 percent or more since the last routing update, that route is assumed to be invalid, based on the generalization that increases in routing metrics are caused by routing loops .