Re: [Ice] I submitted and plan to present draft-thatcher-ice-remove-candidate in Berlin

Emil Ivov <emcho@jitsi.org> Thu, 14 July 2016 16:19 UTC

Return-Path: <emcho@sip-communicator.org>
X-Original-To: ice@ietfa.amsl.com
Delivered-To: ice@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1098912D0E9 for <ice@ietfa.amsl.com>; Thu, 14 Jul 2016 09:19:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=jitsi-org.20150623.gappssmtp.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 P-fAzUewHvdp for <ice@ietfa.amsl.com>; Thu, 14 Jul 2016 09:19:24 -0700 (PDT)
Received: from mail-yw0-x22c.google.com (mail-yw0-x22c.google.com [IPv6:2607:f8b0:4002:c05::22c]) (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 1D6AB12D0AD for <ice@ietf.org>; Thu, 14 Jul 2016 09:19:24 -0700 (PDT)
Received: by mail-yw0-x22c.google.com with SMTP id i12so76781496ywa.1 for <ice@ietf.org>; Thu, 14 Jul 2016 09:19:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jitsi-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=zCh3BNEaIu6hLn4n5uT9ldhEJlSsrwuW45cgDi+BMaU=; b=VLLDhFWJpk5dg387/VHRmPxPNBN69PLu8M+aBEafSYRB+dyx8mn1eEV7EYCtBrqUwz 4AATEqO+bCkjdI+YFNaFytCBiqzKXEnd55on6U5b7pLoVySOwg0lDDa1RsahGEBptQ9X ydXHE6ax4R/3ujspoVZ30vM7hLOsVwhI2zvmh3JxpIcAjyhQKvWezvBapc6kkbdl9OSb SSVR1VWXF8x7LxSKVR5xfhFxs9vIMw7jmcJi4Vg0CuzM1MB45fruSYOwColsvdtu7QCv PNhOyaOKSjjEx7WpSyH949F9D5CKGPTC3+xzVfE37nL+OzntCoMLT6roDcuFWc6rh3z3 Pl2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=zCh3BNEaIu6hLn4n5uT9ldhEJlSsrwuW45cgDi+BMaU=; b=YX8pRCizo0Ia+qMLyLt0ugDzMplFf5Ln9GuHD7biPpUuLMrbZOwlBl0A+2CawFIPAl WKqXb0o/nVSvH1gsZo77jM03d5GiGw80LIFmvyrS82PzKcQUw+YtQjVuZBR5fnpDPmhT ARwM82T7PojYmgE+skLnXu8oVewhHlAdOm9gso1Ev3v80ttQuw88qbDDX284erlAC3OT rlktJWAUOFq4O6C7sGPnwwuPZW70JkoIf/I4lvSx969Y1dTWmmPG6ICaRXukHP/Yrn4n 6dpofnyOwzP1KLjAwUanYyNhHVsJUPq3QrwYimIyxLv8pQY5eHHc5jgtbOuz6DEG1KGc LnnA==
X-Gm-Message-State: ALyK8tJ1Cil+jr+1lZAZIjsVhs9UbuAyMZ3TFWrh+MMQa0pZf7rciiKMZhhXXdrwCytftw==
X-Received: by 10.37.36.16 with SMTP id k16mr43751ybk.37.1468513163187; Thu, 14 Jul 2016 09:19:23 -0700 (PDT)
Received: from mail-yw0-f180.google.com (mail-yw0-f180.google.com. [209.85.161.180]) by smtp.gmail.com with ESMTPSA id e197sm1228419ywa.16.2016.07.14.09.19.22 for <ice@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Jul 2016 09:19:22 -0700 (PDT)
Received: by mail-yw0-f180.google.com with SMTP id v186so15653940ywd.0 for <ice@ietf.org>; Thu, 14 Jul 2016 09:19:22 -0700 (PDT)
X-Received: by 10.129.91.7 with SMTP id p7mr11902827ywb.115.1468513162192; Thu, 14 Jul 2016 09:19:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.83.17.204 with HTTP; Thu, 14 Jul 2016 09:19:02 -0700 (PDT)
In-Reply-To: <CAJrXDUG9KHp91CFLMMsxJZ6quX5fRvRn7C4NrmnAsJDMoAxfQw@mail.gmail.com>
References: <CAJrXDUEQoBmjhkwX5AF9Oxny=PwJ0Y1a7UmPNdVRsA8b6AEF7g@mail.gmail.com> <CAPvvaaLL3BB3PJdimBXP+58UoeXnDs_j7P__pcfZwZj0-stosg@mail.gmail.com> <CAJrXDUEZiG3iFrgoFhCDNkR3nn-tcmZyZEXXLM5Q23SvPpx-CQ@mail.gmail.com> <CAPvvaa+jWeWmbqLKZRLMi6zyT0rMY1vkgfG3XG0SpAKeDXvYWg@mail.gmail.com> <CAJrXDUG9KHp91CFLMMsxJZ6quX5fRvRn7C4NrmnAsJDMoAxfQw@mail.gmail.com>
From: Emil Ivov <emcho@jitsi.org>
Date: Thu, 14 Jul 2016 19:19:02 +0300
X-Gmail-Original-Message-ID: <CAPvvaaKkNiZwZc7Xz=XMa8-WLqOBC5M95rG2y=WekypmFkaAtg@mail.gmail.com>
Message-ID: <CAPvvaaKkNiZwZc7Xz=XMa8-WLqOBC5M95rG2y=WekypmFkaAtg@mail.gmail.com>
To: Peter Thatcher <pthatcher@google.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/dq37Bxc7Z09uqbErZtDhHtdlbyg>
Cc: "ice@ietf.org" <ice@ietf.org>
Subject: Re: [Ice] I submitted and plan to present draft-thatcher-ice-remove-candidate in Berlin
X-BeenThere: ice@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Interactive Connectivity Establishment \(ICE\)" <ice.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ice>, <mailto:ice-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ice/>
List-Post: <mailto:ice@ietf.org>
List-Help: <mailto:ice-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ice>, <mailto:ice-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Jul 2016 16:19:26 -0000

On Thu, Jul 14, 2016 at 1:06 AM, Peter Thatcher <pthatcher@google.com> wrote:
>
>
> On Wed, Jul 13, 2016 at 12:45 PM, Emil Ivov <emcho@jitsi.org> wrote:
>>
>> On Wed, Jul 13, 2016 at 10:22 PM, Peter Thatcher <pthatcher@google.com>
>> wrote:
>> >
>> >
>> > On Tue, Jul 12, 2016 at 10:38 AM, Emil Ivov <emcho@jitsi.org> wrote:
>> >>
>> >> Are there any cases where you think this would be useful other than
>> >> abetter connection with a server?
>> >
>> > Yes: continual gathering (aka continuous nomination) would benefit from
>> > this.
>>
>> Last time we discussed continuous nomination (in Prague last year) it
>> sounded to me that there were no arguments about what it was bringing
>> on top of simple ICE restarts. It is my understanding that optimizing
>> those (if at all necessary) was a more acceptable direction.
>>
>> So I don't think continuous nomination is a good argument here even if
>> we keep waving it all over the place :) .
>>
>
> Continual gathering is a separate topic that we can save for another day.
>
>>
>> >> If all that is changing is the connection with the server then it
>> >> sounds
>> >> to me like we should rather come up with a way to update the local side
>> >> of
>> >> the binding and not bother the remote agent with it.
>> >
>> > That would be TURN mobility, or some new equivalent (
>> > the TURN mobility draft has expired).
>>
>> Something like that yes.
>>
>> > That is an option that we'd like to
>> > explore implementing, but it's much more work to standardize, implement,
>> > and
>> > deploy (both on client and server).  Whereas this is a simply mechanism
>> > that
>> > is quick to standardize, implement, and deply, and it's useful for other
>> > things (as mentioned above).
>>
>> On a first glance the whole ICE idea is very simple and easy to
>> standardise, implement and deploy: gather and try everything. pick
>> what works.
>>
>>
>> I think 13 years after the initial idea was being floated on the IETF
>> we know better.
>>
>> In other words:
>>
>> First I don't think it's that simple at all. I am particularly
>> concerned about potential race conditions with the ICE state machine
>> and the trickling itself. Same for interactions with aggressive
>> nomination.
>>
>> Second, while we may be able to solve the above, I am worried that the
>> increased complexity will not justify something that is a very limited
>> solution to a more general problem. So we are setting the stage for
>> redundancy and that's not something we need with ICE.
>>
>
> It sounds like you are making the argument that ICE has reached some kind of
> "peak complexity" and can no longer be changed because it's already too
> complex.  Is that what you're claiming?

And question the existence of this wonderful working group? No, of course not ;)

What I am claiming is that ICE is too complex for *frivolous* updates
that are likely to be superseded by newer more complete solutions like
the one you mentioned in TRAM.

>> Also, have you done any measurements or estimates on exactly what we
>> are trying to optimize here? Some several hundred milliseconds of
>> streaming over TCP rather than UDP?
>
>
> I don't know what this has to do with TCP vs. UDP.
>
> The real world problem here is that if you have two network interfaces (WiFi
> and Cell) and ipv4 and ipv6 and 2 TURN servers and try to connect to each
> over TCP and UDP, you end up with 2 x 2 x 2 x 2 = 16 TURN candidates (at
> least; this ignores TCP w/ TLS).  Then both sides do that, and you have 16 *
> 16 = 256 TURN-TURN candidate pairs. That's a lot.

Except that it's not (necessarily) 256.

> So how do you avoid that problem?

Well to begin with you can simply apply the same logic as the one you
propose in your draft, but rather than doing it after sending
candidates, you apply it before. That is, you start by sending your
"better" candidates (the ones you wouldn't "deallocate" otherwise) and
you only send your less desirable ones if you fail to obtain the prime
candidates. This means that you would only end up with 256 if all of
your prime candidates failed during gathering but then suddenly
started working. Not a great likelihood for that to happen. On average
you'll probably have one or two that leak out (and when that happens
it might actually be an indication that your connection is better
there).

So, to be clear, I do agree that ending up with 256 candidates would
be a problem, especially given the 100 pairs MAX constraint 5245.

What bothers me with this draft is not the problem though: it's that
the solution doesn't appear well thought out. For example: depending
on your timing it is not at all clear that you will be able to remove
candidates before you hit 100 pairs, before they start stun
transactions or before you've already wasted the time you want to
save.

In other words, this whole thing may well turn out to be useless half
the time. That's the sort of extra complexity we don't need with ICE.

> TURN mobility is one option, and I'd like to see TURN mobility
> happen.  But candidate removal is also an option, and it's a lot more
> simple.

Again, I am not at all convinced of its purported simplicity and even
less its efficiency.

Emil

>>
>> Emil
>>
>>
>> >> Emil
>> >>
>> >>
>> >> On Tuesday, 12 July 2016, Peter Thatcher <pthatcher@google.com> wrote:
>> >>>
>> >>> I submitted draft-thatcher-ice-remove-candidate and would like to
>> >>> speak
>> >>> about in my allotted time on the agenda when I will also be speaking
>> >>> about
>> >>> draft-thatcher-ice-network-cost and draft-thatcher-ice-renomination.
>> >>>
>> >>> It's a very simple draft. Basically it says you can "remove"
>> >>> candidates
>> >>> just like trickle-ice allows you to add candidates. You could probably
>> >>> read
>> >>> it in 3 minutes. Please do so:
>> >>>
>> >>> https://www.ietf.org/id/draft-thatcher-ice-remove-candidate-00.txt
>> >>>
>> >>> Thanks,
>> >>> Peter (Chair hat off)
>> >>
>> >>
>> >>
>> >> --
>> >> sent from my mobile
>> >
>> >
>>
>>
>>
>> --
>> https://jitsi.org
>
>



-- 
https://jitsi.org