Re: [rtcweb] WGLC for draft-ietf-rtcweb-ip-handling

Justin Uberti <juberti@google.com> Sun, 15 April 2018 15:12 UTC

Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8A360127735 for <rtcweb@ietfa.amsl.com>; Sun, 15 Apr 2018 08:12:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.71
X-Spam-Level:
X-Spam-Status: No, score=-2.71 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2LH30xa3t-Jz for <rtcweb@ietfa.amsl.com>; Sun, 15 Apr 2018 08:12:42 -0700 (PDT)
Received: from mail-vk0-x22d.google.com (mail-vk0-x22d.google.com [IPv6:2607:f8b0:400c:c05::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 58C87120454 for <rtcweb@ietf.org>; Sun, 15 Apr 2018 08:12:42 -0700 (PDT)
Received: by mail-vk0-x22d.google.com with SMTP id b16so8041344vka.5 for <rtcweb@ietf.org>; Sun, 15 Apr 2018 08:12:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ohzhwhNtoEkDqTBebUy5IwgT6UJdJTeOYXVFw4uaa58=; b=aToniaTaAK9x/snT8WDJB0PRAUkltVRfTmsruItSzzsthJD5EULgxsBiX2uFkWEjw0 oQyCJCGH9CAuTWJTxM5gsUGncczVyFQiiaUyx0lbK1KJzTrEgytPeou5HUCh5wH/THVq 46dVLkqqClFXyUrZ6c3UX0sQRm3g59NAodiXkr7kwLEUHEr4W6qIw5WI/5E2w5dp/Bmi Q+IzfbPamzEiGJfEcGR7XGmu42ejlBFhcvw2ySrUdSjID7M7Fns530v63ZGixrdai5ge CffZztJUxBSTylkXVOGd3OltZ7cuSUEx9pWHS35Iz/oRxdmkWs5d5qaypOPQWLxQ0HVI LEEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ohzhwhNtoEkDqTBebUy5IwgT6UJdJTeOYXVFw4uaa58=; b=oIuCpoEX7TMS4QnUfp8XT7tGIONPX7JuP7h6j3vPcztx2ThI0qthOipFwFTQFlXaTc bnAc/yBE4X0DizlHrkCJ/U8DN6I7k0pu+dvvjGok2bs/n3r83Rz1qrg7OzrB2QhfV2FN hylEg3rIyPwaWluoySp3/AAIwj9RDDdic14zGK+Lgn1SWDcNDTTz/9grwKwwxlmiPDsw Nrhp9wlQ+Pi1EPRE2lq4KBgME25aKQmjJyLM2a04qyETWVSimC9CPRVHf//uCHzgpXa3 FVmRLuNKNMHL6rhZS0BvF1SG5m5DP1itzPFy/v50UveYuJRoCfpTrHbtu3XtpbkK+4iR 01cQ==
X-Gm-Message-State: ALQs6tBPaXCkvFWFFOifxJ8jc24qls1x/bK2w8wrtpvIcnUVISAP2irK nFlyF5eJrLXk80eZgDL617D3M2SjN+RmXDYzzKx36g==
X-Google-Smtp-Source: AIpwx48ZyMXqINgNBEeouvbCAdDHNMvWOnzJKbwxLQ3iJgyFqPHslD02cPrHhiSlonDkkev8yIbrsnBCRJqQSYIgtNk=
X-Received: by 10.31.223.129 with SMTP id w123mr8892022vkg.9.1523805160775; Sun, 15 Apr 2018 08:12:40 -0700 (PDT)
MIME-Version: 1.0
References: <1D5B431C-801E-4F8C-8026-6BCBB72FF478@sn3rd.com> <63282b84-4493-3fcb-a95f-4afe17d96bb6@cs.tcd.ie> <CAOJ7v-1gTq+EEjb+-q-T-pABBW--rpNGegoj_d2_7f7AKGksCA@mail.gmail.com> <403713b4-31d4-9085-d639-d3f60935ed5a@cs.tcd.ie> <CAOJ7v-0ED-FK=JmSxBJYfM=PCdgY6kmbiq6aFLcP7OXugG07EA@mail.gmail.com> <e6938f7d-542d-736b-0a3d-9269d7dd06e5@cs.tcd.ie> <CAOW+2dv1ORz2tEkgDTvdM1DtgyOdgXqKU30T4QhLAp1NT+rirg@mail.gmail.com> <CAOJ7v-0tCcg3FdzyfSJ6Y3JaH-TivFf-Sey6+tD8BANJKsjqtQ@mail.gmail.com> <1fceb3c4-35f3-34f7-de1d-79d5805e6d22@gmail.com> <9517D601-D3E8-46E1-94E5-7EC29FD6319B@sn3rd.com> <b5d323ac-2205-2aee-05c9-f270e80215f5@gmail.com> <CAOJ7v-0+hr-NddbLCwgjkfyEFEzoLYW8BcE5OYZ+HUiqDRnarg@mail.gmail.com> <0dee004d-159a-a9be-a0b8-ecbfd4204d72@gmail.com> <06252a76-f12e-4d8d-4a07-5240a7605bce@gmail.com> <914e0220-e3cc-00d7-0925-e5deb8b07e75@nostrum.com> <AFDFD3F3-4798-4716-B26C-A67457BF2C65@sn3rd.com> <e5e2a517-d29a-117c-ab79-6f01fa62b843@gmail.com> <20180412144158.44733ac7@lminiero> <b767da79-7678-2a1c-ecb0-46a9a3bd9129@gmail.com> <CAOJ7v-2gmxpsGp=25pcJmnkYmipZdCFOqU4nLtAVSznLsZo9rQ@mail.gmail.com> <4902F7BF-0D20-4EA6-9E78-D22C90EFCE22@westhawk.co.uk> <CAOJ7v-3NsqD6pq-kkMw81+2n_D8qf558CKeCE76ZypyxwCgs9g@mail.gmail.com> <CAOJ7v-2NJ1vhVUerZ1cn8MP9hD_vgAYBurjeQKMx76Aa_U=n=Q@mail.gmail.com> <A8B32C11-30BD-4DA8-9BAB-FA26747BFF66@westhawk.co.uk>
In-Reply-To: <A8B32C11-30BD-4DA8-9BAB-FA26747BFF66@westhawk.co.uk>
From: Justin Uberti <juberti@google.com>
Date: Sun, 15 Apr 2018 15:12:28 +0000
Message-ID: <CAOJ7v-0VNCjGdhtz56jwwksBcfPk=9wuxfMgwi8mq7ViFyWpuw@mail.gmail.com>
To: Tim Panton <thp@westhawk.co.uk>
Cc: RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c07dc905178c40569e489ee"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/xQmsfxY2CNyFrXMl2Numq6zo0e8>
Subject: Re: [rtcweb] WGLC for draft-ietf-rtcweb-ip-handling
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Apr 2018 15:12:44 -0000

On Sun, Apr 15, 2018 at 7:40 AM westhawk <thp@westhawk.co.uk> wrote:

>
>
> On 15 Apr 2018, at 15:09, Justin Uberti <juberti@google.com> wrote:
>
>
>
> On Fri, Apr 13, 2018 at 8:36 AM Justin Uberti <juberti@google.com> wrote:
>
>>
>>
>> On Thu, Apr 12, 2018 at 11:59 PM westhawk <thp@westhawk.co.uk> wrote:
>>
>>>
>>>
>>> > On 13 Apr 2018, at 02:22, Justin Uberti <juberti=
>>> 40google.com@dmarc.ietf.org> wrote:
>>> >
>>> > Being non-interactive, it's not clear that those cases require Mode 1
>>> though; they should work well even in Mode 2. I also don't think that
>>> suggesting "more appropriate means" is useful when we as a WG haven't been
>>> able to come up with any.
>>>
>>> Whoa there! Non interactive, that’s a big step from non-conversational !
>>> So one current use-case is adjusting room lights over the data channel.
>>> You can literally see latency - an unnecessary cloud round-trip is entirely
>>> visible.
>>>
>>> Another is driving a droid over the datachannel using it’s camera to
>>> feed live video to see where it is going
>>> - again totally interactive, just not using local media at the user’s
>>> end (although we do use the
>>> motion sensors to give a steering wheel feel) - latency here causes
>>> crashes!
>>>
>>> A third one is baby cams, where again the video feed is one-way but
>>> you’d really like to keep the media on the home wifi
>>> if possible for cost (and privacy) reasons.
>>>
>>> In all these I’ll have to introduce an otherwise needless GUM request to
>>> get the network behaviour I want.
>>>
>>> Perhaps I should present some of these non-call based usecases at a
>>> future F2F so that folks get a sense of the possibilities.
>>>
>>
>> The original comment from Lorenzo that I was responding to specifically
>> cited one-way media broadcasts.
>>
>> Regardless, I contend that those cases as well as your scenarios should
>> all work as desired in Mode 2, which allows direct connections.
>>
>
> Now, one might reasonably ask: if this is the case, what's the benefit of
> Mode 1?
>
> Simply stated, Mode 1 allows the client to pick whatever network interface
> works best, and this provides two key benefits:
> a) handoff or multipath between interfaces (e.g. wired/wifi or wifi/cell)
> b) use of non-VPN interfaces when a VPN exists
>
> I imagine that a) is not unique to WebRTC, i.e., in-browser MPTCP or QUIC
> will already have to solve this, and it's also not clear that this
> situation actually presents an issue.
>
>
> I’m not sure I agree - or disagree - yet.
> Here are a couple of sources of my uncertainty:
>
> SCTP has also has multipath/multihome capabilities which ICE is
> effectively obscuring in the current setup.
> Given this is the 1.0 spec, we also have SRTP to worry about which isn’t
> capable of multipath (as far as I’m aware).
>

SCTP is a non-issue here; as you point out, it's being tunneled over
DTLS/ICE, so it's whatever ICE chooses to do (which is the core issue).
SRTP similarly follows what ICE does. And ICE, in Mode 1, can use whatever
interface it wants; it can choose a different interface for every packet,
as long as it has a valid pair on that interface.

>
> An example of this may be an LTE phone that has a ‘data bearer channel’
> and a ‘media bearer channel’ - the billing routability and QoS behaviour of
> these
> two interfaces will be different. I could imagine that a carrier app might
> want to use the media bearer for a voice call. (Sorry for my 3GPP
>  semi-ignorance).
>

I don't think this is relevant to this discussion; since this isn't
surfaced upwards as different interfaces to the OS, any behavior here is
the same as you would get in Mode 2 when using the cellular interface.

>
>
> Therefore, the problem seems to reduce to b), and this may be a much more
> tractable situation. If a user is using a VPN to access a web application
> (i.e., the 'default' route that would be chosen by WebRTC is for a VPN
> adapter), one could imagine the browser asking permission to use non-VPN
> interfaces.
>
>
> Is it possible to tell if an interface is a VPN ? I’m not convinced I know
> how to reliably distinguish between a VPN and a multi-bearer LTE
> config.
>

You can easily tell those apart via OS interface properties. For example,
Windows allows one to determine the type of an interface, e.g. physical or
tunnel (
https://msdn.microsoft.com/en-us/library/windows/desktop/aa814491(v=vs.85).aspx).
Now,
there are multiple possible types of tunnel, but even just knowing tunnel
vs non-tunnel might be sufficient.

>
>
> This could still be too complicated for typical users to understand (as I
> still don't know what the prompt text should say), but the key point here
> would be that only VPN users (who presumably are somewhat more savvy) would
> have to see this prompt.
>
> Thoughts? If we like this formulation, we could redefine Mode 1
> accordingly, and cite the mechanism above as a potential alternative to
> getUserMedia.
>
> I like this in principle. But I also feel that the prompt would include
> the concept of revealing location/service provider.
>

That seems entirely reasonable, especially the "service provider" angle,
which is more accurate and likely understandable than "location".