- From: Randell Jesup <randell-ietf@jesup.org>
- Date: Tue, 9 Jan 2018 14:43:36 -0500
- To: public-webrtc@w3.org
- Message-ID: <da823b02-802c-4b9c-1742-f3298c1c5bdf@jesup.org>
On 1/6/2018 2:05 PM, Bernard Aboba wrote: > Lennart said: > > "Just saying "QUIC is better than SCTP over DTLS" is > obviously not enough. I think there needs to be a document clarifying > these questions in detail available to everyone... Is there a > specific use case? Or is it just because the status quo of data channels > is pretty 'meh'?' > > [BA] I have worked with developers currently using the SCTP data channel > successfully in our UWP SDKs and have also received requests for QUIC support > as well. > > So far, most of the SCTP data channel usage I see involves unreliable messages > at relatively low bandwidth (e.g. in games). The QUIC requests so far have involved > a different use case - high bandwidth, reliable transferssimultaneous with audio/video sessions. I've seen quite a few reliable datachannel uses (renegotiation p2p, file transfer, p2p akamai-type caching, side-stepping adblockers (ugh), etc) Games typically will use a mixture of reliable and unreliable (or should) on different channels. One reason high-speed filetransfer uses have suffered was the disconnect between the initial standard proposed (which allowed Websocket-length (effectively vm-limited) blob/array transfers), and the compromise agreed to (which limits the length of transfers, at least without ndata). And ndata also avoids some annoying blocking in SCTP. The other limiting factor is buffersize (for high-RTT/high-bandwidth connections, and probably very-high-bandwidth local connections), which thus far has been fixed, but nothing requires this. > The file transfer use case has the potential to work better with QUIC than the SCTP data > channel, assuming that the QUIC implementation supports pluggable congestion > control so that the QUIC file transfer can use a delay-based algorithm rather > than the loss-based algorithm used in SCTP implementations. This choice could > potentially avoid building queues at the bottleneck (assuming that there were no > other competing TCP/SCTP flows). SCTP also has pluggable congestion control, and nothing mandates that it use the default AIMD-style. Our original discussions included a number of options to coordinate congestion control with the A/V channels (limit usage by SCTP to a specific fraction of the total if there's signs of congestion), and use alternate CC algorithms that are either delay-based or bimodal (delay-based but switch modes to a more aggressive posture if fighting TCP-ish congestion. (And lots of other options). To be clear: I don't see this as a fundamental advantage for QUIC or SCTP. To a point made a while ago: QUIC is cool. It might make sense to use it for DataChannels. But if so, we need to define a strong-enough set of requirements based on utility to the user of DataChannels that QUIC can meet and SCTP can't. Until we do that, any further work is premature. Thus far, other than "cool", I see QUIC as having some advantage in avoiding an extra layer of protocol (and probably therefor bits) by not having SCTP-over-DTLS. However, that's *way* below the bar to make such a change reasonable; that can only be a minor supporting point. We also have to justify "do any proposed API changes to take advantage of QUIC features provide a major advantage to compensate for the complexity/interop cost?" > However, since discussion of these use cases would require getting into protocol > and transport issues (such as congestion control and loss recovery algorithms), it is > probably better suited to an IETF WG (such as RMCAT) than the W3C. Yes. We (W3 WebRTC) should only be concerned with how it affects any web-facing APIs. -- Randell Jesup -- rjesup a t mozilla d o t com Please please please don't email randell-ietf@jesup.org! Way too much spam
Received on Tuesday, 9 January 2018 19:45:00 UTC