-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TURN servers running over webtransport #2651
Comments
Why? If yes, that would be a matter for the IETF to discuss, it will probably end up with something like ?transport=webtransport in the url so no action for the webrtc-api is required. |
@fippo is there another repo where I can open an issue w/ IETF? With respect to asking why, isn't this the same as asking why is webtransport better than TCP? There are a number of reasons. While there are not a lot of hardware offloads "yet", there will be in the future. And as "packet shaders" on the gpu evolve along w/ packet processing on fpga's, I would suggest the performance opportunities are considerable. @voluntas why the objection? |
@unicomp21 Not sure what use case you are contemplating, but this doesn't seem like a WebRTC issue (although it might relate to the WebTransport API or protocol). To understand where WebTransport protocols are headed, you might want to attend the IETF WebTransport WG meeting on May 20. WebTransport is a client/server API, not a P2P API like WebRTC-QUIC. As a result, WebTransport is not designed to handle NAT traversal; the server is assumed to have a globally reachable IP address. So as to be able to handle use cases where UDP and QUIC might be blocked, WebTransport API is contemplating adding support for HTTP/2 failover. Assuming that this is added, the API would still fail in enterprises which block UDP and and TCP except for HTTP versions 1.0/1.1. |
From a scalability perspective, ie for cases involving thousands of TURN servers, is there a performance argument for having TURN running over webtransport? Given webtransport runs over user space udp, combined with newer capabilities like AF_XDP or DPDK, I'm wondering if there is a substantial performance optimization opportunity staring at us. I've no idea who would be the "expert" for this question. Simply posting here in the hope I can get pointed in the right direction. |
If we're talking about TURN over HTTP/3 datagrams, you'd lose most of the benefits of QUIC reliable streams (e.g. fewer false RTOs, better response to loss, etc.). So it's not clear to me why you would expect better performance than TURN/UDP. Also, even though zero-copy QUIC libraries are available, QUIC in Chrome is not zero-copy on receive (it has two copies at present). |
Good point. Other than the firewall being open, there isn’t much of an
argument.
…On Sun, May 16, 2021 at 1:52 PM Bernard Aboba ***@***.***> wrote:
If we're talking about TURN over HTTP/3 datagrams, you'd lose most of the
benefits of QUIC reliable streams (e.g. fewer false RTOs, better response
to loss, etc.). So it's not clear to me why you would expect better
performance than TURN/UDP.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2651 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEFL7MFAZ4KRDEWKEJAKQLTOAH5NANCNFSM44ROALSQ>
.
|
AFAIU TURN or relaying may could add some benefit still here too in some edge case. (I don't knwo maybe it is not so edge.) |
the only advantage i can see is that firewalls might not block quic/webtransport when they do block (or attempt to) STUN/TURN. https://datatracker.ietf.org/doc/html/draft-hutton-rtcweb-nat-firewall-considerations-03#section-4.3 has some words on that. I think the TRAM WG is closed but the mailing list still works so might be a good place to ask. |
@fippo that's exactly what I was trying to say, many thanks for clearing it up. I'll ping the mailing list. Appreciate it! |
since this is not an API issue at the moment, and since there is a path forward for where the discussion needs to happen, closing this here. |
Some firewalls block UDP therefore TURN over HTTP/3 datagrams or QUIC would help penetrate these firewalls. |
oohhh the good old days https://datatracker.ietf.org/doc/html/draft-chenxin-behave-turn-websocket-01 |
WebSocket does not support datagrams |
if you're going to run TURN over HTTP/3, might as well clean up the ad hoc auth stuff in the TURN protocol and allow standard HTTP auth to be used. Even in 2024, we're still doing things like https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/relay-token |
We need a TURN server spec which runs over webtransport, right?
The text was updated successfully, but these errors were encountered: