Lessons learned:
EIGRP chooses the path with the
lowest composite metric based on:
-Bandwidth
--inverse lowest bandwidth along
path in Kbps scaled by 10^7 * 256
-Delay
--cumulative delay along path in
tens of microseconds scaled by 256.
-Load
--Highest load along path
-Reliability
--lowest reliability along path
====================================================
Eigrp looks at all the
paths in the network ad chooses the lowest end-to-end total metric.
The metric value is a
composite value of the 4 above variables.
The bandwidth value
is basically be the bandwidth bottle neck along the path. Ex: if we have
several 10Gb links across the path but a FA link in the middle. It will not
matter that we can send 10Gbps per second over the 10GB links, really end to
end then our effective bandwidth will be 100Mbps per second. Whatever the bandwidth
bottleneck along the path- that’s what EIGRP is using for the bandwidth of that
particular prefix.
The Delay value is
cumulative on a hop by hop basic because every time the router has to serialize a
packet on the interface – T1 or GIG int – There will always be a measurable delay
value to switch the packets between the interfaces and encapsulate it on the
line.
The Delay is in 10’s of
microseconds.
The load is going to be
the highest along the path and the reliability will be the lowest along the
path.
By default these two are
not used in the calculation.
EIGRP Metric value –
The value itself:
Composite metric is
computed as….
Metric = {k1 * bandwidth
+ (K2 * bandwidth) / (256 – load ) + k3 * Delay}
-If K5 ! – 0,
metric = Metric * {K5 / (reliability
=K4)}
-Route with the lowest end-to-end
metric is the “successor” This will be
installed in the routing table.
-Successors metric is
the “Feasible Distance” (FD)
Note: the K values are
the admin weights of the formula.
The K values are the only
ones that have any weighted applied to them.
-K values allow for
manual administrative weighting.
--default K values are
K1 =1, K2=0, K3 = 1, K4 = 0, K5 = 0.
-implies default
composite is bandwidth + delay.
Can be modified with the
“metric weights” command under the process.
=must match for adjacency
to occur.
It’s always easier to
manipulate the Delay, because it’s on a hop by hop basis, as compared toe the
bandwidth. This is the inverse of the minimum bandwidth along the path, then
scaled y 10^7 X 256.
DUAL Calculation:
Dual Terms in detail
-successor – Best
path to a destination – the route in the routing table.
-Feasible Distance –(FD) – composite metric of the best path. _ metric of the successor.
-Feasible successor – (FS)- backup path to destination – pre-computed
to be loop free.
-Advertised distance – (AD)
–Composite metric learned from the neighbor – Upstream neighbor’s feasible
distance of their successor – value advertised downstream to local router.
-Local Distance (LD) – composite
metric to reach local neighbor – distance to reach our upstream neighbor.
-Feasibility Condition (FC) –
Criteria for valid backup paths -
The logic to figure out
alternate loop free backup paths.
Dual path selection in detail:
-each update includes
the metric the upstream router uses to reach destination (AD)
-Local router knows the
metric to reach each upstream router (LD)
-Best path (successor)
is chosen based on the lowest AD+LD
Feasibility condition in detail:
Used to figure out the backup routes.
-Once the best path is
chosen, additional paths are examined for backup routes.
-Feasibility condition
(FC) finds loop=free backup routes via logic:
--If AD < FD, path is
loop free and viable backup.
--ex: if your metric is lower than mine, you are
closer to the destination and loop free.
-Paths that meed the FC
are Feasible successors (FS)
--only FS can be used
for unequal cost load balancing.
Note: remember EIGRP is still a
distance vector protocol, it doesn't know the entire topology, it only know
what is advertised to it from it’s neighbors.
The routes that pass the
FC – these are the only candidates for unequal cost load balancing.
EIGRP Traffic Engineering
-Bandwidth is lowest
bandwidth along the path on a per prefix basis.
--essentially the
bandwidth bottleneck
--hard to predict what a
modification will affect.
-Delay is cumulative on
a hop-by-hop basis
--easier to influence
path selection with “Delay” interface command.
Topology:
R3#sh ip eigrp topology
192.168.12.0/24
IP-EIGRP (AS 500):
Topology entry for 192.168.12.0/24
State is Passive, Query origin flag is 1, 1
Successor(s), FD is 33280 – This says’ there's only one best path (Successor)
Routing Descriptor Blocks:
192.168.34.4 (FastEthernet0/1), from
192.168.34.4, Send flag is 0x0 – learned
from 192.168.34.4
Composite metric is (33280/30720), Route is Internal – Cost to path (30720)
Note: the value 33280 is the total composite metric –
this includes OUR local cost
Vector metric:
Minimum bandwidth is 100000 Kbit –> This is the bandwidth calculated in
the metric
Total delay is 300 microseconds –> This is the delay calculated in the metric
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
Note – the FD listed above is 33280 – this means
the route the total composite metric of 33280 (R4) is the successor and will be
installed in the table.
192.168.23.2 (FastEthernet0/0), from
192.168.23.2, Send flag is 0x0 -
Composite metric is (284160/28160), Route is Internal - Cost to path (28160)
Note: the value 284160 is the total composite metric –
this includes OUR local cost
Vector metric:
Minimum bandwidth is 10000 Kbit –> This is the bandwidth calculated in
the metric
Total delay is 1100 microseconds –> This is the delay calculated in the metric
Reliability is 255/255 à (could equate to packet
loss over path)
Load is 1/255 à (actual
load over path)
Minimum MTU is 1500
Hop count is 1
R3#
Now lets change the
metrics to remove the bandwidth, load and reliability from being calculated in the
metric and see what happens:
Note: Default values
again are: K1 = 1 / K2 = 0 / K3 = 1 / K4 = 0 / K5 = 0 (a value of 1 is on.)
Most of the times you
would never change these default values. If we did change the load and
reliability it would mean that EIRGP would be constantly recalculating, because
these are effectively real-time values over a longer term average.
Lets change the Metric
to only use delay:
R4(config-router)#metric weights 0 0 0 1 0 0
R4(config-router)#
*Mar 1 00:49:51.735: %DUAL-5-NBRCHANGE:
IP-EIGRP(0) 500: Neighbor 192.168.24.2 (FastEthernet0/0)
is down: K-value mismatch
*Mar 1 00:49:04.683: %DUAL-5-NBRCHANGE:
IP-EIGRP(0) 500: Neighbor 192.168.24.4 (FastEthernet1/0) is down: Interface
Goodbye received
Note: once I issue this
command I get the error that there’s a K value mismatch – I now need to change
this on all devices in the topology.
Once applied – I have adjacency again.
*Mar 1 00:51:56.583: %DUAL-5-NBRCHANGE:
IP-EIGRP(0) 500: Neighbor 192.168.24.2 (FastEthernet0/0) is up: new adjacency
Now – lets compare the routing
again after the metric change:
R3#sh ip eigrp topology
192.168.12.0/24
IP-EIGRP (AS 500):
Topology entry for 192.168.12.0/24
State is Passive, Query origin flag is 1, 1
Successor(s), FD is 7680 – total metric
is now 7680
Routing Descriptor Blocks:
192.168.34.4 (FastEthernet0/1), from
192.168.34.4, Send flag is 0x0
Composite metric is (7680/5120), Route is Internal à 5120 is the AD / 7680
is the total metric or the FD
Vector metric:
Minimum bandwidth is 100000 Kbit
Total delay is 300 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
192.168.23.2 (FastEthernet0/0), from
192.168.23.2, Send flag is 0x0
Composite metric is (28160/2560), Route is Internal à 2560 is the AD
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is 1100 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
R3#
Note: the AD distance
from router 2 (192.168.23.2) of 2560 is lower than the FD of router 4 (7680)
this means R2 can be used as a feasible successor.
What is we want to change the path election:
First we need to work
backwards from the destination so we can verify the full path to the
destination.
Note: in EIGRP you can
only advertise the path that you’re actually using. If it’s not installed in the routing table you
will not be advertising it.
We can now change the path
selection by lowering or raising the delay on an interface.
R3#sh ip eigrp topology
192.168.12.0/24
IP-EIGRP (AS 500):
Topology entry for 192.168.12.0/24
State is Passive, Query origin flag is 1, 1
Successor(s), FD is 33280
Routing Descriptor Blocks:
192.168.34.4 (FastEthernet0/1), from
192.168.34.4, Send flag is 0x0
Composite metric is (33280/30720), Route
is Internal
Vector metric:
Minimum bandwidth is 100000 Kbit
Total delay is 300 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
192.168.23.2 (FastEthernet0/0), from
192.168.23.2, Send flag is 0x0
Composite metric is (284160/28160), Route
is Internal
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is 1100 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Right now the path the
.12 network goes through R4 instead of R2. I want traffic to prefer the path
through R2 instead of R4.
On the upstream
interface on R4 I’m going to change the delay value.
Original value:
R3#sh interfaces
fastEthernet 0/1
FastEthernet0/1 is up,
line protocol is up
Hardware is Gt96k FE, address is
c00b.2bf8.0001 (bia c00b.2bf8.0001)
Internet address is 192.168.34.4/24
MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
New value:
R3(config)#interface
fastEthernet 0/1
R3(config-if)#delay 5000
R3#clear ip eigrp
neighbors
New Path:
R3#sh ip eigrp topology
192.168.12.0/24
IP-EIGRP (AS 500):
Topology entry for 192.168.12.0/24
State is Passive, Query origin flag is 1, 1
Successor(s), FD is 284160
Routing Descriptor Blocks:
192.168.23.2 (FastEthernet0/0), from
192.168.23.2, Send flag is 0x0
Composite metric is (284160/28160), Route
is Internal
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is
1100 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
192.168.34.4 (FastEthernet0/1), from
192.168.34.4, Send flag is 0x0
Composite metric is (1310720/30720),
Route is Internal
Vector metric:
Minimum bandwidth is 100000 Kbit
Total
delay is 50200 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
R3#
Changing the delay is
like adding more hops in the network.