Mysterious missing DHCPv6 feature, was Re: How does one obtain an IPv6 DNS server when VPNing to an ASA?

Shane Kerr shane at time-travellers.org
Mon May 17 09:42:44 CEST 2010


Bill,

On Mon, 2010-05-17 at 06:32 +0000, bmanning at vacation.karoshi.com wrote:
> On Mon, May 17, 2010 at 08:05:00AM +0200, Mikael Abrahamsson wrote:
> > On Mon, 17 May 2010, bmanning at vacation.karoshi.com wrote:
> > 
> > >	DHCP to hand out DNS servers, NTP servers on request, and do
> > >	dynamic update for the forward and reverse DNS maps.
> > 
> > And the new feature you were looking for was to hand out a default-gw, 
> > right? That's the "this" feature you were referring to and IETF didn't 
> > want to do?
> 
> 	-and- hand out DNS servers and NTP servers w/o pulling new
> 	option codes - basically rework DHCP internals to remove the
> 	IPv4 specific formats and use an adressing abstraction to 
> 	allow the existing options (that code addresses) to become
> 	address agnostic. For me, it was the more intuitive way to 
> 	slice the DHCP problem - now we have -two- things called 
> 	DHCP, one for IPv4 and one for IPv6 - and they are functionally
> 	different.  This seemed nutz to me, we don't have a DNS for 
> 	IPv4 and a slightly different and incompatible DNS for IPv6. **

There are a lot of differences, in all ways better for IPv6.

For example, in IPv6 you always have link-local addresses to use, even
before you get any "real" IPv6 addresses. For DHCP in IPv4 you have to
"cheat" a bit on all operating systems to do things like "send to an IP
without using ARP" or "send a packet without having a IP on the
interface". You actually need OS-specific code for this in most cases.

Another fundamental difference is how addresses are managed. In IPv6 you
have multiple addresses per interface. A proper address management
protocol, like DHCPv6, needs to know how to hand out multiple addresses
to a client. Also, in addition to lease timers, each address has
different timers to allow things like renumbering and privacy-preserving
addresses.

A huge amount of protocol hackery would have been required to include
even just the address management bits in something compatible with DHCP
for IPv4. Since DHCP for IPv4 is itself a hack on BOOTP, which Google
informs me evolved from RARP, it was already quite crufty. Having
implemented DHCPv6, I assure you it is a joy to work with, compared to
most other IETF protocols. :)

> 	But what do I know.  I'm just a code hobbiest - no corporate
> 	or vendor backing here.  I am not going to try and change the
> 	vectors on this code/base/spec - the inertia is just too large.

That's one way to look at it. I tend to think the DHCPv6 specification
is pretty good, and not in need of changing. In 5 years maybe I can
finally start using computers without this legacy DHCP crap on it, and
then I'll be very glad for the changes.

--
Shane




More information about the ipv6-ops mailing list