(This is a REALLY old post that never got finished because for the most part the research never was complete. I finish it now because I feel that the answers are, for the most part, readily available and the topic is not complete speculation.)
-ORIGINAL POST IDEA-
I’d always kind of wondered about a few things about EIGRP:
- First, if EIGRP is so good (let’s not debate), then why doesn’t Cisco just make it available so that other people can implement it?
- Why is it that EIGRP is the *ONLY* IGP that does unequal-cost load balancing?
So, for number #1: since my original interest in this issue, Cisco actually has opened up EIGRP. See also http://blogs.cisco.com/getyourbuildon/cisco-opens-up-eigrp/
My speculation about #2, and why I think that it will work on Cisco and not others “out of the box” is that it is integrated into the fowarding engine.
-NOWADAYS-
Here is my after-the-fact breakdown:
In early 2009 I had a load of time on my hands as I was unemployed, and didn’t want to go outside until it was warm again. I had the money to do so, so it wasn’t a problem. In the meantime, I was studying a bunch of Cisco stuff so that I would be all set to get a job when Chicago thawed. During this study, I noodled around with all of the protocols in the CCNP book I had on hand in order to be ready for any interview question someone threw at me. In labbing things up in GNS3, however, something occurred to me. OSPF and IS-IS were amazing protocols that EVERYONE used. EIGRP was also really amazing, but no one could use it because it was Cisco only. What a downer if you’re an all Cisco network running EIGRP and all of a sudden you want to introduce a really cool device that isn’t made by Cisco! So I started digging in to what made EIGRP so special. There were a bunch of oddities that I more or less sorted out with packet sniffing. One was the fact that the header described in most books depicts a 24 bit field for the subnet. Sounds fishy, right? What if I have a /29? Well… packet capture revealed that it actually changes that header field dynamically based on need. Neat. I guess. Anyway, the big thing was STILL the fact that EIGRP was the only protocol that could do unequal-cost load balancing. How odd. Though it is kind of a dumb idea in most circumstances, I can see that there are some edge cases that maybe you want to do something like this. Though… really, if it comes down to that, it is probably still not a good idea. It is a neat academic idea, though not a good (in any way) production one.
New shit has come to light, man. http://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/13677-19.html
So it appears that I was right about CEF being key in the whole thing. Maybe that is a no brainer, but I give myself at least a little bit of credit for thinking through that part.
Anyway, hopefully we can see some quality EIGRP implementations elsewhere, but with the advent of SDN, I’m not 100% certain who will care about a non-programmable routing protocol at this point. We’ll see.
Leave a Reply