views:

347

answers:

6

I develop applications using many languages, and a few platforms. From what I am reading IPv6 is going to be mainstream within then next 5-10 years, and that some ISP's even offer direct connection to the IPv6 internet. On my private network - all the machines have dual stacks and communicate with each other using ipv6 when possible.

My question is - should my new application be written to support IPv6? If so what are the things I need to consider? Are there any downsides to supporting IPv6 now?

I don't know if this will help or hurt, but here are some more specific details to maybe direct the answers a little:

My app would run on win/lin/mac, and that it would consist of a platform specific "platform" app written separately for each platform, and a common "core" app written in an interpreted language.

My app should be able to locate other instances of itself running on any of the 3 platforms, and support both TCP and UDP between any two machines.

+1  A: 

The most up to date news that I have heard is that with NPA... IPv6 is really not going forward very fast, if ever. (Steve Gibson - GRC)

It might not be worth your time.

IPX Ares
Do you have a citation for this "Steve Gibson" quote?
John Saunders
Do a search for "Security Now Episode 99"
IPX Ares
The episode is 199: http://www.grc.com/sn/sn-199.htm That page has the transcript for the episode in question.
Brisbe42
What that confirms for me is that Steve Gibson is an idiot, which is something I've generally felt.
Omnifarious
+7  A: 

Yes: all of your new applications should support IPv6. As you've said yourself, it is already being used in many LAN environments.

No: you shouldn't have to change much in order to support IPv6. The underlying framework should take care of the differences for you. This assumes that you aren't doing "bad" things like storing or otherwise manipulating IP addresses.

John Saunders
Downvoter: why the downvote?
John Saunders
+1  A: 

I would at least start trying. I've already made some adjustments to some of my code. It hasn't been fully tested and there's still more adjustments to be made but even if it never gets used in these particular applications I'm going to have to support it at some point. Might as well learn now before it's a sink or swim situation.

Spencer Ruport
+2  A: 
Brisbe42
Thanks.
John Saunders
I didn't get the same impression from reading those 2 pages. Maybe its reader bias...
sylvanaar
Not sure--it may just be lost in translation to text. I'd listened to the podcast version of it, where the intent of 'It's not ready yet' seemed to be stronger. I'd say the best sign of his speech's intent, to me, is: "But for any kind of application today, IPv6 is just not here. Some statistics are interesting. Believe it or not, Russia has the highest percentage of IPv6 penetration... And they're at 0.76 percent... So it's just not happening."
Brisbe42
+2  A: 

I see some here is citating Steve Gibsons opinion on the subject. Although Mr. Gibson is quite skilled in security matters (I do listen to every "Security Now" episode and encourage all interested in security to do the same), I believe he is a little bit out of touch with the current scheme of things when he predicts no future for IPv6.

The use of IPv6 has already expanded beyond mere academic use, and is getting quite a lot of attention in the defence research industry where it is no longer a question of "if" but "when" it will replace IPv4 (in military networks, that is).

Of course, the Internet as we now it will still use v4 for a very very long time, one of the reasons being that most of the hardware and software out there just isn't IPv6 compatible.

I can't think of any downsides to implementing IPv6 now (apart from the extra coding time and the added complexity of maintaining two IP stacks, of course). In fact, with IPv6 things can be much easier. For instance, you can forget all about NAT traversal problems.

Terje Mikal
+2  A: 

Your framework should support both if possible, but if you have a choice of one, I would go with IPv4, but make sure that you can add/transition to IPv6. But this would also depend upon who is the end user of the product and what are the requirements for your project. Is this going to user which are using/will use IPv6 or are you going for acceptence into an existing base which mainly uses IPv4.

Based on my experience, the project I am currently working considered going to IPv6 as there was a mandate to be able to support IPv6. For the most part what we found out is that the hardware vendors (switch, routers, computers) and WAN vendors were able to support switching to IPv6. There would be some work in integrating existing IPv4 hardware, but it could be done. Based on cost, it would be about the same, at least hardware wise.

However, some software products we are using are not and may not move to support IPv6, while others seem to be more adminable to supporting it. Based on that, we are upgrading to new versions of the software, but will probably remain IPv4 for the monent, or at least until the software catches up in terms of support of IPv6.

Glenn