[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] IPv4 address size debate

    > From: Bob Braden <braden at ISI.EDU>

    > I have often wondered who was right. In the short run, you were
    > probably right about the threat of OSI. In the long run, would variable
    > length addresses have avoided the IPv4/IPv6 mess? I can only speculate.

You've pressed one of my long-standing hot buttons.... :-)

The right answer, IMO, to the question of "who was right" is 'both/neither'.
To be a bit less cryptic, what _I_ would have pushed for (had I been more
involved at that point; I was part of the MIT crew, and vividly recall David
Reed reporting on this debate, but I was not yet part of the TCP/IP group)
would have been a _packet format_ which _allowed_ for variable length, but
'temporarily' subsetted it so that for the immediate term, the only
allowed/supported value for the addresz length was '4'.

IMNSHO this choice would have been better than either of the two other
options, as it would have had the advantages of both (easy initial
implementation, as well as long-term flexibility), and the disadvantages of

(As a corollary to that observation, it should be obvious that I feel that
both sides of the debate had some good points; a less obvious corollary is
that both had such force that it would probably have been unwise to entirely
blow off either - as I believe blowing off the variable-length crew has

To explore a related question a bit, I must confess I'm somewhat puzzled why
this wasn't done. Maybe it's just me, but it seems to me to be a relatively
obvious idea, and also, to me at least, 'obviously' better than the other

Yes, phasing in support for lengths other than 4 would not have been trivial,
but it would have been possible without being unutterably painful (witness
phasing in support for first A/B/C, and then later, CIDR; although I concede
these were somewhat easier than variable-length addresses would have been).

It would, I guess, have meant the header would be a full-word longer (since
extending it by a short, to hold two byte-length address length fields, would
have left it non-long-word aligned), i.e. more overhead, but I can't think of
any other flat-out downside.

Was this possibility discussed at the time, or was the choice seen as only all
or nothing (i.e. only '32-bits/fully-variable')?