Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Enhanced Interior Gateway Routing Protocol
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Technical details == EIGRP is a distance vector & Link State [[routing protocol]] that uses the [[diffusing update algorithm]] (DUAL) (based on work from [[SRI International]]) to improve the efficiency of the protocol and to help prevent calculation errors when attempting to determine the best path to a [[remote network]]. EIGRP determines the value of the path using five metrics: bandwidth, load, delay, reliability and MTU.<ref name=admin>Cisco Systems (2012), [http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/enhanced-interior-gateway-routing-protocol-eigrp/whitepaper_C11-720525.html Enhanced Interior Gateway Routing Protocol (EIGRP) Wide Metrics], retrieved 14 March 2014</ref> EIGRP uses five different messages to communicate with its neighbor routers β Hello, Update, Query, Reply, and Acknowledgement.<ref>{{Cite web|url=https://www.gns3network.com/eigrp-messages-types-and-neighborship-parameters/|title=EIGRP Messages Types}}</ref> EIGRP routing information, exchanged to a router from another router within the same autonomous system, has a default [[administrative distance]] of 90. EIGRP routing information, that has come from an EIGRP-enabled router outside the autonomous system, has a default [[administrative distance]] of 170.<ref>Cisco Systems (2013), [http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094195.shtml What is Administrative Distance?], retrieved 14 September 2013</ref> EIGRP does not operate using the [[Transmission Control Protocol]] (TCP) or the [[User Datagram Protocol]] (UDP). This means that EIGRP does not use a [[port number]] to identify traffic. Rather, EIGRP is designed to work on top of Layer 3 (i.e. the IP protocol). Since EIGRP does not use TCP for communication, it implements Cisco's [[Reliable Transport Protocol]] (RTP) to ensure that EIGRP router updates are delivered to all neighbors completely.<ref>{{cite web |url=http://packetlife.net/blog/2009/jan/17/rtp-eigrp/ |publisher=Packet Life |title=RTP in EIGRP |date=2009-01-17}}</ref><ref>{{Cite book |last= |first= |url=https://books.google.com/books?id=fzBOZDGBDDgC&dq=reliable+transport+protocol+eigrp&pg=PA214 |title=Troubleshooting IP Routing Protocols (CCIE Professional Development Series) |date=2002-05-07 |publisher=Cisco Press |isbn=978-0-13-303467-7 |language=en}}</ref> The Reliable Transport Protocol also contains other mechanisms to maximize efficiency and support [[multicast]]ing.<ref name="globalknowledge"/> EIGRP uses 224.0.0.10 as its multicast address and [[List of IP protocol numbers|protocol number]] 88.<ref name="globalknowledge"/> === Distance vector routing protocol === Cisco Systems now classifies EIGRP as a distance vector routing protocol, but it is normally said to be a hybrid routing protocol.<ref name=intro /><ref name=ccie>[http://www.informit.com/library/content.aspx?b=CCIE_Practical_Studies_I&seqNum=116 CCIE Practical Studies, Volume I | Chapter 11. Hybrid: Enhanced Interior Gateway Routing Protocol (EIGRP)] {{Webarchive|url=https://web.archive.org/web/20140426202321/http://www.informit.com/library/content.aspx?b=CCIE_Practical_Studies_I&seqNum=116 |date=2014-04-26 }}. InformIT (2008-06-13). Retrieved on 2014-05-30.</ref> While EIGRP is an advanced routing protocol that combines many of the features of both link-state and distance-vector routing protocols, EIGRP's [[#Technical details|DUAL algorithm]] contains many features which make it more of a distance vector routing protocol than a link-state routing protocol.<ref name=ccie /><ref>Ashraf, Muhammad Irfan, et al. "[http://www.ijcsmr.org/vol2issue4/paper346.pdf Comparative Analysis of Link State and Hybrid Routing Protocols] {{Webarchive|url=https://web.archive.org/web/20131109014953/http://www.ijcsmr.org/vol2issue4/paper346.pdf |date=2013-11-09 }}"</ref> Despite this, EIGRP contains many differences from most other distance-vector routing protocols, including:<ref name=Albrightson>Albrightson, R., Garcia-Luna-Aceves, J. J., & Boyle, J. (1994, May). EIGRP a fast routing protocol based on distance vectors. In Proc. Network ID/Interop (Vol. 94, pp. 136-147).</ref> * the use of explicit hello packets to discover and maintain adjacencies between routers. * the use of a reliable protocol to transport routing updates. * the use of a feasibility condition to select a loop-free path. * the use of diffusing computations to involve the affected part of the network into computing a new shortest path. ===EIGRP composite and vector metrics=== EIGRP associates six different vector metrics with each route and considers only four of the vector metrics in computing the Composite metric: Router1# show ip eigrp topology 10.0.0.1 255.255.255.255 IP-EIGRP topology entry for 10.0.0.1/32 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 40640000 Routing Descriptor Blocks: 10.0.0.1 (Serial0/0/0), from 10.0.0.1, Send flag is 0x0 Composite metric is (40640000/128256), Route is Internal Vector metric: Minimum bandwidth is 64 Kbit Total delay is 25000 microseconds Reliability is 255/255 Load is 197/255 Minimum MTU is 576 Hop count is 2 ;Bandwidth: Minimum Bandwidth (in kilobits per second) along the path from router to destination network. ;Load: Number in range 1 to 255; 255 being saturated ;Total Delay: Delay, in 10s of microseconds, along the path from router to destination network ;Reliability: Number in range 1 to 255; 255 being the most reliable ;MTU:Minimum path [[Maximum Transmission Unit]] (MTU) (never used in the metric calculation) ;Hop Count: Number of routers a packet passes through when routing to a remote network, used to limit the EIGRP AS. EIGRP maintains a hop count for every route, however, the hop count is not used in metric calculation. It is only verified against a predefined maximum on an EIGRP router (by default it is set to 100 and can be changed to any value between 1 and 255). Routes having a hop count higher than the maximum will be advertised as unreachable by an EIGRP router. ====Routing metric==== The composite routing metric calculation uses five parameters, so-called K values, K1 through K5. These act as multipliers or modifiers in the composite metric calculation. K1 is not equal to Bandwidth, etc. By default, only total delay and minimum bandwidth are considered when EIGRP is started on a router, but an administrator can enable or disable all the K values as needed to consider the other Vector metrics. For the purposes of comparing routes, these are combined together in a weighted formula to produce a single overall metric: : <math>\bigg [ \bigg ( K_1 \cdot {\text{Bandwidth}}_{E} + \frac{K_2 \cdot {\text{Bandwidth}}_{E}}{256-\text{Load}} + K_3 \cdot {\text{Delay}}_{E} \bigg ) \cdot \frac {K_5}{K_4 + \text{Reliability}} \bigg ] \cdot 256</math> where the various constants (<math>K_1</math> through <math>K_5</math>) can be set by the user to produce varying behaviors. An important and unintuitive fact is that if <math>K_5</math> is set to zero, the term <math>\tfrac {K_5}{K_4 + \text{Reliability}}</math> '''is not used (i.e. taken as 1)'''. The default is for <math>K_1</math> and <math>K_3</math> to be set to 1, and the rest to zero, effectively reducing the above formula to <math>({\text{Bandwidth}}_{E} + \text{Delay}_{E}) \cdot 256</math>. Obviously, these constants must be set to the same value on all routers in an EIGRP system, or permanent [[routing loop]]s may result. Cisco routers running EIGRP will not form an EIGRP adjacency and will complain about K-values mismatch until these values are identical on these routers. EIGRP scales the interface ''Bandwidth'' and ''Delay'' configuration values with following calculations: : <math>{\text{Bandwidth}}_{E}</math> = 10<sup>7</sup> / Value of the ''bandwidth'' interface command : <math>{\text{Delay}}_{E}</math> = Value of the ''delay'' interface command On Cisco routers, the interface bandwidth is a configurable static parameter expressed in kilobits per second (setting this only affects metric calculation and not actual line bandwidth). Dividing a value of 10<sup>7</sup> kbit/s (i.e. 10 Gbit/s) by the interface bandwidth statement value yields a result that is used in the weighted formula. The interface delay is a configurable static parameter expressed in tens of microseconds. EIGRP takes this value directly without scaling into the weighted formula. However, various ''show'' commands display the interface delay in microseconds. Therefore, if given a delay value in microseconds, it must first be divided by 10 before using it in the weighted formula. [[IGRP]] uses the same basic formula for computing the overall metric, the only difference is that in IGRP, the formula does not contain the scaling factor of 256. In fact, this scaling factor was introduced as a simple means to facilitate backward compatility between EIGRP and IGRP: In IGRP, the overall metric is a 24-bit value while EIGRP uses a 32-bit value to express this metric. By multiplying a 24-bit value with the factor of 256 (effectively bit-shifting it 8 bits to the left), the value is extended into 32 bits, and vice versa. This way, redistributing information between EIGRP and IGRP involves simply dividing or multiplying the metric value by a factor of 256, which is done automatically. ===Feasible successor=== A feasible successor for a particular destination is a next hop router that is guaranteed not to be a part of a [[routing loop]]. This condition is verified by testing the [[#Feasibility condition|feasibility condition]]. Thus, every successor is also a feasible successor. However, in most references about EIGRP the term ''feasible successor'' is used to denote only those routes which provide a loop-free path but which are not successors (i.e. they do not provide the least distance). From this point of view, for a reachable destination, there is always at least one successor, however, there might not be any feasible successors. A feasible successor provides a working route to the same destination, although with a higher distance. At any time, a router can send a packet to a destination marked "Passive" through any of its successors or feasible successors without alerting them in the first place, and this packet will be delivered properly. Feasible successors are also recorded in the topology table. The feasible successor effectively provides a backup route in the case that existing successors become unavailable. Also, when performing unequal-cost load-balancing (balancing the network traffic in inverse proportion to the cost of the routes), the feasible successors are used as next hops in the routing table for the load-balanced destination. By default, the total count of successors and feasible successors for a destination stored in the routing table is limited to four. This limit can be changed in the range from 1 to 6. In more recent versions of Cisco IOS (e.g. 12.4), this range is between 1 and 16. ===Active and passive state=== A destination in the topology table can be marked either as ''passive'' or ''active''. A passive state is a state when the router has identified the successor(s) for the destination. The destination changes to ''active'' state when the current successor no longer satisfies the [[#Feasibility condition|feasibility condition]] and there are no feasible successors identified for that destination (i.e. no backup routes are available). The destination changes back from ''active'' to ''passive'' when the router received replies to all queries it has sent to its neighbors. Notice that if a successor stops satisfying the feasibility condition but there is at least one feasible successor available, the router will promote a feasible successor with the lowest total distance (the distance as reported by the feasible successor plus the cost of the link to this neighbor) to a new successor and the destination will remain in the ''passive'' state. ===Feasibility condition=== The feasibility condition is a sufficient condition for loop freedom in EIGRP-routed network. It is used to select the successors and feasible successors that are guaranteed to be on a loop-free route to a destination. Its simplified formulation is strikingly simple: :''If, for a destination, a neighbor router advertises a distance that is strictly lower than our feasible distance, then this neighbor lies on a loop-free route to this destination.'' or in other words, :''If, for a destination, a neighbor router tells us that it is closer to the destination than we have ever been, then this neighbor lies on a loop-free route to this destination.'' It is important to realize that this condition is a sufficient, not a necessary, condition. That means that neighbors which satisfy this condition are guaranteed to be on a loop-free path to some destination, however, there may be also other neighbors on a loop-free path which do not satisfy this condition. However, such neighbors do not provide the shortest path to a destination, therefore, not using them does not present any significant impairment of the network functionality. These neighbors will be re-evaluated for possible usage if the router transitions to Active state for that destination. ===Unequal Path Cost Load Balancing === EIGRP features load balancing on paths with different costs. A multiplier, called variance, is used to determine which paths to include into load balancing. The variance is set to 1 by default, which means load balancing on equal cost paths. The maximum variance is 128. The minimum [[metrics (networking)|metric]] of a route is multiplied by the variance value. Each path with a metric that is smaller than the result is used in load balancing.<ref name=variance>[http://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/13677-19.html How Does Unequal Cost Path Load Balancing (Variance) Work in IGRP and EIGRP] Cisco. Retrieved on 2017-03-24</ref> With the functionality of the Unequal Path Cost Load Balancing on EIGRP, [[OSPF]] protocol is unable to design the network by Unequal Path Cost Load Balancing. Regarding the Unequal Path Cost Load Balancing function on industry usage, the network design can be flexible with the traffic management.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)