Re: [dnssd] SRP Update - removing individual services (draft-ietf-dnssd-srp-06)

Ted Lemon <mellon@fugue.com> Thu, 07 January 2021 16:02 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 9C03C3A124F for <dnssd@ietfa.amsl.com>; Thu, 7 Jan 2021 08:02:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[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, 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 mHuL_pESbkrc for <dnssd@ietfa.amsl.com>; Thu, 7 Jan 2021 08:02:49 -0800 (PST)
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) (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 3736B3A1243 for <dnssd@ietf.org>; Thu, 7 Jan 2021 08:02:48 -0800 (PST)
Received: by mail-qk1-x72e.google.com with SMTP id 22so5819642qkf.9 for <dnssd@ietf.org>; Thu, 07 Jan 2021 08:02:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=y9m7N5VE6BN6EZUMPVOzcxiDjEc8g0GxV11pFzlXadA=; b=uBYSFFcSGwpZ7JL8OY/pzh1SI3WrelMtXEJFMEYBBd8S5KK05qlE7aIAFwWOb2usCj kXhjZQlAdOuUm9RIx//I3RaLBBjqeASZKUMYraqQ6tEa2cyvjpKP6M/HLfae87UPQWos 0AE6BS7yxjNfsOVHoJmRDFghDXM1SVCTJgtZ6MKOTWmA0ILzdOu97tdAap9PLcqievEW 9W1Z93wlXryNoJGENVgRgNOKzfMpArQqwY618zyBW0UJji82SnF90GaX5hzoxJaib8+L AqVx/pnRrbc00PfhhgK62XdrD1n1LlRX5sMiETKGblFIGjagSYaYR3+JJPcRq3LRdBHc GGLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=y9m7N5VE6BN6EZUMPVOzcxiDjEc8g0GxV11pFzlXadA=; b=oVlYbJxxW2JMasBk8qMKAiLS3ORwA96sXo6dzjYDG0P3wUrytVHBT1Cc/prKuFRgsw /32U+ijK64i9Tes6I1ynJkh7JHQbLOG6ZUvni7BdpFHQzF2cfvGvQ3YzGjP2byjXpNRr tv6B5jy4/zEXgmHgqiOiHoDUsN/WjTUZwNvXa7P4KWsEcanmUPpPsj9v/8nIDyIxesjE 9H1S9+RfniL8nodANrF9BkxNWxm4VDyA2IjR/C05yQe8eRQFfYtJ9iRoz71FLyGLg3vP NUvZ8DY2sbWSS0a9LQeMZlCCQC5MbBkiD2Fb3GlcQzesPJhV5THQomk/x38MqWYJs9Qz uzsA==
X-Gm-Message-State: AOAM531+vpjMfF9dwIqCbbBcQROCij07TRqTGuBPXvfcceWJGmK6rljD q4HPKXySOAs625kx2PagVg9GNw==
X-Google-Smtp-Source: ABdhPJyWEvy35TY8SJuxIZgPihCkt0ZnGlo51JpS96ikMsxvDjZx7d3smjbqtizeA81bShY++uH4Tg==
X-Received: by 2002:ae9:e219:: with SMTP id c25mr9445592qkc.443.1610035367948; Thu, 07 Jan 2021 08:02:47 -0800 (PST)
Received: from mithrandir.lan (c-24-91-177-160.hsd1.nh.comcast.net. [24.91.177.160]) by smtp.gmail.com with ESMTPSA id a9sm3259892qkk.39.2021.01.07.08.02.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Jan 2021 08:02:47 -0800 (PST)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <2BAE79F3-ED93-4B32-A82C-545063970286@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_AB12DAE1-3B77-41B9-8A47-C7AC9A1B1B5A"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.2\))
Date: Thu, 07 Jan 2021 11:02:45 -0500
In-Reply-To: <CAJ5Rr7btf6iRnWWqVRhUAOHLotF3ntamNZt9MnACbPEOtXSGhQ@mail.gmail.com>
Cc: Abtin Keshavarzian <abtink@google.com>, DNSSD <dnssd@ietf.org>, Jonathan Hui <jonhui@google.com>, Rongli Sun <rongli@google.com>
To: Kangping Dong <wgtdkp@google.com>
References: <CACce4dTbWCVwBityepJpb5FF4Rv43+DUev_0Ka+rVT9exZrJzA@mail.gmail.com> <031C980F-D8B6-4051-8DC0-D8417FDBBD0F@fugue.com> <CACce4dQZ708aaMdvmwhEurHDSdFAvLbzwpDWz=viig_2cX75Dw@mail.gmail.com> <680A60B6-BD88-475E-91ED-48F23036A7C8@fugue.com> <CAJ5Rr7bDSMv1uPDPXppG9e4OUEU7oriK9tVKD20=P3Kgb2q=0g@mail.gmail.com> <741BC8D6-CFEF-453B-8F89-A6B102A37DAA@fugue.com> <CAJ5Rr7Yw33y2k=wo-ZXzFNP77=bucRcr2LxJxf+98e5oqK+fsw@mail.gmail.com> <6B728DF0-5EE8-4EE6-9E95-98EF4D03D865@fugue.com> <CACce4dToa2+FiYgzp5AvZjO7-UfHy5VSSZ4ED+PkHMVPBZTQAA@mail.gmail.com> <87BDE0DB-9FB0-4BB2-872D-6D045897FCBD@fugue.com> <CAJ5Rr7ZmVWRp8H1Kg2QVXFJKnrUK09J2iPHsVTDvSxFioAznUQ@mail.gmail.com> <CAJ5Rr7btf6iRnWWqVRhUAOHLotF3ntamNZt9MnACbPEOtXSGhQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3654.60.0.2.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/hN1vkFbqfINaZ8dlj1tr-bYZoAo>
Subject: Re: [dnssd] SRP Update - removing individual services (draft-ietf-dnssd-srp-06)
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: Thu, 07 Jan 2021 16:02:53 -0000

On Dec 19, 2020, at 10:34 AM, Kangping Dong <wgtdkp@google.com> wrote:
> 
> Sorry, another question :)
> 
> In section 2.3.1. Validation of Adds <https://www.ietf.org/archive/id/draft-ietf-dnssd-srp-07.html#name-validation-of-adds>, we have:
> 
>  SRP Updates consist of a set of instructions that together add or remove one or more services. 
> Each instruction consists either of a single add, a single delete, or a delete optionally followed by an add. 
> When an instruction contains a delete and an add, the delete MUST precede the add.
> 
> What is the use case of the "single add"? To my understanding,  the "delete + add" pattern is
> for resetting the service to our current SRP update. So the "single add" pattern is for updating
> the existing service, for example, adding one more AAAA RR, right?

The PTR add can just be an add, because there’s a 1:1 match between a service name PTR record and the service instance name that is its target. But this text is indeed confusing, so I’ve updated it:

            Each instruction
	    consists some combination of delete updates and add updates. When an instruction contains a delete and an add, the
	    delete MUST precede the add.

> I think, for most SRP clients, it will be more convenient for them to track all IP Addresses and
> always update with the whole IP addresses list rather than depending on this "update" model
> and register the addresses separately. The server, I think can also be simplified. Thoughts?

Indeed, the single add doesn’t make sense—the client has no way of knowing if there may be stale data present on the name.

> Another issue with this sentence is that, the Service & Host Description Invalidation requires:
> exactly one "Delete all RRsets from a name" RR,
> Seems disallowing the "single add" pattern? 

That’s right. The model of having the client partially update its data wouldn’t be consistent with the fact that SRP updates are essentially blind updates. So yes, the client always has to send all the data for any instruction, and that means we need a delete for every Host instruction, and a delete for every Service Description instruction. This isn’t needed for the Service Discovery instruction because there can only be one PTR record on a particular service type pointing to a particular service instance name—if it’s there, there’s no need to delete it before adding it.