EIGRP (Enhanced IGRP)


Enhanced IGRP (EIGRP) was created to resolve some of the problems with IGRP. One problem is that the entire route table is sent when changes are made in the network; another problem is the lack of formal neighbor relationships with connected routers. EIGRP is a hybrid of both link-state and distance-vector routing algorithms, which brings the best of both worlds together.

EIGRP allows for equal-cost load balancing, incremental routing updates, and formal neighbor relationships, overcoming the limitations of IGRP. This enhanced version uses the same distance-vector information as IGRP, yet with a different algorithm. EIGRP uses DUAL (diffusing update algorithm) for metric calculation.

EIGRP Features and Operation

Table 8.3 lists EIGRP’s specific features. Each feature is described in detail in this section. The features offered by EIGRP make it a stable and scalable protocol. Just as IGRP is a Cisco proprietary protocol, so is EIGRP.

Table 8.3: EIGRP Features

Feature

Description

Route tagging

Distinguishes routes learned via different EIGRP sessions.

Formal neighbor relationships

Uses the Hello protocol to establish peering.

Incremental routing updates

Only changes are advertised instead of the entire route table.

Classless routing

EIGRP supports subnet and VLSM information.

Configurable metrics

Metric information can be set through configuration commands.

Equal-cost load balancing

Allows traffic to be sent equally across multiple connections.

To aid in the calculation of the best route and load sharing, EIGRP utilizes several databases of information:

Route database The route database is where the best routes are stored.

Topology database The topology database is where all route information resides.

Neighbor table The neighbor table is used to house information concerning other EIGRP neighbors.

Each of these databases exists for IP-EIGRP, IPX-EIGRP, and AppleTalk- EIGRP. Therefore, it is possible for EIGRP to have nine active databases when all three protocols are configured on the router.

Route Tagging

EIGRP functions within defined autonomous systems on a router. It is possible for multiple sessions of EIGRP to run on a single router. Each session is distinguished by the AS number assigned to it. Routers that have EIGRP sessions running under the same AS number speak to each other and share routing information among the other routers in the same AS.

Routes learned via other routers within the AS are considered internal EIGRP routes. It is also possible for one AS session to learn routes from a different EIGRP AS session through redistribution (redistribution will be explained later in Chapter 9). When this occurs, the routes are tagged as being learned from an external EIGRP session. Each type of route is assigned its own administrative distance value.

Neighbor Relationships

The manner in which EIGRP establishes and maintains neighbor relationships is derived through its link-state properties. EIGRP uses the Hello protocol (just as OSPF does) to establish and maintain peering relationships with directly connected routers; these relationships are known as adjacencies. Hello packets are sent between EIGRP routers to determine the state of the connection between them. Once the neighbor relation is established via the Hello protocol, the routers can exchange route information.

Each router establishes a neighbor table in which it stores important information regarding the neighbors that are directly connected. This information consists of the neighbor’s IP address, hold time interval, smooth round trip timer (SRTT), and queue information. This information is used to help determine when the link state changes.

When two routers initialize communication, their entire route tables are shared. Thereafter, only changes to the route table are propagated. These changes are shared with all directly connected EIGRP-speaking routers. Each of these steps can be summarized as follows:

  1. Hello packets are multicast out all of the router’s interfaces.

  2. Replies to the Hello packets include all routes in the neighbor router’s topology database, including the metrics. Routes that are learned from the originating router are not included in the reply.

  3. The originating router acknowledges the update to each neighbor via an Ack packet.

  4. The topology database is then updated with the newly received information.

  5. Once the topology database has been updated, the originating router then advertises its entire table to all the new neighbors.

  6. Neighbor routers acknowledge the receipt of the route information from the originating router by sending back an Ack packet.

These steps are used in the initialization of EIGRP neighbors, and they change somewhat when only updates are sent to existing neighbors.

Route Calculation and Updates

Because EIGRP uses distance-vector and link-state information when calculating routes using the DUAL algorithm, convergence is much faster than with IGRP. The trick behind the convergence speed is that EIGRP calculates new routes only when a change in the network directly affects the routes contained in its route table. To make that a little clearer, look at Figure 8.6. In this figure, three routers are meshed, and each has an Ethernet segment connected as well.

click to expand
Figure 8.6: Route updates vs. calculation

It is important to understand the difference between accepting a routing update and calculating a new route. Some people find these concepts easy to confuse. If a change occurs to a network that is directly connected to a router, all of the relevant information is used to calculate a new metric and route entry for it. After the router has calculated the new route, it is advertised to the neighbors.

Using Figure 8.6 as an example, assume that Ethernet 0 on Router C is very congested due to high traffic volumes. Router C then uses the distance and link information to calculate a new metric for network 172.16.30.0. With the new metric in place, the change is propagated to Routers A and B. To understand completely, you need to recognize that the other routers don’t do any calculation—they just receive the update. Routers A and B don’t need to calculate a new route for network 172.16.30.0 because they learn it from Router C. In other words, not every router has to do the math!

On the other hand, if the link between Router A and Router C becomes congested, both routers would have to calculate a new route metric. The change is then advertised to Router B by both Routers A and C.

Now that you understand the difference between a route update and a route calculation, let’s summarize the steps that a router takes to calculate, learn, and propagate route update information.

Calculation and Selection of Routes

The topology database stores all routes and metrics known via adjacent routers. Six routes can be stored for each destination network. From these six routes, the router must select a primary and backup route—the primary route will be added to the route table. While the best route is being chosen for a destination, the route is considered to be in an active state. After the route has been chosen, the route status changes to passive.

Through the use of existing metric information such as bandwidth and delay from both the local and adjacent routers, a composite metric is calculated. The local router adds its cost to the cost advertised by the adjacent router. Cost is another word for metric. By looking at Figure 8.7, you can learn how cost is used to select the successor (best route) and the feasible successor (backup route).

click to expand
Figure 8.7: Best-route selection

Let’s use Router A as an example. Router A has three different routes that tell it how to get to Host Y. You can see that each link has been assigned a cost. The numbers in bold represent advertised distances, and the numbers in italics represent feasible distances. Advertised distances are costs that routers advertise to neighbors.

In this example, Routers C and D and the WAN all have advertised costs that they send to Router A. In turn, Router A has a feasible distance for every router to which it is connected. The feasible distance is the cost assigned to the link that connects adjacent routers.

The feasible and advertised costs are added together to provide a total cost to reach a specific network. Let’s calculate the lowest cost for Host X to get to Host Y. You will use the path from Host X Router A Router B Router C Host Y for your first path calculation. To calculate the total cost, add 20 (Router A Router B) to 30 (Router B Router C), for a final value of 50.

The next path calculated is from Host X Router A Router D Host Y. In this case, there is no advertised cost, so the final value consists of only the feasible cost—35. The final path is calculated in the same manner to give you the result of 55.

Since the lowest cost was 35, the route to 10.10.10.0/24 learned via Router D will be chosen as the successor or primary route. The other two routes remain in the topology table as feasible successors and are used if the successor to Host Y fails.

All of this resembles how a successor is chosen for a king or queen. The one closest by blood (the one with the least cost) is the chosen successor (the primary route). All the rest stand in line, position dependent on how closely they are related to the monarch. In England, for instance, Prince Charles is the chosen successor to Queen Elizabeth. His two sons are next in line (feasible successors). His two brothers follow behind his sons, if the sons become unavailable for any reason.

The information listed in Table 8.4 closely represents what is contained in an actual topology table, though not exactly. The Status field shows whether a new route is being calculated or if a primary route has been selected. In the preceding example, the route is in passive state because it has already selected the primary route.

Table 8.4: Topology Table Information

Status

RouteAdjacent Router’s Address (Metrics)

Number of Successors

Feasible Distance

P

10.10.10.0/24

via 10.1.2.6 (3611648/3609600)

via 10.5.6.6 (4121600/3609600)

via 10.6.7.6 (5031234/3609600)

1

(Router C)

3611648

The route with the best metric (lower is better) is chosen as the primary route. The backup route is chosen by selecting the route with the second lowest metric. Primary routes are moved to the route table after selection. It is possible to have more than one primary route.

Note

EIGRP uses the same vector information as IGRP: bandwidth, delay, reliability, load, and MTU. Bandwidth and delay are the two metrics used by default; the others can be configured manually. If you configure reliability, load, and MTU, it can cause the topology table to be calculated more often.

Updates and Changes

EIGRP also has link-state properties. One of these properties is that it propagates only changes in the route table instead of sending an entire new route table to its neighbors. When changes occur in the network, a regular distance-vector protocol will send the entire route table to neighbors. By avoiding sending the entire route table, less bandwidth is consumed. Neighboring routers don’t have to re-initialize the entire route table, causing convergence issues; they just have to insert the new route changes. This is one of the big enhancements over IGRP.

Updates can follow two paths. If a route update contains a better metric or a new route, the routers simply exchange the information. If the update contains information that a network is unavailable or the metric is worse than before, an alternate path must be found. The flowchart in Figure 8.8 describes the steps that must be taken to choose a new route.

The router first searches the topology database for feasible successors. If no feasible successors are found, a multicast request is sent to all adjacent routers. Each router will then respond to the query. Depending on how the router answers, different paths will be taken. After the intermediate steps are taken, two final actions can occur. If route information is eventually found, the route is added to the route table, and an update is sent. If the responses from the adjacent routers do not contain any route information, the route is removed from the topology and route tables. After the route table has been updated, the new information is sent to all adjacent routers via a multicast.

Tip

For a detailed explanation of EIGRP configuration, see CCNP: Building Scalable Cisco Internetworks, also by Sybex.

click to expand
Figure 8.8: Handling route changes

Configuring EIGRP

EIGRP supports several different protocols. Each protocol has specific commands that are used to enable EIGRP. EIGRP can be configured for IP, IPX, and AppleTalk. This subsection will describe in detail how EIGRP is implemented for each of these protocols.

IP

An autonomous system must be defined for each EIGRP session on a router. To start an EIGRP session on a router, use the following command:

router eigrp autonomous-system-number 

After the session has been started, networks that belong to that session need to be added. The networks should be directly connected.

The command to enter the networks must be entered within the EIGRP session configuration. The command and an example are as follows:

network network-number 

where network-number is the IP address of a network connected to the router.

Router_B#conf t Enter configuration commands, one per line.  End with    CNTL/Z. Router_B(config)#router eigrp 200 Router_B(config-router)#network 172.16.0.0 Router_B(config-router)#network 10.0.0.0 Router_B(config-router)#^Z Router_B#

EIGRP assumes that serial connections use T1 speeds. However, it is possible to have slower links, such as 56Kbps or other values, connected to a serial interface. As you have learned previously, bandwidth is one of the two default metrics used to calculate a route’s metric. If the bandwidth is slower than T1 speeds, EIGRP will still assign a metric value equivalent to that of a T1. To avoid this confusion, the bandwidth assigned to that interface should be changed. To do this, issue the following command within the Interface Configuration mode:

bandwidth bandwidth 

where bandwidth is an integer value between 1 and 10,000,000 that defines the kilobits of bandwidth.

You can stop routing updates from exiting the router via specified interfaces by flagging them as a passive interface from within the EIGRP session using the following command:

passive-interface interface-type interface-number 

where interface-type defines the type of interface and interface-number defines the number of the interface.

If all that you want to do is allow only certain networks to be advertised, use the distribute-list command. This command was discussed in Chapter 3, “Network Protocols,” but let’s review it here. This command is issued within the EIGRP session and has the following syntax:

distribute-list access-list-number [in | out]    interface-type interface-number 

where access-list-number is the number of a predefined access list.

IPX

To use EIGRP as the routing protocol for IPX, you must turn on the IPX protocol. Once IPX is enabled, EIGRP is defined as the routing protocol. The commands, along with descriptions and examples, are as follows:

ipx routing ipx router [eigrp autonomous-system-number | rip | nlsp] Router_A#conf t Enter configuration commands, one per line. End with    CNTL/Z. Router_A(config)#ipx routing Router_A(config)#ipx router eigrp 400 Router_A(config-ipx-router)#^Z Router_A#

As you can see by the command syntax, it is possible to use RIP, NLSP, and EIGRP as the routing protocols. You’re going to use EIGRP at this time. The preceding example first initializes IPX routing and then defines EIGRP 400 as the routing protocol that IPX will use.

The Novell networks should be added to the IPX-EIGRP session. Networks are added with the same network command that was used in IP EIGRP configuration. Here is an example and the resulting configuration. The IPX networks are seen under the IPX-routing EIGRP 400 session:

Router_A#config t Router_A(config)#ipx router eigrp 400 Router_A(config-ipx-router)network 10 Router_A(config-ipx-router)network 20 Router_A(config-ipx-router)exit Router_A(config)ipx-router rip Router_A(config-ipx-router)no network 10 Router_A(config-ipx-router)no network 20 Current configuration: ! version 11.3 no service password-encryption ! hostname Router_A ! ipx routing 0010.7bd9.2880 ! router eigrp 100  network 10.0.0.0  network 172.16.0.0 ! ip classless ! ipx router eigrp 400  network 10  network 20 ! ipx router rip no network 10 no network 20 

Just as IP interfaces can be configured to allow or disallow routing updates or portions thereof, so can IPX interfaces. SAP updates can be controlled with the incremental update command. This command tells the router that SAP updates are to be sent only when there is a change in the information, and then, only the change is advertised. The command is not issued under the IPX-EIGRP session, but on the interface itself. Another router running IPX-EIGRP should be on the opposite end of the link for this command to work properly. If no IPX peer exists, SAP updates are sent periodically. The command syntax is as follows:

ipx sap-incremental eigrp autonomous-system-number      [rsup-only]

The rsup-only option is used when RIP is used as the routing protocol. It indicates to the router that SAP updates are sent via EIGRP only incrementally.

Note

WAN links have this feature turned on by default; LAN interfaces have this feature turned off by default.

AppleTalk

EIGRP also supports AppleTalk. To enable AT-EIGRP on a router, you must first initialize AppleTalk routing on the router. This is done with the following command:

appletalk routing eigrp router-number 

Once this command is entered, AppleTalk route redistribution is turned on as well. Other commands relating to AT-EIGRP can be issued directly from the interface. The following options are available:

eigrp-bandwidth-percent

Sets EIGRP bandwidth limit

eigrp-splithorizon

Enables split-horizon processing, generating AT-EIGRP updates

eigrp-timers

Sets AT-EIGRP hello and hold-down timers




CCDA. Cisco Certified Design Associate Study Guide
CCDA: Cisco Certified Design Associate Study Guide, 2nd Edition (640-861)
ISBN: 0782142001
EAN: 2147483647
Year: 2002
Pages: 201

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net