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

Re: [tsvwg] The List (of application-layer desired features)

From: Mike Belshe <mike@belshe.com>
Date: Thu, 29 Aug 2013 07:36:07 -0700
Message-ID: <CABaLYCtZH8qQ_QadJ9=_SpuH0M1J6xrVLfm+SYVrovyeqF97JQ@mail.gmail.com>
To: Michael Welzl <michawe@ifi.uio.no>
Cc: William Chan <willchan@google.com>, Yoav Nir <ynir@checkpoint.com>, Michael Tuexen <Michael.Tuexen@lurchi.franken.de>, HTTP Working Group <ietf-http-wg@w3.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
On Thu, Aug 29, 2013 at 12:56 AM, Michael Welzl <michawe@ifi.uio.no> wrote:

> On 28. aug. 2013, at 15:34, William Chan (陈智昌) wrote:
> On Wed, Aug 28, 2013 at 7:53 PM, Michael Welzl <michawe@ifi.uio.no> wrote:
>> On 28. aug. 2013, at 11:53, William Chan (陈智昌) wrote:
>> On Aug 28, 2013 4:01 PM, "Michael Welzl" <michawe@ifi.uio.no> wrote:
>> >
>> > Hi,
>> >
>> > I agree 100% with Michael Tuexen here... just one thing, in line:
>> >
>> >
>> >>> You're right, SCTP is non-deployable, which makes it a non-starter.
>>  SCTP also does not address handshake issues or TLS issues.
>> >>
>> >> I agree that SCTP over IP can't be deployed now due to missing NAT
>> support.
>> >
>> >
>> > Indeed that's not an argument against SCTP/UDP/IP, but I also wonder
>> why, instead of saying "can't be deployed", people don't just go ahead and
>> use it whenever it's there and works, with a fall-back to TCP? This could
>> be done with (this version of) Happy Eyeballs:
>> > http://tools.ietf.org/html/draft-wing-tsvwg-happy-eyeballs-sctp-02
>> >
>> > Good reasons against doing this are... what? Anyone?
>> Implementation usefulness. Why bother adding code that barely gets used
>> (and that is unlikely to improve in the near future), adds complexity, code
>> bloat, etc...?
>> Fair point. That's why I think the OS should in fact do Happy Eyeballs
>> for you!
> I'm not sure if you're trolling me. In case you aren't, you may want to
> look at the graph at:
> http://gs.statcounter.com/#os-ww-monthly-201207-201307. Windows XP
> (released in 2001) is still around 20% of browser usage. If you have the
> ability to get Microsoft to backport SCTP/IP onto their XP stack, I'd love
> to know. We're not going to ignore large segments of our user base when we
> could use UDP and deploy for all relevant OSes. That may be acceptable for
> some applications, but not for the browser I work on.
> I'm not trolling you.
> So, first, I think we all agree that SCTP over UDP could be a useful
> approach anyway, and indeed maybe that could be the long-term path towards
> wider OS-level deployment. Imagine we had SCTP-over-UDP used by browsers
> all the time, this might be an argument for putting it in the OS. The way
> things are now, OS folks won't do it cause applications don't use it, and
> vice versa. Having a multitude of application-specific solutions over UDP
> that all pretty much do the same things as SCTP doesn't help that, I don't
> imagine that QUIC et al are going to end up in the OS at some point.
> Why is it even so important that things would be in the OS and not in user
> space? I don't know, maybe it isn't... I figure that some timing things
> could be done better, but maybe it really doesn't matter much. So yes, SCTP
> over UDP sounds like the way to go for me.
> But just to explain my argument: for Happy Eyeballs with OS-level SCTP, my
> point was that one could use OS-level SCTP whenever it's there. When it's
> not, do the UDP thing. Yes it's more complicated than simply going for the
> over-UDP solution at all times, and may not be worth it (are there numbers
> showing that OS-level SCTP is better than userspace SCTP?) - I'm just
> trying to explain what I had in mind.
> Anyway, when I wrote "the OS should do it for you", I was thinking about
> something quite different, and not a recommendation for what you put in
> your browser at all. Never mind.

I find this thread frustrating because it inadvertently replaces our real
end-user goals with technogeek protocol goals that will likely fail:
    Step 1:  make broad claims that existing protocol XYZ already solves a
problem like web page loading times  (even though it has never been proven
to do so)
    Step 2:  claim that the goal should be to deploy protocol XYZ since it
already solves the problem ("rather than reinvent the wheel")

No no no!  By doing this we swapped the real goals for fake ones.  The
result will be a bunch of nerds wondering why nobody is using their
glorious new protocol.  Next we'll be writing a "Happy Eyeballs" style spec
to help them see the light!   Look, if the protocol was so lackluster we
had to write a spec to tell people how to deploy it, we failed to solve
interesting problems.  It's time to start over, not time to keep
re-brandishing the same tired old protocol.

To be clear:
    - OS-level deployment of any protocols is not a goal
    - deployment of SCTP is not a goal
    - getting SCTP into the kernel is not a goal

Useful goals would be:
      - making web pages load 10x faster
      - making servers that scale to 1B users
      - making the web accessible to more 10x people
      - eliminating privacy leaks, phishing scams, etc

> This is why Roberto said:
> """
> Wide, "safe" deployment
> """
>> SCTP/UDP has a much higher likelihood of usefulness. But as Roberto has
>> mentioned, it still has deficiencies, mostly around RTTs (connection + DTLS
>> setup). If they can be fixed, great. Let's do it.
>> Why shouldn't it be possible to fix SCTP to do whatever you want? Anyway
>> it sounds to me like a simpler approach than building a whole new protocol.
>> Of course, SCTP++ isn't the nicest acronym...  then again, RTMFP isn't
>> either, if you ask me, sounds almost like RTFM...  QUIC is great though!
> I have no attachments to the protocol name or frame format or whatever.
> Look at what we're doing in HTTP/2 which was inspired by SPDY but now has
> undergone substantial changes. We're serious about this. As long as the
> transport
> Sorry if my statement about acronyms rubbed you the wrong way, I was only
> trying to be a bit ironic here. What I mean is: SCTP seems to do a lot of
> the things that RTMFP or QUIC are meant to do. Rather than re-inventing the
> wheel over and over again, it might be better to have a discussion in tsvwg
> about what you guys think is missing in SCTP and seeing how it could be
> fixed.

Wishful thinking alert!  --  If it wasn't designed for a particular goal,
it likely doesn't solve that particular goal.  And no, SCTP was not
designed for low-latency web transactions.

Don't let me discourage you too much, I'd love to see what you say here
turn out to be true.  But if these protocols worked as you say, they'd be
deployed already.  You think nobody tried HTTP over SCTP?  Of course we
did!  It's a marginal improvement at best, after you get past all the
complexity and bugginess of protocols that were not designed for this

I hope this doesn't come across too harsh.


> I understand that speed of deployment is a key issue here, and trying to
> update SCTP in the IETF according to your wishes may take too long, but
> then just extending the code as you want might have been an even faster
> solution?! Well that doesn't matter and is of course your decision alone -
> either way, it's probably worth to look at the requirements addressed by
> RTMFP and QUIC, and not addressed by SCTP, and then discuss if or in which
> way SCTP should be extended.
> provides all the features we need, we'll use it. This conversation got
> started because tsvwg asked httpbis what the application layer wants from
> the transport. We're telling you. I think the constructive next step is for
> tsvwg folks to ask for clarification on any requirement they don't
> understand, discuss whether or not the requirements are reasonable, and
> discuss what may need to be done to address them.
> Yes, absolutely.
> Cheers,
> Michael
Received on Thursday, 29 August 2013 14:36:39 UTC

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