Introducing draft-denog-v6ops-addresspartnaming

William Herrin bill at
Sat Nov 20 11:12:09 CST 2010

On Sat, Nov 20, 2010 at 5:05 AM, Richard Hartmann
<richih.mailinglist at> wrote:
> On Fri, Nov 19, 2010 at 23:52, William Herrin <bill at> 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 - IANA to ARIN, a /12
abcde - ARIN to ISP, a /32
123456 - ISP to customer, a /56
98 - customer subnet
::1 - LAN address


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

Instead of this meaning-filled separation, we have:


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.

Bill Herrin

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

More information about the NANOG mailing list