Re: [Spud] New Version Notification for draft-kuehlewind-spud-use-cases-00.txt

Tom Herbert <tom@herbertland.com> Wed, 08 July 2015 15:54 UTC

Return-Path: <tom@herbertland.com>
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 6422C1A00FA for <spud@ietfa.amsl.com>; Wed, 8 Jul 2015 08:54:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7] 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 IPBwD_u3LKzG for <spud@ietfa.amsl.com>; Wed, 8 Jul 2015 08:54:06 -0700 (PDT)
Received: from mail-ie0-f177.google.com (mail-ie0-f177.google.com [209.85.223.177]) (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 979981A00F7 for <spud@ietf.org>; Wed, 8 Jul 2015 08:54:06 -0700 (PDT)
Received: by iecuq6 with SMTP id uq6so158453803iec.2 for <spud@ietf.org>; Wed, 08 Jul 2015 08:54:05 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=M4BRKetzsaqlaByZ10NcJK8iOnBF3uCszkcSBeSMAa8=; b=Lajzw4WO/sVZuzipWEO3LiN6ua/NJ8hBcv5rNQ0QhUMSAghQTlTSN28evxiKDoSznM +lmBdnUggH8ca+XqSN0hC3eh7D+NaRv+NGlrExBkQQ2epKl0if1YSPMxBKmCsV2hDcUs vUvYo6WR3QeMGOSAkz711LfK81jVGvP/iT3UUWqH/0D5drUJY2n6Rw6veWK8fxFad/TF rY9hsmbOEwQ/wetxSYn5Bpqwa/4AaaksLpWG1EF4F2MCBtBy7AXLa22+qLaAo2boh+bq a0cK0+mdN7vNycDWUicJCBJbXy5iqsggVUE/652uCO0DG5mm2P2eEgaSoaHEAWsSsr2f LQMg==
X-Gm-Message-State: ALoCoQk3Skagtkz6aI+bA2z0qp43h2HN4T93ZrrnMVVbi2dSGv1Se5NqHyO5HTjjticU7iTWD/rZ
MIME-Version: 1.0
X-Received: by 10.107.41.146 with SMTP id p140mr17402105iop.58.1436370845886; Wed, 08 Jul 2015 08:54:05 -0700 (PDT)
Received: by 10.107.142.86 with HTTP; Wed, 8 Jul 2015 08:54:05 -0700 (PDT)
In-Reply-To: <7158BF85-8731-40A0-9920-36D21D73D7F2@trammell.ch>
References: <20150703151910.417.20312.idtracker@ietfa.amsl.com> <176C39DB-16F3-4E46-9A1D-22290A38FBA6@tik.ee.ethz.ch> <CALx6S37Eo6eAE4GTkAWGe+w0ZhDHyuMym7+txgjai5GRw+pgiQ@mail.gmail.com> <7158BF85-8731-40A0-9920-36D21D73D7F2@trammell.ch>
Date: Wed, 8 Jul 2015 08:54:05 -0700
Message-ID: <CALx6S37w1J=v48gFCH18E-3UZyfC28_d_LTuKjC5VHtXC0eu2Q@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
To: Brian Trammell <ietf@trammell.ch>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/cFf2bxZ98aoyRLgu0hE0EJnQD5Y>
Cc: =?UTF-8?Q?Mirja_K=C3=BChlewind?= <mirja.kuehlewind@tik.ee.ethz.ch>, spud@ietf.org
Subject: Re: [Spud] New Version Notification for draft-kuehlewind-spud-use-cases-00.txt
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 08 Jul 2015 15:54:08 -0000

On Tue, Jul 7, 2015 at 6:43 AM, Brian Trammell <ietf@trammell.ch> wrote:
> Hi, Tom,
>
>> On 06 Jul 2015, at 19:20, Tom Herbert <tom@herbertland.com> wrote:
>>
>> On Fri, Jul 3, 2015 at 8:24 AM, Mirja Kühlewind
>> <mirja.kuehlewind@tik.ee.ethz.ch> wrote:
>>> Hi all,
>>>
>>> we’ve just submitted a new use case document. This document describes in more detail the use cases as already presented/discussed at the BoF.
>>>
>>> Please review and comment. Also partial reviews of e.g. just one use case are more than welcome. Further if you’d like to contribute to this document, please let use know as well.
>>>
>> Hi Mirja, thanks for the draft! Here are my comments.
>>
>> General comments:
>>
>> It seems to me there are two motivations for SPUD:
>>
>> 1) A common protocol layer for UDP flow based protocols to pass
>> through stateful firewalls and NAT.
>> 2) A rich inband flow based QoS signaling initiated by end hosts which
>> can be interpreted by network devices in the path.
>
> Kind of, though it's not *strictly* QoS focused.
>
> There's also (1.5): enable network management functionality which today uses DPI but will no longer function with increasing payload encryption. But the current draft doesn't go into much depth on this point.
>
>> The first motivation seems pretty clear, the inability to pass UDP
>> (really anything besides TCP) through stateful firewalls has impeded
>> deployment of new L4 protocols.
>>
>> The second motivation is less clear. Disregarding previously raised
>> questions around new DoS vectors and whether we can ever trust
>> anything anyone says on the Internet, I would ask if SPUD (UDP) is the
>> right layer for this. The need for this signaling doesn't seem to be
>> specific to UDP transport protocols, but also should applicable to
>> TCP, SCTP, and other protocols. Barring that these protocols
>> transition to running over SPUD (unlikely in the foreseeable future),
>> it seems like such signaling should be implemented in a more common
>> layer, maybe something like IP options.
>
> I tend to think that the signaling vocabulary and encoding(s) should be defined *separately* from the mechanism to bind that encoding into the protocol stack. Taking draft-hildebrand-spud-prototype as an example, one could define a set of CBOR keys that one must understand for a given SPUD application (say, the low latency use case), and then bind those CBOR keys into userspace transports using SPUD, into IPv6 traffic using hop-by-hop and/or destination options (in a world in which those work), etc.
>
> In any case, I think at *minimum* any layer supporting this has to be able to run over UDP, by process of elimination -> you can't always add things to the kernel or get privilege to open a raw socket (i.e. requirement 6.3 in draft-trammell-spud-req).
>
IP is the least common denominator and so use of IP options would be
applicable to all IP protocols, not just a new application based
protocol that currently has zero deployment. This is the appropriate
place for the policy/QoS information information described in the use
cases, and there are already facilities for both hop-by-hop options
and allowing middle boxes to modify options inflight. The ability for
applications and receive and arbitrary list of IP options has long
been supported in kernels (IP_OPTIONS and IP_RECVOPTS socket options),
so I really don't see any argument that kernel can't provide necessary
support.

Tom