Re: [rtcweb] URI schemes for TURN and STUN

Eric Rescorla <ekr@rtfm.com> Sat, 05 November 2011 19:46 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3518021F8726; Sat, 5 Nov 2011 12:46:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.977
X-Spam-Level:
X-Spam-Status: No, score=-102.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pAV4cosUTokM; Sat, 5 Nov 2011 12:46:07 -0700 (PDT)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by ietfa.amsl.com (Postfix) with ESMTP id 8B29C21F86A4; Sat, 5 Nov 2011 12:46:07 -0700 (PDT)
Received: by ywt2 with SMTP id 2so4336378ywt.31 for <multiple recipients>; Sat, 05 Nov 2011 12:46:07 -0700 (PDT)
Received: by 10.236.77.163 with SMTP id d23mr26392976yhe.34.1320522367144; Sat, 05 Nov 2011 12:46:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.146.232.12 with HTTP; Sat, 5 Nov 2011 12:45:26 -0700 (PDT)
X-Originating-IP: [74.95.2.173]
In-Reply-To: <01O823CUB1SG00XBUL@mauve.mrochek.com>
References: <4EAC6BF4.2000604@alvestrand.no> <CALiegf=f4kFzyDLWK+Y5vbuCEJFXX590+VuZ4bbnHZnvX0CoBA@mail.gmail.com> <4EAC8AE0.3020307@acm.org> <4EACD558.1050003@alvestrand.no> <4EAE157F.5020901@it.aoyama.ac.jp> <4EAEB76B.9090304@acm.org> <8B0C4061-D362-4DFE-9677-7E64515A6E1C@network-heretics.com> <4EAF9391.5040209@it.aoyama.ac.jp> <4EB05A23.3060101@alvestrand.no> <01O80L7NM7N000RCTX@mauve.mrochek.com> <CABcZeBPCGcUcEDNJ5T3+LowrdTz-NAka3Q33CA8mvdwb0=+aZg@mail.gmail.com> <4EB480E7.1010200@alvestrand.no> <01O823CUB1SG00XBUL@mauve.mrochek.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 05 Nov 2011 12:45:26 -0700
Message-ID: <CABcZeBNtAWNiGq+OrK6fAXuDxd7wrERhneba6q5C+Qq0DNqanw@mail.gmail.com>
To: Ned Freed <ned.freed@mrochek.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: Keith Moore <moore@cs.utk.edu>, Keith Moore <moore@network-heretics.com>, Behave WG <behave@ietf.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] URI schemes for TURN and STUN
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Nov 2011 19:46:08 -0000

On Sat, Nov 5, 2011 at 10:20 AM, Ned Freed <ned.freed@mrochek.com> wrote:
>> On 11/04/2011 04:56 PM, Eric Rescorla wrote:
>> > On Fri, Nov 4, 2011 at 8:31 AM, Ned Freed<ned.freed@mrochek.com>  wrote:
>> >>> Top-posting a general principle, detailed comment at the bottom....
>> >>> For all URI schemes, I think the URI needs to contain all the
>> >>> information you need in order to make contact with the service; you
>> >>> can't negotiate until you've made contact.
>> >>> (the process may involve things like "resolve through a resolution
>> >>> mechanism like DNS" or "get authorization tokens from somewhere
>> >>> else").
>> >>> In the case of TURN, you need to distinguish between TCP, UDP and TLS,
>> >>> and you need to make that determination before you send the first
>> >>> packet. That means the distinguishing information between those three
>> >>> things belongs in the URL; I don't think the scheme is a good place to
>> >>> encode it.
>> >> I'm in complete agreement with Harald on all of these points. And while
>> >> it
>> >> would have been nice if URL syntax was less messy and more general,
>> >> making
>> >> it easier to do these sorts of things in a consistent way, it quite
>> >> simply
>> >> isn't and we have to make do with what we have.
>> > I don't have any commitment to the scheme. What's the best place?
>
>> I like parameters, like this:
>
>> turn://user@host?proto=tcp
>
>> Quite hard to misunderstand, and quite easy to extend.
>
>> (Note: // is only allowed if what follows is [user[:pass]@]host - I
>> don't recommend using the password, for the obvious reasons, but the
>> syntax will allow it.)
>
> Given your earlier characterization of the TCP/UDP/TLS distinction being
> a single axis, I assume you mean that you'd say:
>
>  turn://user@host?proto=tls
>
> and not
>
>  turns://user@host?proto=tcp
>
> I have to say I prefer the parameter approach, but I wonder if these really
> are along a single axis - is DTLS a possibility here?

TCP/TLS
UDP/DTLS
TCP/DTLS

Are all options. Also, it seems like you might want to run DCCP or SCTP
and those work with DTLS and {DTLS,TLS} respectively. So, probably
better to make the parameters separate.

-Ekr