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

Christer Holmberg <christer.holmberg@ericsson.com> Sun, 08 April 2018 19:58 UTC

Return-Path: <christer.holmberg@ericsson.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 CA17B12D7ED for <ice@ietfa.amsl.com>; Sun, 8 Apr 2018 12:58:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 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_MED=-2.3, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 94F_G85mq_s8 for <ice@ietfa.amsl.com>; Sun, 8 Apr 2018 12:58:07 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F48B12D7EF for <ice@ietf.org>; Sun, 8 Apr 2018 12:58:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1523217482; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ACkKUGJ3JPw2XEWPRS0p5L8GgC4OqxLCx+1ujf2sZM0=; b=c9MVPiPYA0ts7HvNE9TByxcJ0ucE6A+gKD6vVrRpYcvBd2+KXQfBTLO/EMVVPFxR 1DZMWh9nlOSLvJ4BEtg9uQusG2c0/mzAjA/JiRof7KLG41u3aqSkaIMnOF8BJLMx w5ctoU/Fh4VUC6x09jzTWtCi8mN/xBsuq7Srb6QiDNI=;
X-AuditID: c1b4fb3a-e39ff70000005d56-4c-5aca744a1ff7
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id F4.8D.23894.A447ACA5; Sun, 8 Apr 2018 21:58:02 +0200 (CEST)
Received: from ESESSMB109.ericsson.se ([169.254.9.115]) by ESESSHC005.ericsson.se ([153.88.183.33]) with mapi id 14.03.0382.000; Sun, 8 Apr 2018 21:58:01 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Peter Saint-Andre <stpeter@mozilla.com>, Eric Rescorla <ekr@rtfm.com>, The IESG <iesg@ietf.org>
CC: Nils Ohlmeier <nohlmeier@mozilla.com>, "ice-chairs@ietf.org" <ice-chairs@ietf.org>, "draft-ietf-ice-trickle@ietf.org" <draft-ietf-ice-trickle@ietf.org>, "ice@ietf.org" <ice@ietf.org>
Thread-Topic: [Ice] Eric Rescorla's No Objection on draft-ietf-ice-trickle-18: (with COMMENT)
Thread-Index: AQHTytABZKU7ELteOU2BBEv5KGPpgKPuCqQAgAXOjQCAA3bpgA==
Date: Sun, 08 Apr 2018 19:58:01 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B72E4F88F@ESESSMB109.ericsson.se>
References: <152270727955.17756.6220965046370005057.idtracker@ietfa.amsl.com> <aa3bcfc0-48c4-8c5c-4799-6a14afaf7548@mozilla.com> <a07736e5-af6b-4dd5-3afb-99e61e853284@mozilla.com>
In-Reply-To: <a07736e5-af6b-4dd5-3afb-99e61e853284@mozilla.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.163]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFIsWRmVeSWpSXmKPExsUyM2K7oq5XyakogxU3FSxevWpltFjx+hy7 xcVZk9ksvl2otZjxZyKzxfV5kxktnq08xejA7rFkyU8mj74DXawekx+3MQcwR3HZpKTmZJal FunbJXBlTPv8kLXgh0LF3iPr2BoYb0h1MXJySAiYSKyb8Ympi5GLQ0jgCKPEtrmToZzFjBJL 9z0Gcjg42AQsJLr/aYOYIgLpEnva2EFKmAX2MUpc3zSDEWSQsECcxITPi8FsEYF4iRlNJ6Fs J4ktnYtZQWwWARWJhmNHwGxeAV+Jf3ffs0Ls2s4ocbhlPztIglPAXqLxxhswm1FATOL7qTVM IDazgLjErSfzmSCuFpBYsuc8M4QtKvHy8T9WCFtJYvm0LewQ9ToSC3Z/YoOwtSWWLXzNDLFY UOLkzCcsExhFZyEZOwtJyywkLbOQtCxgZFnFKFqcWlycm25kpJdalJlcXJyfp5eXWrKJERhj B7f8ttrBePC54yFGAQ5GJR7e7rRTUUKsiWXFlbmHGCU4mJVEeA95A4V4UxIrq1KL8uOLSnNS iw8xSnOwKInzOqVZRAkJpCeWpGanphakFsFkmTg4pRoYsxa+iMsv4/19QufnnVNhQXpPXktz 3lg2K/RFsxJX/0fH9JL2RQodJ1o4HSZ7Ndj/3rPAQsbmQk3Ahw8by8N+LvNqPyy2VInN8Z5E xU79xT1R93bUhF5rnhEgwx9XvMnaqSw7JFexWlp8M0daxZdHJ90r5DR5eVmuWs7ptpy63CVo +gNli51KLMUZiYZazEXFiQAjst0ErQIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/e63Ii3vnIpTEHBwwVEBOvKbonzI>
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: Sun, 08 Apr 2018 19:58:09 -0000

Hi,

>>> 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.
>
> Emil and I synced up just now.
>
> Right after IETF 95, Taylor Brandstetter raised an issue about the handling of peer reflexive candidates 
> during de-duplication, quoted here for convenience from the mail archive (see
> https://www.ietf.org/mail-archive/web/ice/current/msg00304.html):
>
> ###
>
> It's possible for a remote peer reflexive candidate to be created simply because a binding request was received 
> before the candidate was signaled. Then, according to this rule, the peer reflexive candidate would not be replaced 
> by the server reflexive candidate when it's signaled, because the peer reflexive candidate is guaranteed to have a higher priority.
>
> As a result, the endpoints will prioritize the same candidate pair differently, because one endpoint sees the candidate 
> as peer reflexive while the other sees it as something else. This means the endpoints could have different ideas of which 
> candidate pair is the highest priority, which could result in sub-optimal selection of a candidate pair, or asymmetric selection 
> if the controlling agent is an RFC 5245 endpoint that uses aggressive nomination.
>
> So, I suggest a minor modification to the rule: peer reflexive candidates are always replaced by other types of candidates, regardless of priority.
>
> ###
>
> Looking back at the text we recently removed in -19, I'm not convinced that we ever captured Taylor's feedback properly. I will 
> look into it more carefully later today or over the weekend and propose a further text adjustment.

Not sure I follow. Is this a binding-request-was-received-before-the-candidate-was-signaled case specific to trickle? Are we talking about trickled candidates?

If so, does it below to section 7? In another email I asked for clarification whether section 7 only applies to the initial check list (as section 8 seems to cover the case when candidates are later trickled).

Regards,

Christer