IGRP and EIGRP:
Goals for IGRP
The IGRP protocol allows a number of gateways to coordinate their routing. Its goals are the following:
- Stable routing even in very large or complex networks. No routing loops should occur, even as transients.
- Fast response to changes in network topology.
- Low overhead. That is, IGRP itself should not use more bandwidth than what is actually needed for its task.
- Splitting traffic among several parallel routes when they are of roughly equal desirability.
- Taking into account error rates and level of traffic on different paths.
The current implementation of IGRP handles routing for TCP/IP. However, the basic design is intended to be able to handle a variety of protocols.
No one tool is going to solve all routing problems. Conventionally the routing problem is broken into several pieces. Protocols such as IGRP are called “internal gateway protocols” (IGPs). They are intended for use within a single set of networks, either under a single management or closely coordinated management. Such sets of networks are connected by “external gateway protocols” (EGPs). An IGP is designed to keep track of a good deal of detail about network topology. Priority in designing an IGP is placed on producing optimal routes and responding quickly to changes. An EGP is intended to protect one system of networks against errors or intentional misrepresentation by other systems, BGP is one such Exterior gateway protocol. Priority in designing an EGP is on stability and administrative controls. Often it is sufficient for an EGP to produce a reasonable route, rather than the optimal route.
IGRP has some similarities to older protocols such as Xerox’s Routing Information Protocol, Berkeley’s RIP, and Dave Mills’ Hello. It differs from these protocols primarily in being designed for larger and more complex networks. More details in the pdf below:
Like these older protocols, IGRP is a distance vector protocol. In such a protocol, gateways exchange routing information only with adjacent gateways. This routing information contains a summary of information about the rest of the network. It can be shown mathematically that all of the gateways taken together are solving an optimization problem by what amounts to a distributed algorithm. Each gateway only needs to solve part of the problem, and it only has to receive a portion of the total data.
The major alternative to IGRP is Enhanced IGRP (EIGRP) and a class of algorithms referred to as SPF (shortest- path first). OSPF uses this concept. To learn more about OSPF refer to OSPF Design Guide. OSPF These are based on a flooding technique, where every gateway is kept up to date about the status of every interface on every other gateway. Each gateway independently solves the optimization problem from its point of view using data for the entire network. There are advantages to each approach. In some circumstances, SPF may be able to respond to changes more quickly. In order to prevent routing loops, IGRP has to ignore new data for a few minutes after certain kinds of changes. Because SPF has information directly from each gateway, it is able to avoid these routing loops. Thus it can act on new information immediately. However, SPF has to deal with substantially more data than IGRP, both in internal data structures and in messages between gateways.
Enhanced IGRP (EIGRP) :
OSPF Design Guide:
The Routing Problem
IGRP is intended for use in gateways connecting several networks. We assume that the networks use packet-based technology. In effect, the gateways act as packet switches. When a system connected to one network wants to send a packet to a system on a different network, it addresses the packet to a gateway. If the destination is on one of the networks connected to the gateway, the gateway will forward the packet to the destination. If the destination is more distant, the gateway will forward the packet to another gateway that is closer to the destination. Gateways use routing tables to help them decide what to do with packets. Here is a simple example routing table. (Addresses used in the examples are IP addresses taken from Rutgers University. Note that the basic routing problem is similar to other protocols as well, but this description will assume that IGRP is being used for routing IP.)
network gateway interface
——- ——- ———
128.6.4 none ethernet 0
128.6.5 none ethernet 1
128.6.21 184.108.40.206 ethernet 0
128.121 220.127.116.11 ethernet 1
10 18.104.22.168 ethernet 1
(Actual IGRP routing tables have additional information for each gateway, as we will see.) This gateway is connected to two Ethernets, called 0 and 1. They have been given IP network numbers (actually subnet numbers) 128.6.4 and 128.6.5. Thus packets addressed for these specific networks can be sent directly to the destination, simply by using the appropriate Ethernet interface. There are two nearby gateways, 22.214.171.124 and 126.96.36.199. Packets for networks other than 128.6.4 and 128.6.5 will be forwarded to one or the other of those gateways. The routing table indicates which gateway should be used for which network. For example, packets addressed to a host on network 10 should be forwarded to gateway 188.8.131.52. One hopes that this gateway is closer to network 10, i.e. that the best path to network 10 goes through this gateway. The primary purpose of IGRP is to allow the gateways to build and maintain routing tables like this.
Summary of IGRP
As mentioned above, IGRP is a protocol that allows gateways to build up their routing table by exchanging information with other gateways. A gateway starts out with entries for all of the networks that are directly connected to it. It gets information about other networks by exchanging routing updates with adjacent gateways. In the simplest case, the gateway will find one path that represents the best way to get to each network. A path is characterized by the next gateway to which packets should be sent, the network interface that should be used, and metric information. Metric information is a set of numbers that characterize how good the path is. This allows the gateway to compare paths that it has heard from various gateways and decide which one to use. There are often cases where it makes sense to split traffic between two or more paths. IGRP will do this whenever two or more paths are equally good. The user can also configure it to split traffic when paths are almost equally good. In this case, more traffic will be sent along the path with the better metric. The intent is that traffic can be split between a 9600 bps line and a 19200 BPS line, and the 19200 line will get roughly twice as much traffic as the 9600 BPS line.
The metrics used by IGRP include the following:
Topological delay time
Bandwidth of the narrowest bandwidth segment of the path
Channel occupancy of the path
Reliability of the path
The topological delay time is the amount of time it would take to get to the destination along that path, assuming an unloaded network. Of course, there is an additional delay when the network is loaded. However, the load is accounted for by using the channel occupancy figure, not by attempting to measure actual delays. The path bandwidth is simply the bandwidth in bits per second of the slowest link in the path. Channel occupancy indicates how much of that bandwidth is currently in use. It is measured and will change with load. Reliability indicates the current error rate. It is the fraction of packets that arrive at the destination undamaged. It is measured.
Although they are not used as part of the metric, two additional pieces of information are passed with it: hop count and MTU. The hop count is simply the number of gateways that a packet will have to go through to get to the destination. MTU is the maximum packet size that can be sent along the entire path without fragmentation. (That is, it is the minimum of the MTUs of all the networks involved in the path.)
Based on the metric information, a single “composite metric” is calculated for the path. The composite metric combines the effect of the various metric components into a single number representing the “goodness” of that path. It is the composite metric that is actually used to decide on the best path.
Periodically each gateway broadcasts its entire routing table (with some censoring because of the split horizon rule) to all adjacent gateways. When a gateway gets this broadcast from another gateway, it compares the table with its existing table. Any new destinations and paths are added to the gateway’s routing table. Paths in the broadcast are compared with existing paths. If a new path is better, it may replace the existing one. Information in the broadcast is also used to update channel occupancy and other information about existing paths. This general procedure is similar to that used by all distance vector protocols. It is referred to in the mathematical literature as the Bellman-Ford algorithm.
In IGRP, the general Bellman-Ford algorithm is modified in three critical aspects. First, instead of a simple metric, a vector of metrics is used to characterise paths. Second, instead of picking a single path with the smallest metric, traffic is split among several paths, whose metrics fall into a specified range. Third, several features are introduced to provide stability in situations where the topology is changing.
The best path is selected based on a composite metric:
[(K1 / Be) + (K2 * Dc)] r
Where K1, K2 = constants, Be = unloaded path bandwidth x (1 – channel occupancy), Dc = topological delay, and r = reliability.
The path having the smallest composite metric will be the best path. Where there are multiple paths to the same destination, the gateway can route the packets over more than one path. This is done in accordance with the composite metric for each data path. For instance, if one path has a composite metric of 1 and another path has a composite metric of 3, three times as many packets will be sent over the data path having the composite metric of 1.
There are two advantages to using a vector of metric information. The first is that it provides the ability to support multiple types of service from the same set of data. The second advantage is improved accuracy. When a single metric is used, it is normally treated as if it were a delay. Each link in the path is added to the total metric. If there is a link with a low bandwidth, it is normally represented by a large delay. However, bandwidth limitations don’t really cumulate the way delays do. By treating bandwidth as a separate component, it can be handled correctly. Similarly, the load can be handled by a separate channel occupancy number.
IGRP provides a system for interconnecting computer networks which can stably handle a general graph topology including loops. The system maintains full path metric information, i.e., it knows the path parameters to all other networks to which any gateway is connected. Traffic can be distributed over parallel paths and multiple path parameters can be simultaneously computed over the entire network.
The Interior Gateway Routing Protocol (IGRP) is an advanced distance vector routing protocol. Because it is a Cisco-developed routing protocol, only Cisco devices can utilize this protocol for routing purposes. Like RIP, it, too, is a classful protocol, meaning that it does not send the subnet mask with routing updates. For this reason, it cannot support VLSMs.
IGRP Routing Updates
A router running IGRP sends an update broadcast every 90 seconds, by default. When an update from the originating router is not received within three update periods (270 seconds), it declares a route invalid. After seven update periods (630 seconds), which include the three update periods, the router removes the route from the routing table. IGRP advertises three types of routes:
Interior— Routes between subnets in the network attached to a router interface.
System— Routes to networks within an autonomous system. The router derives system routes from directly connected network interfaces and system route information provided by other IGRP-speaking routers.
Exterior— Routes to networks outside the autonomous system that are considered when identifying a gateway of last resort. The router chooses a gateway of last resort from the list of exterior routes that IGRP provides. The router 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.
IGRP Routing Metric
IGRP uses a composite metric of internetwork delay, bandwidth, reliability, MTU, and load to determine the best path for each packet. The values are important, but because of the simple network topology of this lab environment, they will not be too critical of the lab objectives. However, they will be important when you implement route redistribution in Chapter 11, “Basic Route Redistribution and Static Routing.” When redistributing routes from one routing protocol into another (RIP to IGRP, for example) you lose all metrics, so you will have to manually specify those values; for now, though, you will not change any metric values for IGRP.
IGRP Scalability Features
IGRP is an advanced distance vector protocol. Several features distinguish it from other distance vector routing protocols, such as RIP:
Increased scalability— Improved routing in larger networks compared to networks that use RIP, IGRP can be used to overcome RIP’s 15-hop limit. IGRP has a default maximum hop count of 100 hops, which can be configured to a maximum of 255 hops.
Sophisticated metric— IGRP uses a composite metric that provides significant flexibility in route selection. By default, internetwork delay and bandwidth are used to arrive at a composite metric. Reliability, load, and MTU may be included in the metric computation as well.
Multiple path support— IGRP can maintain up to six unequal-cost paths between a network source and destination, but only the route with the lowest metric is placed in the routing table. RIP, on the other hand, keeps only the route with the best metric and disregards the rest. Multiple paths can be used to increase available bandwidth or for router redundancy.
IGRP is a worthy candidate for IP networks that require a simple but more robust and scalable routing protocol than RIP Version 1 (RIP-1). Another advantage that IGRP has over RIP-1 is that it may be configured to perform triggered updates. It is important to point out that IGRP, even with advanced features, still uses techniques such as split horizon, hold-down timer (which is 280 seconds), and poison reverse updates to avoid routing loops.
Enhanced Interior Gateway Protocol (EIGRP) is a proprietary hybrid routing protocol developed by Cisco Systems. EIGRP uses the same distance vector algorithm and distance information as IGRP. However, as its name implies, EIGRP has been enhanced in convergence properties and operating efficiency over IGRP. Principally, EIGRP has been enhanced to use more advanced features to avoid routing loops and to speed convergence time. In addition, EIGRP transmits the subnet mask for each routing entry, enabling EIGRP to support features such as VLSM and route summarization.
EIGRP provides advanced features over its predecessors IGRP and RIP:
Increased network width— With IP RIP, the largest possible width of your network is 15 hops. When IP EIGRP is enabled, the largest possible width is 224 hops.
Fast convergence— EIGRP uses an algorithm called the Diffusing Update Algorithm (DUAL). This algorithm guarantees loop-free operation at every instant throughout a route computation and allows all routers involved in a topology change to synchronize at the same time. Routers that are not affected by topology changes are not involved in recomputations. DUAL provides a system for routers to not only calculate the best current route to each subnet but also to calculate alternative routes that could be used if the current route fails. The alternate route, called the feasible successor route, is guaranteed to be loop-free, so convergence can happen quickly. Because of DUAL, the convergence time of EIGRP rivals that of other existing routing protocols.
Partial updates— EIGRP sends incremental updates when the state of a destination changes, instead of sending the entire contents of the routing table. This feature reduces the bandwidth required for EIGRP packets and also reduces CPU processing.
Neighbor-discovery mechanism— This is a simple hello mechanism used to learn about neighbouring routers. It is protocol-independent.
VLSM and route summarization— EIGRP supports variable-length subnet masks and route summarization.
Automatic redistribution— Because IGRP and EIGRP share the same metrics, IP IGRP routes can be automatically redistributed into EIGRP, and IP EIGRP routes can be automatically redistributed into IGRP. If desired, you can turn off redistribution. Redistribution is covered in more detail in Chapter 11, “Route Redistribution.”
EIGRP has four basic components:
Neighbor discovery/recovery— Routers use this process to dynamically learn of other routers on their directly attached networks. Routers also must discover when their neighbours become unreachable or inoperative. Neighbor discovery/recovery is achieved with low overhead by periodically sending small hello packets. As long as hello packets are received, a router can determine that a neighbour is alive and functioning. When this status is determined, the neighbouring routers can exchange routing information.
Reliable transport protocol— This protocol is responsible for guaranteed, ordered delivery of EIGRP packets to all neighbours. It supports intermixed transmission of multicast and unicast packets. Some EIGRP packets must be transmitted reliably and others need not be. For efficiency, reliability is provided only when necessary. For example, on a multiaccess network that has multicast capabilities, such as Ethernet, it is not necessary to send hellos reliably to all neighbours individually. Therefore, EIGRP sends a single multicast hello with an indication in the packet informing the receivers that the packet need not be acknowledged. Other types of packets, such as updates, require acknowledgement, and this is indicated in the packet. The reliable transport has a provision to send multicast packets quickly when there are unacknowledged packets pending. Doing so helps ensure that convergence time remains low in the presence of varying speed links.
DUAL finite state machine— This embodies the decision process for all route computations. It tracks all routes advertised by all neighbours. DUAL uses the distance information, known as a metric, to select efficient, loop-free paths. DUAL selects routes to be inserted into a routing table based on feasible successors. A successor is a neighbouring router used for packet forwarding that has a least-cost path to a destination that is guaranteed not to be part of a routing loop. When there are no feasible successors but there are neighbours advertising the destination, a recomputation must occur. This is called “going active.” A router asks all of its neighbours if they have a feasible successor to the destination. If none replies, the neighbours go active and the process repeats. This is the process whereby a new successor is determined. The amount of time that it takes to recompute a route affects the convergence time. Even though the recomputation is not processor-intensive, it is advantageous to avoid recomputation if it is not necessary. When a topology change occurs, DUAL tests for changes to feasible successors. If feasible successors exist, it uses any that it finds, to avoid unnecessary recomputation.
The sections that follow describe these EIGRP concepts in greater detail:
Internal vs. external routes
Each router keeps state information about adjacent neighbours. When newly discovered neighbours are learned, the address and interface of the neighbour are recorded. This information is stored in the neighbour table. When a neighbour sends a hello packet, it advertises a hold time, which is the amount of time that a router treats a neighbour as reachable and operational. In other words, if a hello packet isn’t heard within the hold time, the hold time expires and DUAL is informed of the topology change.
The topology table contains all destinations advertised by neighbouring routers. Associated with each entry are the destination address and a list of neighbours that have advertised the destination. For each neighbour, the advertised metric is recorded. This is the metric that the neighbour stores in its routing table. If the neighbour is advertising this destination, it must be using the route to forward packets.
Also associated with the destination is the metric that the router uses to reach the destination. This is the sum of the best-advertised metric from all neighbours, plus the link cost to the best neighbour. This is the metric that the router uses in the routing table and when advertising to other routers.
A destination entry is moved from the topology table to the routing table when there is a feasible successor. All minimum-cost paths to the destination form a set. From this set, the neighbours that have an advertised metric less than the current routing table metric are considered feasible successors. A router views feasible successors as neighbours that are downstream with respect to the destination. These neighbours and the associated metrics are placed in the forwarding table. When a neighbour changes the metric that it has been advertising or a topology change occurs in the network, the set of feasible successors might have to be re-evaluated. However, this is not categorized as a route recomputation.
The Route States
A topology table entry for a destination can have one of two states:
Passive— A route is considered in a passive state when a router is not performing a route recomputation.
Active— A route is in an active state when a router is undergoing a route recomputation.
If there are always feasible successors, a route never has to go into active state and it avoids a route recomputation. When there are no feasible successors, a route goes into active state and a route recomputation occurs. A route recomputation commences with a router sending a query packet to all neighbours. Neighboring routers either can reply if they have feasible successors for the destination or optionally can return a query indicating that they are performing a route recomputation. While inactive state, a router cannot change the next-hop neighbour that it is using to forward packets. When all replies are received for a given query, the destination can transition to a passive state and a new successor can be selected. When a link to a neighbour that is the only feasible successor goes down, all routes through that neighbour commence a route recomputation and enter the active state.
EIGRP uses the following five packet types:
Hello/Acks— Hello packets are sent to neighbour discovery/recovery and do not require acknowledgement.
Updates— Update packets are used to convey reachability of destinations. When a new neighbour is discovered, update packets are sent so that the neighbour can build up its topology table.
Queries— Query packets are sent when a destination has no feasible successors.
Replies— Reply packets are sent when a destination has no feasible successors and are sent in response to query packets to instruct the originator not to recompute the route because feasible successors exist.
Requests— Request packets are used to get specific information from one or more neighbours.
Internal Versus External Routes
EIGRP has the notion of internal and external routes. Internal routes have been originated within an EIGRP autonomous system (AS). Therefore, a directly attached network that is configured to run EIGRP is considered an internal route and is propagated with this information throughout the EIGRP AS. External routes have been learned by another routing protocol or reside in the routing table as static routes. These routes are tagged individually with the identity of their origination. Internal EIGRP routes are denoted in the routing table with the letter D preceding the route. External EIGRP routes are denoted in the routing table with a “D EX” preceding the route.
The topology in Figure 10-1 illustrates how the DUAL algorithm converges. The example focuses on the destination to Router X only. Each node shows its cost to X in hops. The arrows show the node’s successor. For example, Router C uses Router A to reach X, and the cost is 2.
Figure 10-1 Example of Convergence
If the link between routers A and B fails, Router B sends a query informing its neighbours that it has lost its feasible successor. Router D receives the query and determines whether it has any other feasible successors. If it does not, it must start a route computation and enter the active state. However, in this case, Router C is a feasible successor because its cost (2) is less than Router D’s current cost (3) to destination Router X. Router D can switch to Router C as its successor. In this scenario, routers A and C did not participate because they were unaffected by the change.
Now let’s cause a route computation to occur. In this scenario, the link between routers A and C fails. Router C determines that it has lost its successor and that it has no other feasible successors. Router D is not considered a feasible successor because its advertised metric (3) is greater than C’s current cost (2) to reach destination Router X. Router C must perform a route computation for destination Router X. Router C sends a query to its only neighbor, Router D. Router D replies because its successor has not changed. Router D does not need to perform a route computation. When Router C receives the reply, it knows that all neighbours have processed the news about the failure to destination Router X. At this point, Router C can choose its new feasible successor of Router D, with a cost of 4 to reach destination Router X. Note that routers A and B were unaffected by the topology change, and Router D needed only to reply to Router C.
Disclaimer: JobAndExams does not own any pdf or book, neither created nor scanned. We just provide the link already available on the internet. If in any way it violates the law or has any issues then kindly mail us: email@example.com