Before we dive into the specifics of the EIGRP, or Enhanced Interior Gateway Routing Protocol, we really have to discuss the fundamentals first, about dynamic routing. What is it all about? Well if you compare that in contrast to static routing, what did we do? We manually configured those destination networks. We told our router how to get there. But now I can setup a Dynamic Routing Protocol and allow that Dynamic Routing Protocol to discover those destination networks for me.
Let's think about the different dynamic routing protocols that exist and our focus will be EIGRP. But we have to think about where this fits into the overall orchestra of different routing protocols. So let's name off a few. I'm going to describe a Distance-Vector Routing Protocol, which is standardized, and measures networks via hop count. Which routing protocol am I talking about?
Routing Information Protocol, or RIP for short. Okay. We're not really going to focus too much on RIP and thankfully, that is the case. But there is another standardized protocol that is not distance-vectored, it's link-state. And this Link-State Routing Protocol, we've seen it before. And earlier discussions at the CCNA level, and that open standard Link-State Routing Protocol, which one am I describing now? Well this should be the Open Shortest Path First, or OSPF for short.
Now both of those that I mentioned, RIP and OSPF, those are standardized. And EIGRP is getting close to being standardized. But EIGRP is still Cisco proprietary and it is incredibly good at doing these tasks. And let's focus on what these tasks are for any Dynamic Routing Protocol. The goal of any Dynamic Routing Protocol is to figure out all the networks in our autonomous system. We want to know how to reach every single network in our autonomous system. And we want to make sure that, that routing information is not stale and inaccurate because of a change. When things are in a state of flux, when things are changing and a Dynamic Routing Protocol is adapting, what do we call that adaptation of the information? What is that process called?
The process is known as "Convergence". Sounds pretty cool, isn't it? Convergence. What we're doing is, we're adapting to the current state. What we believe is, all the best paths in the network and how to use those best paths. And we do want to choose the best path and EIGRP is the most accurate routing protocol in terms of measurement. And it also is really cool about the ability to find a new best path if the current path is no longer available. What's unique about EIGRP? And that final one, what makes EIGRP better than any other routing protocol with regards to finding a new best path if the primary goes down?
EIGRP will precalculate a back-up path. So a new best path, if the best path goes away. Whereas with OSPF, if the best path goes away, we then calculate at that particular time the new best path to use. So because we have this ability to know about a secondary path, we could utilize that if the best path goes down. EIGRP is little bit faster to converge if a problem happens because we already have the information we need. It's already calculated. We just inject it into our routing table.
Dynamic routing protocols
We already mentioned a few terms like autonomous system, RIP, EIGRP, OSPF. Well how do they all behave and how do they all play together within our environments? Are they all created equal? Definitely not. They're all going to behave differently. So first off let's define this autonomous system that we mentioned.
It's the grouping of layer 3 devices that may include routers, multilayer switches, layer 3 firewalls, and it represents a routing domain. So these layer 3 devices join and participate in a routing domain, which is usually administered under a common authority, which would be an IT group for an organization. Call that an autonomous system. And it's really a convoluted term, the way that we describe it though. And usually, it works out to be something very, very simple. So if we are to look at a typical organization, the autonomous system would include every nook and cranny of the routing domain of that organization, okay? And so we have a class of routing protocols that work within our routing domain. What do we call that?
Those are known as IGPs, or Interior Gateway Protocols, and we've mentioned them already. We have RIP, Routing Information Protocol. We have EIGRP, Enhanced Interior Gateway Routing Protocol, and OSPF, Open Shortest Path First. So we run these Dynamic Routing Protocols inside of that autonomous system. So that way there, we can discover networks inside of that autonomous system automatically. But there's definitely more than one autonomous system out there, isn't it? And since there's more than one autonomous system, can we utilize Interior Gateway Protocols between autonomous systems? Or do we have something special for that?
Well first, there are tens of thousands of public autonomous systems working on the Internet right now. And there is a routing protocol that meets our current needs for routing between these autonomous systems. This is called Border Gateway Protocol. Now we will not be learning about Border Gateway Protocol. But we should understand that it is classified as an Exterior Gateway Protocol, an EGP. An IGP on the other hand is everything else, OSPF, EIGRP, RIP, okay. And so, there is a scope and a scale to these Dynamic Routing Protocols. But there's also a difference between the way that they do their job of finding best paths, calculating alternatives, and what sort of classification describes those sorts of differences.
Well we have one end of the spectrum being distance-vector and then a completely different end of the spectrum being link-state. And then, in between we have Advanced Distance Vector or Hybrid. And that's where EIGRP falls into. But to understand how EIGRP behaves, we really have to define Distance-Vector versus Link-State. So Distance-Vector, we like to refer to it as the caveman dynamic routing protocol. Why? They're very brute force. They really don't care about their neighbors, they don't care how they treat their neighbors, so they're very cavemen like. But let's dive in this a little further. So there's the simplistic brute force algorithm, it's called the Bellman-Ford-Fulkerson algorithm, the Distance-Vector Routing Protocol sees. They usually don't mention Bellman-Ford-Fulkerson, but that's what it's called. And then, there's Link-State - this is the elegant.
If a Distance-Vector protocol is a caveman, well Link-State is ultra-elegant version of a dynamic routing where we do things a little too carefully, honestly. The algorithm that Link-State Routing Protocols use is the Dijkstra's Shortest Path First algorithm, or SPF. That's in fact where OSPF gets the latter three letters, right? Open Shortest Path First. Shortest Path First being Dijkstra's algorithm, okay. So you see, it's a whole circular logic, circular naming structure. Okay. So that's another way of separating out, dividing these dynamic routing protocols.
|Distance Vector||Link-State||Advanced Distance Vector|
|RIP v1 / RIP v2||OSPF||EIGRP|
|Bllman-Ford Algorithm||Dijkstra's SPF Algorithm||Diffusing Update Algorithm (DUAL)|
|Hop count based on numbef of routers||Cost based on bandwidth||Feasible distance based on bandwidth and delay (defaul)|
|Learns from directly connected routers||Learns from the source of the routing information||Learncs from directly connected routers that are neighbors|
|No neighbor adjacencies||Establishes neighbor adjacencies||Establishes neighbor adjacencies|
|Exchanging routing table information every 30 seconds||Exchanges LSAs only if a change occurs or every 30 minutes||Exchanges routing information only if a change occurs|
|Not scalable of flexible||The most scalable but not the most flexible||Scalable and the most flexible|
So we have two ends of the spectrum here. In between, we find EIGRP, Cisco's proprietary protocol. We can classify it as Advanced Distance-Vector or Hybrid. So why Hybrid? We think about combining the best of Distance-Vector with the best of Link-State. So it's a hybrid approach here. It runs a completely different type of algorithm to accomplish its goals. It's known as the DUAL Algorithm. And what does DUAL stand for?
Defusing Update Algorithm, so 'D', 'U', and then 'Al' of 'DUAL'. And so, that's the heart and soul of EIGRP and let's not lose sight of the fact that we're in a journey right now to teach you about EIGRP specifically. But we do have to understand where it fits into the overall picture.
So we can classify these Dynamic Routing Protocols even further. All these classifications. But we have these classless versus classful. What's the major difference between the two? The major difference is our Classful Routing Protocols do not pass Subnet Mask Information in the routing advertisements, whereas, our Classless Dynamic Routing Protocols do. What do you think? Is it better to pass Subnet Mask Information in our routing updates or not? It's really important that we do. We really should be passing routing updates in our Subnet Mask Information in our routing updates.
I want you to think about something. I want you to think about the fact that our network topologies that we've seen heavily use VLSM, or Variable Length Subnet Masking. They do. Laboratories that you do, they use VLSM. And therefore, we have such a wide variety of subnet masks. And so, how could you possibly advertise a network without coupling in that same advertisement, the subnet mask of that network? Otherwise, how can you make heads or tails of what mask they're using there? If you hear about a subnet that has a /27 mask, but you don't get that /27 mask, what the heck are you going to do? Classful Routing Protocols do not work with VLSM, they don't. We need Classless. They would have to assume. They would have to guess what the Subnet Mask Information is, so they can put the information in the routing table.
So Classless is what we use. Don't even think about Classful Routing Protocols anymore. What would that be? What is a Classful Routing Protocol?
RIP v1 is always Classful. But even EIGRP and Border Gateway Protocol can behave Classfully if you use the wrong configuration. You can ask them to be Classful and let's not do that. So here is a phrase that will help you remember. Less is more. In reference to the fact that the more that we get, is the subnet mask included in the routing advertisement for that network. So Classless Dynamic Routing Protocols give us more.
Let's say, we have a destination network. 10.1.1.0/24. Is it possible for us to learn about that destination network from multiple sources?
Let me ask you a question? Do we have multiple routing protocols running in your fictitious environment? Yes, we do. Let's say, we have EIGRP, we have OSPF, we even have static routes. Okay, so a source of routing information could be connected routes, which we get with the IP address command on an up/up interface. Static routes with the ip route command or the variety of Dynamic Routing Protocols that exist. So the question was, is it possible that we hear about the same network from multiple different sources? And so the answer is - yes that's entirely possible.
So let's say, this 10.1.1.0/24 network is learned from both EIGRP and OSPF. Can I put that information from both EIGRP and OSPF in my routing table at the exact same time?
I'm going to give you a hard and fast rule. If that is the exact same prefix, meaning it has the same subnet ID and the same subnet mask, only one source can be the solution to that routing need. And that's very important because there could be slightly overlapping routes in the sense that one route might be to the entire ten network. And then, one could be to a subnet of the ten network. And then, one could be to a host. Those are different destinations, and therefore, OSPF could tell us about one, EIGRP could tell us about another. But going back to the problem at hand, if they're the exact same, only one can win. It's like Highlander. There can be only one.
All right, so with that in mind, is there a way we can determine which of those sources of information is more believable, is better? Well this is the challenge that all routers have. They can have multiple sources indicating the way to go. This is the mechanism that we're talking to you about. It's called administrative distance. Now I want you to ponder that for a moment. Is this the same thing as metric? Distance says how far something is, right? But is administrative distance saying how far something is? No. Not at all. Our metric tells us how far that destination network is. But our administrative distance ranks these sources of information against each other. Notice here:
|Route Source||Administrative Distance|
What do these values mean? Well let me point something out to you. Lower means more believable. Lower means more believable. So zero is directly connected, can't be any more believable than being directly connected. Static is 1. We manually configure it as administrator. Pretty believable. But 90, 110, 120 seems like those numbers are pretty high.
They are high. And this value goes up to 255, right? So RIP in the game of golf, that is administrative distance, and we want to shoot lower in golf, right? You might not be a golfer, but you probably understand that. RIP is not so good. OSPF – slightly better, EIGRP – better still. And the Dynamic Routing Protocols are really staggered off the things that are fundamental. Connected routes are so fundamental. IP routes, almost equally fundamental. And if you get those sorts of things wrong, you might as well just turn off the router because it's not doing a good job for you.