You are on page 1of 23

Y (EIGRP)

ENHANCEDINTERIORGATEWA ROUTING PROTOCOL

A project report submitted in the partial Fulfillment of the requirement for the Award of the degree Of

BACHELOR OF COMPUTER SCIENCE ANDENGINEERING THIRD YEAR (6TH SEMESTER) SESSION 2010-2011 IERT, ALLAHABAD

PROJECT GUIDE : ASHISH KUMAR MISHRA

PREPARED BY: APURVA SINGH THIRD YEAR, CS

COMPUTER SCIENCE AND ENGINEERING DEPARTMENT INSTITUTE OF ENGINEERING AND RURAL TECHNOLOGY, ALLAHABAD 28TH MARCH, 2011

ACKNOWLEDGEMENT
It is a great privilege for me to express my deep sense of gratitude to our guide, Mr. Ashish Kumar Mishra of CS DEPARTMENT, IERT for his stimulating guidance and profound assistance. I was privileged to experience a sustained enthusiastic and involved interest from his side. This fueled my enthusiasm even further and encouraged me to boldly step into what was a totally dark and unexplored expanse before me. I also express my thanks to the Head of the Department, CSE Professor Neeraj for his invaluable support and encouragement throughout the project. I also feel a great pleasure to thank all the staff members of the department for their cooperation which led to the successful completion of my project work. I would also like to thank my friends, colleagues and seniors who were ready with a positive comment all the time, whether it was an off-hand comment to encourage me or a constructive piece of criticism. Finally, I deem it a great pleasure to thank one and all whose valuable suggestion and in time cooperation helped me to carry out this project successfully.

APURVA SINGH

ABSTRACT
This project allows us to know about the role of one of the Routing protocols that is EIGRP. EIGRP is an advanced distance-vector routing protocol that relies on features commonly associated with link-state protocols. Cisco released EIGRP in 1994 as a scalable, improved version of its proprietary distance-vector routing protocol, IGRP. EIGRP routers converge quickly because they rely on a state-of-the-art routing algorithm called the Diffusing Update Algorithm (DUAL) EIGRP makes efficient use of bandwidth by sending partial, bounded updates and its minimal consumption of bandwidth when the network is stable. EIGRP offers full support for classless IP by exchanging subnet masks in routing updates. EIGRP routers converge quickly because they rely on a state-of-the-art routing algorithm called the Diffusing Update Algorithm (DUAL) EIGRP makes efficient use of bandwidth by sending partial, bounded updates and its minimal consumption of bandwidth when the network is stable. EIGRP offers full support for classless IP by exchanging subnet masks in routing updates.

ABBREVIATIONS
ACK AS AD BGP CIDR DUAL FC FD FS IPX LSA MTU OSPF RIP RTP SIA Acknowledgement Autonomous System Administrative Distance Border Gateway Protocol Classless Inter Domain Routing Defusing Update Algorithm Feasible Condition Feasible Distance Feasible Successor Internetwork Packet Exchange Link State Advertisement Maximum Transmission Unit Open Shortest Path First Routing Information Protocol Reliable transfer Protocol Stuck-in-Active

TABLE OF CONTENTS

1. INTRODUCTION 1.1 GENERAL DESCRIPTION

2. EIGRP FEATURES
2.1 NEIGHBOR

DISCOVERY

2.2 RTP 2.3 DUAL

EIGRP TABLES

3.1 NEIGHBOR TABLE 3.2 TOPOLOGY TABLE 3.3 ROUTING TABLE 4 5 EIGRP PACKET TYPES EIGRP METRICS

6 CONCLUSION 7 BASE PAPER 8 REFERENCES

Chapter 1 Introduction

INTRODUCTION
GENERAL DESCRIPTION EIGRP is a Cisco-proprietary routing protocol for TCP/IP. Its actually based on.Ciscos proprietary IGRP routing protocol, with many enhancements built into it. Because it has its roots in IGRP, the configuration is similar to IGRP; however, it has many link state characteristics that were added to it to allow EIGRP to scale to enterprise network sizes. These characteristics include the following: Fast convergence Loop-free topology Variable Length Subnet Masking (VLSM) and route summarization Multicast and incremental updates Multiple routed protocols EIGRP is an advanced Distance vector routing protocol with optimizations to minimize both the routing instability incurred after topology changes, as well as the use of bandwidth and processing power in the router. Routers that support EIGRP will automatically redistribute route information to IGRP neighbors by converting the 32 bit EIGRP metric to the 24 bit IGRP metric. Most of the routing optimizations are based on the Diffusing Update Algorithm (DUAL) work from SRI, which guarantees loop-free operation and provides a mechanism for fast convergence. EIGRP is a hybrid routing protocol; it therefore has different convergence characteristics. EIGRP does not use periodic updates or hold-down timers; it does send flash updates to its neighboring routers, but only when necessary. EIGRP not only keeps the best routes in its routing table, but it also keeps all the routes to all destinations in another table, called a topology table. If the best route to a destination goes down, a router running EIGRP simply has to get the next-best route from the topology table, if one exists, and put it in its routing table; thus EIGRP can converge extremely fast. The router only has to talk to its neighboring routers if a suitable next-best route in its topology table doesn't exist. This can occur, for example, if the downed link has resulted in a significant change in the network, or if specific routes are no longer reachable through any paths. EIGRP can be used to route not just IP but also Internetwork Packet Exchange (IPX) and AppleTalk routed protocols. Each of these routed protocols is handled completely independently. In this book, we only discuss the operation of EIGRP with respect to IP.As a classless routing protocol, EIGRP supports VLSMs. It automatically summarizes on the classful network boundary, but this summarization can be turned off and summarization can be done at any other boundary in the network, by any of the EIGRP routers. This allows a hierarchical topology to be supported. Although this is good design practice, it is not required by EIGRP. EIGRP routers exchange routes only with their neighboring routers neighbor relationships are established and maintained with periodic, small, hello messages. Routing updates are only sent when a change occurs, and only the changed information from the routing table is sent. All EIGRP messages use multicast, rather than broadcast, to reduce interruptions of other network devices. When an EIGRP router learns that a path it was using in its routing table (a successor route) has gone down, it looks in its topology table to see whether a usable backup route is available, through a feasible successor. If a route is available, the router copies that route to its routing table and starts using it no further calculation or communication with other routers is required. As mentioned earlier, this can result in extremely fast convergence after a change in the network. An EIGRP

router only has to send query messages to its neighbors trying to find alternate routes to the destination now that the network has changed if it doesn't have a suitable backup route in its topology table. Unlike most distance vector routing protocols, EIGRP learns a partial topology of the network beyond its directly connected neighbor. Like OSPF, EIGRP uses hello packets to discover and maintain neighbor relationships (stored in a neighbor table) and to share routing information (stored in the topology and routing tables). EIGRP uses the multicast address of 224.0.0.10 for the destination in its hello packets. EIGRP generates hello packets every 5 seconds on LAN, point-to-point, and multipoint connections of at least T1/E1 speeds. Otherwise, hellos are generated every 60 seconds. The dead interval period is three times the hello interval.

Chapter 2 EIGRP FEATURES

EIGRP Features and Operation


Enhanced IGRP (EIGRP) is a classless, enhanced distance-vector protocol that gives us a real edge over another Cisco proprietary protocol, Interior Gateway Routing Protocol (IGRP). Thats basically why its called Enhanced IGRP. Like IGRP, EIGRP uses the concept of an autonomous system to describe the set of contiguous routers that run the same routing protocol and share routing information. But unlike IGRP, EIGRP includes the subnet mask in its route updates. And as you now know, the advertisement of subnet information allows us to use VLSM and summarization when designing our networks! EIGRP is sometimes referred to as a hybrid routing protocol because it has characteristics of both distance-vector and link-state protocols. For example, EIGRP doesnt send link-state packets as OSPF does; instead, it sends traditional distance-vector updates containing information about networks plus the cost of reaching them from the perspective of the advertising router. And EIGRP has link-state characteristics as wellit synchronizes routing tables between neighbors at startup, and then sends specific updates only when topology changes occur. This makes EIGRP suitable for very large networks. EIGRP has a maximum hop count of 255. There are a number of powerful features that make EIGRP a real standout from IGRP and other protocols. The main ones are listed here:

Support for IP, IPX, and AppleTalk via protocol-dependent modules Considered classless (same as RIPv2 and OSPF) Support for VLSM/CIDR Support for summaries and discontinuous networks Efficient neighbor discovery Communication via Reliable Transport Protocol (RTP) Best path selection via Diffusing Update Algorithm (DUAL)

Neighbor Discovery
Before EIGRP routers are willing to exchange routes with each other, they must become neighbors. There are three conditions that must be met for neighbourship establishment: Hello or ACK received AS numbers match Identical metrics (K values)

Link-state protocols tend to use Hello messages to establish neighborship (also called adjacencies) because they normally do not send out periodic route updates, and there has to be some mechanism to help neighbors realize when a new peer has moved in, or an old one has left or gone down. To maintain the neighborship relationship, EIGRP routers must also continue receiving Hellos from their neighbors. EIGRP routers that belong to different autonomous systems (ASes) dont automatically share routing information and they dont become neighbors. This behavior can be a real benefit when used in larger networks to reduce the amount of route information propagated through a specific AS. The only catch is that you might have to take care of redistribution between the different ASes manually. The only time EIGRP advertises its entire routing table is when it discovers a new neighbor and forms an adjacency with it through the exchange of Hello packets. When this happens, both neighbors advertise their entire routing tables to one another. After each has learned its neighbors routes, only changes to the routing table are propagated from then on. When EIGRP routers receive their neighbors updates, they store them in a local topology table. This table contains all known routes from all known neighbors, and serves as the raw material from which the best routes are selected and placed into the routing table. Lets define some terms before we move on: Feasible distance This is the best metric along all paths to a remote network, including the metric to the neighbor that is advertising that remote network. This is the route that you will find in the routing table, because it is considered the best path. The metric of a feasible distance is the metric reported by the neighbor (called reported distance), plus the metric to the neighbor reporting the route. Reported distance This is the metric of a remote network, as reported by a neighbor. It is also the routing table metric of the neighbor, and is the same as the number after the slash in the topology table. Neighbor table Each router keeps state information about adjacent neighbors. When a newly discovered neighbor is learned, the address and interface of the neighbor are recorded, and this information is held in the neighbor table, stored in RAM. There is one neighbor table for each protocoldependent module. Sequence numbers are used to match acknowledgments with update packets. The last sequence number received from the neighbor is recorded so that outof- order packets can be detected. Topology table The topology table is populated by the protocol-dependent modules and acted upon by the Diffusing Update Algorithm (DUAL). It contains all destinations advertised by neighboring routers, holding each destination address and a list of neighbors that have advertised the destination. For each neighbor, the advertised metric is recorded, which comes only from the neighbors routing table. If the neighbor is advertising this destination, it must be using the route to forward packets feasible successor A destination entry is moved from the topology table to the routing table when there is a feasible successor. A feasible successor is a path whose reported distance is less than the feasible distance, and it is considered a backup route. EIGRP will keep up to six feasible successors in the topology table. Only the one with the best metric (the successor).is placed in the routing

table. The show ip eigrp topology command will display all the EIGRP feasible successor routes known to a router. Successor A successor route (think successful!) is the best route to a remote network. A successor route is used by EIGRP to forward traffic to a destination and is stored in the routing table. It is backed up by a feasible successor route that is stored in the topology tableif one is available. By using the feasible distance, and having feasible successors in the topology table as backup links, the network can converge instantly, and updates to any neighbor are the only traffic sent from EIGRP.

Reliable Transport Protocol (RTP)


EIGRP uses a proprietary protocol, called Reliable Transport Protocol (RTP) , to manage the communication of messages between EIGRP-speaking routers. And as the name suggests, reliability is a key concern of this protocol. Cisco has designed a mechanism that leverages multicasts and unicasts to deliver updates quickly, and to track the receipt of the data. When EIGRP sends multicast traffic, it uses the Class D address 224.0.0.10. As I said, each EIGRP router is aware of who its neighbors are, and for each multicast it sends out, it maintains a list of the neighbors who have replied. If EIGRP doesnt get a reply from a neighbor, it will switch to using unicasts to resend the same data. If it still doesnt get a reply after 16 unicast attempts, the neighbor is declared dead. People often refer to this process as reliable multicast. Routers keep track of the information they send by assigning a sequence number to each packet. With this technique, its possible for them to detect the arrival of old, redundant, or out ofsequence information. Being able to do these things is highly important because EIGRP is a quiet protocol. It depends upon its ability to synchronize routing databases at startup time and then maintain the consistency of databases over time by only communicating any changes. So the permanent loss of any packets, or the out-of-order execution of packets, can result in corruption of the routing database.

Diffusing Update Algorithm (DUAL)


EIGRP uses Diffusing Update Algorithm (DUAL) for selecting and maintaining the best path to each remote network. This algorithm allows for the following: Backup route determination if one is available Support of Variable-Length Subnet Masks (VLSMs) Dynamic route recoveries Queries for an alternate route if no route can be found DUAL provides EIGRP with possibly the fastest route convergence time among all protocols. The key to EIGRPs speedy convergence is twofold: First, EIGRP routers maintain a copy of all of their neighbors routes, which they use to calculate their own cost to each remote network. If the best path goes down, it may be as simple as examining the contents of the topology table to select the best replacement route. Secondly, if there isnt a good alternative in the local topology table, EIGRP routers very quickly asks their neighbors for help finding onethey arent afraid to ask directions! Relying on other routers and leveraging the information they provide accounts for the diffusing character of DUAL.

And as I said, the whole idea of the Hello protocol is to enable the rapid detection of new or dead neighbors. RTP answers this call by providing a reliable mechanism for conveying and the best paths sequencing messages.

Chapter 3 EIGRP TABLES

Neighbors TABLE
EIGRP forms neighbor relationships, called ADJACENCIES, with other routers in the same AS by exchanging Hello packets. Only after an adjacency is formed can routers share routing information. Hello packets are sent as multicasts to address 224.0.0.10. By default, on LAN and high-speed WAN interfaces, EIGRP Hellos are sent every 5 seconds. On slower WAN links (TI speed or slower), EIGRP Hellos are sent 60 seconds by default. The EIGRP Hello timer can be adjusted on a per interface basis: Router (config-if)# ip hello-interval eigrp 10 7 The above command allows us to change the hello timer to 7 seconds for Autonomous System 10. In addition to the Hello timer, EIGRP neighbors are stamped with a Hold timer. The Hold timer indicates how long a router should wait before marking a neighbor inactive, if it stops receiving hello packets from those neighbors. By default, the Hold timer is Three Times the Hello timer. Thus, on high-speed links the timer is set to 15 seconds, and on slower WAN links the timer is set to 180 seconds. The Hold Timer can also be adjusted on a per interface basis: Router(config-if)# ip hold-interval eigrp 10 21 The above command allows us to change the hold timer to 21 seconds for Autonomous System 10. Changing the hello timer does not automatically change the hold timer. Additionally,Hello and Hold timers do not need to match betwwen routers for an EIGRP neighbour relationship to form. A NEIGHBOUR TABLE is constructed from the EIGRP Hello packets,which includes the following information: The IP address of the neighbouring router. The local interface that received the neighbours Hello packet. The hold timer. A sequence number indicatingthe order neighbours were learned. Adjacencies will not form unless the primary IP addresses on connecting interfaces are on the same subnet.Neighbours cannot be formed on secondary addresses. IF connecting interfaces are on different subnets,an EIGRP router will log the following error to console when a multicast Hellois received: 00:11:22: IP-EIGRP:Neighbour 172.16.1.1 not on common subnet for Serial0.

Always ensure that primary IP addresses belong to the same subnet betwwen EIGRP neighbours.

To log all neighbours messages and errors to console,use the following two commands: Router(config)# router eigr Router(config-router)# eigrp log-neighbour-changes Router(config-router)# eigrp log-neighbour-warnings

THE EIGRP TOPOLO

Once EIGRP neighbo update contains a li

All such routes are a network will becom installed into the ro

CHAPTER-4

EIGRP Metrics
EIGRP can utilize 5 seprate metrics to determine the best route to a destination:

Bandwidth(K1)-Slowest link in the route path,measured in kilobits. Load(K2)-Cumulative load of all outgoing interfaces in the path,given as a fraction of 255. Delay of the line(K3)-Cumulative delay of all outgoing interfaces in the path in tens of microseconds. Reliability(K4)-Average reliability of all outgoing interfaces in the path,given as a fraction of 255. MTU(K5)-The smallest Maximum Transimission Unit in the path.The MTU value is actually never used to calculate the metric. By default,only BANDWIDTH and Delay of the Line are used.This is identical to IGRP,except that EIGRP provides a more granular metric by multiplying tha bandwidth and delay by 256.Bandwidth nad delay are determined by te interfaces that lead towards the destination network. By default,the full formula for determining the EIGRP metric is: [10000000/bandwidth+ delay]*256 The bandwidth value reprsents the link with the lowest bandwidth in the path,in kilobits.The delay is the total delay of all outgoing interfaces in the path. As,indicated above,each metric issymbolized with a Kna d tehn a number.

When Configuring EIGRP metrics,we actually identify which metric we want EIGRP to consider.Again,by default,only Bandwidth and Delay are consisdered.Thus,using on/off logic: K1=1,K2=0,K3=1,K4=0,K5=0 If all metrics were set toon,the full formula for determining the EIGRP Metric would be: [K1*bandwidth*256+(K2*bandwidth)/(256- load) +K3*delay*256]*[K5/(reliability+K4)] Remember,the K value is either set to on(1) or off(0).

Configuring EIGRP Metrics

EIGRP allow us to identify which metrics the protocol should consider,using the following commands: Router(config)# router eigrp 10 Router(config-router)# metric weights 0 1 1 1 0 0 The first command enables the EIGRP process for Autonomous System 10.The second actually identifies which EIGRP metrics to use.The first member (0) is for Type of Service,and should always be zero.The next numbers,in order are K1(1),K2(1),K3(1) ,K4(0),and K5(0).Thus,we are instructing EIGRP to use bandwidth,load,and delay to calculate the total metric,but not reliability or MTU. Our Formula would thus be: [K1*bandwidth*256+(K2*bandwidth)/(256-load)+K3*delay*256]

The actual values of our metrics(such as bandwidt,delay,etc)must be configured indirectly.We can adjust the bandwidth of an interface: Router(config)# int s0/0 Router(config-if)# bandwidth 64000 Router(config-if)# ip bandwidth-percent eigrp 10 30 However,this command does not actually dictate the physical speed of the interface.It merely controls hoew EIGRP considers this interface.Best parctice is to set the bandwidth to the actual physical spped of the interface. The ip bandwidth-percent eigrp command limits the percentage of bandwidth EIGRP can use on an intreface.The percentage is based on the configured bandwidth value.By default,EIGRP will use up to 50% of the bandwidth of an interface.The above command aadjusts this to 30% for Autonomous System 10.

If adjusements to the EIGRP metric need to be made,the delay metric(in tens of microseconds)on an interface should be used: Router(config)# int s0/0 Router(config-if)# delay 10000 Metric settings must be identical on the connecting interfaces of two routers,otherwise they will not form a neighbour relationship.

In this paper we pr Gateway Routing application in intro EIGRP. Easy-EIG users to configure

REFERENCES
[1] Apache Log4j. http://logging.apache.org/log4j. [2] The BIRD Internet Routing Daemon. http://bird.network.cz. [3] B. Cain, S. Deering, I. Kouvelas, B. Fenner, and A. Thyagarajan. Internet Group Management Protocol, Version 3. RFC 3376. October, 2002. [4] R. Coltun, D. Ferguson, and J. Moy. OSPF for IPv6. RFC 2740. December, 1999. [5] S. Deering, W. Fenner, and B. Haberman. Multicast Listener Discovery (MLD) for IPv6. RFC 2710. October, 1999. [6] The DevCon Command-Line Utility. http://support.microsoft.com/kb/311272. [7] J. Doyle and J. Carrol. Routing TCP/IP. Volume I. Cisco Press, Second Edition. October, 2005. [8] W. Fenner. Internet Group Management Protocol, Version 2. RFC 2236. November, 1997. [9] B. Fenner, M. Handley, H. Holbrook, and I. Kouvelas. Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised). RFC 4601. August, 2006. [10] GNU Zebra. http://www.zebra.org. [11] M. Handley, O. Hodson, and E. Kohler. XORP: An Open Platform for Network Research. ACM SIGCOMM Computer Communication Review. October, 2002. [12] C. Hedrick. Routing Information Protocol. STD 34, RFC 1058. June, 1988. [13] ISO. Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol for use in Conjunction with the Protocol for Providing the Connectionless-Mode Network Service. ISO 8473, International Standard 10589:2002, Second Edition.

You might also like