New service decision: IPv6 or IPv4

hostingipv4ipv6networking

While hosting new service these days, what would be best decision. IPv4 or IPv6 ?

If we decided to launch it on IPv4 address:

  1. How easy/difficult to get IPv4 address (considering they getting exhausted out soon)?
  2. Can it be ported easily to IPv6 in coming future?
  3. How can existing IPv6 users be able to communicate with it?

If we decide to launch it on IPv6 address:

  1. How can existing IPv4 users be able to communicate with it?

Best Answer

IPv4 and IPv6 are separate protocols that don't talk to each other. You'll have to support both protocols for now.

Getting IPv4 addresses is getting more difficult and expensive, but you'll have to make your service available over it because not all users will have IPv6. On the other side there will be users who don't have full IPv4 anymore. They might have to share their IPv4 address with many others, they only have IPv6 and need a translation service to reach IPv4 services etc. For those users and for future users you want to offer your service over IPv6 so that they can reach it in the most optimal way.

And hopefully in the not-so-distant future everybody will have IPv6 and we can get rid of IPv4 and the hacks and costs required to keep it working.

One way you could start your new service is to build everything for IPv6-only and put a translator (SIIT-DC or reverse proxy) next to it to translate incoming requests over IPv4 to IPv6. You'll be able to handle both protocols for now, and it will also be easy to clean up and remove the obsolete IPv4 stuff later.

This strategy is especially useful if your service runs on a cluster of servers. The whole cluster can run IPv6-only and you need only one IPv4 address on your translator. It's easier to only have to maintain one protocol on the majority of your machines and requiring less IPv4 addresses can also save you money. That's why companies like Facebook are doing this as well.