nanog mailing list archives

Re: Introducing draft-denog-v6ops-addresspartnaming


From: William Herrin <bill () herrin us>
Date: Sat, 20 Nov 2010 12:12:09 -0500

On Sat, Nov 20, 2010 at 5:05 AM, Richard Hartmann
<richih.mailinglist () gmail com> wrote:
On Fri, Nov 19, 2010 at 23:52, William Herrin <bill () herrin us> wrote:

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."

this would
still make it hard for humans to detect an IPv6 address at a glance,
makes it impossible to quickly pick out any sections that are more
relevant at the moment

Which is why you wouldn't conventionally remove the colons even though
the format would allow it. You might, however, move the colons to
highlight the delineations relevant to a particular address rather
than the meaningless two-byte separation.

For example:

260:abcde:123456:98::1

260 - IANA to ARIN, a /12
abcde - ARIN to ISP, a /32
123456 - ISP to customer, a /56
98 - customer subnet
::1 - LAN address

fd:1234567890:abcd::1

fd - ULA space
1234567890 - ULA global ID
abcd - user subnet
::1 - LAN address

Instead of this meaning-filled separation, we have:

260a:bcde:1234:5698::1

which doesn't tell us a single helpful thing about how that address is
organized. The only thing the colons do there is make it easier to
blindly transcribe, like the dashes in a CD license key.


and would hog the colon for all eternity,
blocking it for other uses.
Also, this would make adding a port even
more cumbersome.

I've written more than a few parsers. I think your concern here is overstated.


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.

Pattern recognition is a central part of our intelligence, so yes,
it's human nature. This is not necessarily a bad thing.

The way you talk about something trains people how that thing works.
Train them poorly and it's your fault when their mistaken mental model
results in errors.


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

It's a commonly accepted, well-defined convention to save humans
effort while not sacrificing readability. There are weirder things in
technology.

I have no beef with the the notion of abbreviations. I'm just saying
this particular formulation is weird, a consequence of a poorly
thought-out notation format.


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.

If the person can grasp what a bit vector is, they will understand. If
they don't, they will not understand it anyway and I won't waste time
trying to explain it in depth. At least as of right now, you are
giving those people some middle ground which allows them to have a
good working knowledge to use IPv6 reliably without needing this level
of involvement.

It helps if the notation style reminds them that they're dealing with
a bit vector. IPv6 is better about this than IPv4; at least the colons
aren't separating portions of the bit pattern expressed in base-10.
But it could be better. Fixed separations get folks thinking there's a
higher significance. Movable separations offers a constant reminder
that it is just a bit vector.



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.

For at least a few rounds, I am usually good for that, too.
Personally, I think I answered the implicit question above, but it
made me re-asses and re-think my personal & professional opinion on
quite a few things and that's a Good Thing, from time to time.

A value I also find when I'm on the receiving end. :)



PS: Yes, I am fully aware that my complete email is moot anyway as the
IPv6 syntax will not change, ever. I wrote it for fun :)

Yep. However, there is one thing that could be done at this juncture:
intentionally don't name the two-byte groupings. And then make that a
part of the lesson plan: by the way folks, these groupings of four
characters in the IPv6 address intentionally have no name. That's
because the IPv6 address is a bit vector. The colons are only there to
make it easier to read and type; the groupings have no significance.

Regards,
Bill Herrin




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


Current thread: