EIGRP stands for Enhanced Interior Gateway Routing Protocol and is a routing protocol created by Cisco. This means you can run it only on Cisco hardware, other vendors like Juniper don’t support it. EIGRP is called a hybrid or advanced distance vector protocol and most of the rules that apply to RIP also apply here:
Let’s look at the following topology:
Let’s start with the Hello packets…Hello packets are sent between EIGRP neighbors for neighbor discovery and recovery. If you send hello packets and receive them then EIGRP will form a neighbor relationship with the other router. As long as you receive hello packets from the other side EIGRP will believe that the other router is still there, as soon as you don’t receive them anymore you will drop the neighbor relationship called adjacency and EIGRP might have to look for another path for certain destinations.
We’ll take a close look at the EIGRP neighbor adjacency to see what exactly happens when EIGRP routers become neighbors. This is what happens when you enable EIGRP on two routers:
EIGRP by default uses multicast for neighbor discovery but it also allows you to configure EIGRP neighbors statically. Once you do this, EIGRP will only use unicast and disables EIGRP multicast on the selected interface.
This could be useful in certain scenarios where multicast is not supported or when you want to reduce the overhead of multicast traffic. Here’s an example:
When you use the EIGRP network command, two things will happen:
- All interfaces that have a network that falls within the range of your network command will be advertised in EIGRP.
- EIGRP hello packets will be sent on these interfaces.
Look at the following example:
Just like OSPF or RIP, EIGRP can do load balancing. RIP and OSPF both can do load-balancing but the paths have to be equal.
EIGRP can do something cool…unequal load-balancing! Even better it will share traffic in a proportional way, if you have a feasible successor that has a feasible distance which is 5 times worse than the successor then traffic will be shared in a 5:1 way.
This blog will demonstrate how you can use the EIGRP variance command to make EIGRP load balance over feasible successors. To demonstrate EIGRP load balancing I will use the following topology:
EIGRP uses different K values to determine the best path to each destination:
- Bandwidth (K1)
- Load (K2)
- Delay (K3)
- Reliability (K4)
- MTU (K5)
EIGRP is able to use the bandwidth, delay, load, reliability and MTU as input for its metric calculation. The metric is calculated using some weighting constants called the K values.
By default only bandwidth and delay are used for the metric calculation and Cisco recommends not to use load and reliability. The bandwidth and delay are both static values while load and reliability are dynamic, they change all the time.
Most people have learned that the EIGRP hold timer is renewed when it receives a hello packet from a neighbor. This is correct however the hello packet is not the only packet that renewes it…all EIGRP packets do. In order to demonstrate this we’ll take a look at the following two routers:
We discuss a little bit more about the EIGRP query process and the stuck-in-active problem. This will be helpful to understand why we use the EIGRP stub feature.
EIGRP is designed for large enterprise networks but having one big EIGRP network (5000+ prefixes and many hops) can lead to some problems:
In this lesson we’ll take a look at EIGRP summarization. The cool thing about EIGRP and summarization is that it’s easy to do and can be done on the interface-level. Here’s the topology that we’ll use:
EIGRP supports automatic summarization which as the name implies means that it will automatically advertise summary routes to other EIGRP routers.
How does it work? EIGRP is not going to automatically create the most optimal summary routes for you…
Routing protocols can be configured to prevent receiving false routing updates and EIGRP is no exception. If you don’t use authentication and you are running EIGRP someone could try to form an EIGRP neighbor adjacency with one of your routers and try to mess with your network…we don’t want that to happen right?
In blog we’ll take a look how we can configure a default route in EIGRP. Basically there are two methods how you can do this:
- Create a static route and advertise it into EIGRP.
- Flag an EIGRP route as the default network.
let’s start with the following topology:
Prefixes that are advertised by routing protocols like OSPF, EIGRP or RIP can be filtered. One way of doing this is by using a distribute-list. In this blog We will look at an example of how to filter certain prefixes with a distribute-list.
Prefix-lists can be used to filter prefixes and are far more powerful than simple access-lists.Let’s say I want to filter all prefixes that fall within the 10.0.0.0 range and that have a subnet mask between /24 and /28. It will be difficult to do this with an access-list, but with a prefix-list, this is easy to do!
EIGRP is normally pretty straight-forward to configure. You type in the correct network commands, routers become neighbors and start exchanging routing information.
Frame-relay is an exception though…it’s no problem to run EIGRP on a frame-relay network but there are some small issues we might have to deal with. We can configure our frame-relay network as multipoint or point-to-point, the multipoint setup will introduce issues when you use a hub and spoke topology.
Non-broadcast multi-access networks like frame-relay don’t support broadcast or multicast traffic. When an EIGRP router has to send multicast traffic to other routers then it will simply copy the update from one PVC to all other PVCs.
If you have many (low bandwidth) PVCs then it’s possible that EIGRP traffic will completely saturate your interfaces.
Each EIGRP router has a unique 32-bit router ID (RID) number that is represented the same way as an IP address.
EIGRP automatically selects the highest IP address on any active loopback interface as the router ID. If there is no loopback interface then the highest IP address on any active interface is used. You can also overrule this by manually setting the router ID.
Since IOS 15, EIGRP has a new method of configuration called named mode EIGRP. With the “classic” version of EIGRP that we used before IOS 15 we configured EIGRP globally and some other things (like authentication) on the interfaces. With named mode EIGRP, we do everything globally.