Re: [dnssd] draft-sekar-dns-ul

Ted Lemon <mellon@fugue.com> Mon, 02 August 2021 13:40 UTC

Return-Path: <mellon@fugue.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F01423A1E9F for <dnssd@ietfa.amsl.com>; Mon, 2 Aug 2021 06:40:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[AC_DIV_BONANZA=0.001, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fugue-com.20150623.gappssmtp.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 m0zNYEfeVPcv for <dnssd@ietfa.amsl.com>; Mon, 2 Aug 2021 06:40:28 -0700 (PDT)
Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20::32b]) (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 465FD3A1E9D for <dnssd@ietf.org>; Mon, 2 Aug 2021 06:40:28 -0700 (PDT)
Received: by mail-ot1-x32b.google.com with SMTP id 68-20020a9d0f4a0000b02904b1f1d7c5f4so17487750ott.9 for <dnssd@ietf.org>; Mon, 02 Aug 2021 06:40:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:in-reply-to:references:date:message-id:subject:to :cc; bh=lBjPsoGZSMLB1Fwp/9dQ7mhhdSw2x9JSYDHxxv9lqO4=; b=lXeyzar+kU3qJx5L5ZFHqPHcCEnkL64jnlLfIa9Sagopr5ehhX44H5i1JR8vQclX2P aeuCX4Ku4RqpnUplgIccYTA4e/rYWtslA06ZJDqV4PcBtXy/CeJMCcSEWVUoTabI53Ko 2pb4rgo9kmymiE71duoxfz1ftgSGLPiSFvvb1axKPgt3YVj6XcpCcrUL4YFbEQntKem9 2DvGMm1Jx9JDxSpluDvQB7UH8+POUiJ99N6xUaJ9Iz7J1az3WamNHn/NZyveGcYLfSC2 Z0+K6PaBN1eb2+V0wLmBXOZKquU7cEbO1CAFYGaHx74CN5OxqRG7eVy1UmM+RGfDHXTE 93rA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:in-reply-to:references:date :message-id:subject:to:cc; bh=lBjPsoGZSMLB1Fwp/9dQ7mhhdSw2x9JSYDHxxv9lqO4=; b=AiAeungKagNJNFbQ1MthWIkfEFaRnpC9mwny0LKl/kjuhtma6BVCTOUQiqIaYU5/hH RKhN8ZCFeiESnHxW9YMqgiImGXniO7Lc/7KWUusQwWn7ZowpmX9g/3xjPF2vw2eo0VhH 7K4lSP2sxSMF1QQZVyazbang3P3naTXQ5b7JxA562SNzXOPJ6C1AT+QRaEYXsi6aed7p TrY4qVBRkBup++OZ/LrcEFkyheACbx/OfsOzR3XLgJM/p0/hGicOGHq3NL6DMmIftwCc Wipl9nmX1UDmlHSfmtCLS20Xz647PtSEgPiFwZnJfKKm4KQY8sJM2guSvbblxT33uNRc AEKw==
X-Gm-Message-State: AOAM532RrhOxr3BobcMzmKHTBOajE2D9TEr3tFXfC+UuBeG8MCfyUZE1 xOia3mQIIEZzDoWAXGo6hVTCUjrW3HowU9pakdxW2w==
X-Google-Smtp-Source: ABdhPJw1BWj70nD1rZi08qc/kuTzkMZCx9IOFbyfp2CY6gJ9xyKis7LDtMX1pFYxQNTE2/rMPmMc9JBmXdeTT10wJGc=
X-Received: by 2002:a9d:d53:: with SMTP id 77mr11960943oti.18.1627911625975; Mon, 02 Aug 2021 06:40:25 -0700 (PDT)
Received: from 649336022844 named unknown by gmailapi.google.com with HTTPREST; Mon, 2 Aug 2021 06:40:25 -0700
Mime-Version: 1.0
X-Mailer: Superhuman Desktop (2021-07-30T22:05:55Z)
X-Superhuman-ID: kruojcqd.9abd8b61-8afa-4e58-afca-0ab6d20ee98c
From: Ted Lemon <mellon@fugue.com>
X-Superhuman-Draft-ID: draft002a42d239535aa4
In-Reply-To: <CACJ6M14TgV0OaFxY_AC+aqcCHdhLS1YDqmuht+OkPs83FaJi9g@mail.gmail.com>
References: <CAPt1N1=b5YrPfc2DGu4xF4sGFNtvgyKO7qBVWd1HQe0X2MBmXw@mail.gmail.com> <CACJ6M14TgV0OaFxY_AC+aqcCHdhLS1YDqmuht+OkPs83FaJi9g@mail.gmail.com>
Date: Mon, 02 Aug 2021 06:40:25 -0700
Message-ID: <CAPt1N1mCrfygHXHixV-YOj09LS8=CCb3uBo84Pan+yHn5HibzQ@mail.gmail.com>
To: Chris Box <chris.box.ietf@gmail.com>
Cc: dnssd <dnssd@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000031699a05c893b6ff"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/Nim4xmorg6LpyDMn8qIwESuEh80>
Subject: Re: [dnssd] draft-sekar-dns-ul
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Aug 2021 13:40:34 -0000

Thanks for the thorough review, Chris!

On Thu, Jul 29, 2021 at 8:04 PM, Chris Box <chris.box.ietf@gmail.com> wrote:

> *Questions and comments*
> The -01 version of this draft has an associated patent. The IPR disclosure
> is https://datatracker.ietf.org/ipr/1236/. What does this mean for -03?
>

The IPR has been around since <2009, so I'd say it's there to stay. You can
look at the IPR declaration for Apple's position on what to do if it gets
used in an RFC. Before I worked at Apple, I would have considered this
declaration Mostly Harmless, but since I'm now working at Apple, I think it
doesn't make sense to count my opinion since I'm not disinterested, so the
WG needs to make that call.

In Section 4, it strikes me as odd that KEY RRtype is treated specially
> here. I know why, because that's what SRP needs. But in the context of this
> single draft, is there a rationale as to why KEY, and only KEY, needs a
> different lease time?
>

The reason for the KEY having a different lease time is so that the domain
name can be claimed without being usable for service discovery. When the
other records expire, the KEY remains to hold the name until it expires, so
if the host renews before then, no other host can claim the name. We could
do this for some other record, but the KEY record has the virtue that it's
useful for authentication. It's true that this is currently only used by
SRP, though. We could make this apply to more records, but I don't know of
a use case for that, and if we come up with one later we can add another
EDNS0 option—the number space is not small.

Is it worth looking at the draft through the lens of the EDM program? For
> example should it be extensible to separate out other RRtypes? Should
> greasing come into the picture? The answer might be "not in this case", but
> I thought it worth at least thinking about.
>

I have no idea what this means—can you elaborate?

Either section 4 or 5 should be explicit about what the client
> MUST/SHOULD/MAY do when the server insists on a different lease period to
> the one the client requested. It is not currently clear to me if the server
> is always right, or if the client can impose bounds on what is acceptable.
>

Good point. I think the server has to be in charge of this, but more text
about what that should look like would be good. E.g., in a constrained
environment, you might have devices that really only ought to check in
every day or even every week, and if the server limits leases to an hour,
that's not going to work out well.

In Section 5.2, refresh messages are asked to set a prerequisite of "RRSet
> exists (value dependent)". I don't have much experience of prerequisites.
> It sounds like it creates a risk that in some situations the prerequisite
> will be unsatisified, resulting in the failure to refresh and the record
> ultimately being deleted on expiry. Is this a genuine risk or am I missing
> something?
>

I'll have to discuss this with Stuart. My personal opinion is that less
prescriptive text is better, because we don't actually have a use case
other than SRP, and SRP already specifies constraints that contradict this.

Section 5.3 would benefit from adding a sentence along the lines of  "If at
> least one record in the Refresh Request has completed at least 50% of its
> lease, the server SHOULD refresh all of the records.".This is because
> implementors might misinterpret "If no records", as "If any records ",
> creating problems with coalescing.
>

That sounds good.

In Section 7, do we need to ask IANA to update the status of Option Code 2
> from on-hold to standard?
>

Sounds like a good idea.

*Editorial suggestions*
>
> Section 4
> Personally I would drop the part in brackets here:
> Leases are expected to be sufficiently long as to make timer discrepancies
> (due to transmission latency, etc.) between a client and server negligible.
>

It's probably at least worth mentioning that issue, though.

Section 5
> Don't we normally use the spelling "retry" rather than "re-try"?
>

That's a hyphenation thing, which apparently xml2rfcv3 doesn't support. I
think it should be taken out—text is no longer the canonical format, so
hyphenation specifically to support that format probably doesn't add much
incremental value.

That's all. Overall it's clearly a useful capability, so I would support
> eventual publication.
>

Thanks!




On Thu, Jul 29, 2021 at 8:04 PM, Chris Box <chris.box.ietf@gmail.com> wrote:

> Ted,
>
> As promised in the meeting, I've now reviewed the draft. Here's my
> thoughts.
>
> *Questions and comments*
> The -01 version of this draft has an associated patent. The IPR disclosure
> is https://datatracker.ietf.org/ipr/1236/. What does this mean for -03?
>
> In Section 4, it strikes me as odd that KEY RRtype is treated specially
> here. I know why, because that's what SRP needs. But in the context of this
> single draft, is there a rationale as to why KEY, and only KEY, needs a
> different lease time?
>
> Is it worth looking at the draft through the lens of the EDM program? For
> example should it be extensible to separate out other RRtypes? Should
> greasing come into the picture? The answer might be "not in this case", but
> I thought it worth at least thinking about.
>
> Either section 4 or 5 should be explicit about what the client
> MUST/SHOULD/MAY do when the server insists on a different lease period to
> the one the client requested. It is not currently clear to me if the server
> is always right, or if the client can impose bounds on what is acceptable.
>
> In Section 5.2, refresh messages are asked to set a prerequisite of "RRSet
> exists (value dependent)". I don't have much experience of prerequisites.
> It sounds like it creates a risk that in some situations the prerequisite
> will be unsatisified, resulting in the failure to refresh and the record
> ultimately being deleted on expiry. Is this a genuine risk or am I missing
> something?
>
> Section 5.3 would benefit from adding a sentence along the lines of  "If
> at least one record in the Refresh Request has completed at least 50% of
> its lease, the server SHOULD refresh all of the records.".This is because
> implementors might misinterpret "If no records", as "If any records ",
> creating problems with coalescing.
>
> In Section 7, do we need to ask IANA to update the status of Option Code 2
> from on-hold to standard?
>
> *Editorial suggestions*
>
> Section 4
> Personally I would drop the part in brackets here:
> Leases are expected to be sufficiently long as to make timer discrepancies
> (due to transmission latency, etc.) between a client and server negligible.
>
> Section 5
> Don't we normally use the spelling "retry" rather than "re-try"?
>
>
> That's all. Overall it's clearly a useful capability, so I would support
> eventual publication.
>
> Chris
>
> On Wed, 28 Jul 2021 at 00:01, Ted Lemon <mellon@fugue.com> wrote:
>
> As was discussed in the meeting today,  one of the normative references
> in the Service Registration Protocol document is to draft-sekar-dns-ul,
> which describes the DNS Update Lease option. For those who are challenged
> by parsing this, as I tend to be, that's the EDNS0 option for declaring a
> lease on a DNS Update.
>
> There was some question as to whether this was an appropriate document for
> the working group, so that's one question. However, whether it is or not,
> it would be good if it got some review, and this working group probably has
> a lot of the most qualified people to look at it.
>
> So, please take a look at the document and comment here. You can find a
> copy of the document here: https://www.ietf.org/archive/id/
> draft-sekar-dns-ul-03.html
>
> _______________________________________________
> dnssd mailing list
> dnssd@ietf.org
> https://www.ietf.org/mailman/listinfo/dnssd
>
>