Re: [Spud] discovery

Michael Welzl <michawe@ifi.uio.no> Fri, 20 March 2015 13:02 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 7242A1B2CF5 for <spud@ietfa.amsl.com>; Fri, 20 Mar 2015 06:02:27 -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 eYiKOz1q9WhR for <spud@ietfa.amsl.com>; Fri, 20 Mar 2015 06:02:25 -0700 (PDT)
Received: from mail-out4.uio.no (mail-out4.uio.no [IPv6:2001:700:100:10::15]) (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 0C9F61B2CF3 for <spud@ietf.org>; Fri, 20 Mar 2015 06:02:25 -0700 (PDT)
Received: from mail-mx3.uio.no ([129.240.10.44]) by mail-out4.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1YYwZC-0001nu-QY; Fri, 20 Mar 2015 14:02:22 +0100
Received: from mail-ex01.exprod.uio.no ([129.240.52.4]) by mail-mx3.uio.no with esmtps (TLSv1:AES256-SHA:256) (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1YYwZC-0002mT-4o; Fri, 20 Mar 2015 14:02:22 +0100
Received: from mail-ex03.exprod.uio.no (2001:700:100:52::6) by mail-ex01.exprod.uio.no (2001:700:100:52::4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Fri, 20 Mar 2015 14:02:21 +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 14:02:21 +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 13:02:21 +0000
Message-ID: <C3435157-DE64-4EA4-9D71-F28AA7D91065@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> <7D4541ED-80A7-4C53-9386-58E755BF8375@ifi.uio.no> <C07A916B-38B1-4CC8-953A-604051C5CB1E@trammell.ch>
In-Reply-To: <C07A916B-38B1-4CC8-953A-604051C5CB1E@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: <3A9A8F1B506FD74AB5A0BC50838324F5@mail.uio.no>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 8 msgs/h 2 sum rcpts/h 12 sum msgs/h 4 total rcpts 26634 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: 7CDFAA1AE9F13CECEA8CE490E289949822D18E3D
X-UiO-SPAM-Test: remote_host: 129.240.52.4 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 13 total 650636 max/h 480 blacklist 0 greylist 0 ratelimit 0
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/2zyZ0EMmq5V4GBnqdBu6f4oqVf0>
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 13:02:27 -0000

> On 20 Mar 2015, at 12:47, Brian Trammell <ietf@trammell.ch> wrote:
> 
> 
>> On 20 Mar 2015, at 04:19, Michael Welzl <michawe@ifi.uio.no> wrote:
>> 
>> 
>>> 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:
> 
> The questions are absolutely separate. The way you answer them, not necessarily.
> 
>>> 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...
> 
> In general, I don't disagree with this -- let me rephrase it to make sure we're saying the same thing:
> 
> "Dynamic discovery mechanisms are necessary at both endpoints to determine both far-endpoint and path-modulated availability of [a new protocol]."
> 
>> 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.
> 
> Since the point of happy/angry eyeballs is low connection setup latency, yes: the more stuff you can do with the fewer packets the better.
> 
>> 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).
> 
> There's an engineering tradeoff here between robustness and complexity, and I really hope that HOPS and related efforts get us some better insight as to what the exponents are on the types of impairments we hope to see. 

- I think we agree on everything here.


> We're trying to run some measurements right now to get some numbers on how likely UDP-based encaps are to make it through the network, and how likely differential treatment of UDP and TCP packets will cause performance issues, as it's the UDP-ness of SPUD that is likely to cause us the most problems initially. (If anyone knows of studies to this question or available data to measure, please let us know. :) )

I don't but I think this is a very cool thing to test! Curious to see the results!

Cheers,
Michael