Monday, March 31, 2014

EIGRP Path Selection, EIGRP Metric Weights, EIGRP Traffic Engineering

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 33280This 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. 

No comments:

Post a Comment