W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2013

Re: HTTP/2 and TCP CWND

From: Roberto Peon <grmocg@gmail.com>
Date: Mon, 15 Apr 2013 15:56:19 -0700
Message-ID: <CAP+FsNfGBYXABwLJJMk6rC_GAMVD2RXaMFEu93oGwMaCuCzN7Q@mail.gmail.com>
To: "Eggert, Lars" <lars@netapp.com>
Cc: Gabriel Montenegro <Gabriel.Montenegro@microsoft.com>, "Simpson, Robby (GE Energy Management)" <robby.simpson@ge.com>, Eliot Lear <lear@cisco.com>, Robert Collins <robertc@squid-cache.org>, Jitu Padhye <padhye@microsoft.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>, "Brian Raymor (MS OPEN TECH)" <Brian.Raymor@microsoft.com>, Rob Trace <Rob.Trace@microsoft.com>, Dave Thaler <dthaler@microsoft.com>, Martin Thomson <martin.thomson@skype.net>, Martin Stiemerling <martin.stiemerling@neclab.eu>
When you have a lot of users, attempting to cache for them server-side is
not really possible, and opens the site up to some interesting DoS vectors.

There are easier ways to attack servers and clients (e.g. use DNS to
perform various attacks, simply send a SYN flood, etc.) than messing with
this, but it should always only be advisory.
The interesting thing about the client mucking with this data is that, so
long as the server's TCP implementation is smart enough not to kill itself
(and some simple limits accomplish that), the only on the client harms is
itself...
-=R


On Mon, Apr 15, 2013 at 3:26 PM, Eggert, Lars <lars@netapp.com> wrote:

> Hi,
>
> On Apr 15, 2013, at 15:15, Roberto Peon <grmocg@gmail.com> wrote:
> > If it was defined as an opaque blob that the transport layer delegates to
> > the application layer to transmit and cache, would it seem as scary?
> ...
> > I think you mistake the intent. The intent is to make it easy for
> transport
> > experimentation by giving a mechanism that can be implemented today of
> > storing transport-related data, and by giving that back to the transport
> > layer upon session resumption.
>
> why does the app need to be involved here at all? It TCP wants to cache
> state from one connection instance to the next, it can (and does, in some
> cases) already do so.
>
> Yeah, for HTTP, you might want the HTTP client to hold that state instead
> of the HTTP server as an optimization, so you need to get it in and out of
> the server kernel. But is that really of general usefulness? There seem to
> be some significant security challenges here, such as whether a server
> would even trust this opaque information, given that the client could have
> messed with it. (Blindly using this state could have detrimental effects on
> other connections the server has open.)
>
> Lars
Received on Monday, 15 April 2013 22:56:47 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:12 UTC