[core] Review of draft-ietf-core-protocol-negotiation-07
Christian Amsüss <c.amsuess@energyharvesting.at> Fri, 23 February 2018 15:08 UTC
Return-Path: <c.amsuess@energyharvesting.at>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4BF6612E87D; Fri, 23 Feb 2018 07:08:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
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 BeFk7ohYQuDN; Fri, 23 Feb 2018 07:08:46 -0800 (PST)
Received: from prometheus.amsuess.com (alt.prometheus.amsuess.com [IPv6:2a01:4f8:190:3064::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9625129515; Fri, 23 Feb 2018 07:08:41 -0800 (PST)
Received: from poseidon-mailhub.amsuess.com (095129206250.cust.akis.net [95.129.206.250]) by prometheus.amsuess.com (Postfix) with ESMTPS id 2222B494B2; Fri, 23 Feb 2018 16:08:38 +0100 (CET)
Received: from poseidon-mailbox.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bf]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 22023A7; Fri, 23 Feb 2018 16:08:36 +0100 (CET)
Received: from hephaistos.amsuess.com (hephaistos.amsuess.com [IPv6:2a02:b18:c13b:8010::db8]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id C2E34285; Fri, 23 Feb 2018 16:08:35 +0100 (CET)
Received: (nullmailer pid 4255 invoked by uid 1000); Fri, 23 Feb 2018 15:08:34 -0000
Date: Fri, 23 Feb 2018 16:08:34 +0100
From: Christian Amsüss <c.amsuess@energyharvesting.at>
To: draft-silverajan-core-coap-protocol-negotiation@ietf.org, Core WG mailing list <core@ietf.org>
Message-ID: <20180223150833.GA26617@hephaistos.amsuess.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="5mCyUwZo2JvN/JJP"
Content-Disposition: inline
User-Agent: Mutt/1.9.3 (2018-01-21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/LZDgebaENrwnCPwUhR7mewGe50k>
Subject: [core] Review of draft-ietf-core-protocol-negotiation-07
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Feb 2018 15:08:48 -0000
Hello protocol-negotiation authors, hello CoRE group, I'd like to offer a review and some suggestions to the document draft-ietf-core-protocol-negotiation-07. My interest in the document is both as a potential implementor, and as co-author of resource-directory, which will in part be judged by whether it easily allows extensions as suggested in protocol-negotiation. * Introduction: It would be helpful to have RFC8323 and draft-becker-core-coap-sms-gprs-06 referenced to understand how different transports use CoAP URIs. * Another document that describes a CoAP scheme is draft-bormann-t2trg-slipmux-02 ("Hey coap+uart://ttyUSB0/, do you happen to be available over the network too, just in case you get unplugged?"). * coap+ws:// does not work like the example with coap+ws://example.org/ws-endpoint/sensors/temperature suggests any more. A more suitable example might be an HTTP proxy URI ('http://proxy.example.org/coap+tcp://eample.org/sensors/temperature'). * The example exchange in "Overcoming Middlebox Issues" confuses me: Why would a client that has already established communication with a server utilize an external service to discover more addresses? With the current draft, this calls for the Alternative-Transport option. * New Resource Directory Parameters: * Why is `at` comma separated rather than a repeated parameter? The former indicates limitations on the available characters (at least the comma; is there any other syntax planned a la `;q=0.5`?), and the latter would IMHO be more straight forward to implement. * With changes to the RD in the latest versions, the endpoint lookup looks a bit different. I've taken the examples of this section and created some current ones in the upcoming RD draft ([1]). Note that at least for the endpoint lookups, the `at` parameter does not need to be implemented in a PN-aware RD, as it is the default behavior for unknown RD Parameters to accept them on registration and show them in an endpoint lookup. I think that with the new behavior of the RD, the `tt` parameter makes more sense in resource lookup than in endpoint lookup; would you consider specifying it for there too? Do the examples align with your ideas of how P-N can would work with the latest RD? [1]: https://core-wg.github.io/resource-directory/draft-ietf-core-resource-directory.html#rfc.appendix.B * Does `at` mean that *all* URIs on this server can have their prefixes arbitrarily exchanged, or only the advertised links? * Alternative-Transport option: * Does this option state that the requested URI is equivalent to the indicated ones, or all URIs on the host? * Why is an option used here? The availability of an alternative transport is a metadatum I think would be very suitable for inclusion in </.well-known/core>. Expression as link metadata would make the unmediated exchange more compatible with the RD-mediated exchange, which right now look very different. * The 'ol' CoRE Link Attribute: Did you consider using a link relation for this? (Ie. there would be a dedicated link from the described resource to its alternative URIs, rather than the URIs being encoded in target attributes). The "alternate" or "duplicate" registered relations seem to already do the required. (Admittedly, I don't quite see the use case for individual link alternative URIs; if the use case you have in mind answers the question, it might be a good idea to outline that use case.) * "Using CoRE Resource Directory": The example in 6.2 would, on a lookup in a ol-unaware RD, return as shown here: Req: GET coap://rd.example.com/rd-lookup/res?ep=node1 Res: 2.05 Content [...] <coap://node1-address/sensors/light>;if="sensor"; ol="http://[FDFD::123]:61616,coap://server2.example.com" If the intention is that the href of the link can be re-interpreted as a relative reference based on any of the ol values (btw: again, why comma-separated?), this depends heavily on the serialization and breaks when the serialization needs to be changed (as in the RD that needs to return the absolute reference). All things considered, I think that this is a document that should be adopted by the WG; it covers a relevant topic and provides good starting points for solving it. Thank you, Bill and Mert, for writing this document Christian -- You don't become great by trying to be great. You become great by wanting to do something, and then doing it so hard that you become great in the process. -- Marie Curie (as quoted by Randall Munroe)
- [core] Review of draft-ietf-core-protocol-negotia… Christian Amsüss
- [core] protocol-negotiation and web linking Christian Amsüss
- Re: [core] protocol-negotiation and web linking Martin Thomson
- Re: [core] Review of draft-ietf-core-protocol-neg… Bill Silverajan