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

Bernard Aboba <bernard.aboba@gmail.com> Mon, 24 July 2017 23:21 UTC

Return-Path: <bernard.aboba@gmail.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 2C1F4124E15 for <ice@ietfa.amsl.com>; Mon, 24 Jul 2017 16:21:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 81R0WZvg3DnZ for <ice@ietfa.amsl.com>; Mon, 24 Jul 2017 16:21:15 -0700 (PDT)
Received: from mail-ua0-x236.google.com (mail-ua0-x236.google.com [IPv6:2607:f8b0:400c:c08::236]) (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 D6840124C27 for <ice@ietf.org>; Mon, 24 Jul 2017 16:21:14 -0700 (PDT)
Received: by mail-ua0-x236.google.com with SMTP id w45so90518435uac.5 for <ice@ietf.org>; Mon, 24 Jul 2017 16:21:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=QJ64rs1v8u+HpxU9CU7GaYqxphbwNNqmt+uWRHr9HkM=; b=UTxvG3cG4nASBvlgHhg2TaBx1CrLBYE7/SKkKLQFx08KmqdVMrU0lOvF16xmFu0bvi LG6kl7CuYcVeNqLgIJOLOp72OFb8AbdalICpeMPNfWvnzz28rlo93RK1JvWrhoCArHKH GCPZHyjANrpjWKpVNe5SgOAei68i9oWru9dFQYCaqsYzY4aQQCHjZtPXDBUmK3CkC6wN cQnSC2/NSqps+9S+LqUTwzCkTYsf75WOoPkptLeTiyj5oGy2Tvt0smcDUaV/3VIxc5tp dldn5WL6hRBfQNxKGuj2oRZO5a3C07/6BaM6i3Qp5P9WMTllFPY7LRjmHwsdHLyC9Apn Istg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=QJ64rs1v8u+HpxU9CU7GaYqxphbwNNqmt+uWRHr9HkM=; b=MDug8vgxUoTUNyipS/ZrFn15i+uEYHlEoFl0iMCkHNuakmEYL/cQ0z4+r4Cz4uryjs H5oZqedPUVXpoTbxXGfqaoqelyflXJy2Hn0WsreC6ij+wgHpGNMldxmek5nTz+8gAh4+ veXIkFNIqSDBd/bBvT07Z0CxFlwvaP1deFj+C1rZ3F1EVpgbLFZYjv6DnL8ZlIgrKG57 u34UkeSwY/Tzna87xyTb3vCtKjdOV/DY4kEV7z7TmqUnnvctCotmmmlEI78g3PZTP2q8 xWlK/0KFYeixV99ZLd+EhmzJ+f8g4ad3hzDSRFL4IvmNr8TpuRc2+gDBLWtLqF6Q2xrM p/sA==
X-Gm-Message-State: AIVw110QWb6A+vPVmgwVMgQ+uM51OzepTTHSvhiJq/nCphtD12t/Umqd NZ5RSoUjJD9CCRmNKHlvwm2ksV5dnQ==
X-Received: by 10.176.78.219 with SMTP id x27mr9535828uah.144.1500938473684; Mon, 24 Jul 2017 16:21:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.159.35.80 with HTTP; Mon, 24 Jul 2017 16:20:53 -0700 (PDT)
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B4CC942F3@ESESSMB109.ericsson.se>
References: <CAOW+2dtaHB+3LyiN75YG6Dd9tsUFvcBWaizZUxTm1=YjMrSRdA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B4CC942F3@ESESSMB109.ericsson.se>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Mon, 24 Jul 2017 16:20:53 -0700
Message-ID: <CAOW+2duvVxthZuk_Ufbt5udMpaJQW9zDPJk94DsKnRJOg3Ryyw@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: "ice@ietf.org" <ice@ietf.org>
Content-Type: multipart/alternative; boundary="f403045ea5ce8dc52405551878d8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/6xBvgZKODglC6kz4WfwCjrSTLJg>
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:21:18 -0000

Christer said:


"Support of 5245bis is also negotiated, using the “ice2” ICE option."


[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):


   NOTE: A controlling agent that does not support this specification
   (i.e. it is implemented according to RFC 5245
<https://tools.ietf.org/html/rfc5245>) might nominate more
   than one candidate pair.  This was referred to as aggressive
   nomination in RFC 5245 <https://tools.ietf.org/html/rfc5245>.  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
<https://tools.ietf.org/html/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.


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