Re: [urn] NEW NAMESPACE REGISTRATION: KNX

John C Klensin <john-ietf@jck.com> Tue, 05 September 2023 18:22 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: urn@ietfa.amsl.com
Delivered-To: urn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66ECAC15198C for <urn@ietfa.amsl.com>; Tue, 5 Sep 2023 11:22:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.904
X-Spam-Level:
X-Spam-Status: No, score=-1.904 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fzEN1To59XyW for <urn@ietfa.amsl.com>; Tue, 5 Sep 2023 11:22:33 -0700 (PDT)
Received: from bsa2.jck.com (bsa2.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7CF37C151711 for <urn@ietf.org>; Tue, 5 Sep 2023 11:22:33 -0700 (PDT)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1qdah0-000F9p-Ij; Tue, 05 Sep 2023 14:22:26 -0400
Date: Tue, 05 Sep 2023 14:22:21 -0400
From: John C Klensin <john-ietf@jck.com>
To: "Dale R. Worley" <worley@ariadne.com>, Peter Saint-Andre <stpeter@stpeter.im>
cc: michael.critchfield@knx.org, urn@ietf.org, joost.demarest@knx.org, ahaenel@knx.org, steven.debruyne@knx.org, w.vanderbeek@cascoda.com
Message-ID: <C395DD487D8D46A82923C47C@PSB>
In-Reply-To: <877cp433vl.fsf@hobgoblin.ariadne.com>
References: <877cp433vl.fsf@hobgoblin.ariadne.com>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/urn/Mswq7j3NBpGo620bKx1P2FOw5_k>
Subject: Re: [urn] NEW NAMESPACE REGISTRATION: KNX
X-BeenThere: urn@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Revisions to URN RFCs <urn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/urn>, <mailto:urn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/urn/>
List-Post: <mailto:urn@ietf.org>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/urn>, <mailto:urn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Sep 2023 18:22:37 -0000


--On Tuesday, September 5, 2023 13:51 -0400 "Dale R. Worley"
<worley@ariadne.com> wrote:

> Peter Saint-Andre <stpeter@stpeter.im> writes:
>> I disagree. There *is* a contradiction, the KNX specification
>> is using  the term "relative URN" (which is undefined), and
>> allowing this is not a  responsible way to proceed.
>> 
>> Why do the authors of the KNX specification apparently feel
>> the need to  elide 'urn:knx' from the start of (some) URNs in
>> the KNX namespace? Is  this being done to save a few bytes
>> over constrained links for IoT?

> There actually *is* a definition of "relative URN", although
> the discussion admits that relative URNs are largely
> worthless.  See RFC 8141 section 4.3 "URNs and Relative
> References".

Yes, and Peter cited it his note.  My recollection is that it
was a compromise to avoid saying something close to "relative
URN, at least defined consistently with the 3986 definition of
relative URI, are a stupid idea and MUST NOT be allowed in any
namespace".  At least in part, the feeling was that such a
statement would contradict statements in 3986 that applied to
all URIs. 
 
> As far as I can tell from the document, the KNX people want to
> save the 7 bytes over constrained links.

In its simplest form, the problem described above is that
whether a particular "relative" string is a KNX URN, or any URN
at all, requires either context or heuristics on the hier-part,
heuristics that might not work.  AFAICT, independent of the
niceties of 3996, common practice these days assumes that
anything that might be a reference is an HTTPS (or maybe still
HTTP) URL.  To partially borrow an example from 3986, if
"ftp.is.co.za/rfc/rfc1808.txt" appeared in running text, it is
almost certain to be treated as a URL with an implicit scheme
name.  And, borrowing heuristics that I don't think have been
observed in the wild, that scheme name would not be "ftp".

Now, if the links are sufficiently constrained, that is a
non-issue ... until some KNX device or its user has a need to
reference foo.bar.baz and wants it to be interpreted as
https://foo.bar.baz/ and the namespace requires that it be
interpreted as urn:knx:... instead.  I don't understand the KNX
environment well enough to know if that could be a major future
constraint of not, but that seems like a bad idea to me.  And
saying that, within the KNX environment anything that might be
interpreted as relative but is not a KNX URN MUST specify the
scheme name, would probably stretch the limits of 3986.


> IMHO the KNX usage would better use the word "abbreviated", as
> the connotations of the word are closer to the intended usage
> -- the transmitted string is shorter, but it is not
> interpreted *relative to* another string. 

I like "abbreviated" for those reasons and because it neither
requires redefining a term used elsewhere or using one we did
our best to identify as undefined.  

> But I'm OK with a
> second meaning being given to a word when the situation is
> syntactically distinguishable from the original meaning and
> almost certainly will be confined to a circumscribed subfield.

And I suggest, as above, that it is unlikely that those
constraints can be met/guaranteed for the long term.

   john