W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2019

Re: New Draft: draft-ohanlon-transport-info-header

From: Patrick McManus <mcmanus@ducksong.com>
Date: Sat, 23 Nov 2019 05:41:13 +0800
Message-ID: <CAOdDvNrKSPwxNPDYW_0rqc78Zu4NJW9E49qGFt+nv7v3cUgTXg@mail.gmail.com>
To: "Piers O'Hanlon" <p.ohanlon@gmail.com>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
To the extent that this leaks information across origins to js its probably
a problem too.

On Fri, Nov 22, 2019 at 8:58 PM Piers O'Hanlon <p.ohanlon@gmail.com> wrote:

> Hi Lucas,
>
> Thanks for bring that up - as you say Nginx's default for
> http2_max_requests is 1000, although it can be changed (and appears to
> be done so for RPC applications). I'm not sure how many other server
> implementations do this?
>
> Firstly, we can detect this through of the use of the dstport
> parameter - as a new TCP connection would use a different port.
> Although it could potentially lead to temporary loss of information
> for a time as discussed below.
>
> Secondly, the affect of this would be only apparent each time the
> request count is exceeded - so say every 1000 requests - when a switch
> over would occur. When a switch over does occur then it depends on the
> comparative duration of the data responses of interest, versus how
> often one wants to perform parallel HEAD/OPTION requests for
> Transport-Info. So for the case where where the frequency of parallel
> requests is about the same then I think it shouldn't matter much as
> with most server systems these days the congestion control parameters
> are cached in the kernel so a subsequent connection to the same
> destination would be preloaded with the cached metrics so the
> Transport-Info header would contain these. In the case where there's a
> series of long running responses then it might be an issue as after
> switch over point there would also be two parallel TCP connections to
> the same point but they would exist separately for a longer period so
> potentially the metrics obtained via subsequent HEAD/OPTIONS could be
> different as the cwnd can be reduced for low volume flows, though
> these would generally not be used since the dstport would not match so
> there could be a loss of information in this case.
>
> Cheers
>
> Piers
>
> On Fri, 22 Nov 2019 at 10:51, Lucas Pardue <lucaspardue.24.7@gmail.com>
> wrote:
> >
> > Hi Piers,
> >
> >
> >
> >
> > On Fri, 22 Nov 2019, 17:58 Piers O'Hanlon, <p.ohanlon@gmail.com> wrote:
> >>
> >> Hi all,
> >>
> >> - “It only provides information per response which isn’t very often”
> >> We mention in the draft that with H2+ one can send and arbitrary number
> of requests (using OPTIONS/HEAD) to obtain more measurements responses per
> unit time.
> >
> >
> > I have an observation but not sure it belongs in a document.
> Implementations such as nginx have a soft max number of HTTP/2 requests
> before closing the connection (default 1000 last I checked). If you're
> trying to sample the transport info to frequently you may end ip blowing it
> up. This seems unfortunate because the client use case is designed around
> making smarter transport related decisions.
> >
> > Cheers
> > Lucas
> >
> >>
> >> We would welcome any more feedback by email and/or Github issues
> >>
> >> Thanks,
> >>
> >> Piers O'Hanlon
>
>
Received on Friday, 22 November 2019 21:41:30 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:15:43 UTC