Re: [tram] Happy Turnballs

Jonathan Lennox <jonathan@vidyo.com> Mon, 17 April 2017 16:05 UTC

Return-Path: <prvs=0280851062=jonathan@vidyo.com>
X-Original-To: tram@ietfa.amsl.com
Delivered-To: tram@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 031A5131513 for <tram@ietfa.amsl.com>; Mon, 17 Apr 2017 09:05:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.1
X-Spam-Level:
X-Spam-Status: No, score=-1.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_WEB=1.5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 rNDP-UPzwjuw for <tram@ietfa.amsl.com>; Mon, 17 Apr 2017 09:05:54 -0700 (PDT)
Received: from mx0b-00198e01.pphosted.com (mx0b-00198e01.pphosted.com [67.231.157.197]) (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 156181314F9 for <tram@ietf.org>; Mon, 17 Apr 2017 09:05:54 -0700 (PDT)
Received: from pps.filterd (m0073110.ppops.net [127.0.0.1]) by mx0b-00198e01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v3HG0Nfm014152; Mon, 17 Apr 2017 12:05:44 -0400
Received: from mail.vidyo.com ([162.209.16.214]) by mx0b-00198e01.pphosted.com with ESMTP id 29ue941nwk-1 (version=TLSv1 cipher=AES128-SHA bits=128 verify=NOT); Mon, 17 Apr 2017 12:05:44 -0400
Received: from 492132-EXCH1.vidyo.com ([fe80::50:56ff:fe85:4f77]) by 492133-EXCH2.vidyo.com ([fe80::50:56ff:fe85:6b62%13]) with mapi id 14.03.0195.001; Mon, 17 Apr 2017 11:05:43 -0500
From: Jonathan Lennox <jonathan@vidyo.com>
To: "Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com>
CC: "tram@ietf.org" <tram@ietf.org>
Thread-Topic: Happy Turnballs
Thread-Index: AQHSqEGEO+blEX6KXUiRxlbCJTXfmqHJzSuAgABfJYA=
Date: Mon, 17 Apr 2017 16:05:43 +0000
Message-ID: <28A2B048-D2B0-477D-BD21-14440C94C477@vidyo.com>
References: <28057480-A193-4B8F-9953-78A21949483C@vidyo.com> <7d80f647761b46d48f05c36df7ad170f@XCH-RCD-017.cisco.com>
In-Reply-To: <7d80f647761b46d48f05c36df7ad170f@XCH-RCD-017.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [160.79.219.114]
Content-Type: text/plain; charset="utf-8"
Content-ID: <09425B02F300AF429E3A33EE8B993C48@vidyo.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-04-17_14:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704170144
Archived-At: <https://mailarchive.ietf.org/arch/msg/tram/7Egp05UdCACAgq43pLckDUewtek>
Subject: Re: [tram] Happy Turnballs
X-BeenThere: tram@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Discussing the creation of a Turn Revised And Modernized \(TRAM\) WG, which goal is to consolidate the various initiatives to update TURN and STUN." <tram.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tram>, <mailto:tram-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tram/>
List-Post: <mailto:tram@ietf.org>
List-Help: <mailto:tram-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tram>, <mailto:tram-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Apr 2017 16:05:55 -0000

> On Apr 17, 2017, at 6:25 AM, Tirumaleswar Reddy (tireddy) <tireddy@cisco.com> wrote:
> 
>> -----Original Message-----
>> From: tram [mailto:tram-bounces@ietf.org] On Behalf Of Jonathan Lennox
>> Sent: Wednesday, March 29, 2017 9:34 AM
>> To: tram@ietf.org
>> Subject: [tram] Happy Turnballs
>> 
>> So I was asked to write up my comments on Happy Eyeballs for TURN.  Here’re
>> my thoughts.
>> 
>> As always with Happy Eyeballs, when connecting to a TURN server specified by
>> a DNS name, do a DNS query for both IPv6 and IPv4, and then (with
>> appropriate timing based on expected success), attempt to connect to both
>> the returned IPv6 and IPv4 addresses, in parallel.
> 
> As per https://tools.ietf.org/html/rfc6555, by default IPv6 should have slight preference (or head-start) over IPv4 unless the client address preference policy is modified giving preference to IPv4 over IPv6.

Right — I was eliding that part, but my intention was that all the timing and policy would follow the recommendations in 6555.

>> If the server is not using stateless cookies, it will instead send back a
>> ServerHello message (and associated messages in that flight).  In this case, the
>> client should gracefully tear down the dispreffered association to avoid
>> lingering server state: it should send a user_canceled alert, followed by a
>> close_notify alert.
> 
> user_cancelled alert is typically triggered when initiated by a user, close_notify alert is sufficient to inform the recipient that the sender will not send 
> any more messages on this connection.

As I said, this section needs a DTLS expert.

Is there usually any server behavioral difference between the two alert types?

>> 3. For UDP, send TURN Allocate requests to both addresses, without
>> authentication information.  If the TURN server is requiring authentication (as
>> it normally will), it will send back 401 Unauthenticated responses.  This does
>> not create server state, so the dispreferred allocation attempt can be silently
>> discarded.
> 
> TURN server would have to remember the Nonce value !

It shouldn’t — normally, Nonce values can be encoded in a way that’s stateless for the server (e.g., timestamp plus an HMAC), and this is usually considered good practice so as to avoid state-exhaustion attacks on the server.