Myths_and_Truths_about_EIGRP_02_2012

Download Report

Transcript Myths_and_Truths_about_EIGRP_02_2012

Myths and Truths
about EIGRP
Peter Palúch, CCIE #23527, CCIP, CCAI
Cisco CSC Designated VIP 2011-2012
Networking Academy Webinar
February 29th, 2012
Rationale behind this session
 EIGRP has been supported since 1992 in IOS 9.21
 Despite its long existence, EIGRP still proves to be little
known and poorly understood when it comes to details
 There are many materials about EIGRP published
 Sadly, many of them are superficial
 Even more sadly, quite a few of them contain incomplete,
inaccurate or outright misleading and incorrect information
 Certain topics are notorious for this 
 Not even official materials have been spared
 This session would like to dispel some of the most
common myths and superstitions about EIGRP
2
About EIGRP’s Nature (1)
 EIGRP was described in the past as “balanced hybrid”
 Combining Distance-Vector (DV) and Link-State (LS) properties
 To decide what EIGRP really is, we need to look at what
classifies the protocol as either DV or LS
 What defines a LS protocol?
 LS works by routers exchanging topological elements, i.e. exact
information about routers themselves and their adjacencies
 Addresses, networks and metrics are merely attributes of routers
and their interconnections
 Each router knows all other routers and their connections
precisely; all routers have identical link-state database
 Using the link-state database of any single router, administrator
can draw the diagram of the entire network
3
About EIGRP’s Nature (2)
 What defines a DV protocol?
 DV works by routers exchanging vectors, i.e. arrays, of distances
to individual known networks
 The CCNA-level explanation of the DV as exchanging “metrics and
directions” is perhaps illustrative but imprecise
 No topological information (i.e. what are the individual routers,
how are they interconnected) is ever exchanged or known
 What does not influence the routing protocol’s type?
 Type of metrics used
 Full vs. incremental updates
 Periodic vs. event-based updates
 Usage of a Hello mechanism and establishing neighborships
 Usage of a reliable transport mechanism
4
A Network Topology Example
R2
A
D
B
E
R3
R1
C
R5
F
G
R4
5
What would Router A see in LS and DV?
A
R2
D
A
B
C
E
R3
R1
R1
B
F
D, E, F, G
C
R5
G
R4
R2
In Link-State Protocol
R3
R4
In Distance-Vector Protocol
6
What information does EIGRP carry?
 In EIGRP, routing information is
carried inside Update packets
 In an Update, after header, an array
of records follows:
 Type and size of the record in the
array (IP internal, IP external, …)
 Next Hop
 Metric Values (Delay, Bandwidth,
MTU, Hop Count, Reliability, Load)
 Address information (prefix, netmask)
 This is a vector of distances!
7
About EIGRP’s Nature (3)
 EIGRP carries detailed information about a particular path’s
properties but there is no topological information
 No matter how diverse the component metrics are, they are only
metrics and do not reveal the complete picture of the network
 Addition of mechanisms formerly typical for LS protocols does
not make EIGRP a hybrid protocol
 A hybrid protocol would need to maintain a LS database for a limited
part of network, describing the rest using a DV approach
 This is the principle of areas in LS protocols
 Hello mechanism, neighborships, event-driven incremental updates
etc. – all these only increase the effectivity of EIGRP communication
 They do not change the nature of routing information itself
 The conclusion about EIGRP’s nature:
 Advanced Distance-Vector – absolutely!
 Hybrid? No way 
8
About EIGRP’s Metrics (1)
 EIGRP’s metric system includes six components
 Bandwidth (static, min along path)
 Delay (static, cumulative)
 Reliability (dynamic, min along path)
 Load (dynamic, max along path)
 MTU (dynamic, min along path)
 Hop Count (dynamic, cumulative)
 EIGRP uses a weighted formula to compute a single
composite metric using the first four components
 MTU and Hop Count are not used in this formula
 All metrics are always advertised in their individual form
 Delay and Hop Count are added to
 Bandwidth, Reliability, MTU are minimized, Load is maximized
9
About EIGRP’s Metrics (2)
 A couple of misconceptions exists about the K-values
 The K-values are sometimes confused with metrics themselves
 The K-values are thought to control the individual metrics, in
particular, K5 is thought to control the MTU usage
 The K-values are simply weights applying to diverse
metric components
 MTU is not included in the formula
 Regardless of K-values settings, Update packets always contain
all metric components
 K-values are carried in Hello packets and must match neighbor’s
10
About EIGRP’s Metrics (3)
 The Hop Count is not used in best path selection
 It is used as a safety net against count-to-infinity situations
 Hop Count Limit can be configured in EIGRP configuration using
the metric maximum-hops command
 Prefixes with a higher Hop Count will not be accepted
 Information about MTU usage is conflicting
 Some materials maintain that MTU is unused
 Some other suggest that the MTU is used in cases where multiple
equal-cost paths are available
 In discussions with four independent Cisco employees, it has
been confirmed that using the MTU was an idea considered but
ultimately never actually implemented
11
About EIGRP’s Metrics (4)
 Reliability and Load metrics are unused by default
 By tweaking the K-values, they can be utilized
 However, Reliability and Load metrics in EIGRP do not
behave as intuitively expected
 Reliability and Load counters on interfaces are updated steadily
 Simply taking them into EIGRP would necessitate sending
Updates every moment these counters change
 This could create extensive churn in routing tables, possibly leading
to ever increasing swings in these metrics values
 In reality, advertised values of Reliability and Load always
correspond to their state in the moment of sending the update
 They are set when advertising a route
 Updates are not sent as a result of Reliability and Load changes
12
About EIGRP’s Metrics (5)
 Thus, Reliability and Load are largely useless in EIGRP
 Why are they even included, then?
 The reason is backward compatibility and seamless
interoperability with IGRP that originally introduced them
 If both IGRP and EIGRP were configured on a router in the same
AS, automatic redistribution between IGRP and EIGRP took place
 Out of all EIGRP’s metrics, only Bandwidth and Delay are
usable in a reasonable way
 Bandwidth should never be used to influence routing decisions
 It behaves non-linearly
 Various IOS mechanisms depend on correct bandwidth setting
 If EIGRP metric is to be influenced, the Delay should be modified
13
About EIGRP’s Terminology (1)
 EIGRP uses an arcane terminology that is sometimes
troublesome to be used or understood in a proper way
 Autonomous System: really a process number
 Topology Table: does not contain any topological information
 Successor and Feasible Successor: these are routers, not routes
 Advertised Distance: its acronym of AD often gets confused with
Administrative Distance, a totally unrelated concept
 Feasible Distance: it is not the current best distance, neither a
total distance through a particular neighbor
 The Feasible Distance (FD) is one of the most
misunderstood concepts in EIGRP
 Before diving into details about FD, let’s make a small
experiment in the network topology
14
Network Topology with Addressing
 Assume that, initially, all links are configured with the same Delay=10
and K-values are 0, 0, 1, 0, 0 (on R5, the stub network’s Delay=1)
 Now, assume that the Delay on links from R1 to R2-R4 gets increased to
20, resulting in the metric growup
 What happens to FD?
R2
10.0.35.0/24
10.0.13.0/24
R1
R3
R5
192.0.2.0/24
R4
15
About EIGRP’s Terminology (2)
 FD is not the current best path metric
 FD is not the total distance via a particular neighbor
 Rather, FD is a record of the smallest distance to the
destination since the last time the route went Passive
 In other words, the FD is the historical minimum of the distance to
the particular destination
 The history here ends and starts anew with the route transitioning
from Active to Passive state
 During Passive state, the FD may only decrease
 The only way to increase FD is to engage in a diffusing
computation and reset the FD after finishing it
 FD is a local variable associated with each known prefix and is
never sent to any other EIGRP router
16
About EIGRP’s Terminology (3)
 Using this notion of the FD, the Feasibility Condition can
be rewritten as:
 “If a neighbor is closer to the destination than I have ever been, it
is guaranteedly not on a routing loop that would eventually lead
back to me.”
17
About EIGRP’s Feasible Successors (1)
 To recall:
 A successor must meet two constraints: pass the FC check and
provide the least total distance to the destination
 A feasible successor must only pass the FC check
 A FS provides a convenient back-up next hop in case the
current successor fails
 It is widely believed that if the successor fails and at least one
feasible successor is known, it will always be used
 However, there are situations in which a feasible
successor is known – and yet, when successor fails,
router will enter Active mode instead of using the FS
18
Network Topology with Modified Metrics
 Let’s focus on the route from R1 to the network behind R5
 FD = 21
 R4: successor, Total Distance = 21*256 = 5376, RD = 11*256 = 2816
 R3: feasible successor, Total Distance = 36*256 = 9216, RD = 11*256 = 2816
 R2: fails FC check, Total Distance = 28*256 = 7168, RD = 23*256 = 5888
R2
5
22
25
10
R3
R1
R5
10
10
R4
1
19
About EIGRP’s Feasible Successors (2)
 Assume that R4 as a successor fails
 R1 will determine that while R3 is a FS, R2 has even better total
metric towards the destination but it does not pass the FC check
 R1 will move the route into Active state and send queries
 After receiving all replies and going Passive, R1 will reset the FD
and set it to the metric of the newly found route towards the
destination
 The FS, although identified, will not be used in this case
 Satisfying ourselves with the current FS would make us stay with
using a worse route than what is objectively available
 The true logic regarding the use of FS
 After successor fails, find the neighbor providing the next least
cost route to the destination
 If it is a FS, start using it, otherwise, enter the Active state
20
About EIGRP’s SIA state (1)
 The process of diffusing computation in EIGRP depends on
correct and timely arrival of Replies to all Queries
 Once a router sends a Query, it must wait to receive Replies from all
queried neighbors before starting to send Replies itself
 Delays in waiting for a single Reply will slow down the entire process
of convergence to a new path
 One of the most sensitive weak spots in EIGRP
 In extreme situation, if a Reply never comes, a route in Active state
can never reach the Passive state
 EIGRP uses a so-called Active timer to bound the diffusing computation
to the duration of max. 3 minutes
 If a diffusing computation does not finish in this time, the router declares
a so-called Stuck-in-Active state and resets the adjacency with the
unresponsive neighbor
 Lossy and oversubscribed links, overloaded neighbors, misbehaving
EIGRP implementation, overly redundant or deep network topology:
all of this contributes to the risk of creating a SIA state
21
About EIGRP’s SIA state (2)
Will this circular topology lead to SIAs?
22
About EIGRP’s SIA state (3)
 In circular topologies, Queries may be forwarded in a way
that they eventually reach back to the router that started
the diffusing computation
 It is a popular belief that this will cause a deadlock and a SIA
 This statement has even made it into Cisco Press CCNP
textbooks
 In reality, if a router in Active state receives a Query, it
just replies immediately with the same information it has
already advertised in its own Query
 Hence, circular topologies are no more prone to SIA states than
any other
 In fundamental EIGRP’s algorithms, there are no deadlocks or
race conditions
23
Small things to be aware of (1)
 EIGRP has a concept of Router ID
 Chosen in a similar way to OSPF
 By eigrp router-id command
 If not, then by the highest active loopback IP address
 If not, then by the highest IP address on all active interfaces
 Router ID is displayed in the show ip eigrp topology output
 Router ID is used as a prevention against routing loops, mostly caused
by circular route redistribution
 Router ID is attached to redistributed routes
 If a router receives a route tagged with its own Router ID, it will ignore it
 Formerly, the Router ID has been attached to external (redistributed)
routes only
 In recent IOS versions, the Router ID is also added to internal routes and
evaluated accordingly
 See the show ip eigrp topology X.X.X.X output
24
Small things to be aware of (2)
 Static routes defined using egress interfaces are
considered by EIGRP as directly connected
 They can be injected into EIGRP using the network command
just like any other directly connected network
 This often leads to confusion that static routes do not need to be
redistributed using the redistribute command
 Especially dangerous when trying to inject a default route using
network 0.0.0.0 command
 This will add all directly connected networks into EIGRP (this is
probably not what you want)
 Whether the default route will be injected as well depends on how it is
defined – it would have to be a static route via egress interface
25
Small things to be aware of (3)
 When configuring metrics, it is good to avoid values close
to the maximum value
 Delay can be defined in the range of 1 – 16,777,215
 The maximum delay value represents infinity and a network with
such delay value will be considered unreachable
 Remember that delay is cumulative
 The variance code in EIGRP has a small glitch
 Variance of “V” allows to use all FS routes whose metric is in the
interval of <BM, V * BM> where BM is the current best metric
 In certain networks, even if the variance seems to be sufficient,
FS routes are mysteriously not included into the routing table
 It turns out that the EIGRP code suffers from a trivial unsigned
integer overflow: the product of V*BM is not capped at 232-1 and
instead, it overflows, possibly producing a smaller value
26
Conclusions
 EIGRP is a unique protocol in many aspects
 As a proprietary protocol, its details are understandably
less publicly known and understood
 Great care must be taken not to propagate incorrect
information about its workings
 Huge THANK YOU to Donald Slice, Edison Ortiz, Russ White and
Riccardo Simoni for clarifying some of the obscure facts
27
Thank you!
Peter Palúch
[email protected]
28