Re: [mdnsext] Hierarchical (host) domain names in mDNS?

Kerry Lynn <> Tue, 16 July 2013 14:49 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5959711E80D7 for <>; Tue, 16 Jul 2013 07:49:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, NO_RELAYS=-0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 2ESj4UE1HNE0 for <>; Tue, 16 Jul 2013 07:49:15 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4003:c01::22b]) by (Postfix) with ESMTP id 6B34E11E80D5 for <>; Tue, 16 Jul 2013 07:49:12 -0700 (PDT)
Received: by with SMTP id dn14so831964obc.2 for <>; Tue, 16 Jul 2013 07:49:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=np7FdaIeUxj93zZOvNQxWqGlJrjyNkFkFcmA5qgBb1c=; b=ACYQnFzjjUD9sp3gq1LxoyTP9B48X7Rybw0Xcxh033BsKo2AKK9Wp/kmzzxWRFvHyx PgygmJF4hWmKwLmJU+BtacGosTIwarTQwxiRmZGVQYFuIxDWgAqcH9hv5hKZF3SKQVjT WZASdT2dnqLaX13Hivds+YNn9CCMxm0tvTILYorifpTz6s038lC2UhoRq8BQw2pA4vlD NvxWgL9hXMgMD5BQhj7bp6CIL4xiWai40W5rZRXzoPzdzOBzM0QsBOSTffVd42kq7N2d pl41aw/+EARRGbsbFooub/nCKIDUIz9edNJzBPdxgO3Pm4/CCkeNYTAdy4N8MJgbhct9 4xmw==
MIME-Version: 1.0
X-Received: by with SMTP id kh9mr2611010oeb.58.1373986151923; Tue, 16 Jul 2013 07:49:11 -0700 (PDT)
Received: by with HTTP; Tue, 16 Jul 2013 07:49:11 -0700 (PDT)
In-Reply-To: <>
References: <>
Date: Tue, 16 Jul 2013 10:49:11 -0400
X-Google-Sender-Auth: 8bA7_NUggJVS9oY87UuXp_aCFLg
Message-ID: <>
From: Kerry Lynn <>
To: "Albrecht, Harald" <>
Content-Type: multipart/alternative; boundary=047d7b3a92a083059804e1a2148a
Cc: "" <>
Subject: Re: [mdnsext] Hierarchical (host) domain names in mDNS?
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion of extensions to Bonjour \(mDNS and DNS-SD\) for routed networks." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 16 Jul 2013 14:49:16 -0000

On Tue, Jul 16, 2013 at 7:32 AM, Albrecht, Harald <> wrote:

>  Hello,
> something I couldn’t find a proper answer to I would like to ask the mDNS
> experts on this list: is it possible to apply mDNS also to situations where
> the decentralized, configuration-free operation of mDNS is required but
> where the individual hosts within the same network need to make use of
> hierarchical domain names? Such as “controller.machine2.local”?
I think the answer is (or should be) "yes".

First some guidance from RFC 6762:

   This document recommends a single flat namespace for dot-local host
   names, (i.e., the names of DNS "A" and "AAAA" records, which map
   names to IPv4 and IPv6 addresses), but other DNS record types (such
   as those used by DNS-Based Service Discovery [RFC6763
<>]) may contain
   as many labels as appropriate for the desired usage, up to a maximum
   of 255 bytes, plus a terminating zero byte at the end.  Name length
   issues are discussed further in Appendix C

The meaning of "recommends" as a keyword is equivalent to SHOULD.
Now why does RFC 6762 take this position?  It has to do with automagic
of an mDNS resolver:

   A malicious host could masquerade as "" by answering
   the resulting Multicast DNS query for "".  To
   avoid this, a host MUST NOT append the search suffix ".local.", if
   present, to any relative (partially qualified) host name containing
   two or more labels.  Appending ".local." to single-label relative
   host names is acceptable, since the user should have no expectation
   that a single-label host name will resolve as is.

So this places a restriction on resolvers, which is basically intended to
keep the fox out of
the hen house.  One should still expect "controller.machine2.local." to
resolve properly,
if there is an authoritative responder for this host name.  I assume it
would be invisible to
lookups in ".local.".

Some months back, the main criticism of mDNS in homenet was that if I
visited a friend's
house then my browser might confuse my bookmarked "www.refrigerator.local."
with my
friend's.  I mentioned at the time that most (all?) major printer vendors
solve this problem
by appending a collision-resistant substring to a human-readable substring
to create the
instance or host label, e.g.,
Officejet\032Pro\0328500\032A909g\032[4C0EA4].  A similar
approach was proposed by Brian Carpenter, but he proposed creating "zones"
in the
.local. namespace, e.g., <ULA>.local.

I suspect either approach can be made to work.  I suggest you take a look
at the Discovery
section of the ZigBee Smart Energy Profile 2 (now IEEE 2030.5)
to see how your problem was solved using "fine-grained" discovery based on
the former

Regards, -K-