Someone on a mailing list asked recently “What’s the best practice for IPv6 addressing?” The question got me thinking, and I thought I’d share some useful guidelines.
Evolution has no business plan.
Silvia Hagen, Sunny Connection AG
So you have an application. It was written (as far as you know) without IPv6 in mind, and now it has to work with IPv6. How hard is that going to be? Well, it depends on the application. Most of the following is not really Java specific (but some of it is).
IPv6 destination address selection is the process of deciding which IPv6 address a connection should be made to. This is the flip side of IPv6 source address selection, which has been the subject of several earlier articles (start here). Destination address selection is described in the same RFC as source address selection – RFC 6724 (which obsoletes RFC 3484).
If you read the doco (like “man gai.conf”) you would be forgiven for thinking that the contents of /etc/gai.conf controlled source and destination address selection in IPv6. You would be wrong.
I keep lots of stuff on top of my front-loading washing machine – detergents, pegs and so on. NAT provides a security benefit in the same way that a front-loading washing machine provides a storage benefit.
Karl Auer, August 2008
If you build a world with low ceilings, don’t expect to see anyone invent flying machines.
Karl Auer, August 2008
I just found this in my archives as part of a discussion about IPv6 uptake:
The point is that the storm clouds have well and truly gathered, thunder is rolling in the hills, great big rain drops are splotting into the dust all around us, and what are we doing? Wandering around the outside of the Ark tut-tutting about the quality of the woodwork and loudly suggesting the construction of various sorts of rowboats.
Karl Auer, 2008
NAT came into existence because of IPv4 address scarcity. With IPv6, that reason disappears. So, if we no longer need to multiplex addresses, should we retain NAT?
In a previous article, I discussed how IPv6 source address selection worked. Normally it all Just Works, but there are several situations where you may want or need to control the address selection process. In this article, we’ll look at why you might want to control source address selection, and how you can do it.