Re: [DNSOP] [Ext] I-D Action: draft-ietf-dnsop-svcb-https-05.txt

Brian Dickson <brian.peter.dickson@gmail.com> Wed, 19 May 2021 21:21 UTC

Return-Path: <brian.peter.dickson@gmail.com>
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 DD2DC3A1F7B for <dnsop@ietfa.amsl.com>; Wed, 19 May 2021 14:21:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 DLUrzpc063Dg for <dnsop@ietfa.amsl.com>; Wed, 19 May 2021 14:21:07 -0700 (PDT)
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B0E13A1F7A for <dnsop@ietf.org>; Wed, 19 May 2021 14:21:07 -0700 (PDT)
Received: by mail-lf1-x135.google.com with SMTP id i9so21203117lfe.13 for <dnsop@ietf.org>; Wed, 19 May 2021 14:21:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=srAkGqLkGToJI+1hnZ7vguyjBoIKWfUAaSAYjwvjtDY=; b=RtOUJAQwMSSGrDOPqpu/Sv9Bp9PCWBfku3/FqpO0QB4zKbLfuiekrpPlBqjxIhNAlN ZAmVooR3iL5AZSKUxEII871Jkxw0vciY/j88UTuR8mBKqJGJQMteVLO9jRyBIuBpA4HE y4vApvDQHiM5Lg2sOSbRBco74Z23dBh6q4B4k1Q4H5nsOtMkPEn4m9abJBncMWu+QGI7 TZyQYCFjE38+I3c3Jw5A6MsxC2VOpUTw8z8th45UhZhlgYCAurSngpFqCdseWKIKc0w6 /txCpWBW0b1ufoCCT76xrOXjhxUlLVM4feWdHtsN5OSbmx3cr8DAlXnmNtT8YMbATA5z tojQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=srAkGqLkGToJI+1hnZ7vguyjBoIKWfUAaSAYjwvjtDY=; b=AIWaIr2ai5P9W7Ef1hf9jEqH8OyAFVURKVbFWe9XIoMI4QoVjmMHe+4p42mJSJVYdT Lfr1BoVo3Q+9bQCBPvUp2+7b+PNwMDyfT5c4K4XZf9SWdjyiJzit9w0rVLhMzLtHamPl c4rOsfQmuykrqvgREqKF193/OJ31o9NMuGoSsNTi8q5V133Oj1LBdnRfuC2pgu719aPd UhmnmaWYTDRepGv1g66TpBqM2krVcB14edKixJce75znRzoClJNlV6zQMJcr7Y1vRKkC FqcCJikPVHsBw6WCiIa/bnrGatJ58MCyM5mQsBCZ5SgWKBtWxZTrSYmydrZohOyUzYwE w4tA==
X-Gm-Message-State: AOAM531MV1/v48qAI+Q1Sa2GWjD5sz6Xdf5jVOJGX3OT71nvMfxaw94P GsbrKdkOUOMZa/VvMskzcpZRTuuiQYAaTg/76aY=
X-Google-Smtp-Source: ABdhPJxQiQ4StTXtiPhw/xLPf9hrSoIuCXG3RAmajix4FkPRa7JuPJct/5pzmpoTPJyEwGIybQrvx7QZIdohzoe21PQ=
X-Received: by 2002:a19:f505:: with SMTP id j5mr1029272lfb.441.1621459264149; Wed, 19 May 2021 14:21:04 -0700 (PDT)
MIME-Version: 1.0
References: <7ADF1FB2-97A4-4C49-8F25-8BF03BE01640@hopcount.ca> <20210512213903.D5F1F7AA827@ary.qy> <CAMOjQcFJjcsvaREF0fr+2GTY4zTy5CxSxR16BEp=Nc-K9WJ0Tg@mail.gmail.com> <CAH1iCipAVKVCuH2ME=+YpeJyijrKCtzJaU3bRFyy1f48EB33iw@mail.gmail.com> <CAHbrMsCjWgV7nc575L_qdvr7HdoEVKqkXRwLdXA2L5NiCgdvwA@mail.gmail.com> <CAH1iCipW_-BSMQZ-S+m18pyzfxTGsCrmG9Pc-b35_VRiLhxh4w@mail.gmail.com> <CAHbrMsDvEkYAxee4xjW5LsQmr0PgBf+UmMAuME-_UvRMg4jJeA@mail.gmail.com> <CAH1iCiq4zJZBv5=f7T2EDRWKa7bAZx66SMKkf+AiDsDPTZokhQ@mail.gmail.com> <CAHbrMsAW_wtKmRDYKZVUrFLZYuM_DqoS-8VRMf-O0Z8WpPBfbg@mail.gmail.com> <CAKC-DJj3nPAZp=qpwjBJ_3yG_EO-q-bcJbaizUNw9uq6deVZjg@mail.gmail.com> <C3734365-D5F7-4F9A-A463-5EFBB841A583@apple.com> <CAH1iCiod61M5aHnF_qrpP6=Oc3nBL+McaSui5NUnLd1GbS=okw@mail.gmail.com>
In-Reply-To: <CAH1iCiod61M5aHnF_qrpP6=Oc3nBL+McaSui5NUnLd1GbS=okw@mail.gmail.com>
From: Brian Dickson <brian.peter.dickson@gmail.com>
Date: Wed, 19 May 2021 14:20:52 -0700
Message-ID: <CAH1iCipcjnHdBcc7VCpLr9rP6vbbTHKYPHtqBkQu_achzpohcg@mail.gmail.com>
To: Tommy Pauly <tpauly@apple.com>
Cc: Erik Nygren <erik+ietf@nygren.org>, dnsop <dnsop@ietf.org>, Ben Schwartz <bemasc=40google.com@dmarc.ietf.org>, John Levine <johnl@taugh.com>, Eric Orth <ericorth=40google.com@dmarc.ietf.org>, Joe Abley <jabley@hopcount.ca>
Content-Type: multipart/alternative; boundary="000000000000751b2705c2b56751"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/EEogzcro7GZvxbMkLJTsExzpJkU>
Subject: Re: [DNSOP] [Ext] I-D Action: draft-ietf-dnsop-svcb-https-05.txt
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: Wed, 19 May 2021 21:21:10 -0000

Given the request below to preserve the current wire format for both HTTPS
and SVCB, I think this raises some interesting options and questions:

   - My understanding of SVCB is that it is intended to be the "parent"
   type for both HTTPS and other future "mappings" over SVCB.
   - HTTPS is the first "instantiation" of an SVCB-compatible record type.

Given those two statements, would it not then make sense to separate out
the following:

   - HTTPS and SVCB zone file encoding schemes
      - HTTPS will be, in effect, "set in stone" by the whatever RFC
      defines it, and can have a zone file format that is tailored to the
      pre-defined parameters used for HTTPS (and excluding new HTTPS
parameters,
      modulo an update to an HTTPS RFC)
      - SVCB should not be set in stone, and be extensible, and thus may
      have need for a more flexible zone file format
   - Regardless of whether the zone file formats differ, splitting the
   current draft into two drafts (one for SVCB and one for HTTPS) makes a lot
   of sense.
      - Updates to HTTPS should not require touching SVCB
      - RR-specific RFCs are the norm
      - Decoupling them removes any artificial constraints on their
      respective zone file formats
      - Overly-generalized RRs was one of the major problems with SRV, and
      we should take advantage of that lesson. There is no benefit to burdening
      the zone file format of HTTPS with general-purpose machinery.
      - Referencing the wire format of SVCB reduces the unique elements of
      an HTTPS draft, allowing it to focus on the things that make HTTPS unique.
   - The decision to split them into two drafts should not in and of itself
   depend on what the specific contents of the HTTPS draft (i.e. details of
   that draft) are.
   - Even if the HTTPS zone file format does not change, there is still
   valid reason to split them into two drafts.
   - This also provides a sensible template for future SVCB-compatible
   drafts.
   - Any potential for burning a code point for the early allocation for
   HTTPS should not automatically impact the code point for SVCB. Splitting
   the draft into two formalizes that, and reduces any perceived issues with
   causing a code point to be consumed by revisions to either draft.

I'll follow up with some more specific suggestions about the zone file
format for HTTPS.
I don't really have major problems with SVCB, as the use case I'm primarily
concerned with is HTTPS.
Also, vendor/operator support for HTTPS and SVCB should also be decoupled.
It should be anticipated that some vendors will support HTTPS but not
support SVCB.

Brian

On Wed, May 19, 2021 at 1:34 PM Brian Dickson <brian.peter.dickson@gmail.com>
wrote:

>
>
> On Wed, May 19, 2021 at 7:49 AM Tommy Pauly <tpauly@apple.com> wrote:
>
>> I wanted to chime in on this discussion as a client-side implementor who
>> has already widely deployed support for SVCB/HTTPS.
>>
>> The current format, where the parameters are structured as a list within
>> a single RR, is certainly simpler and less error prone for processing. Much
>> of the information contained as parameters within the SVCB RR are useful
>> for higher-level “application” logic. Within our deployment, the DNS stub
>> resolver daemon receives the RR and does the parsing, and passes up the
>> parameters bundle as a blob that is more or less opaque, to the layer that
>> handles actual connection processing (doing happy eyeballs, protocol
>> selection).
>>
>> Processing the content of SVCB parameters must be handled atomically: the
>> ALPN, ECH config, and any other information must be handled clearly as a
>> unit and not have any chance of being broken up. Lots of code is already
>> based on processing RRs as chunks of data, and requiring anyone looking at
>> the information to stitch the parameter list back together based on
>> multiple RRs that must be in a particular order adds complexity and invites
>> in bugs and errors.
>>
>> I’d strongly encourage sticking with the wire image we’ve already been
>> using and deploying.
>>
>
> Would it be accurate to say that as long as the wire format of both SVCB
> and HTTPS do not change, your client implementation(s) would not be
> impacted by any changes to zone file format?
>
> I.e. you don't implement any server code, so what the zone format is does
> not affect you, and how the wire format gets produced from the zone format
> is not relevant to you?
>
> Thank you for the details on how your client uses the wire format and the
> way those impact the end client systems.
>
> Brian
>