Re: [Ice] Re-nomination and candidate pair switching in RFC 5245bis

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 24 July 2017 23:33 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 56343126CB6 for <ice@ietfa.amsl.com>; Mon, 24 Jul 2017 16:33:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 BT_14ofkAgwF for <ice@ietfa.amsl.com>; Mon, 24 Jul 2017 16:33: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 0136D124C27 for <ice@ietf.org>; Mon, 24 Jul 2017 16:33:06 -0700 (PDT)
X-AuditID: c1b4fb3a-803ff70000001b2f-cd-597683b05c84
Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.183.45]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 21.80.06959.0B386795; Tue, 25 Jul 2017 01:33:04 +0200 (CEST)
Received: from ESESSMB109.ericsson.se ([169.254.9.91]) by ESESSHC009.ericsson.se ([153.88.183.45]) with mapi id 14.03.0352.000; Tue, 25 Jul 2017 01:33:04 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
CC: "ice@ietf.org" <ice@ietf.org>
Thread-Topic: [Ice] Re-nomination and candidate pair switching in RFC 5245bis
Thread-Index: AQHTAVLWZKFTuK8SBEu+L6K9B+u4LqJenhrQgATktoCAACH0gA==
Date: Mon, 24 Jul 2017 23:33:03 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B4CC9876C@ESESSMB109.ericsson.se>
References: <CAOW+2dtaHB+3LyiN75YG6Dd9tsUFvcBWaizZUxTm1=YjMrSRdA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B4CC942F3@ESESSMB109.ericsson.se> <CAOW+2duvVxthZuk_Ufbt5udMpaJQW9zDPJk94DsKnRJOg3Ryyw@mail.gmail.com>
In-Reply-To: <CAOW+2duvVxthZuk_Ufbt5udMpaJQW9zDPJk94DsKnRJOg3Ryyw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.149]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRmVeSWpSXmKPExsUyM2K7ru6G5rJIg7ZWc4sN+/4zW3y7UOvA 5LFz1l12jyVLfjIFMEVx2aSk5mSWpRbp2yVwZdz9tpel4IF5xeV5r9gaGFeYdTFyckgImEh0 zOpk6mLk4hASOMIosWbBdhYIZzGjxMf1zxm7GDk42AQsJLr/aYM0iAhoS/R928cEEmYWUJR4 uVcNxBQW8JG4+VcaosJXomniKiYI20ni5e1dLCAlLAKqEh1/QkHCvEAlt+c3Q229zShxq/sC O0iCUyBQYsusFWwgNqOAmMT3U2vA5jALiEvcejKfCeJkAYkle84zQ9iiEi8f/2OFsJUk1h7e zgJxmabE+l36EK2KElO6H7JD7BWUODnzCcsERtFZSKbOQuiYhaRjFpKOBYwsqxhFi1OLi3PT jYz0Uosyk4uL8/P08lJLNjECo+Pglt9WOxgPPnc8xCjAwajEw/svpyxSiDWxrLgy9xCjBAez kggv89vSSCHelMTKqtSi/Pii0pzU4kOM0hwsSuK8DvsuRAgJpCeWpGanphakFsFkmTg4pRoY lxZOS/JLKBXXENwtE/lP7OASVumi8OaQZXt/OSxtsGh9331I8sA2o107NJpVeif+fCF+4K6L ouPe5DURXlzHZFLvS80QeaC+c/WhMre8HdMeiF0P+/+nauJelvgU7Unvnq96e0GhUrj059Fr Rt9qrvTsDZy90WOmwntHzWlsWvI3z2/d7P8oWYmlOCPRUIu5qDgRABrm3KuKAgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/wCt55r3-iJ9mTfDqNqc-dz7iqiA>
Subject: Re: [Ice] Re-nomination and candidate pair switching in RFC 5245bis
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: Mon, 24 Jul 2017 23:33:09 -0000

Hi
,
>[BA] RFC 5245bis Section 7.1.1 continues to imply a single selected pair: 
>
>   Eventually, there will be only a single nominated pair in the VALID
>   LIST for each component.  Once the state of the CHECK LIST is set to
>   Completed, that exact pair is selected by ICE for sending and
>   receiving media for that component.
>
>Based on that text, an implementation might still release resources (e.g. unused TURN candidates) post-nomination. Given this, the "ice2" ICE option doesn't address >potential interoperability issues resulting from different resource release behaviors (although it does clear indicate lack of support for aggressive nomination): 

The whole discussion began when I was given a comment that the text above should be modified, to clarify that the pair used for media can change after a pair has been selected.

But, if the outcome is that the pair can NOT change, maybe we need to clarify THAT instead :)

>   NOTE: A controlling agent that does not support this specification
>   (i.e. it is implemented according to RFC 5245) might nominate more
>   than one candidate pair.  This was referred to as aggressive
>   nomination in RFC 5245.  The usage of the 'ice2' ice option by
>   endpoints supporting this specifcation should prevent such
>   controlling agents from using aggressive nomination.
>
>Christer also said: 
>
>"Also, my understanding was that endpoints supporting RFC 7675 might maintain consent on pairs currently not 
>used for media, in order to be able to re-nominate in case consent for the currently nominated pair expires. However, 
>RFC 7675 does not explicitly say anything about that."
>
>[BA] RFC 7675 Section 5 says: 
>
>   Initial consent to send traffic is obtained using ICE [RFC5245].  An
>   endpoint gains consent to send on a candidate pair when the pair
>   enters the Succeeded ICE state.
>
>Given this, an RFC 5245bis implementation might request consent to send to
>multiple remote peer candidates, so as to keep them alive. However,
>there is nothing in RFC 7675 that requires the responder to grant
>consent for that.  For example, based on the text in RFC 5245bis
>Section 7.1.1, a conforming implementation might well revoke
>consent on local candidates other than the local candidate in the
>selected pair.  

Sure - the responder is not mandated to grant consent to multiple candidates after nomination. But, the option to do seems to be there (unless I've understood the RFC wrong), and the only reason to do so would be possible re-nomination.

Anyway, I don't have any strong feelings which way we go, but we do need to make it clear in the spec whether re-nomination is allowed or not.

Regards,

Christer

 


On Fri, Jul 21, 2017 at 12:33 PM, Christer Holmberg <christer.holmberg@ericsson.com> wrote:
Hi Bernard,
 
Support of 5245bis is also negotiated, using the “ice2” ICE option.
 
Also, my understanding was that endpoints supporting RFC 7675 might maintain consent on pairs currently not used for media, in order to be able to re-nominate in case consent for the currently nominated pair expires. However, RFC 7675 does not explicitly say anything about that.
 
Regards,
 
Christer
 
From: Ice [mailto:ice-bounces@ietf.org] On Behalf Of Bernard Aboba
Sent: 20 July 2017 14:22
To: ice@ietf.org
Subject: [Ice] Re-nomination and candidate pair switching in RFC 5245bis
 
During the ICE WG meeting today, there was discussion of whether RFC5245bis should indicate that it is possible to re-nominate pairs (proposed by Peter), or whether it is possible to switch from one interface to another (Cullen).  While these capabilities are desirable, attempting to add them to RFC 5245bis without negotiation has the potential to break interoperability with existing RFC 5245 implementations.
 
In my experience, this is an area where RFC 5245 implementations have very different interpretations. For example, some implementations (e.g. ones that did not support aggressive) discard non-selected candidate pairs after nomination. These implementations (e.g. particularly ones included in previous product releases) cannot be assumed to change their behavior after RFC 5245bis is published.  This raises the possibility that that interoperability could be impacted. 
 
Since in practice the desired candidate pair switching capabilities are most likely to be supported in WebRTC implementations supporting Trickle ICE, my recommendation is to think of candidate pair switching as a Trickle ICE capability.   Since Trickle-ICE support is negotiated, clarifications relating to candidate-pair switching can be linked to that negotiation.  
 
This provides a potential way forward that bypasses potential interoperability issues.  For example, if text on candidate-pair switching is to be added to (either to RFC 5245bis or Trickle-ICE) then the text could say that support for these behaviors can only be assumed if they are explicitly negotiated. The Trickle-ICE document could then create normative requirements for support of the new behaviors by stating that support for them is mandatory when supporting full-Trickle.