Re: [Uri-review] URI for identifying a host

Ted Hardie <ted.ietf@gmail.com> Fri, 21 May 2010 21:14 UTC

Return-Path: <ted.ietf@gmail.com>
X-Original-To: uri-review@core3.amsl.com
Delivered-To: uri-review@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2F8573A69B4 for <uri-review@core3.amsl.com>; Fri, 21 May 2010 14:14:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.217
X-Spam-Level:
X-Spam-Status: No, score=0.217 tagged_above=-999 required=5 tests=[AWL=-0.384, BAYES_50=0.001, J_CHICKENPOX_43=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Itfd0NKRDisS for <uri-review@core3.amsl.com>; Fri, 21 May 2010 14:13:58 -0700 (PDT)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id 876643A6898 for <uri-review@ietf.org>; Fri, 21 May 2010 14:13:58 -0700 (PDT)
Received: by vws12 with SMTP id 12so1245021vws.31 for <uri-review@ietf.org>; Fri, 21 May 2010 14:13:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=nvOJh0X/EhzN9+jJwje2sUX4ajE24UM2t+KStBZltfI=; b=I+tYGmz8sJqjtL5iG0zJEZBdXoIzBWi/O4jfKGKmiIN1sXK8xLqd6uzE64OMLJS9sP Mbg69JLh7o4IlcwWWcZm7kiB0OjuNlgLmK/dG3mrlXXUClUsvt8HM26uFm0sprZqZ88i UczB2+sVWgP8fuKQqrkFocKoEBfcjH4SMuFXI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=a8O16J1/dQIhblzmKo+ObLojB+q6e9xIqHcLzITYLevMFOtfn8HKNGPcOWkFLBs4wW ti/nkjNjicUy/tle478ImvNvrsp4Ld5g+/r6LkFSTXv1yoCzgw8KpGNnse2vDbQEnQGJ sNbOBdkSH4jVmMA35KIr0wY+HyEu99wSHqkXc=
MIME-Version: 1.0
Received: by 10.220.61.11 with SMTP id r11mr1370916vch.134.1274469773701; Fri, 21 May 2010 12:22:53 -0700 (PDT)
Received: by 10.220.48.168 with HTTP; Fri, 21 May 2010 12:22:53 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E72343B3B8CDA44@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <90C41DD21FB7C64BB94121FBBC2E72343B3B8CDA44@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Fri, 21 May 2010 12:22:53 -0700
Message-ID: <AANLkTilxrYHnaNsCygOsrObCZUeVGeZAvrwrOEzc8Iul@mail.gmail.com>
From: Ted Hardie <ted.ietf@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: "uri-review@ietf.org" <uri-review@ietf.org>, "urn-nid@apps.ietf.org" <urn-nid@apps.ietf.org>
Subject: Re: [Uri-review] URI for identifying a host
X-BeenThere: uri-review@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Proposed URI Schemes <uri-review.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/uri-review>, <mailto:uri-review-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/uri-review>
List-Post: <mailto:uri-review@ietf.org>
List-Help: <mailto:uri-review-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uri-review>, <mailto:uri-review-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 21 May 2010 21:14:00 -0000

Hi Eran,

A while back I tried to define a node-identifier uri scheme for use in
peer to peer
networks; the draft is expired, but you can see an old copy at:

http://tools.ietf.org/id/draft-hardie-p2psip-p2p-pointers-01.txt

One of the issues Vidya and I ran into was the "which overlay
is this node in" problem, which we attempted to solve by using
a context parameter and different (also undeployed) URI scheme
that identified the overlay.

I suspect you have a milder version of the same problem here.
RFC 3986 defines host as either an IP-literal or a registered
name.  Some IP-literals are not globally unique (think RFC 1918
addresses); so that urn: host:10.1.1.10 would not mean the same
thing everywhere.  You might be able to finesse that, but you
also describe your desired outcome as having the property of identifying
the "entity...across all schemes and ports".  Unfortunately, the
method by which a scheme identifies a host can involve additional
processing, so that the eventually resolved network address is
different.  Imagine scheme1 has processing directions that are
essentially "look up A and AAAA records for host" and scheme2
has "look up available SRV records at host and proceed
from there" (as Cullen Jenning's proposal for http-srv did,
see the expired draft at
http://tools.ietf.org/id/draft-jennings-http-srv-05.txt).
The upshot, though is that the host in an http scheme
and an http+srv scheme could have the same form but
result in different processing.   All the ways I can imagine
around that (by normalizing on the resulting output after
all processing, say) end up violating the principle of least surprise.

That said, have you looked at the dns URI scheme (RFC 4501) for this purpose?
It is more granular than your current proposal, in that it requires you
to specify the RR, but the default seems reasonable for the current
state of things, and the granularity it gives you seems a reasonable
match to solving the context problem I outlined above.

Just some initial thoughts,


Good luck,

Ted Hardie





On Fri, May 21, 2010 at 7:59 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> I would like to register a 'host' URN namespace for identifying a host (per RFC 3986, as the entity controlling all the resources with that URI host across all schemes and ports). This urn-nid will be defined in the host-meta specification [2].
>
> I'm looking for some feedback before I change the host-meta draft to include the urn-nid registration.
>
> Some background:
>
> XRD documents [1] use a <Subject> and <Alias> elements to express what the document is describing. These two elements require an absolute URI value. The host-meta document [2] uses XRD to describe a host which is defined as the entity controlling all the resources with that URI host across all schemes and ports:
>
> *://host/*
> *:*@host
>
> Because there is no URI scheme to identify such a concept (XRD documents must be able to be interpreted without context - host-meta documents are not always obtained from /.well-known/host-meta), and after a long an exhausting discussion, I decided that the most practical approach was to define an extension element <Host> for host-meta.
>
> The new problem is that the <Host> element is the only known use case for extending the XRD schema which is nice and simple. I am now working on a JSON flavor called JRD [3] and the fact that host-meta requires an extension is painful because I want to keep JRD non-extensible.
>
> If we can solve this without the <Host> element, it will remove the one use case for extending the schema and encourage others to find ways to use the existing schema for their needs across XRD and JRD.
>
> Last year I decided against creating a URI scheme for this because the one use case and the potential hassle of doing it didn't seem worth it. With JRD, this extension element is standing in the way for a clean and simple JSON format (and consistency in general), I want to give it one more chance.
>
> I think there are two main options:
>
> 1. 'host:' URI scheme
>
> host:example.com
>
> ABNF (host is imported from RFC 3986):
>
> Host-URI = "host" ":" host
>
> 2. 'host' URN namespace
>
> urn:host:example.com
>
> ABNF:
>
> Host-URI = "urn" ":" "host" ":" host
>
> I think option 2 makes more sense because it more strongly imply that there is no protocol for obtaining a representation for this resource (host-meta is the host metadata, not the resource itself).
>
> Thoughts?
>
> EHL
>
> [1] http://www.oasis-open.org/committees/download.php/37692/xrd-1.0-wd16.html
> [2] http://tools.ietf.org/html/draft-hammer-hostmeta
> [3] http://hueniverse.com/2010/05/jrd-the-other-resource-descriptor/
>
> _______________________________________________
> Uri-review mailing list
> Uri-review@ietf.org
> https://www.ietf.org/mailman/listinfo/uri-review
>