EIGRP Load and Reliability Metrics
Everyone studying the EIGRP details knows the “famous” composite metric formula, but the recommendation to keep the K values intact (or at least leaving K2 and K5 at zero) or the inability of EIGRP to adapt to changing load conditions is rarely understood.
IGRP, the EIGRP’s predecessor, had the same vector metric and very similar composite metric formula, but it was a true distance vector protocol (like RIP), advertising its routing information at regular intervals. The interface load and reliability was thus regularly propagated throughout the network and so it made sense to include them in the composite metric calculation (although this practice could lead to unstable or oscillating networks).
EIGRP routing updates are triggered only by a change in network topology (interface up/down event, IP addressing change or configured bandwidth/delay change) and not by change in interface load or reliability. The load/reliability numbers are thus a snapshot taken at the moment of the topology change and should be ignored.
You might be wondering why Cisco decided to include the load and reliability into the EIGRP vector metric. The total compatibility of IGRP and EIGRP vector metrics allowed them to implement smooth IGRP-to-EIGRP migration strategy with automatic propagation of vector metrics in redistribution points, including the IGRP-EIGRP-IGRP redistribution scenario used in IGRP-to-EIGRP core-to-edge migrations.
I was wondering about the MTU parameter... I thought it was part of the formula to calculate the composite metric, but it's not. So is it really used for something ??
thanks for the blog!
Mat
Cheers
Mat
I've been trying to find information about the load parameter. Is it the rx load or the tx load on the interface, or is it some combination of those two that would be the correct number in the formula?
Here's what you can do: build a lab, start a unidirectional flood, trigger some EIGRP updates & examine EIGRP topology table to see what changes and where it changes.
"Sending EIGRP updates whenever there’s a significant change in load or reliability would be technically feasible, but would diminish the benefits of replacing distance vector behavior with DUAL."
Actually, EIGRP is in essence an enhanced distance vector routing protocol. The fact that it does not send updates at regular intervals does not transform its nature. This merely saves bandwidth and it sends updates when it is only appropriate, that is when changes (interface up/down event, IP addressing change or configured bandwidth/delay change) are detected.
So I don't see any reason why "Sending EIGRP updates whenever there’s a significant change in load or reliability ... would diminish the benefits of replacing distance vector behavior with DUAL."
Actually, I feel this would be a great enhancement to this routing protocol, since this simple ability to detect loaded or unreliable networks would be very valuable to medium-sized networks.
It would be the responsability of the network engineer to correctly tweak the values to avoid too many route flaps.