Re: [Inip-discuss] Domain Names

Lyman Chapin <lyman@interisle.net> Fri, 08 January 2016 23:45 UTC

Return-Path: <lyman@interisle.net>
X-Original-To: inip-discuss@ietfa.amsl.com
Delivered-To: inip-discuss@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 286E61B2C9B for <inip-discuss@ietfa.amsl.com>; Fri, 8 Jan 2016 15:45:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DE3lGmGfmHDz for <inip-discuss@ietfa.amsl.com>; Fri, 8 Jan 2016 15:45:04 -0800 (PST)
Received: from mail.shire.net (mail.shire.net [199.102.78.250]) by ietfa.amsl.com (Postfix) with ESMTP id 8E1AF1B2CA1 for <inip-discuss@iab.org>; Fri, 8 Jan 2016 15:45:04 -0800 (PST)
Received: from c-71-192-163-12.hsd1.ma.comcast.net ([71.192.163.12] helo=[172.24.20.216]) by mail.shire.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.77) (envelope-from <lyman@interisle.net>) id 1aHgiM-000JvY-7v; Fri, 08 Jan 2016 16:45:02 -0700
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: multipart/signed; boundary="Apple-Mail=_CEBBFB03-EB51-48FB-BC0E-C3BF72087D55"; protocol="application/pkcs7-signature"; micalg="sha1"
From: Lyman Chapin <lyman@interisle.net>
In-Reply-To: <CAHw9_iL1f7pgaFHdqWJTpW5mxbfRYsquOO3J-5cVNLv103LSig@mail.gmail.com>
Date: Fri, 08 Jan 2016 18:45:00 -0500
Message-Id: <A8E926AC-3BFF-4406-A12F-B3578BA28E5E@interisle.net>
References: <D285CCDC.11B63%edward.lewis@icann.org> <A3306B3F-2C01-4236-8A5F-119C1669425B@isoc.org> <D2A15E6C.124B4%edward.lewis@icann.org> <7047EC59-873A-4A76-80EF-3F2899A9052A@interisle.net> <CAHw9_iL1f7pgaFHdqWJTpW5mxbfRYsquOO3J-5cVNLv103LSig@mail.gmail.com>
To: Warren Kumari <warren@kumari.net>
X-Mailer: Apple Mail (2.1283)
X-SA-Exim-Connect-IP: 71.192.163.12
X-SA-Exim-Mail-From: lyman@interisle.net
X-SA-Exim-Scanned: No (on mail.shire.net); SAEximRunCond expanded to false
Archived-At: <http://mailarchive.ietf.org/arch/msg/inip-discuss/Ilk2YrHB1bKw49F2LusKDdriKJQ>
Cc: Edward Lewis <edward.lewis@icann.org>, "inip-discuss@iab.org" <inip-discuss@iab.org>
Subject: Re: [Inip-discuss] Domain Names
X-BeenThere: inip-discuss@iab.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IAB Internet Names and Identifiers Discussion List <inip-discuss.iab.org>
List-Unsubscribe: <https://www.iab.org/mailman/options/inip-discuss>, <mailto:inip-discuss-request@iab.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/inip-discuss/>
List-Post: <mailto:inip-discuss@iab.org>
List-Help: <mailto:inip-discuss-request@iab.org?subject=help>
List-Subscribe: <https://www.iab.org/mailman/listinfo/inip-discuss>, <mailto:inip-discuss-request@iab.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Jan 2016 23:45:08 -0000

On Jan 8, 2016, at 3:20 PM, Warren Kumari wrote:

> On Thu, Jan 7, 2016 at 4:57 PM, Lyman Chapin <lyman@interisle.net> wrote:
> 
>> 
>> On Dec 24, 2015, at 11:02 AM, Edward Lewis wrote:
>> 
>>> Acting on Olaf's permission, in trying to prepare another version of my
>>> draft.
>>> 
>>> On 12/18/15, 7:05, "Olaf Kolkman" <kolkman@isoc.org> wrote:
>>> 
>>>> Feel free to forward to appropriate list.
>>>> 
>>>> 
>>>> A Domain Name is a sequence of labels concatenated by a designated
>>>> separating character.  The Domain Name Space is organized in a strict
>>>> hierarchical manner with a recognized root Domain Name.  The
>>>> organization follows the rules of tree structure as defined by the
>>>> field of graph theory in mathematics [Diestel].
>> 
>> Hi Ed -
>> 
>> In the course of working on another project, I assembled the following
>> extended definition of "domain name space" in an attempt to (a) make the
>> distinction between "the domain name space" and "domain names" clear, and
>> (b) to encourage a bit more precision in the way in which we talk about
>> domain names.
>> 
>> -------------------------------
>> 
>> In graph-theoretic terms, the domain name space constitutes a labelled
>> directed rooted tree in which the syntax of the label associated with each
>> vertex other than the unlabelled root is defined by RFCs 1035, 1123, and
>> 2181. The term "nth level domain name label" refers to a member of the set
>> of all vertices for which the path to the root contains n edges. For n=1
>> the term most often used is "top level domain name label" or simply "top
>> level domain" (TLD). A fully qualified domain name is a sequence of labels
>> that represents a path from the root to a leaf vertex of the domain name
>> space. The shorter term "domain name" is not formally defined; in common
>> usage it may be the shorthand equivalent of "fully qualified domain name"
>> (FQDN) or refer to any non-empty subset of the sequence of labels formally
>> identified by a fully qualified domain name.
>> 
>> In this formulation, the term "domain name space" refers to the complete
>> graph consisting of all possible vertices and edges - not just those with
>> which a specific meaning has been associated (what we might call
>> "allocated" labels). It is a finite graph because the length of the longest
>> possible FQDN is finite. At any point in time, there is another labelled
>> directed rooted tree - a sub-graph of the domain name space - containing
>> only vertices that represent allocated labels.
>> ​
>> 
> 
> 
> ​
> Poking the bear...
> 
> ​This makes it sound like there is one domain name space of allocated
> labels, and a graph with a single root.

Yes, almost - there is one domain name space, but as a "space" it consists of the labelled directed rooted tree containing all possible vertices and edges, not just those that correspond to "allocated" labels. As the set of all possible well-formed labels is finite, and the maximum length of a FQDN is finite, the domain name space is finite, albeit very large. As a mathematical abstraction, it's useful for thinking (and talking) about domain names, but not very useful for most practical purposes.

> 
> 
> This ignores things like:
> +------------------+    +------------------+
> |     My house     |    |   Your house     |
> |                  |    |                  |
> |        +-+       |    |        +-+       |
> |        |.|       |    |        |.|       |
> |        +++       |    |        +++       |
> |         |        |    |         |        |
> |      +--v--+     |    |      +--v--+     |
> |      |local|     |    |      |local|     |
> |      +--+--+     |    |      +--+--+     |
> |         |        |    |         |        |
> |   +-----v----+   |    |   +-----v----+   |
> |   | _printer |   |    |   | _printer |   |
> |   +----------+   |    |   +----------+   |
> +------------------+    +------------------+​

No, of course not:

                     Houses
                        |
                 +------+------+
                 |             |
             My house      Your house
                 |             |
                 v             v

etc.

> 
> It also ignores:
> www.foo.bar.baz.example.com  where the example.com zonefile is:
> $ORIGIN example.com.
> *   IN A 192.0.2.1
> 
> In the first example, the names *do* come from a conceptual single root,
> but you end up with 2 disjoint graphs

All subgraphs of a directed rooted tree are disjoint. That's a good thing :-)

> - my .local is not the same as your
> .local. While your definition may be technically correct (
> https://www.youtube.com/watch?v=hou0lU8WMgo) it seems either incomplete, or
> at least folk may be surprised...

It's incomplete in the sense that the domain name space simply establishes the mathematical context within which domain names can be constructed. It doesn't tell you how to use them.

> 
> In the second example, the "synthesized" vertices created at foo, bar and
> baz *could* be claimed to "allocated" labels that exist for a very short
> amount of time, but I think that this may be stretching things a bit far...

I think the second example mixes apples and oranges. Having a well-defined domain name space is relevant to the understanding and construction of domain names, like www.foo.bar.baz.example.com; it's not relevant to the way in which the RRs in zonefiles direct the operation of name resolution.

> 
> It feels like this definition works mainly for people who already
> understand (and happen to have the same understanding as you and I :-))
> what "the domain name space" and "domain names" are.

That would be redundant, I agree. The intention is for the definition to increase the number of people who understand what "the domain name space" and "domain names" are :-)

- Lyman