Comments 0

Document transcript

Interior Gateway Routing Protocol (IGRP) is a distance vector interior routing protocol (IGP) invented byCisco. It is used by routers to exchange routing data within an autonomous system.

IGRP is a proprietary protocol.

IGRP was created in part to overcome the limitations of RIP (maximumhop count of only 15, and a single routing metric) when used within large networks. IGRP supportsmultiple metrics for each route, including bandwidth, delay, load, MTU, and reliability;

to compare tworoutes these metrics are combined together into a single metric, using a formula which can be adjustedthrough the use of pre-set constants. The maximum hop count of IGRP-routed packets is 255 (default100), and routing updates are broadcast every 90 seconds (by default).[1]

IGRP is considered a classful routing protocol. Because the protocol has no field for a subnet mask, therouter assumes that all subnetwork addresses within the same Class A, Class B, or Class C network havethe same subnet mask as the subnet mask configured for the interfaces in question. This contrasts withclassless routing protocols that can use variable length subnet masks. Classful protocols have becomeless popular as they are wasteful of IP address space

Advancement

In order to address the issues of address space and other factors, Cisco created EIGRP

(DUAL) in order to improve routing and provide a looplessenvironment. EIGRP has completely replaced IGRP, making IGRP an obsolete routing protocol. In CiscoIOS versions 12.3 and greater, IGRP is completely unsupported. In the new Cisco CCNA

curriculum(version 4), IGRP is mentioned only briefly, as an "obsolete protocol".

Difference Between IGRP and EIGRP

IGRP vs EIGRP

IGRP, which stands for Internet Gateway Routing Protocol, is a relatively old routing protocolthat was invented by Cisco. It has beenlargely replaced by the newer and more superiorEnhanced-IGRP, more commonly known as EIGRP, since 1993. Even in Cisco the Ciscocurriculum, IGRP is only discussed as an obsolete protocol as an introduction to EIGRP.

From Wikipedia, the free encyclopediaInterior Gateway Routing ProtocolThe main reason behind the advent of EIGRP is to move away from classful routing protocolslike IGRP because of the rapidly depleting IPv4 addresses. IGRP simply assumes that allelementsin a given class belong to the same subnet. EIGRP utilizes variable length subnet masks(VLSM) to make more efficient use of the short supply of IPv4 addresses, prior to the advent ofIPv6 .Along with the shift from classful routing protocols were a few improvements to the algorithmused to discover the best way to get around the network was introduced with EIGRP. It now usesDiffusing Update Algorithm or better known as DUAL to calculate paths while ensuring that noloops exist in the system since those are detrimental to the performance of the network.EIGRP routers periodically broadcast a ‘hello’ packet to all systems to inform other routers thatthey are present and working well in the network. Updates on the other hand, are no longerbroadcast to the entire network; they are bounded only to routers that needthe information.Updates are also no longer periodic and only when changes in the metric are observed would thecorresponding updates be sent out to other routers. The partial updates cause a reduction innetwork traffic compared to the full updates that are utilized by IGRP.Metrics, which are used to measure the efficiency of a given, have also changed in EIGRP.Instead of using a 24 bit value in the calculation of the metric, EIGRP now utilizes 32 bits. Tomaintain compatibility the older IGRP metrics are multiplied by a value of 256, thereby bit-shifting the value 8 bits to the left and conforming to the 32 bit metric of EIGRP.Summary:1. EIGRP has totally replaced the obsolete IGRP2. EIGRP is a classless routing protocol while IGRP is a classful routing protocol3. EIGRP uses the DUAL while IGRP does not4. EIGRP consumes muchless bandwidth compared to IGRP5. EIGRP expresses the metric as a 32 bit value while IGRP uses a 24 bit valueIGRP v1.22 – Aaron Balchunas

IGRP is a Cisco-proprietary Distance-Vector protocol, designed to be morescalable than RIP, its standardized counterpart.

IGRP adheres to the following Distance-Vector characteristics:

• IGRP sends out periodic routing updates (every 90 seconds).• IGRP sends out the full routing table every periodic update.• IGRP uses a form of distance as its metric (in this case, a composite ofbandwidth and delay).• IGRP uses the Bellman-Ford Distance Vector algorithm to determinethe best “path” to a particular destination.

The first command, router igrp 10, enables the IGRP process. The “10”indicates the Autonomous System number that we are using. Only otherIGRP routers in Autonomous System 10 will share updates with this router.

The network statements tell IGRP which networks you wish to advertise toother RIP routers. We simply list the networks that are directly connected toour router. Notice that we specify the networks at their classful boundaries,and we do not specify a subnet mask.

The example on the previous page works fine with IGRP, because thenetworks are contiguous and the subnet masks are consistent. Consider thefollowing example:

This particular scenario will still work when using IGRP, despite the factthat we’ve subnetted the major 10.0.0.0 network. Notice that the subnets arecontiguous (that is, they belong to the same major network), and use thesame subnet mask.

When Router A sends an IGRP update to Router B via Serial0, it will notinclude the subnet mask for the 10.1.0.0 network. However, because the10.3.0.0 network is in the same major network as the 10.1.0.0 network, itwill not summarize the address. The route entry in the update will simplystate “10.1.0.0”.

Router B will accept this routing update, and realize that the interfacereceiving the update (Serial0) belongs to the same major network as theroute entry of 10.1.0.0. It will then apply the subnet mask of its Serial0interface to this route entry.

We’ll assume that IGRP is configured correctly on all routers. Notice thatour networks are no longer contiguous. Both Router A and Router C containsubnets of the 10.0.0.0 major network (10.1.0.0 and 10.2.0.0 respectively).

Separating these networks now are two Class C subnets (192.168.123.0 and192.168.111.0).

Why is this a problem? Again, when Router A sends an IGRP update toRouter B via Serial, it will not include the subnet mask for the 10.1.0.0network. Instead, Router A will consider itself a border router, as the10.1.0.0 and 192.168.123.0 networks do not belong to the same majornetwork. Router A will summarize the 10.1.0.0/16 network to its classfulboundary of 10.0.0.0/8.

Router B will accept this routing update, and realize that it does not have adirectly connected interface in the 10.x.x.x scheme. Thus, it has no subnetmask to apply to this route. Because of this, Router B will install thesummarized 10.0.0.0 route into its routing table.

Router C, similarly, will consider itself a border router between networks10.2.0.0 and 192.168.111.0. Thus, Router C will also send a summarized10.0.0.0 route to Router B.

That’s right, Router B now has two equal metric routes to get to thesummarized 10.0.0.0 network, one through Router A and the other throughRouter C. Router B will now load balance all traffic to any 10.x.x.x networkbetween routers A and C. Suffice to say, this is not a good thing. ☺

Router A will receive the summarized 10.0.0.0/8 route from Router B, andwill reject it. This is because it already has the summary network of 10.0.0.0in its routing table, and it’s directly connected. Router C will respondexactly the same, and the 10.1.0.0/16 and 10.2.0.0/16 networks will never beable to communicate.IGRP v1.22 – Aaron Balchunas

Invalid Timer (default 270 seconds) – indicates how long a route willremain in a routing table before being marked as invalid, if no new updatesare heard about this route. The invalid timer will be reset if an update isreceived for that particular route before the timer expires.

A route marked as invalid is not immediately removed from the routingtable. Instead, the route is marked (and advertised) with a metric of 101(remember, 100 maximum hops is default), indicating it is unreachable, andplaced in a hold-down state.

Hold-down Timer (default 280 seconds) – indicates how long IGRP will“suppress” a route that it has placed in a hold-down state. IGRP will notaccept any new updates for routes in a hold-down state, until the hold-downtimer expires.

A route will enter a hold-down state for one of three reasons:• The invalid timer has expired.• An update has been received from another router, marking that routewith a metric of 101 (unreachable).• An update has been received from another router, marking that routewith a higher metric than what is currently in the routing table (this isto prevent loops).

Flush Timer (default 630 seconds) – indicates how long a route can remainin a routing table before being flushed, if no new updates are heard aboutthis route. The flush timer runs concurrently with the invalid timer, andthus will flush out a route 360 seconds after it has been marked invalid.

IGRP timers must be identical on all routers on the IGRP network, otherwisemassive instability will occur.

Let’s assume no loop avoidance mechanisms are configured on either router.If the 172.18.0.0 network fails, Router B will send out an update to Router Awithin 30 seconds (whenever its update timer expires) stating that route isunreachable.

But what if an update from Router A reaches Router B before this canhappen? Router A believes it can reach the 172.18.0.0 network in one hop(through Router B). This will cause Router B to believe it can reach thefailed 172.18.0.0 network in two hops, through Router A. Both routers willcontinue to increment the metric for the network until they reach an infinityhop count (by default, 101). This behavior is known as counting to infinity.

How can we prevent this from happening? There are several loop avoidancemechanisms:

Split-Horizon – Prevents a routing update from being sent out the interfaceit was received on. In our above example, this would prevent Router A fromsending an update for the 172.18.0.0 network back to Router B, as itoriginally learned the route from Router B. Split-horizon is enabled bydefault on Cisco Routers.

Route-Poisoning – Works in conjunction with split-horizon, by triggeringan automatic update for the failed network, without waiting for the updatetimer to expire. This update is sent out all interfaces with an infinity metricfor that network.

Hold-Down Timers – Prevents IGRP from accepting any new updates forroutes in a hold-down state, until the hold-down timer expires. If Router Asends an update to Router B with a higher metric than what is currently inRouter B’s routing table, that route will be placed in a hold-down state.

It is possible to control which router interfaces will participate in the IGRPprocess.

Consider the following scenario. Router C does not want to participate in theIGRP domain. However, it still wants to listen to updates being sent fromRouter B, just not send any updates back to Router B: