Re: [Spud] SPUD scoping (was Re: SPUD's open/close are unconvincing)
Toerless Eckert <eckert@cisco.com> Sat, 11 April 2015 01:54 UTC
Return-Path: <eckert@cisco.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 3E94A1A877E
for <spud@ietfa.amsl.com>; Fri, 10 Apr 2015 18:54:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001,
T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 D5ftFtDdR5f6 for <spud@ietfa.amsl.com>;
Fri, 10 Apr 2015 18:54:17 -0700 (PDT)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94])
(using TLSv1 with cipher RC4-SHA (128/128 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 46BBD1A8702
for <spud@ietf.org>; Fri, 10 Apr 2015 18:54:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=cisco.com; i=@cisco.com; l=5886; q=dns/txt; s=iport;
t=1428717257; x=1429926857;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=NxcP5pBXv0CDPHMbD5sh+y2Np9h2x1RjEV6db0gFHpc=;
b=UmwjwvOn6qW6RQ6b1aS/D2wcJ/ch01erg0CWAHEFIR+sJ/vsXbPu27my
EZUl5XSd8JqnU+s6jBmaiWcq1s8v46pY4XT5k7s1aYUCLSQw8kY5tNBDF
xh9619EAaRGk309Yi8XAl0g9u3Eyoga7AMD06aJcvfVu6qIVk7OU4aFzT Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AHBQCWfihV/5xdJa1cgwyBLsRrh08CgT06EgEBAQEBAQF9hB8BAQEDATo/BQsLDgoJJQ8FSRMZiAkIzksBAQEBAQEBAQEBAQEBAQEBAQEBARiKLH+EfAeELQWGIYUKi3yDaAGBHY98g0wiggMcgXAeMYJDAQEB
X-IronPort-AV: E=Sophos;i="5.11,559,1422921600"; d="scan'208";a="140237850"
Received: from rcdn-core-5.cisco.com ([173.37.93.156])
by alln-iport-7.cisco.com with ESMTP; 11 Apr 2015 01:54:16 +0000
Received: from mcast-linux1.cisco.com (mcast-linux1.cisco.com [172.27.244.121])
by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id t3B1sFHf012390
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
Sat, 11 Apr 2015 01:54:16 GMT
Received: from mcast-linux1.cisco.com (localhost.cisco.com [127.0.0.1])
by mcast-linux1.cisco.com (8.13.8/8.13.8) with ESMTP id t3B1sFYm008775;
Fri, 10 Apr 2015 18:54:15 -0700
Received: (from eckert@localhost)
by mcast-linux1.cisco.com (8.13.8/8.13.8/Submit) id t3B1sEVQ008772;
Fri, 10 Apr 2015 18:54:14 -0700
Date: Fri, 10 Apr 2015 18:54:14 -0700
From: Toerless Eckert <eckert@cisco.com>
To: Jana Iyengar <jri@google.com>
Message-ID: <20150411015414.GI24286@cisco.com>
References: <CAGD1bZbj8oHB0AFjQyzHk0yXBoM22VZEC6-eNY_oKxBL5W2ntA@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAGD1bZbj8oHB0AFjQyzHk0yXBoM22VZEC6-eNY_oKxBL5W2ntA@mail.gmail.com>
User-Agent: Mutt/1.4.2.2i
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/H6qWCpa-bf3ttfgMFY9gjJFyMag>
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: Re: [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: Sat, 11 Apr 2015 01:54:19 -0000
On Fri, Apr 10, 2015 at 03:25:19PM -0700, Jana Iyengar wrote:
> 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.
Right. I was primarily pounding on how SPUD can help proliferate work
on reliable transport layer over UDP. But its equally valuable to provide
a lightweight "connection layer" for datagram transport protocols like you
mention them. So that three layer transport that i dres (UDP+SPUD+Proto)
should defnitely be inclusive of datagram and reliable "Proto".
> 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.
Right, I'd maybe just call it "connection oriented datagram service protocol",
but that doesn't include those aspects of it that interact with middleboxes.
> 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.
Not quite sure i get that picture. Do i have to loose weight to use SPUD ? ;-))
> 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.
Well... lets see.
As a cynical aside: i am not sure your premise is correct. HTML (pre 2.0)
was a real protocol for a lot of things put into it, but yet it was done because
it did help so much to get through FW. And lo and behold, no 20 years later
we have HTML 2.0. SO maybe we just need to make SPUD successfull, however much
it sucks, and the rest will resolve itself in time ;-)
What SPUD should provide is primarily the minimum necessary and sufficient
to get better through future middleboxes. I can think different type of middleboxes
may have different degree of requirements, but ultimately, you shouldn't need to
have more in SPUD than what those middleboxes want you do do - or what the
SPUD application wants them to do.
I think extensibility would be good to bake into the design.
> 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.)
Well... I think SPUD should include elements for common "QoE" interactions
with middleboxes. Packet priority, signaling of bandwidth etc. pp. Those
would be leveraged by congestion control end-to-end. I don't think that
we could define an actual congestion control mechanism into SPUD because
work like LEDBAT, RMCAT and all the other stuff going on shows that we do
want and need to support a variety of different congestion control mechanisms.
> - 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.
Can you give an example ? My pet topic of course are indications of
drop-priority at packet level, also because this would nicely match abilities
of key transport media like wireless (higher reliabiliy == more bandwidth
required for packet because of higher probability for L2 retransmit).
> - best practices on various things that commonly affect UDP-based
> transports including known NAT behavior, known practices about UDP
> blocking, UDP rate limiting, etc.
Example ?
> 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.
Imagine you had a nice concept requirement but no ida how you would code it
into the actual protocol bits (and how middleboxes should interact with it).
In a waterfall process we'd write it down and a year later we discover we
can't figure out how to do it, only that we likely wasted a lot of time figuring
out its interations in before. So the use of a SPUD prototype protocol that
we can bitch about how to modify is IMHO primarily a tool to keep the discussion
close to the metal and focussed on deliverying useable code more than long
documents.
Cheers
Toerless
> - jana
--
---
Toerless Eckert, eckert@cisco.com
- Re: [Spud] SPUD scoping (was Re: SPUD's open/clos… Toerless Eckert
- Re: [Spud] SPUD scoping (was Re: SPUD's open/clos… Tom Herbert
- [Spud] SPUD scoping (was Re: SPUD's open/close ar… Jana Iyengar