This has been another long standing topic for me. IPv6. Everyone needs to learn it, and implement it, as fast as possible. But, not of ANY of the reasons that you have heard up to this point.
Yes, yes.... IPv4 is running out of addresses.... Except, like petro, they seem to keep finding more of them all the time. But, there is a point where squeezing more v4 addresses out of that 32 bit shale wont make any sense. But, so far, they've been able to frak their way to more addresses to keep the IPv4 Internet happy and moving at meme speeds.
When it comes to IPv6 conversations, on why you'd want to go to v6, it basically goes like this.
- OMG We're going to run out of addresses!!! (Yes, and peak oil was in 1995!!!)
- IPv6 is better thought out than v4.
- IPv6 has a streamlined (although larger) header.
- Removes some of the processing routers have to do with IPv4. (Fragmented packets, etc)
- IPv6 is compatible with v4 at a sockets layer.
- DHCP is dead. Long live DHCP.
- IPv6 builds into the protocol some things which are optional in v4. (Multicast, IPSec, etc)
- And... everybody's doing it... You -know- you want to do it.... (Slap the sales guy when he does this. I mean it, smack him.)
And, that's about as far as it gets. I hate to say this, but most of that stuff is so incredibly technical, only the most hard core of network engineers can stay awake while talking about it (and, if it actually gets you excited, welcome to the club). Honestly, if you want to make normal people go to sleep, start talking about IPv6 in depth. Sends them right to that "I'm pretending to care about something meaningful but really only care about happy cute kitty pictures that I see on reddit.com" droopy eyelid flutter. You know, the dozing off to sleep look that people get while listening to a college professor drone on about the inner workings of the financial system as it applies to banking balance sheets, or chemical chains related to cholesterol conversion by the mitochondria. Unfortunately, people always end up doing that little head shake and snap back to attention and try to pretend they were paying attention. I kinda wish they would quit wasting our time and just fall right to sleep sitting there. Sleep is good, and maybe, after they've napped awhile, they'd wake up and be a bit more interested in the things that keep them alive and make humanities existence on this dirtball better for everyone. One can only dream...
Whoops... Back on course Rob... Anyways, where was I? Oh Yeah...
So, those bullet-points are bull. Well, mostly bull, simply because #1 The address prophets have been wrong up to this point, and will probably continue to be wrong into the near future. #2 The rest of the stuff doesn't fix anything broken, it just improves some stuff in IPv4 that's "less than optimal".
So, any of the droopy-eyes that actually stayed awake long enough to get half of an understanding of why to do an IPv4 to IPv6 conversion are thinking at this point that the Network Engineer is #1 Wrong (because doom and gloom IPv4 addresses haven't run out). #2 Doesn't have a life (and should get a hobby like normal people instead of worrying about when DHCP leaches are going to run out).
And, if the droopy-eyes do a little research, they find out that IPv6 has some (GASP!) very scary drawbacks.
- Complete retraining for ALL IT people, not just the network engineers.
- Application compatibility questions (You mean you're NOT supposed to hard code IPv4 addresses into your applications?)
- Vendors milk the $#!+ out of this conversion. Secret vendor code for a organization doing an IPv4 to IPv6 conversion: CHA-CHING!!!
- The consultants say that you're doing it wrong. (Doesn't matter how you are doing it, you're doing it wrong)
- Not a simple conversion that you can do in a weekend for a organization with non-trivial network. ("Don't worry Billy-Bob, we'll be done by Saturday night. Wouldn't want to cut into beer-thirty.")
- And.... after you're done, IPv4 will still be alive and well in your network.
Once droopy-eyes figures all of this out, the first thing he'll do is make a "Can't believe a word they say" mental sign for the network person involved, and that will be the end of the conversation.
Obviously, I believe, us engineering types are having the wrong conversation, and with the wrong reasons.
Complimentary TLDR header... You're welcome.
Here's what most network people miss (it's not obvious, don't feel bad).
IPv6 allows for much greater flexibility in subnetting.
Yep, that's it. And, that's HUGE! As in OMGWTFWIT HUGE!
First of all, let's remember back a few years... Back before everyone was running Ethernet. Back before Layer 3 switches. Back before Layer 2 switches. Way back in time, before a company called Kalpana killed off every networking technology other than Ethernet (RIP Token Ring).
Thank you Kalpana, for destroying the scourge of networking, the fire breathing dragon of Layer 1, and making Ethernet so wildly overpowered that every other networking standard is practically dead.
Now, I'm going to point out what should be obvious.
IPv6 plus Layer 3 switches means the same thing for Layer 2. Death to Layer 2.
What??? Heresy I say! Heresy! I shall put carrot sticks in my ears until you stop with this utter sense! I live by the abuse I receive from Layer 2! I shall not turn from the scourging that I receive from spanning tree freaking the hell out every time someone plugs a DLink switch into the network twice in a sales conference room! Begone with your words of common sense you blogger you!
Wait for a second before you call me a nut. Layer 2 is not good, it's just been a (un)necessary evil due to limitations in how networking technology has worked since Bob Metcalfe made commodity networking technology available to everyone (and every organization). If we think of breaking up our Layer 2 networks the same way we broke up our Layer 1 networks twenty years ago, all of a sudden, life becomes much easier. It becomes much better, in nearly every way.
- Reliability
- Performance
- Fault tolerance
- Simplicity
- Security
Before I address any of these, I just want to say this. I've heard of organizations that have the stereotypical "One Single Huge Flat %@#$%#! Network". You know, the University campus with 70 thousand students all hooked up to 10.0.0.0/8. The networks where one PC sending out a stream of broadcast packets can shut the entire city down. The networks where, when you call up the company looking for a quote, the person taking the phone call says "our network is down right now, can I call you back with that price?"
Big flat Layer 2 networks are the bane of IT, which means they should be the bane of humanity. If you've grown up living on a Single Huge Flat Network, I'm here to say this... THAT'S NOT NORMAL! Just because you grew up watching your parents beat each other does not mean that you should go out and get a spouse and beat them just so that you can be like your parents. BIG LAYER 2 IS BAD (NO SPOUSE BEATING)! Same way as big Layer 1 was bad (ok, big Layer 1 is worse than big Layer 2, but networks were smaller back then).
Let's say that you take every layer 3 switch that you have and stop using it as a "switch". "no switchport" every interface, and use them as 48 port routers instead. This idea would be pure crazy in IPv4-world. In IPv6-world, actually, it makes sense. If we do something other than EUI-64 (which is a bad (ethically terrible?) standard, no other way to say it, the MAC address to IP address spec is badly implemented, and moot the moment that RFC 4941 became standard), say a /96 instead of a /64, and put that on each interface of all of our Layer 3 switches, each switch port becomes it's own Layer 3 network. Each network could handle a subset of 32 bits (something less than 4 billion) addresses. But, if we assign a /64 to a site, as recommended that would give us 2^32 number of Layer 3 ports, each with roughly 2^32 total available addresses on each port.
If your site is using nothing but Layer 3 switches, that means every cable in the site is it's own Layer 3 network. Hundreds, thousands, millions(?), of Layer 3 networks, all working together on the same network.
No Spanning Tree. Bye bye STP, we don't need you anymore. Plug in two cables into the same DLink switch? No problem, now all of the PC's on that DLink see two networks instead of STP (hopefully) getting engaged, BPDU guard shutting them down, or the network going down because it's one of those neat little switches that block STP.
No PC's freaking out and taking down huge sections of the network with broadcast storms. Broadcasts are only between the PC and the switch. IGMP and CGMP are gone, as they should be. Multicast is tightly controlled by default, no extra work needed.
No "Default Gateway". Network traffic is localized and can be routed via multiple ingress and egress points. Bye bye default gateway as we knew you. We can now have multiple "gateways" functioning concurrently and in parallel into any network environment. It's trivial almost.
Routing protocols handle all uplink traffic. Want to hook a closet switch up to multiple backup paths? No problem. Rerouting traffic between and through closets becomes as fast and easy as the routing protocol you use. If you keep it organized and have each switch assigned it's own /80, then it can send out that single summarized /80 instead of each of the individual interface /96 networks. On a single /64 campus, that means you can have 65536 different switches, each with a potential 65536 Layer 3 ports. (Quick Cisco note, EIGRP makes this easy IMO)
The concept of a VLAN is gone, forever. Yes, gone, good bye, don't let the door hit your trunking protocol on the way out. Stop your internal dialog, VLANs are a bad kludge, and that's all they ever were. Good riddance to bad rubbish. VTP is the Devil. (Now, I'm saying it this way for effect, simply because VLANs are a kludge, and kludges should be the very rare exception, not the rule. With IPv6 and Layer 3 switches, you don't need to kludge anymore, kludging is not normal, stop beating your spouse.)
Setting up a "no switchport" Layer 3 IPv6 network is much easier than Layer 2. You'll just have to trust me on this one. I'll take a post or two and demonstrate this. Compared to Layer 2, IPv6 L3 is simplicity itself.
But, the three most important reasons for IPv6 and only Layer 3 switching to the port. Security, Security, Security. This should take all of 30 seconds to realize, and I guarantee 99% of network engineers haven't thought of it. And, it is because of the UNBELIEVABLE BENEFITS TO SECURITY, that we'll get to implement IPv6 as a way to eliminate Layer 2.
I'll leave it here. Obviously there are a bunch of concepts here, and if I could have written a small book on Weialgo, advocating for the elimination of Layer 2 at a switchport level the same way we eliminated Layer 1 would end up being a very large book. By no means did I cover every reason to do this in this post, but, hopefully it gets you thinking in that direction.
My next post will be an example of one of the configs that I'm using for this.
Let me know what you think.
Rob