In a message written on Mon, Feb 28, 2011 at 06:49:36PM +1100, Karl Auer wrote:
I do think though, that assuming DHCP is the way to get some of these things might be shooting from the hip. Perhaps there is a better way, with IPv6?
DHCP is a terrible protocol for 2011, and will be an old school throwback by 2040. The fact that it's the option on the table for IPv6 is a shame.
The difficulty is that now everyone is in a tearing hurry; they just want everything to work the exact same way, and they want it NOW. There is "suddenly" no time to work out better ways. And goodness knows there must be a better way to boot a remote image than delivering an address via DHCP!
Those who designed IPv6 appear to have ignored the problem space. They could have offered a better solution, but did not. There seemed to be this idea that most of what DHCP did was deliver an address, which is a very naive way of looking at it. So they came up with a new method to get an address and ignored the rest of the usage models. Bootp nee DHCP was designed in an era where a TCP stack in an embedded device was a costly addition. Now a full TCP/IP stack comes for free with a $0.50 micro-controller. If RA's could give out a "configuration IP address" hosts could tftp/http/whatever down a config file, text, xml, some new format. There could have been innovation in the space, and the time to sell people that it was the right thing to do. For some reason though we all went head in the sand. And I mean all, operators ignored the IETF until it was too late, the IETF decided the operators didn't know what they were talking about and/or were stuck in an IPv4 world. So now we have a gap, a very short time frame, and only one half done solution on the table. We'll likely have to run with it as starting over now would take too much time. It's really a gigantic missed opportunity that probably will only come along every few decades. Maybe the next time around we'll do better. -- Leo Bicknell - bicknell@ufp.org - CCIE 3440 PGP keys at http://www.ufp.org/~bicknell/