Subject: [mdnsext] namespace scope and naming "links"

From: Brian Dickson <[email-masked]>
Date: Tue, 6 Nov 2012 18:23:40 -0500

Extending mDNS to beyond the immediate local link, raises the risk of
namespace collisions, as well as raises the risk of causing user confusion,
and UI messiness when large numbers of instances of a given service (e.g.
printers) show up in a flat namespace.

Here's a few thoughts on this.

Presuming we're talking about IP (v4 or v6), anything that is aware of
multiple links, pretty much by definition needs to know the corresponding
prefix(es) of the respective links.

And given that we're talking about locally-scoped (in the sense of "not
global DNS") stuff, address-collision within a given "local" instance is
presumed to not exist, and at the same time, address-collisions between
different "local" instances is both possible and unimportant.

So, what I'm suggesting is, use a reverse-DNS tree for the scoping of links
(preferably in CIDR-friendly manner - let's avoid tying ourselves to the
class-ful past), with no overlap with the global DNS.

So, NOT under the in-addr.arpa. zone !!!
But, analogous to it, e.g. rdns.local. or something similar.

For zero config, the mDNS things that are multiple-link/subnet aware, the
scope for names intra-link would be bare-name, and for names that need to
cross link boundaries, i.e. inter-link, they would be
name.enough.subnet.for.uniqueness.

E.g. if two links were 192.168.3.0/24 and 192.168.4.0/24, the "full" name
might be something like name.3.168.192.rdns.local, but since both "zoned"
share the 192.168 bit, names could be shortened to name.3 or name.4.

For friendliness, the non-zeroconf enhancement would be the ability to
"name" a given "link".

Under the hood, this might be to include a TXT record for the name of the
link itself, in the rdns.local tree.

3.168.192.rdns.local. IN TXT "Basement"
4.168.192.rdns.local. IN TXT "Garage"

Browsing would need to accomodate the non-flat space, but this works well
in scoping the service discovery and traffic, I think.

Thoughts?

Brian