[Spud] SPUD scoping (was Re: SPUD's open/close are unconvincing)

Jana Iyengar <jri@google.com> Fri, 10 April 2015 22:25 UTC

Return-Path: <jri@google.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 71ACD1B2DCC for <spud@ietfa.amsl.com>; Fri, 10 Apr 2015 15:25:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level:
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=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 xI_T7HlqIZYX for <spud@ietfa.amsl.com>; Fri, 10 Apr 2015 15:25:28 -0700 (PDT)
Received: from mail-ig0-x22d.google.com (mail-ig0-x22d.google.com [IPv6:2607:f8b0:4001:c05::22d]) (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 5119A1B2DC9 for <spud@ietf.org>; Fri, 10 Apr 2015 15:25:20 -0700 (PDT)
Received: by igblo3 with SMTP id lo3so9294122igb.1 for <spud@ietf.org>; Fri, 10 Apr 2015 15:25:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=XmWH0wksgz8CC2vjEai1BOvhXexbXcsTX1vj0UTaxa8=; b=kPMrrT/jQ8BwK0v/T+5U/iyzjt752qtnl36wmPzVmdOBmmEKcSBhvK9wcUAKxfsSln csf7TBUiv4E9K8Hwietf5XXguPuwq41CIU7GUEUXQ95ovANmY+gmXcFm45fXwJY5cR4/ E10lHXT1vtLpkaiSDYFUZ59ZZUYgtqyI37caY0veLOvTH0nilgOgwE+KM9DSziqnEMUN 8V6HpbaizfmT/kjYV3a+gV+uxXxB8crxFU+uUk8IsUaveNpYsQUt7+2RYa35Ly18rgcr uvlWVYS1kFIgjVVkeApAvc87bbec4HG0qpN9z1Cprcm7OmNGiNq9mDICIWCAHCw3R7cT Z0zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to:cc :content-type; bh=XmWH0wksgz8CC2vjEai1BOvhXexbXcsTX1vj0UTaxa8=; b=Ey1p/W8AJd4XQwM13BvuYMptgRyo864/urbkTCDbdte4bdmZsoAuYzvCPKx6tPdoml KP401EI1RmWHpKZVVJzbWk1yXLfn53SBErgLO1l8+DW9GdQfxB4ay+I51p9wxiIt/JoU IkDjFQVKzZAQ3MqddF3YSE1h7gCMFDPykcdZUy7odtSf09ahX51weifAEv5hag+Zqd2R g4zxncyVGgxzewEFq8z7tIlnfk3JMXtzL2kSBtc+EM0qE8331Us9HxlH5pYnlb+avsH4 o/gVYyknUJDhUyHOQlCzbM7ewdCQ0fHOHRvV1q3zHSzSRtfgMqBfDbqcVHP7t3BaTq20 D02g==
X-Gm-Message-State: ALoCoQlh8U098Ii7Cd9fKrIrrEHD43BQUmQi3l24LhnHuxbhZayTvBCGDmApnrN4dbhvkIgFPhNx
MIME-Version: 1.0
X-Received: by 10.42.216.145 with SMTP id hi17mr6434552icb.63.1428704719815; Fri, 10 Apr 2015 15:25:19 -0700 (PDT)
Received: by 10.50.45.41 with HTTP; Fri, 10 Apr 2015 15:25:19 -0700 (PDT)
Date: Fri, 10 Apr 2015 15:25:19 -0700
Message-ID: <CAGD1bZbj8oHB0AFjQyzHk0yXBoM22VZEC6-eNY_oKxBL5W2ntA@mail.gmail.com>
From: Jana Iyengar <jri@google.com>
To: Toerless Eckert <eckert@cisco.com>
Content-Type: multipart/alternative; boundary=20cf301cc73c5058520513663df5
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/Eb7r1KcwuwWOspbOIFrr3pq77cg>
Cc: Tom Herbert <tom@herbertland.com>, Phillip Hallam-Baker <phill@hallambaker.com>, Daniel Kahn Gillmor <dkg@fifthhorseman.net>, "spud@ietf.org" <spud@ietf.org>
Subject: [Spud] SPUD scoping (was Re: SPUD's open/close are unconvincing)
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, 10 Apr 2015 22:25:31 -0000

Toerless, PHB, all:

One response inline, also because it uncovers something that I want to
speak to:

>

> > > What's missing from SCTP ?
> >
> > Quite, do we have the opportunity for a quick fix here? If SCTP has
> > already done all the necessary design work, can we just bolt that on
> > top of UDP in place of IP and declare a quick victory?
>
> You should talk to the SCTP folks or read the specs. I am not
> on top of the details but i think it does a lot of what you ask.
> For me, userland eg: SCTP would be a pre-requisite to make a solution like
> SPUD successful, not an argument to not do SPOD. See my mail where i
> was trying to explain the three layers of the transport stack
> as i would like to see it.
>

I'm quite intimately familiar with SCTP, and what SCTP provides is *not*
germane to whether SPUD should happen or not. The point is to allow for
UDP-based transports to exist, such as Adobe's RTMFP, FaceTime's UDP-based
protocol (whatever that's called), Quake-3's transport protocol, ... if you
want to bolt SCTP on top of UDP, that's fine. SPUD should allow you to do
that.

Architecturally, IMO, the value of SPUD is in bringing some semblance of
shared connection-level behaviors and signaling to UDP-based transports, so
that (i) middleboxes can make life easier for UDP-based transports, and so
that (ii) middleboxes can understand the common design patterns in
UDP-based transports so that they can do middleboxy things better.
UDP-based transports have existed for quite a while, and continue to be
developed and deployed; SPUD can do the right thing of tying them at the
waist.

IMO, it is extremely important to define a narrow waist though, so that
SPUD doesn't ossify the design space atop UDP. UDP is the wild-west right
now; bringing order to this space shouldn't result in a strait-jacketing of
this space. Conversely, if it seems to strait-jacket this design space,
SPUD will likely not take off, simply because the experiments that folks
are currently running on UDP that don't fit the SPUD world-view will simply
not adopt SPUD.

So, in my mind, any effort that seeks to work on enabling UDP-based
transports must find and document shared design patterns in existing
UDP-based transports, and if absolutely necessary, specify bits to be
exposed to the network. There are several things that are behavior and
*not* bits on the wire, but these seem to have been dropped in favor of a
protocol spec. Things such as:
- congestion control for non-TCP transports (we did this for LEDBAT, and
discovered how difficult it was to specify congestion control without
assuming framing. This is, in general, a difficult but incredibly important
exercise.)
- loss recovery ideas (how do you provide reliability?) that are untangled
from the TCP-ese that they are currently tangled in in both RFCs and in
implementations.
- best practices on various things that commonly affect UDP-based
transports including known NAT behavior, known practices about UDP
blocking, UDP rate limiting, etc.

It's quite possible I have a different view of what's useful to be done in
this space. My concern is that conversations here are rushing headlong into
a discussion of a protocol, but if we are talking about an architectural
shift -- where UDP-based transports are increasing in number and scope, and
where we try to engage middleboxes in protocol design --- it seems to me
that our starting questions need to be broader than the specific bits of
the SPUD prototype. And our starting conversations need to include
currently deployed UDP-based transports.

- jana