Re: [Ice] Eric Rescorla's No Objection on draft-ietf-ice-trickle-18: (with COMMENT)

Peter Saint-Andre <stpeter@mozilla.com> Tue, 03 April 2018 00:15 UTC

Return-Path: <stpeter@mozilla.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 8B3CB12DA24 for <ice@ietfa.amsl.com>; Mon, 2 Apr 2018 17:15:46 -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, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mozilla.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 cssydXYkDepq for <ice@ietfa.amsl.com>; Mon, 2 Apr 2018 17:15:44 -0700 (PDT)
Received: from mail-io0-x231.google.com (mail-io0-x231.google.com [IPv6:2607:f8b0:4001:c06::231]) (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 C78E212DA1D for <ice@ietf.org>; Mon, 2 Apr 2018 17:15:43 -0700 (PDT)
Received: by mail-io0-x231.google.com with SMTP id d5so19832022iob.9 for <ice@ietf.org>; Mon, 02 Apr 2018 17:15:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla.com; s=google; h=subject:to:cc:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to; bh=hzfcGWTSJG3XGqcJrvKoSypPORc9buUKJc2IHxtbZxg=; b=TCOpF9hJqb3yylgacv78DMsrnOUFKQiI6EmECecqm8U803NqYzRenNll3NjWfhgVVH HMtaVbV1XCW8S1o4izkqD7ejny0kOWczhK8RjKzwF8aQLjtIklSv5fhWFqNSFo1quq0C JQcxnEs2tnKr3/kCxcki70ubkQC6d49aBofuQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to; bh=hzfcGWTSJG3XGqcJrvKoSypPORc9buUKJc2IHxtbZxg=; b=NZJXjYK+Te9SwUCbYXWUD2QdpaJ1rpHeVs++RaJ8TKIOBOQOYDs72Ia/yJd6ToKfXK qmtz3eZpg5kS6umlGTL78YgF51GGIm1YVDkKfnJANtVnyLKTw030SffwbYbOMF/dgefF CoOeWtRXR0BYxXOftWfRfA4juKObmyRK2OcbOBMVNgPKMR45CVXW4jbfujGkjg/G5hbj inZ3vztqMjgV67Ubo5gRvz6ccqMKohsQQWJMODuGuPlrfsgqg2er6WsJ+d2jBfuStgRc X0DbStTjPnbTr23cfATmxzAbTumg/8piqqGgOQowlFlkAKFBf2g20/QPIEvt8eSbctmy pIog==
X-Gm-Message-State: ALQs6tBU4LIFNvG4CqPLvUg7+iI6QR36h9FI4WsCtEo86O63izmryuaq HSBWK6da7KVSSnIE8Z2GdVwFjQ==
X-Google-Smtp-Source: AIpwx4/yPH2PeWjlXWqRPdfbABv/QQCvOY2lv1YQmgj6HRRLzgkuBFi2sbv2b0JAb9BNNvA27xXFJA==
X-Received: by 10.107.132.197 with SMTP id o66mr10135624ioi.119.1522714543066; Mon, 02 Apr 2018 17:15:43 -0700 (PDT)
Received: from dragon.local ([76.25.3.152]) by smtp.gmail.com with ESMTPSA id p197-v6sm1072970itp.4.2018.04.02.17.15.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Apr 2018 17:15:42 -0700 (PDT)
To: Eric Rescorla <ekr@rtfm.com>, The IESG <iesg@ietf.org>
Cc: draft-ietf-ice-trickle@ietf.org, Nils Ohlmeier <nohlmeier@mozilla.com>, ice-chairs@ietf.org, ice@ietf.org
References: <152270727955.17756.6220965046370005057.idtracker@ietfa.amsl.com>
From: Peter Saint-Andre <stpeter@mozilla.com>
Openpgp: preference=signencrypt
Autocrypt: addr=stpeter@mozilla.com; keydata= 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 Fn7V
Message-ID: <aa3bcfc0-48c4-8c5c-4799-6a14afaf7548@mozilla.com>
Date: Mon, 02 Apr 2018 18:15:40 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <152270727955.17756.6220965046370005057.idtracker@ietfa.amsl.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="Hjx06BnApKaymI3J5m2343A3j2NDLmNDF"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/81Ivp_0bRrakb0DARZK0ASUL61Y>
Subject: Re: [Ice] Eric Rescorla's No Objection on draft-ietf-ice-trickle-18: (with COMMENT)
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, 03 Apr 2018 00:15:47 -0000

On 4/2/18 4:14 PM, Eric Rescorla wrote:
> Eric Rescorla has entered the following ballot position for
> draft-ietf-ice-trickle-18: No Objection

Should this be "Recuse"?

> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
> 
> 
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
> 
> 
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-ice-trickle/
> 
> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> 
> Comments in context: https://mozphab-ietf.devsvcdev.mozaws.net/D3650
> 
> I'm a listed author on this document, but I haven't worked on it in quite
> some time, so this is read with mostly fresh eyes.

You left early and I joined late. Hopefully we have enough overlap...

> Important comments:
>    agent SHOULD follow a policy of keeping the higher priority candidate
>    unless it is peer reflexive.
> 
> IMPORTANT: This section is confusing wrt how pruning works. AIUI, you
> follow ordinary 5245 pruning procedures at the beginning of the
> connection for whatever candidates you have. Is that incorrect?

Right, there's no reason to override normal pruning procedures.

> Also, why are you proposing prioritizing other candidates over prflx
> candidates? That's not the procedure in 5245.

This text was in the spec when I joined the author team. I am not sure
of the rationale. The only difference with Trickle ICE is handling
candidate pairs that come in later. Section 13 notes that it's possible
for a server reflexive candidate to be perceived as peer reflexive if
the STUN connectivity check arrives before signaling of the trickled
candidate, however it also notes that this "does not require any change
in processing". See also below.

>    maximum number of candidate pairs (100 by default as per
>    [rfc5245bis]), the new pair is discarded.
> 
> IMPORTANT: Why are you discarding before you check for redundancy?
> This seems like it evicts the wrong pair.

Hmm, it could. Checking the max-pair rule after the redundancy check
would indeed make more sense.

>    new candidate to the priority of the pre-existing candidate and then
>    re-sorting the check list.
> IMPORTANT: This seems to slow down checks if the existing check is
> already running. What is the rationale for this?

Good point. This is the same issue with prflx in another guise. I'm not
sure of the rationale. The only thing I can come up with is that we're
trying to work around the fact that some server reflexive candidates
could be perceived initially as peer reflexive. Throwing out the earlier
"peer reflexive" candidate in favor of the later candidate (which might
be server reflexive) might be a workaround.

I'll ask Emil to clarify this for us.

> Other comments:
> 
>    Generation:  All of the candidates conveyed within an ICE session (as
>       defined in [rfc5245bis]).
> 
> Note that "generation" isn't a 5245 term, so this text could be clearer.

Let's remove "(as defined in [rfc5245bis])".

>    ICE Description:  Any session-related (as opposed to candidate-
>       related) attributes required to configure an ICE agent.  These
> 
> It might be helpful to say "ICE session" to distinguish from session-level
> attributes in SDP

Agreed.

>    for instance, the encoding for the Session Description Protocol (SDP)
>    [RFC4566] is defined in [I-D.ietf-mmusic-trickle-ice-sip].
> 
> Note that this has the side effect of precluding agressive nomination

IIRC that was a feature. Should we call it out?

>    consider the overall session to be under active negotiation as soon
>    as possible.)
>    As noted in Section 3, in application protocols that use SDP the
> 
> Why is this a benefit, actually? I see why it is in the offer so that you can
> parallelize the gathering on both sides, but why here?

It seems this could help the initiator learn whether the responder
supports trickle if no discovery mechanism exist in the using protocol.
Although in that case the initiator probably would have sent a full or
at least adequate generation of candidates with the offer (half
trickle), as mentioned in Section 12 the initiator could trickle more
candidates after receiving the response.

>    (rather than as a part of the initial ICE description or a response
>    thereto), it is the responsibility of the using protocol to define
>    methods for associating the indication with one or more specific data
> 
> I see here you say "using protocol" as opposed to "application"

5245bis uses the terms "using protocol" and "ICE usage", which seem
preferable (to me an application sounds like a user agent). Will fix
throughout.

>    o  A signaling protocol SHOULD provide a way for parties to advertise
>       and discover support for Trickle ICE before an ICE session begins
> 
> And here you use "signaling protocol" rather than "using protocl"

Will change these to "using protocol" too.

>    To achieve this, when trickling candidates, agents MUST respect the
>    order of components as reflected by their component IDs; that is,
> 
> I'm surprised to see a MUST paired with "While not crucial"

That's been bothering me, too. At the least, I'd change MUST to SHOULD.

Peter