Re: [SPAM] WebRTC Spec Questions - 'How STUN can minimize latency', 'non BUNDLE-aware criteria' and 'option to use reuse ICE candidates'

On Tue, Sep 1, 2015 at 2:28 AM, tim panton <thp@westhawk.co.uk> wrote:

>
> On 31 Aug 2015, at 18:07, David Dias <daviddias@ipfs.io> wrote:
>
> Hi all,
>
> Going through the latest published version of the WebRTC W3C working
> draft, some questions emerged that I would like to request for
> clarification.
>
> Since I haven’t had the opportunity to introduce myself, let me do that
> first. I’m David, I’ve a background in communication networks and P2P
> systems, I’m part of Protocol Labs team(http://ipn.io/) and currently
> working on the IPFS project(http://ipfs.io/). We are interested in being
> close to the WebRTC WG, learn from the work that has been done creating
> this specification and expose how WebRTC solved some of the key obstacles
> that are transversal to P2P applications, while at the same time, providing
> our input, which we hope we can bring some value. I’ve already had the
> opportunity to talk with Dominique and Vivien and learn how best to follow
> and contribute to the WG.
>
>
> Welcome to the party :-) Some of your questions are more on the protocol
> side, so might be better aimed at our sister group at the
> IETF (rtcweb). In particular I’d encourage you to look at how the rtcweb
> data channel is defined.
>
>
> Back to the questions, these are:
>
> http://www.w3.org/TR/webrtc/#dictionary-rtciceserver-members
> it is desirable to have a STUN server between every layer of NATs in
> addition to the TURN servers to minimize the peer to peer network latency.
>
> I’m not sure if I understand why a STUN server can minimize latency in a
> multi NAT scenario.
>
>
> I think the aspiration is that the p2p connection might be achieved within
> the outer NAT - avoiding the need to traverse
> out of (say) a corporate internet gateway. An example might be a call
> between people at 2 different branch offices of the same company.
> Each branch might have a local NAT for their wifi and the company a NAT at
> their internet gateway. That internet gateway might be on a
> different continent from either or both users.
>
>
> http://www.w3.org/TR/webrtc/#rtcbundlepolicy-enum
> If the remote endpoint is not BUNDLE-aware, negotiate only one audio and
> video track on separate transports.
>
> What is the criteria, for non BUNDLE-aware clients, to establish only one
> audio and video track only why is this considered a ‘balanced’ policy?
>
> Also, is there any ICE candidates reuse, specially the non relay ones? One
> thing that we learned with building libp2p (the network stack of IPFS) is
> that we can leverage very cheap NAT hole punching by using reusing ports
> (e.g with TCP REUSEPORT) and executing the protocol multiplexing in
> userspace.
>
>
> Yes. That is the effect of BUNDLE - it groups all the media and data that
> can be multiplexed over a single candidate pair.
> A typical webrtc session will have voice, video and data all BUNDLED into
> a selected candidate pair.
>

To follow up, "balanced" is intended to balance compatibility (which
demands non-bundle)
and minimum gathering cost (which demands bundle), based on the observation
that
many legacy endpoints only support one stream anyway.

WRT to the question of candidate reuse, this is a topic for ICE and you
should take
it to IETF.

-Ekr



> Tim.
>
>
>
>
> Thank you.
>
> Best regards,
> David Dias
> http://daviddias.me/
>
>
>

Received on Tuesday, 1 September 2015 12:48:36 UTC