EIGRP metric manipulation
EIGRP is the most complex metric between all routing protocols metrics, in this post we are trying to clear the calculation of this metric as much as possible. Lets begin..
EGIRP metric is a composite metric made up of 5 parameters listed as follows:
- Bandwidth.
- Delay.
- Load.
- Reliability.
- MTU.
All these parameters are used to find the metric of the path by substitution in the the following formula:
metric = [K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]
Where K1 through K5 are constants that can be changed with the metric weights command,The default behavior in EIGRP is to use Bandwidth and Delay only by setting K1and K3 values to 1 and all other K values to zero.
Applying the default constants the formula is reduced to:
metric= [(10,000,000/minBandwidth)+ Sum of delays/10] x 256.
Lets clarify by an example:
R2#sh ip eigrp topology 1.1.1.1/32 IP-EIGRP (AS 10): Topology entry for 1.1.1.1/32 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2297856 Routing Descriptor Blocks: 172.16.123.1 (Serial1/0), from 172.16.123.1, Send flag is 0x0 Composite metric is (2297856/128256), Route is Internal Vector metric: Minimum bandwidth is 1544 Kbit Total delay is 25000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1
Using the above information we can calculate the metric as follows:
metric = [10,000,000/1544 + 25000/10] x 256 = (6476 + 2500) x 256 = 2297856 ; The final result matches the EIGRP calcution as shown in the above output.
Whenever you try to change the metric of a specific path the best practice is to change the delay along the path, rather than the bandwidth of the interfaces. The main reason is that the bandwidth value may affect many other configured features like QOS or OSPF calculations.
Notes:
- Routers does not use floating points in thier calculations; which means you have to truncate the decimal places in your manual calculation.
- Bandwidth is used in Kbit.
- The sum of delays is used in tens of microseconds.