Re: [art] [clue] ICE, ICE-bis, and Cluster 238

Adam Roach <adam@nostrum.com> Wed, 17 October 2018 20:46 UTC

Return-Path: <adam@nostrum.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 68F8D130DFF for <art@ietfa.amsl.com>; Wed, 17 Oct 2018 13:46:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.878
X-Spam-Level:
X-Spam-Status: No, score=-1.878 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=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 qN2cbltMYiUq for <art@ietfa.amsl.com>; Wed, 17 Oct 2018 13:46:01 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 1AC12130DD9 for <art@ietf.org>; Wed, 17 Oct 2018 13:46:01 -0700 (PDT)
Received: from Svantevit.local (99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w9HKjxRB041851 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Wed, 17 Oct 2018 15:46:00 -0500 (CDT) (envelope-from adam@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host 99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228] claimed to be Svantevit.local
To: Cullen Jennings <fluffy@iii.ca>, Applications and Real-Time Area Discussion <art@ietf.org>
References: <15d3b114-5c04-61c4-8a62-61d8a414143d@nostrum.com> <7D1A35C5-FF09-4F93-ABA8-74D877952EF0@iii.ca>
From: Adam Roach <adam@nostrum.com>
Message-ID: <26aaec5e-0abb-a4af-3d0f-c94bda3aa251@nostrum.com>
Date: Wed, 17 Oct 2018 15:45:53 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <7D1A35C5-FF09-4F93-ABA8-74D877952EF0@iii.ca>
Content-Type: multipart/alternative; boundary="------------D7B6E60DEAD6A1869CFBB912"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/ny-3iegplNK5bl-WLOiyIZAA0z4>
Subject: Re: [art] [clue] ICE, ICE-bis, and Cluster 238
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Oct 2018 20:46:05 -0000

Cullen --

Thanks for sharing your perspective. In the spirit of section 3 of RFC 
7282, I
believe that the specific points you raised have been considered and 
addressed
(even though they haven't necessarily all been accommodated). I see evidence
that the impacted working groups have taken the objections seriously and
provided technically sound responses. I have taken steps to address the
process objection you highlighted regarding the timing and duration of the
period for feedback. Your input regarding the impact on two specific 
documents
beyond that which was called out in the original proposal has been noted and
is in the process of being addressed.

Specific details pertaining to each raised point can be found below.

On 9/6/18 3:24 PM, Cullen Jennings wrote:

 > It is not merely an issue of which document we point out, and they 
are all the
 > same. The problem is the timing of 8445 is not clearly interoperable 
with the
 > timing of 5245. ICE relies on both sides to do sequence things at 
roughly the
 > same order so that suicided packets open pinholes in the reverse 
direction at
 > the right time. The changes in timing change how this happens and is 
a problem
 > for the ICE algorithm.
 >
 > This was discussed in the WG, and though not everyone agrees it is a 
problem
 > or not, no one has ever provided a convincing argument that it is not.

Peter has attempted to do so. It is difficult to prove that something is 
not a
problem, but the explanation seems pretty compelling, especially when 
coupled
with Justin's later observation that the currently deployed Chrome code more
closely resembles RFC 8445 than it does RFC 5245.

 > This is
 > a very substantial change to the on the wire protocol and at a 
minimum would
 > need to be reviewed and discussed in the WG not slipped through in 
Auth 48
 > during a one week period in the summer while everyone is on vacation.

Based on your feedback, I have kept the issue open for eight weeks, 
including
four of which that are unambiguously not part of the northern hemisphere's
summer. I will also be running another IETF last call for the JSEP document,
to ensure proper exposure of this set of changes to the IETF community.

 > We will
 > also need to change other examples and normative text in drafts like 
JSEP.

A plan is being put in place to address JSEP's normative text (the authors
have already prepared a PR to address these changes), while the latest 
version
of the SDP examples document already contains such modifications.

 > I would propose that instead of the parts of specs that use the trickle
 > mechanism purely reference that part of the new ICE spec that defines the
 > syntax and say to transfer trickle candidates.

This preference has not received support from other participants.

 > Cisco has implemented stuff that is WebRTC 1.0 compliant without this 
change.
 > These gratuitous changes, years after the implementation were coded, 
with no
 > real benefit will ensure that we are not and will not become 
compliant with
 > the RFC. It's unlikely we will upgrade to the new ICE until it has real
 > befits. It is doubtful Justin will want to implement the 8445 
mechanisms of
 > supporting both new and old ICE.

Justin Uberti has indicated that Chrome's current behavior more closely
reflects RFC 8445 behavior than it does the behavior specified by RFC 5245,
and so this change brings the published documents closer to current browser
implementations than any proposed alternatives.  Nils Ohlmeier, who owns 
this
decision for Mozilla, has indicated that Firefox intends to implement 
both RFC
8445 and RFC 5245 behavior and use the "a=ice2" flag to determine which to
use. To the extent that Cisco products work with browsers deployed today,
these statements would seem to ensure that they should continue to do so in
the face of the plan I outlined.

 > Instead, we will move to say "works with
 > Browser X version Y or later." We have watched at W3C as it moved to 
be that
 > unless chrome does it, it rare that it becomes a standard. Right here 
I am
 > watching how the stuff IETF defines will be less relevant than the 
issue of
 > what chrome implements.

Given what Justin has indicated about Chrome's current behavior, this logic
would argue for moving to reference RFC 8445 rather than not doing so.

Again, thanks for taking the time to clearly spell our your objections 
so that
they could be fully considered by the interested parties. I believe that we
are in a better place, both from a process and from a protocol perspective,
because of your input.

/a


...
>> On Aug 22, 2018, at 10:58 AM, Adam Roach <adam@nostrum.com 
>> <mailto:adam@nostrum.com>> wrote:
>>
>> Members of the ART community interested in real-time communications:
>>
>> Cluster 238 [1] is a set of inter-related documents dealing with 
>> real-time communications. The bulk of these documents relate to 
>> WebRTC, either directly or indirectly. They also form the 
>> underpinnings of CLUE. As of now, there are 34 documents in the 
>> cluster that are not yet published, with 25 of these already in the 
>> RFC Editor's queue. The dependency graph among these documents is 
>> such that the bulk of them can be published as soon as a specific six 
>> of them are handed off to the RFC editor, and we expect this to 
>> happen in the upcoming few months.
>>
>> One long-running complication for this cluster of documents is that 
>> each of the documents were developed over the course of seven years, 
>> in concert with implementations, while the ICE protocol itself was 
>> undergoing significant revision. As a consequence, some documents 
>> rely (directly or indirectly) on the older ICE specification (RFC 
>> 5245), while some rely on the newer one (RFC 8445). In some cases, 
>> documents refer directly to the old version and transitively to the 
>> new version.
>>
>> It is noteworthy that RFC 8445 obsoletes RFC 5245; and that the 
>> mechanism described in RFC 8445 has some  changes that break 
>> backwards compatibility with the mechanism defined in RFC 5245 (with 
>> such behavioral changes controlled by an SDP attribute, allowing 
>> clients to transition from one to the other).
>>
>> Most notably, draft-ietf-rtcweb-jsep (which is the core WebRTC 
>> protocol in the IETF) refers to directly to RFC 5245, while relying 
>> on the behavior defined in draft-ietf-ice-trickle; 
>> draft-ietf-ice-trickle, in turn, is based on the newer RFC 8445 
>> handling. JSEP's reference to RFC 5245 is a practical consideration 
>> that acknowledges that current deployments of WebRTC implement the 
>> older version of ICE. At the same time, these deployed 
>> implementations use a somewhat older version of 
>> draft-ietf-ice-trickle in concert with the older ICE implementation.
>>
>> In order to get Cluster 238 published, we need to find some way to 
>> rationalize its references to ICE. At a basic level, the ART Area 
>> Directors do not believe that it makes sense to publish new documents 
>> that refer to an already obsoleted RFC. At the same time, we 
>> recognize that there is value in our specifications being informed by 
>> running code. For WebRTC, the complexity of the system has led us to 
>> a point that we must choose between these principles. Our proposal is 
>> to choose the first, while acknowledging the second.
>>
>> This would result in a request to the RFC editor to update all 
>> references to RFC 5245 in the Cluster 238 documents to instead point 
>> to RFC 8445. Documents not yet in the RFC editor queue would be 
>> updated prior to IESG review. We would further request that the RFC 
>> editor add the following text to draft-ietf-rtcweb-overview and 
>> draft-ietf-rtcweb-jsep:
>>
>>
>>> While this specification formally relies on [RFC8445], at the time 
>>> of its publication, the majority of WebRTC implementations support 
>>> the version of ICE described in [RFC5245], and use a pre-standard 
>>> version of the trickle ice mechanism described in [RFCXXXX]. The use 
>>> of the "ice2" attribute defined in [RFC8445] can be used to detect 
>>> the version in use by a remote endpoint and to provide a smooth 
>>> transition from the older specification to the newer one. 
>> RFC 8445 would be a normative reference for both documents, while RFC 
>> 5245 would be informative.
>>
>> There is one more minor complication, in that 
>> draft-ietf-mmusic-sdp-mux-attributes (which currently points to RFC 
>> 5245) is intended to be an exhaustive list of the SDP attributes 
>> defined in the documents it lists, and RFC 8445 adds a new "ice2" 
>> attribute that was not present in RFC 5245. For this reason, we would 
>> also ask the RFC Editor to add a new row to the table in 
>> draft-ietf-mmusic-sdp-mux-attributes section 5.12, as follows:
>>
>>
>>>     +-------------------+---------------------------+-------+-----------+
>>>     | Name              | Notes                     | Level | Mux       |
>>>     |                   |                           |       | Category  |
>>>     +-------------------+---------------------------+-------+-----------+
>>>     | ice2              | Not Impacted              | S     | NORMAL    |
>>>     |                   |                           |       |           |
>>>     +-------------------+---------------------------+-------+-----------+
>>
>> For clarity, the affected documents are as follows.
>>
>> The following documents would be updated to reference RFC 8445 prior 
>> to IESG evaluation:
>>
>>   * draft-ietf-clue-datachannel
>>   * draft-ietf-clue-signaling
>>   * draft-ietf-rtcweb-security
>>   * draft-ietf-rtcweb-security-arch
>>
>>
>> The following documents would be updated to reference RFC 8445 by the 
>> RFC Editor:
>>
>>   * draft-ietf-mmusic-mux-exclusive
>>   * draft-ietf-mmusic-sctp-sdp
>>   * draft-ietf-rtcweb-alpn
>>   * draft-ietf-rtcweb-data-channel
>>   * draft-ietf-rtcweb-rtp-usage
>>
>>
>> The following documents would be updated to reference RFC 8445 and 
>> have the text proposed above added to them:
>>
>>   * draft-ietf-rtcweb-jsep
>>   * draft-ietf-rtcweb-overview
>>
>>
>> The following document would be updated to reference RFC 8445 by the 
>> RFC Editor, and include a new row for "ice2" in its Section 5.12, as 
>> described above:
>>
>>   * draft-ietf-mmusic-sdp-mux-attributes
>>
>>
>> This message is cross-posted to the affected working groups. Because 
>> the issue at hand has impact across several different groups, we ask 
>> that all follow-up discussion take place on <art@ietf.org>. Thank you.
>>
>> /Adam on behalf of the ART Area Directors
>>
>> ____
>> [1] https://www.rfc-editor.org/cluster_info.php?cid=C238
>>
>> _______________________________________________
>> clue mailing list
>> clue@ietf.org <mailto:clue@ietf.org>
>> https://www.ietf.org/mailman/listinfo/clue
>
>
> _______________________________________________
> art mailing list
> art@ietf.org
> https://www.ietf.org/mailman/listinfo/art