Re: [Spud] discovery

Michael Welzl <michawe@ifi.uio.no> Fri, 20 March 2015 08:20 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: spud@ietfa.amsl.com
Delivered-To: spud@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 786581B2C75 for <spud@ietfa.amsl.com>; Fri, 20 Mar 2015 01:20:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 B1X-gYlZ1tcu for <spud@ietfa.amsl.com>; Fri, 20 Mar 2015 01:19:55 -0700 (PDT)
Received: from mail-out5.uio.no (mail-out5.uio.no [IPv6:2001:700:100:10::17]) (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 E32F91B2C72 for <spud@ietf.org>; Fri, 20 Mar 2015 01:19:54 -0700 (PDT)
Received: from mail-mx1.uio.no ([129.240.10.29]) by mail-out5.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1YYs9o-0006lD-Nd; Fri, 20 Mar 2015 09:19:52 +0100
Received: from mail-ex13.exprod.uio.no ([129.240.120.75]) by mail-mx1.uio.no with esmtps (TLSv1:AES256-SHA:256) (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1YYs9o-0000UB-4i; Fri, 20 Mar 2015 09:19:52 +0100
Received: from mail-ex03.exprod.uio.no (2001:700:100:52::6) by mail-ex13.exprod.uio.no (2001:700:100:120::75) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Fri, 20 Mar 2015 09:19:51 +0100
Received: from mail-ex03.exprod.uio.no ([fe80::5889:72f9:9e7c:4a6c]) by mail-ex03.exprod.uio.no ([fe80::5889:72f9:9e7c:4a6c%19]) with mapi id 15.00.1044.021; Fri, 20 Mar 2015 09:19:51 +0100
From: Michael Welzl <michawe@ifi.uio.no>
To: Brian Trammell <ietf@trammell.ch>
Thread-Topic: [Spud] discovery
Thread-Index: AQHQYuaikdm5b2wk00WGXC5oI03XxQ==
Date: Fri, 20 Mar 2015 08:19:50 +0000
Message-ID: <7D4541ED-80A7-4C53-9386-58E755BF8375@ifi.uio.no>
References: <CAD62q9V8wg6YrTVmg4px=sBdXZyEYZE0iAUd6mJfmgJnDLEMmg@mail.gmail.com> <BAD98A61-4B9D-43B6-B79E-0B3CE26A6740@trammell.ch> <E97A77C9-0C06-4036-95AF-8D8EF19D0AB0@ifi.uio.no> <8996D749-9936-4BB3-B494-08556CE8D41C@trammell.ch>
In-Reply-To: <8996D749-9936-4BB3-B494-08556CE8D41C@trammell.ch>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [129.240.169.59]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <15628D193FD2BB4CB21DEF2719CCFEDE@mail.uio.no>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 4 msgs/h 2 sum rcpts/h 5 sum msgs/h 2 total rcpts 26601 max rcpts/h 44 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, T_RP_MATCHES_RCVD=-0.01, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 82561F8EB4BB63036F3738314272DB696254CC67
X-UiO-SPAM-Test: remote_host: 129.240.120.75 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 79 total 653076 max/h 493 blacklist 0 greylist 0 ratelimit 0
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/CNhNTQGTpJrb388hRGchgNuAXWQ>
Cc: Aaron Falk <aaron.falk@gmail.com>, "spud@ietf.org" <spud@ietf.org>
Subject: Re: [Spud] discovery
X-BeenThere: spud@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Session Protocol Underneath Datagrams <spud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spud>, <mailto:spud-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/spud/>
List-Post: <mailto:spud@ietf.org>
List-Help: <mailto:spud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spud>, <mailto:spud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Mar 2015 08:20:00 -0000

> On 20 Mar 2015, at 03:00, Brian Trammell <ietf@trammell.ch> wrote:
> 
>> 
>> On 19 Mar 2015, at 19:21, Michael Welzl <michawe@ifi.uio.no> wrote:
>> 
>> 
>>> On 19. mar. 2015, at 17.18, Brian Trammell <ietf@trammell.ch> wrote:
>>> 
>>> hi Aaron,
>>> 
>>>> On 19 Mar 2015, at 11:48, Aaron Falk <aaron.falk@gmail.com> wrote:
>>>> 
>>>> The draft
>>> 
>>> ... where "the draft" is draft-hildebrand-spud-prototype ...
>>> 
>>>> doesn't say much about how one efficiently determines whether the other end is SPUD-capable so that an application can know whether it can use it.
>>> 
>>> No, it doesn't.
>>> 
>>>> Has anyone given thought to this?
>>> 
>>> Yes, I have...
>>> 
>>> I think for the most part that this question is (1) very important but (2) mostly orthogonal to that we're trying to answer in spud-prototype.
>>> 
>>> Initially, I would expect that discovery works the same way that it does for any other user of the transport layer: you either have a URL, or a name and a port, or some information from your application-layer protocol's discovery service, which includes "uses x-over-SPUD" in its semantics.
>>> 
>>> Dynamically discovering a SPUD endpoint might make sense if a server port / URL schema is assigned to a service over X or a service over x-over-SPUD. In this case, the magic number we've selected makes SPUD server probing by the client possible: a SPUD packet is neither valid UTF-8, UTF-16, UTF-32, ASN.1 BER or DER, DTLS, NTP, DNS, DHCP, TFTP, or Bittorrent. This is not an exhaustive list, but we haven't found a protocol over UDP that is likely to consider d8 00 00 d8 as the first four bytes anything other than an error.
>> 
>> - but that won't tell you if SPUD actually does work across the path...
> 
> True. But discovery (is there an endpoint there?) is a separate question from path transparency (once you've found the endpoint, can you actually talk to it?)

Not entirely I think - see below:


> This would be an argument for specifying a dynamic discovery method, though -- not for determining whether you should use SPUD, but whether you can.

So I think, as much as some folks seem to hate it, there really isn't a way around happy-eyeballing...
the reason I say it's not entirely separate ifrom discovery s that happy eyeballs can check availability both on the path and the other end in one go. However, having a separate method that really only deals with the other end can limit how much happy eyeballing one needs to do (i.e.: no point even trying SPUD if the other side doesn't use it).

Cheers,
Michael