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

Ken Calvert <calvert@netlab.uky.edu> Wed, 08 July 2015 16:25 UTC

Return-Path: <calvert@netlab.uky.edu>
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 15E0E1A03A3 for <spud@ietfa.amsl.com>; Wed, 8 Jul 2015 09:25:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.112
X-Spam-Level:
X-Spam-Status: No, score=-1.112 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_ALL=0.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 Bd3ijgTWL4jb for <spud@ietfa.amsl.com>; Wed, 8 Jul 2015 09:25:28 -0700 (PDT)
Received: from mail3.netlab.uky.edu (wonder.netlab.uky.edu [128.163.140.37]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB0941A01FA for <spud@ietf.org>; Wed, 8 Jul 2015 09:25:27 -0700 (PDT)
Received: from culp.local (cpe-96-29-182-38.kya.res.rr.com [96.29.182.38]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail3.netlab.uky.edu (Postfix) with ESMTPSA id 6ECFDC078; Wed, 8 Jul 2015 12:25:26 -0400 (EDT)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Ken Calvert <calvert@netlab.uky.edu>
In-Reply-To: <CALx6S37w1J=v48gFCH18E-3UZyfC28_d_LTuKjC5VHtXC0eu2Q@mail.gmail.com>
Date: Wed, 8 Jul 2015 12:25:22 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D4BB92DF-5839-4B14-8B6C-C2B539BF2F02@netlab.uky.edu>
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> <CALx6S37w1J=v48gFCH18E-3UZyfC28_d_LTuKjC5VHtXC0eu2Q@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
X-Mailer: Apple Mail (2.1878.6)
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/kFC0sVEWZxLMZpRloai5894nerc>
Cc: 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 16:25:30 -0000

>>> 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.

Seems like the 40-byte limit in v4 would make it difficult to do some things you might want to do, especially as hash sizes keep growing.

I like the viewpoint someone (Brian, I think) suggested earlier:  the network layer header effectively includes the  UDP header.  So SPUD could be viewed as a way of carrying network layer options (in addition to transport info).

Ken Calvert