Re: [Ice] Trickle ICE review

Peter Saint-Andre <stpeter@stpeter.im> Tue, 28 March 2017 16:27 UTC

Return-Path: <stpeter@stpeter.im>
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 88D0512945F for <ice@ietfa.amsl.com>; Tue, 28 Mar 2017 09:27:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.721
X-Spam-Level:
X-Spam-Status: No, score=-2.721 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=stpeter.im header.b=kCZE5x3I; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=eR3VFR75
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 ILNEPKyW9wNo for <ice@ietfa.amsl.com>; Tue, 28 Mar 2017 09:27:45 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2600D12944B for <ice@ietf.org>; Tue, 28 Mar 2017 09:27:45 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 9480120804; Tue, 28 Mar 2017 12:27:44 -0400 (EDT)
Received: from frontend2 ([10.202.2.161]) by compute2.internal (MEProxy); Tue, 28 Mar 2017 12:27:44 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stpeter.im; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=ogwqFhVPDctdgMR3Td dpVjo2nQ6ZdGR8MWes59IFoiA=; b=kCZE5x3IUWXXD77zLh+W8Pjx1NJFvVqd1G OABZUFKlPZqUa1fQxRn2VZGEbSLsdcnIuYfp4TnDP4T32isZCpq2N5lJ0ndRMZOQ 3wwfuFQFx5GQw0YTufbiY2s1AlwQNREGHdoaSDrh7iL4d5rekePh6FuGwq42JWck b8POihKGtLroQWyAqU9MvbPcGa1XoFuAwqDA7A8tuUDQUGYWuqaJvIlmlbKoXUN/ kWeofiD7sJIkcKGkaH3X90KolandYNz66tKGp9hpsXjgzrBLR16cpMHYI66OiG3e rL8E7dsCUCBYYHa/QvS5a1rXT0U1BYgZzAc2FNohE1VunMSXBaRA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= fm1; bh=ogwqFhVPDctdgMR3TddpVjo2nQ6ZdGR8MWes59IFoiA=; b=eR3VFR75 ioJ3hXDNkwReij5ayvpGjIR9ogjWvtgjFOoui6RjuC5+7QpAcWBkpf+4Abo/MA0R Mpu1pl5Ybda0eVFGuekk0Fb/WbKkB3+nqa44dG0fasBabIU1y1R+krgBBccCvz4L uqewi9gk54FcwkFENLm1/AYkB85iyo/1VWuP9hxEeaIBedfQAj3tw9FypCUT+Cyb J6rH6PDKRXAqHMfX8+gINK1ayEDJqCTXBsskCrkj3hUTwNHjXmod7QnQgKGvhBdq i2rys/AN++fX3luTe3LI/YxQn8fnfqhzadV2TGp7liRa7mJExjxwD/fEWd8vQdKR GR7eXqG7/TenjA==
X-ME-Sender: <xms:AI_aWPLlYkyJeh-97wXhSW2pUOKeTpU_rDnpN3YyO45Hr_WjBi2uHQ>
X-Sasl-enc: dKEAVgKZ5zqhWNfmaVJzzemTMCI/+unJ2jvqVyCJ3wH3 1490718464
Received: from aither.local (c-98-245-40-52.hsd1.co.comcast.net [98.245.40.52]) by mail.messagingengine.com (Postfix) with ESMTPA id 02894246CA; Tue, 28 Mar 2017 12:27:43 -0400 (EDT)
To: Peter Thatcher <pthatcher@google.com>, "ice@ietf.org" <ice@ietf.org>
References: <CAJrXDUHzNT3v5oMPBQu5_OsXwonY7cogDQgTt5QPxN0=6DWQkQ@mail.gmail.com> <7ebb3254-a882-6e05-3159-0ec56614831b@stpeter.im> <CAJrXDUEi0n7P5mDuuLGj285AmQqr9HDFUPGLtLnU+BuJpws6Tw@mail.gmail.com>
From: Peter Saint-Andre <stpeter@stpeter.im>
Message-ID: <7e9e8188-2add-0497-e94f-14ee41afe02d@stpeter.im>
Date: Tue, 28 Mar 2017 10:27:43 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CAJrXDUEi0n7P5mDuuLGj285AmQqr9HDFUPGLtLnU+BuJpws6Tw@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/hMkNSyMpO_cEsgZvmTynJy_9UII>
Subject: Re: [Ice] Trickle ICE review
X-BeenThere: ice@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 28 Mar 2017 16:27:48 -0000

On 3/27/17 11:16 PM, Peter Thatcher wrote:
> 
> 
> On Sun, Mar 26, 2017 at 11:48 AM Peter Saint-Andre <stpeter@stpeter.im
> <mailto:stpeter@stpeter.im>> wrote:
> 
>     On 3/25/17 9:09 PM, Peter Thatcher wrote:
>     > Ari and I reviewed the latest Trickle ICE draft in preparation for
>     going
>     > to WGLC and found a few more things worth considering fixing:
>     >
>     > - Some minor editorial issues that have separately been sent to
>     the authors.
> 
>     Received.
> 
>     > - The name "ICE negotiation session" with definition of "A virtual
>     > session ..." is confusing.   I understand that we need a word for
>     > "period between restarts" and "period across restarts".  But what does
>     > "virtual" mean in this context?  And what does "negotiation" mean in
>     > "ICE negotiation session"?  Here's a possible suggestion: call it
>     > "single-exchange session".   A single-exchange session is the period
>     > from a single exchange of ICE description until the next exchange.  A
>     > "normal" ICE session is basically a multi-exchange session.
> 
>     This might be clearer:
> 
>        ICE Session:  All of the ICE-related interactions between ICE agents
>           up until an ICE restart (if any).
> 
>     However, that definition probably belongs in 5245bis. The term as used
>     in the Trickle specification is not limited to interactions between
>     Trickle ICE agents.
> 
> 
> I like that idea of using "ICE session" to mean the thing between
> restarts as long as it's compatible with 5245 and 5245bis and it doesn't
> cause confusion such that people think an "ICE session" is the time
> period across all ICE restarts.
> 
> I originally thought it should go in 5245bis also, but Ari thought it
> didn't make sense there since it would never use the term after defining
> it.  

It's already used in 5245bis, isn't it? But we can continue to define it
in Trickle.

>     > - In the phrase " A Trickle ICE agent MUST NOT pair a local candidate
>     > until it has been trickled to the remote agent.", what does "has been
>     > trickled" mean?  That it's been sent on the network?  When it's been
>     > acked by the remote side?  When it is in queue such that it will later
>     > be put on the network?  It seems really hard to pin down an
>     appropriate
>     > time when something "has been trickled".
> 
>     In the interest of startup time, I'd say that a candidate has been
>     trickled when it has been sent. Waiting for acks might slow things down.
> 
>     > And then in a WebRTC context,
>     > the app might never signal a candidate (in a client->server use case).
>     > What then?
> 
>     I don't think we had considered that case.
> 
>     > And it's not clear to me why this is even useful.   Can we
>     > just remove it?  Or is there something important here?
> 
>     It doesn't seem critically important to me, but I might be missing
>     something.
> 
> 
> I think there's still the issue of what does "sent" mean?  In the
> network buffer of the OS kernel ready to go out?  In a queue on a
> "network thread" that's going to give it to the OS kernel to go out?  
> Does it actually have to be on the network or just queued to be so later?  
> 
> If we don't need it, I'd say we just remove it.  Doubly so if we can't
> even be sure what it means.

I'd say let's cut it.

>     > - The paragraph "Note: So that both agents will have the same view of
>     > candidate priorities, it is important to replacing existing pairs with
>     > seemingly equivalent higher-priority ones and to always update
>     > peer-reflexive candidates if equivalent alternatives are received
>     > through signaling." seems duplicate with other parts in the doc. 
>     Do we
>     > even need this paragraph?
> 
>     You're right, these guidelines are indeed mentioned elsewhere. Let's
>     remove them here.
> 
>     > - "Either agent MAY generate a subsequent ICE description at any time
>     > allowed by RFC3264".  This causes ICE to be dependent on SDP, which we
>     > were trying to avoid.  Was this just one place where we missed
>     removing
>     > a dependency on SDP?  I would suggest removing it or replacing it with
>     > the phrase "Either agent MAY generate subsequent ICE descriptions
>     at any
>     > time", unless there is a clear time when an ICE agent cannot (and I
>     > can't think of one).
> 
>     This seems to be a stray mention of RFC 3264 that was not removed in
>     earlier editing. Perhaps "Either agent MAY generate a subsequent ICE
>     description at any time allowed by the signaling protocol in use" (we
>     don't want to override any other protocol's rules here).
> 
> 
> Deferring to the signaling protocol sounds like a good idea.
> 
> And should it be "generate" or "send" a subsequent ICE description?   

I thought we didn't know the meaning of send. :-)

Peter