Re: [Ice] Trickle ICE review

Peter Thatcher <pthatcher@google.com> Tue, 28 March 2017 05:17 UTC

Return-Path: <pthatcher@google.com>
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 30147126D85 for <ice@ietfa.amsl.com>; Mon, 27 Mar 2017 22:17:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 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, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] 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 B1V12fTl9u9a for <ice@ietfa.amsl.com>; Mon, 27 Mar 2017 22:17:08 -0700 (PDT)
Received: from mail-qk0-x22b.google.com (mail-qk0-x22b.google.com [IPv6:2607:f8b0:400d:c09::22b]) (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 EC1D8128AB0 for <ice@ietf.org>; Mon, 27 Mar 2017 22:17:07 -0700 (PDT)
Received: by mail-qk0-x22b.google.com with SMTP id d10so50774145qke.1 for <ice@ietf.org>; Mon, 27 Mar 2017 22:17:07 -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; bh=8KFHPQNNA0VrogajEjIVChXa+BeU+TjBZ6XjHx7B2uY=; b=FVVaftz+HMN9fK6rjBFRh2zcAkNFdFHFJyAJ+07Auul0mbmjJoEMlzs4b3YVTLEMcG AQ/xSSMWtM4K6fVZ4phiNssmkzhs7niKtWYtc8KskE93GYcxu7MBsBam7N6UcBaK1QMt 96YdcyamhwYk5Lhxc9VlkYvar+aSbsIfAMqvfNcgtlJccTiT+ffznBXGOV/iec2erHDK 7ppS4qu7XmcQjyga8VB00XmCAJ2FZ0HiQqZ7mfQGWH6qCxc1WGIKYHq3GRfa9b/HCSFS Y+t65B//40Chpwf+PqrPjlKNpxQZP2hUngW9QUuQuGncr0/Nlz4kl7yuz59+NqPRVjFf ydDg==
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; bh=8KFHPQNNA0VrogajEjIVChXa+BeU+TjBZ6XjHx7B2uY=; b=Qwh5s/CdjEip5yZO0+G1Ni9h6M2BZPm6veiDfzqljhGeL/nI0BflBPNrd47NV6GDVP zDg8LZxLXEZaCiUrvFrr3FrtJu/laFtQEhWhtYxfq4vjj/ShTgZSSXTmDQgf06BrD/MN zWL6wri68HkyhVMZt+7+Rnt6cy1V+WBfnBvcxSdNSNRATpt7jy0HObpaIqK/Y6vNkneW 0x+bLN0n/fG+5JwijCYvK/294qAh/OFBZbNi8WeY35fpUTRyfRyCn7FN0lCoZwB53uKY HVvxzXTkdS6dq91++iEGuK6qdHK5JagZpCmZ9Iu2CjmPn/oX2ryP59fgR5UqDlvPhfg/ sRsw==
X-Gm-Message-State: AFeK/H0BygDtKqPYnaVsZz6H4OWpSaRRaTvIPQ8svBbJWEcnyjqSNxvTEFt73Lbaz3HAONCmRPfTrbmqv+y7xwW9
X-Received: by 10.55.183.133 with SMTP id h127mr24809751qkf.121.1490678226914; Mon, 27 Mar 2017 22:17:06 -0700 (PDT)
MIME-Version: 1.0
References: <CAJrXDUHzNT3v5oMPBQu5_OsXwonY7cogDQgTt5QPxN0=6DWQkQ@mail.gmail.com> <7ebb3254-a882-6e05-3159-0ec56614831b@stpeter.im>
In-Reply-To: <7ebb3254-a882-6e05-3159-0ec56614831b@stpeter.im>
From: Peter Thatcher <pthatcher@google.com>
Date: Tue, 28 Mar 2017 05:16:56 +0000
Message-ID: <CAJrXDUEi0n7P5mDuuLGj285AmQqr9HDFUPGLtLnU+BuJpws6Tw@mail.gmail.com>
To: Peter Saint-Andre <stpeter@stpeter.im>, "ice@ietf.org" <ice@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0600563114dc054bc392e4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/wEf7rFLdUyTiWcNiWkhW3JMm1F0>
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 05:17:10 -0000

On Sun, Mar 26, 2017 at 11:48 AM Peter Saint-Andre <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.


> > - 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.


>
> > - 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?


> > As soon as these are resolved, we believe we can go to WGLC.
>
> Great. Thanks for the review.
>
> Peter
>
>