Re: [Anima] [dnssd] DNS-SD TXT question (for ANIMA use).

Toerless Eckert <tte@cs.fau.de> Tue, 03 May 2022 18:19 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 74B37C159A1D; Tue, 3 May 2022 11:19:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.87
X-Spam-Level:
X-Spam-Status: No, score=-0.87 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HWYk_R4Au69m; Tue, 3 May 2022 11:19:01 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 01905C1595E4; Tue, 3 May 2022 11:18:58 -0700 (PDT)
Received: from faui48e.informatik.uni-erlangen.de (faui48e.informatik.uni-erlangen.de [131.188.34.51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTPS id 9630A58C4AF; Tue, 3 May 2022 20:18:51 +0200 (CEST)
Received: by faui48e.informatik.uni-erlangen.de (Postfix, from userid 10463) id 812C14EADAC; Tue, 3 May 2022 20:18:51 +0200 (CEST)
Date: Tue, 03 May 2022 20:18:51 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: "touch@strayalpha.com" <touch@strayalpha.com>
Cc: dnssd@ietf.org, anima@ietf.org, cheshire@apple.com
Message-ID: <YnFyCwHUSu67Uio7@faui48e.informatik.uni-erlangen.de>
References: <Ym6j/8qhEzvqNw2V@faui48e.informatik.uni-erlangen.de> <BECA0397-5B8B-4DAB-8706-D5727F86F73A@strayalpha.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BECA0397-5B8B-4DAB-8706-D5727F86F73A@strayalpha.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/dMH_yPY38JE7IOrakLq3sJyPB6U>
Subject: Re: [Anima] [dnssd] DNS-SD TXT question (for ANIMA use).
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 May 2022 18:19:05 -0000

Thanks Joe, for reconfirming

Couldn't find any of those service names you listed to point to an RFC, so
i gave up trying to find documentation of the exact formatting.

If a single service instance (IP-addr/port) can support let's say more
than one protocol (variation), then i guess we have to come up with
our own encoding proposal, as there is no standard ?!

  eg: proto=variation1,variation2,...

  (catenate protocols with ",").

I guess this could happen when we come up with different
protocols all running on top of coap (given how the service instance
port number is only bound to the coap layer).

Cheers
    Toerless

On Mon, May 02, 2022 at 07:40:25PM -0700, touch@strayalpha.com wrote:
> Hi, Toerless,
> 
> A bunch of port assignments use TXT records to indicate protocol version or security algorithm,. Those are all arguably similar to being able to support multiple protocols.
> buddycloud-api, bluevertise, obf, railduino, sparql, spearcat, spearcat, tbricks, tivo-remote, and tivo-videos all appear to use TXT records to indicate “protocol” or something similar.
> If the service is typically discovered by DNS-SD, I would think using TXT records this way would be a good solution. It would also allow discovery to occur more quickly than polling for multiple service names if the user can support multiples but needs to know what the server supports.
> 
> Joe
> 
> —
> Dr. Joe Touch, temporal epistemologist
> www.strayalpha.com
> 
> > On May 1, 2022, at 8:15 AM, Toerless Eckert <tte@cs.fau.de> wrote:
> > 
> > In ANIMA, we do have a bootstrp service (RFC8995), which has two service
> > points, registrar and proxy. We primarily use GRASP and not DNS-SD
> > for its "original" instance (with RFC8994), but we also defined service
> > names brski-proxy / brski-registrar.
> > 
> > Now we're working on variations of this service, where the overall idea
> > of the service is the same, but the protocol run across the service points
> > gets new options. Originally it is EST (RFC7030) over TLS, now we added
> > two new protocol options: EST over COAP over DTLS (stateful), and EST over COAP over
> > DTLS with our own new shim header (stateless). Note that in these new
> > versions actual use of DNS-SD instead of GRASP is more likely, so the
> > question how to do this for DNS-SD is more interesting now.
> > 
> > So, now comes the question of how to do service discovery for the different
> > options. And likely this may not be the latest options, there may also be
> > something likee CMP over COAP over DTLS or whatever else the industry wants.
> > 
> > Right now, the proposal of the draft (draft-ietf-anima-constrained-join-proxy)
> > is to allocate new service-names: brski-jp / brski-rjp. If we do this,
> > it would i think lead us down the road of creating a new set of 2 service
> > names for every protocol variation we run across the service points.
> > For example with just brski-jp / brski-rjp, we would not be able to
> > distinguish the stateful /stateless variations.
> > 
> > Instead, i was wondering if it would not be better to stick to just the two
> > service name and simply distinguish the protocol variations through a TXT
> > parameter:
> > 
> >      service-name: brski-registrar, TXT key: proto=EST-COAP-DTLS      # cBRSKI stateful
> >      service-name: brski-registrar, TXT key: proto=EST-COAP-DTLS-SL   # cBRSKI stateless
> >      service-name: brski-registrar, TXT key: proto=EST-TLS            # BRSKI
> > 
> >      service-name: brski-proxy,     TXT key: proto=EST-COAP-DTLS      # cBRSKI stateful
> >      service-name: brski-proxy,     TXT key: proto=EST-COAP-DTLS-SL   # cBRSKI stateless
> >      service-name: brski-proxy,     TXT key: proto=EST-TLS            # BRSKI
> > 
> > Thoughts ?
> > 
> > The way i see it, this should be better ? True ?
> > 
> > Are there pre-existing examples of selecting services based on TXT keys, e.g.:
> > where multiple service point instances differ by a TXT key value and the client
> > selects based on that ? Printer protocol ? ;-) (printers being classical example).
> > 
> > Downsides ?
> > 
> > Registration wise, we could introduce into the IANA BRSKI registry the TXT key values
> > as a new table to track the values/RFCs given how the service-name registry does
> > not really do this (TXT key only in notes colum, but without values).
> > 
> > Cheers
> >    Toerless
> > 
> > _______________________________________________
> > dnssd mailing list
> > dnssd@ietf.org
> > https://www.ietf.org/mailman/listinfo/dnssd
> 

-- 
---
tte@cs.fau.de