Wednesday, September 30, 2015

ARIN IPv4 run out on RunAs Radio, time for IPv6! - Show 440

Super happy to have done another RunAs Radio show with Richard Campbell. We chat about what just happened with ARIN and the IPv4 run out. We cover a wide area of topics but it is hard to stay focused when chatting with a person as diverse and knowledgable as Richard!
Check out the show!
- Ed

Friday, September 25, 2015

ARIN finally ran out of IPv4 - what's next?

We have known for a long time that ARIN would be depleting their IPv4 address pool sometime this year. It happened yesterday Sept 24, 2015. So what does that really mean? Unlike some of the other RIRs around the world, ARIN chose to not have any excess reserved pool but to simply completely burn down what IPv4 address blocks they have left in inventory. This means that unlike other RIRs there is not "reserve" bucket at all to reach back into.

Honestly, while the event in very important we are still going to see IPv4 use for a long time. The reason why is that the majority of small and medium sized businesses still get their IPv4 address space from their local service provider. These ISPs still have IPv4 inventory left. I haven't seen any consolidated information about how much inventory major US providers have left but I can imagine at least several years worth. So, if a business needs IPv4 addresses they can still get them.

I do think to get them you will pay more money. Plan and simple economics come up. IPv4 is now a scarce commodity and the price per IPv4 address will only go up over time. This means that IPv6 addresses will become more common as they will be the cost effective option. Especially since that is the only way for the service providers to continue to grow and add customers. So for customers demanding IPv4 for any reason they will have to pay more and those that are willing to go IPv6 only will likely get the most cost effective service pricing.

The other impact is that a lot more folks are going to have to start getting comfortable with IPv6. How to manage it, use it and write applications that run on top of it. There is no way you can claim to be an early adopter of IPv6 at all now but you can certainly join the rapidly growing group of users who are learning and using IPv6. IPv6 is the future and the future is now!
- Ed

Wednesday, September 02, 2015

Datanauts 006 – Assessing IPv6 Readiness

I had a great time talking with Ethan Banks and Chris Wahl who are the co-hosts of the Datanauts podcast over at the Packet Pushers website. We dug into IPv6 and the state of things today. You can listen to the show and let us know what you think by hitting up the gents at @datanauts_show.
I can't recommend this podcast highly enough, it is really well done. I'm not just saying this because I was on the show. Honestly, I've listened to all the other Datanauts shows they have put out, the content is really that good. It is worth your time, trust me. Hope you enjoy it and please feel free to give feedback about what you thought about the show too. You can just hit me up on twitter @ehorley.
- Ed

Wednesday, July 15, 2015

IPv6: Introduction to the Protocol is finally available on Pluralsight

It took me forever to get this course written and recorded (sorry Don) but it is finally available up on the Pluralsight website. Many thanks to Myles Wilson for staying with me through the whole journey as my editor and to Andy Newman for thinking I was worthy of producing some content for Pluralsight (technically he was chasing me to do this since the Trainsignal days). Last but far from least is a tip of the hat and thanks to Steve Evans who first put my name in to Andy. Thanks to Steve my wife is now asking me daily why I haven't put out more content up on Pluralsight.

If you have feedback about the course don't be shy. I can do updates, revisions or fixes so let me know. Remember, this course is an introduction or beginner level course. So all my friends who are IPv6 experts, keep that in mind! You can reach out via twitter to let me know or leave a comment below.
- Ed

Monday, June 01, 2015

IPv6, Docker and building for scale

I've had some interesting conversations lately around some of my ideas about why Docker would be fundamentally better with IPv6 and IPv6 only. You can check out the podcast I did with Matt Oswalt and Jon Langemak for the ClassC Block.

Let's jump right into it. Some of the constraints around Docker is the IPv4 networking stack, how to do port forwarding, NAT and dealing with RFC 1918, even routing. There is a lot of state and management that goes into all that code to just deal with basic networking.

What if we could use a new paradigm to make Docker easier, with less state and dependencies and best of all, not having to remap any ports at all?

What if we gave every Docker host a routed /64 IPv6 address prefix and allowed it to preallocate IPv6 addresses from that /64 block to any Docker container that wanted to be run on that platform.

Better yet, let's never reuse that IPv6 address again - every (what?!? are you crazy?!?). How long would it take to burn through that /64 of public IPv6 address space?

As  Leonard Hofstadter's mom on Big Bang Theory said, "I'd like to do the math." So here we go:
Let's assume a crazy number of containers on a single host in a second, something so large no one will argue with us about it not being large enough.
  • How about 10,000,000 per second <-- yes, 10 million per second
  • A standard /64 prefix in IPv6 is 18,446,744,073,709,600,000 addresses.
 And the math:
18,446,744,073,709,600,000 IPv6 addresses / (10,000,000 IPv6 addresses/second * 60 sec/min * 60 min/hr * 24 hr/day * 365 days/yr) = 58,494 years

To consume a single /64 of address space on a single Docker host that is generating 10 million containers per second it would take more than 58 thousand years to consume all the IPv6 addresses.

A single /48 that you would allocate to a data center has 65,536 /64's in it. So, if you allocate an entire /48 to just your Docker hosts (this means you are running a data center with 65,536 servers) then you will not run out of unique IPv6 addresses on your server for (more math):
58,494 years * 65,536 /64 per /48 = 3,833,478,626

So, at a run rate of 10 million containers per second, a standard /48 that you would allocate to a data center for docker hosts it would take you 3.8 billion years to consume all the IPv6. I think that will cover almost every company that ever needs to run Docker containers and have them be unique at a point in time. Best part, we don't have to modify port numbers, they are globally unique, we can lay down a predictive algorithm for building out the lower /64 and we don't have to deal with any layer 2 at all, it is all routing! Seems like Nirvana to me.
- Ed