Introducing draft-denog-v6ops-addresspartnaming

William Herrin bill at herrin.us
Fri Nov 19 22:52:41 UTC 2010


On Fri, Nov 19, 2010 at 4:20 PM, Richard Hartmann
<richih.mailinglist at gmail.com> wrote:
> On Fri, Nov 19, 2010 at 21:45, William Herrin <bill at herrin.us> wrote:
>> I have an anti-naming proposal: Allow users to place the colons
>> -anywhere- or even leave them out altogether without changing the
>> semantics of the IPv6 address.
>
> A decade or two of established syntax disagree. IPv6 addresses, UUIDs
> and similar have a unique syntax for a reason. Otherwise, we, nor
> computers, wouldn't be able to quickly distinguish an IP from a hash.

Hi Richard,

I thought about that. Have a "one colon rule" that IPv6 addresses in
hexidecimal format have to include at least one colon somewhere. The
regex which picks that token out versus the other possibilities is
easy enough to write and so is the human rule: "Oh, it's got
hexidecimal digits and a colon in it. IPv6 address."

There is one serious problem with switching notations: we've already
started dropping the leading 0's inside each coloned-off section, and
that would have a different meaning if the colons could be placed
anywhere.

fd00:68::1 and fd:0068::1 mean different things now. The former means
fd00:0068::1 while the latter means 00fd:0068::1. I would instead have
them mean the same thing: fd00:6800::1. The single-colon separator
gets syntax but no semantics and the :: separator means "all middle
nibbles are zero" instead of "all middle two-byte components are
zero."

I mean, when you think about it, the consequence that :: means "all
middle two-byte components are zero" is kinda weird.

> Even if they were for readability only, they would still be for
> humans. Same as the specific, canonical name we are trying to agree
> on.
>
> If people want to interpret more into the colons than there is to see,
> they will do so regardless of a name.

Anything you call out will be interpreted as special. The more you
call it out, the greater the expectation that the distinction is
important. That's human nature.

You've explained netmasks before to folks whose brains couldn't get
past the dots in the address. We all have. And referring to IP address
notation as "dotted quads" just reinforces classful addressing
concepts so that folks assigning themselves 10/8 subnets damn near
always split on /16 and /24 boundaries.


> The rest of us will work faster, more efficiently and not explain the
> same old thing a gazillion times.

And even more efficiently when we don't have to repeatedly explain
that the mental model implied by the notation style is, in fact, not
how the technology actually works.


On Fri, Nov 19, 2010 at 4:31 PM, Richard Hartmann
<richih.mailinglist at gmail.com> wrote:
> In any case, other than "some people might see the colons as magic
> markers" I don't really see an argument in favour of avoiding a common
> name. And that does not seem to hold much water. This is not meant to
> be an attack, I simply wonder if I am missing something.

No sweat. When I shoot my mouth off, I expect to be challenged on the
remarks. Part of the fun lies in discovering whether the thesis is
defensible.

By the by, as long as I'm criticizing IPv6 notation, let me express
just how poor a choice of separator character the colon is. The colon
separates the IPv4 address from a directory or port description only
slightly less often than the slash. Writing the parsers to handle an
IPv6 address as a drop in is a pain in the tail. Should have used a
dash, underscore or plus. Those are far more rarely used in
tokenization.

Regards,
Bill Herrin


-- 
William D. Herrin ................ herrin at dirtside.com  bill at herrin.us
3005 Crane Dr. ...................... Web: <http://bill.herrin.us/>
Falls Church, VA 22042-3004




More information about the NANOG mailing list