Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-httpssvc-02
Mark Andrews <marka@isc.org> Mon, 20 April 2020 05:37 UTC
Return-Path: <marka@isc.org>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F07233A1059 for <dnsop@ietfa.amsl.com>; Sun, 19 Apr 2020 22:37:40 -0700 (PDT)
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=[SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 CbScu6VRjJs8 for <dnsop@ietfa.amsl.com>; Sun, 19 Apr 2020 22:37:39 -0700 (PDT)
Received: from mx.pao1.isc.org (mx.pao1.isc.org [IPv6:2001:4f8:0:2::2b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 69BD13A1057 for <dnsop@ietf.org>; Sun, 19 Apr 2020 22:37:39 -0700 (PDT)
Received: from zmx1.isc.org (zmx1.isc.org [149.20.0.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.pao1.isc.org (Postfix) with ESMTPS id 5400D3AB000; Mon, 20 Apr 2020 05:37:38 +0000 (UTC)
Received: from zmx1.isc.org (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTPS id 443A3160079; Mon, 20 Apr 2020 05:37:38 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTP id 312C5160077; Mon, 20 Apr 2020 05:37:38 +0000 (UTC)
Received: from zmx1.isc.org ([127.0.0.1]) by localhost (zmx1.isc.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id MEad6p81POY5; Mon, 20 Apr 2020 05:37:38 +0000 (UTC)
Received: from [172.30.42.69] (unknown [49.2.228.79]) by zmx1.isc.org (Postfix) with ESMTPSA id 5D874160054; Mon, 20 Apr 2020 05:37:37 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.5\))
From: Mark Andrews <marka@isc.org>
In-Reply-To: <20200417101932.GA2035@wakko.flat11.house>
Date: Mon, 20 Apr 2020 15:37:33 +1000
Cc: dnsop@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <225371AF-E4C4-48B3-B7A5-7022DD49B819@isc.org>
References: <20200417101932.GA2035@wakko.flat11.house>
To: Alessandro Ghedini <alessandro@ghedini.me>
X-Mailer: Apple Mail (2.3445.9.5)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/m_jqkfcq0OI-Sj6YCkZJcGHDuVo>
Subject: Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-httpssvc-02
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Apr 2020 05:37:41 -0000
> On 17 Apr 2020, at 20:19, Alessandro Ghedini <alessandro@ghedini.me> wrote: > > Hello, > > First off, I have started implementing support for SVCB and HTTPSSVC as part of > the dnspython library [0] and I'd be interested in doing some interop testing > with other people's implementations. > > I also have a few comments/questions about the draft, apologies if they have > already been discussed in the past (haven't been following the draft from the > start). > > 1. For interop testing purposes it would be very helpful if the draft listed > commonly agreed upon code-points for the new RR types. Ideally in the form of an > official early assignment from IANA, Lets wait until we are certain that the format will not change. Every time I’ve updated the branch there has been a non backwards compatible change. > but if that's not possible picking a couple > of codepoints at random from the "private use" range would also be helpful. In > my implementation I'm currently using "65481" for SVCB and "65482" for HTTPSSVC. BIND’s implementation is available at: https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/2135 > 2. The structure of the draft is a bit odd, as it lists a bunch of examples > before introducing any of the records. This was a bit confusing to me, so I'd > suggest moving sections 1.5 and 1.6 _before_ the examples (that is, immediately > after the introduction). It might also be a good idea to just move the examples > to an Appendix instead. > > 3. Would it make sense to move the ESNI/ECHO config paramenter to the ESNI/ECHO > draft instead? This way the DNS draft wouldn't need to depend on the ESNI draft > (so e.g. if ESNI ends up taking longer, this draft could be published without > having to wait for it). > > 4. What is the point of differentiating between AliasForm and ServiceForm? Like, > couldn't the draft just say that the SvcFieldValue is an optional field and be > done with that? It seems like not having to explicitly differentiate the two > cases would simplify the draft a bit without sacrificing much, though I might > be missing something. > > 5. Section 2.1.1 says > > The presentation format for SvcFieldValue is a whitespace-separated > list of elements representing a key-value pair, with an absent value > or "=" indicating an empty value. > > It took me longer than I'd like to admit to understand the "with an absent value > or "=" indicating an empty value" part. I'd suggest rewording that paragraph to > something like: > > The presentation format for SvcFieldValue is a whitespace-separated list of > key=value pairs (e.g. "key123=value1 keys456=value2"). When the value, or > both the value and the "=" are omitted, the value should be interpreted as > being empty. > > Or something better :) > > 6. In Section 2.2 it says (in reference to param field values): > > o an octet string of the length defined by the previous field. > > It might be good to say here that the format of this octet string is defined > according to the corresponding SvcParamKey, and then reference section 6 for > ths currently defined keys. The same applies for section 2.1.1 for the > presentation format. > > 7. Section 4.3 says: > > All DNS servers SHOULD treat the SvcParam portion of the SVCB RR... > > Should it be SvcFieldValue instead of SvcParam? "SvcParam" is not mentioned > anywhere else. > > 8. Maybe I'm missing something, but the following sentence in Section 6.4 seems > wrong: > > When SvcDomainName is ".", server operators SHOULD NOT include these hints, > because they are unlikely to convey any performance benefit. > > My understanding is that ipv4hint and ipv6hint are the way to solve the ESNI > multi-CDN problem, so let's say I have "www.example.net" that CNAMEs to both > "cname.cdn-a.example" and "cname.cdn-b.example". A client queries both A and > HTTPSVC concurrently for "www.example.net", and receives two answers (the answer > to the A query points to CDN A, while the answer to HTTPSSVC points to CDN B): > > www.xample.net 3600 IN CNAME cname.cdn-a.example > cname.cdn-a.example 3600 IN A 192.0.2.1 > > and > > www.xample.net 3600 IN CNAME cname.cdn-b.example > cname.cdn-b.example 3600 IN HTTPSSVC 1 . alpn=h3 esniconfig="..." > > My understanding is that in this case the client could end up connecting to > 192.0.2.1 (CDN A) with CDN B's ESNI config (or e.g. with the wrong ALPN). So if > the server doesn't provide IP hints there would indeed be impact on performance > because the client would just straight up fail to connect initially (e.g. maybe > CDN A doesn't support HTTP/3, but CDN B's HTTPSSVC says the client can use it, > or just because of the wrong ESNI config). > > Long story short, I don't think the text should discourage setting ipv4hint and > ipv6hint here. I get that it's SHOULD NOT and not MUST NOT, but it's pretty > confusing nevertheless. > > 9. Speaking of multi-CDN, AFAICT the problem is mentioned only once in the whole > draft and only in relation to ESNI. However this is not ESNI-specific and also > affects e.g. HTTP/3 as per the example above. So I think it would be useful to > go into a little more detail on this. > > 10. Section B.2: s/pther/other/ > > Cheers > > [0] https://github.com/rthalley/dnspython/pull/452 > > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
- [DNSOP] Comments on draft-ietf-dnsop-svcb-httpssv… Alessandro Ghedini
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Mark Andrews
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Eric Orth
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Ben Schwartz
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Ben Schwartz
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Eric Orth
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Ben Schwartz
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Alessandro Ghedini
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Mark Andrews
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Alessandro Ghedini
- Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-htt… Ben Schwartz