Re: [rtcweb] I-D Action: draft-ietf-rtcweb-transports-00.txt

Dan Wing <dwing@cisco.com> Tue, 20 August 2013 15:27 UTC

Return-Path: <dwing@cisco.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 D40C411E823F for <rtcweb@ietfa.amsl.com>; Tue, 20 Aug 2013 08:27:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.476
X-Spam-Level:
X-Spam-Status: No, score=-110.476 tagged_above=-999 required=5 tests=[AWL=0.123, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, 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 jR-1o6hwPQUn for <rtcweb@ietfa.amsl.com>; Tue, 20 Aug 2013 08:27:51 -0700 (PDT)
Received: from mtv-iport-3.cisco.com (mtv-iport-3.cisco.com [173.36.130.14]) by ietfa.amsl.com (Postfix) with ESMTP id E018911E8241 for <rtcweb@ietf.org>; Tue, 20 Aug 2013 08:27:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6535; q=dns/txt; s=iport; t=1377012471; x=1378222071; h=mime-version:subject:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=rhkrDa3jbHrvrTEWkE6umfjOCmjQW0aAEyqW+gzbp2A=; b=IQAlsV+8vVluw2tPZG8DDIHmxcD8+3cmhWeIME75TlQ4B5Rc8FJuog28 AGHt39dHPItl/2wWqUIoyDrKXM0pohonsp2t9FB37cQEqekwqvAsSHQ1v 7lKgYG66HK2iSdJsmf7eQoKTmI4dVlUudIww238S8OPefdws/XgiVnpdR Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ag8FANyJE1KrRDoG/2dsb2JhbABagwU1wCqBIhZ0giQBAQEDAQEBASQTNAsQCxguJzAGEwmIAQUNrTaQIjMHgxt5A4ktimCDWIEthHyLLYM8HA
X-IronPort-AV: E=Sophos;i="4.89,921,1367971200"; d="scan'208";a="87057042"
Received: from mtv-core-1.cisco.com ([171.68.58.6]) by mtv-iport-3.cisco.com with ESMTP; 20 Aug 2013 15:27:26 +0000
Received: from [10.21.102.166] ([10.21.102.166]) by mtv-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id r7KFRP5H028693; Tue, 20 Aug 2013 15:27:25 GMT
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: Dan Wing <dwing@cisco.com>
In-Reply-To: <F1280E9D-D43F-4E0F-9394-3A468C556B68@lurchi.franken.de>
Date: Tue, 20 Aug 2013 08:27:25 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <F344B2F1-F724-46F6-B14E-49203FF847B1@cisco.com>
References: <20130819171507.30712.24757.idtracker@ietfa.amsl.com> <52128C29.4040402@alvestrand.no> <EAF548B7-09BE-4C64-AC44-4EE02EFC96F7@cisco.com> <F1280E9D-D43F-4E0F-9394-3A468C556B68@lurchi.franken.de>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
X-Mailer: Apple Mail (2.1508)
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] I-D Action: draft-ietf-rtcweb-transports-00.txt
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: Tue, 20 Aug 2013 15:28:12 -0000

On Aug 20, 2013, at 12:25 AM, Michael Tuexen <Michael.Tuexen@lurchi.franken.de> wrote:

> 
> On Aug 20, 2013, at 1:20 AM, Dan Wing <dwing@cisco.com> wrote:
> 
>> 
>> On Aug 19, 2013, at 2:20 PM, Harald Alvestrand <harald@alvestrand.no> wrote:
>> 
>>> As indicated in the -overview draft, it seemed logical to collect the information about the transport
>>> profile for RTCWEB in a separate document.
>>> 
>>> It is only 6 pages including all boilerplate, and has a couple of open issues that the WG needs to address.
>>> 
>>> I'll emit an updated -overview shortly, with the corresponding appendix removed.
>>> 
>>> Let the reviews begin!
>> 
>> If per-*packet* DSCP setting is necessary (such as when bundling is used), both Section 2.1 and 2.2 should clarify that requirement.  For example FreeBSD's IPv4 stack didn't have that capability recently, per http://www.freebsd.org/cgi/query-pr.cgi?pr=165305.  I am sure many, many middleboxes don't have that capability (and might take action based on the first DSCP value they see, under the assumption that the 5-tuple flow will continue to use that same DSCP value).
> Support for per-packet TOS/DSCP information to be received/sent was added in FreeBSD 8.4 and 9.1...

Yes, that is what the URL I cited says.  But more important than celebrating that FreeBSD was recently updated to get this capability is that the I-D document this as a requirement of the underlying OS.

-d


> 
> Best regards
> Michael
>> 
>> Section 2.2,
>> "   In order to deal with symmetric NATs, TURN MUST be supported."
>> 
>> Two comments:  TURN is only necessary if both peers are behind NATs which perform endpoint-dependent mapping.  The "symmetric" term is overloaded and lacks precision, so I would really like it avoided.  I suggest:  "To deal with both peers being behind restrictive NATs, TURN MUST be supported."  Using a less-specific term like "restrictive" avoids a bunch of lengthy sentences of technical detail which aren't interesting, and this new wording explains that TURN is only needed when both endpoints are behind such restrictive NATs.
>> 
>> Section 2.2,
>> "In order to deal with firewalls that block all UDP traffic, TURN over
>>  TCP MUST be supported.  (QUESTION: What about ICE-TCP?)"
>> 
>> ICE-TCP allows direct peer-to-peer communications using TCP, without a TURN server doing TCP-to-UDP interworking.  I would say the industry has less experience with ICE-TCP than with ICE or with TURN-over-TCP, and because of the less experience and because ICE-TCP is arguably an *optimization*, I would say ICE-TCP is a MAY.  It can't be a MUST-level requirement, at least by my threshold for MUST which is that interoperability is harmed or interoperability is impossible.
>> 
>> Section 2.2,
>> "   o  TURN, including TURN over TCP [[QUESTION: and TURN over TLS]],
>>     [RFC5766]."
>> 
>> Most -- but not all -- of the security obtained with TURN over TLS is achieved with TURN REST (draft-uberti-behave-turn-rest and draft-uberti-rtcweb-turn-rest).  I think the working group should consider if TURN REST satisfies the requirements, or if TURN over TLS is really, really necessary.
>> 
>> Section 2.3,
>> "RTCWEB implementations MUST support multiplexing of SCTP/DTLS and RTP
>>  over the same port pair, as described in the DTLS_SRTP specification
>>  [RFC5764], section 5.1.2."
>> 
>> Really, the requirement is more than than what DTLS-SRTP specifies, because it only specifies shows how STUN, DTLS, and SRTP packets are demultiplexed, whereas WebRTC endpoints have to handle those three protocols as well as SCTP.  Somewhere -- perhaps draft-ietf-rtcweb-transports or elsewhere, a diagram of how the layering works would be useful.  Adapting the diagram from Section 5.1.2 of RFC5764, I believe incoming packet processing diagram looks like this:
>> 
>>          +----------------+
>>          | 127 < B < 192 -+--> forward to RTP
>> 	   |                |
>>     	   |	      	       |   +------------------+
>> 	   |                |   | DTLS processing  |
>> 	   |                |   |                  |
>> packet --> |  19 < B < 64  -+-->+ appl. protocol  -+--> SCTP
>>          |                |   |  	      	      |
>>     	   |  	      	    |   | other protocols -+--> DTLS
>> 	   |                |   |                  |
>> 	   |                |   +------------------+	
>>          |                |
>>          |       B < 2   -+--> forward to STUN/ICE
>>          +----------------+
>> 
>> -d
>> 
>> 
>> 
>>> 
>>>           Harald
>>> 
>>> 
>>> On 08/19/2013 07:15 PM, internet-drafts@ietf.org wrote:
>>>> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>>>> This draft is a work item of the Real-Time Communication in WEB-browsers Working Group of the IETF.
>>>> 
>>>> 	Title           : Transports for RTCWEB
>>>> 	Author(s)       : Harald Alvestrand
>>>> 	Filename        : draft-ietf-rtcweb-transports-00.txt
>>>> 	Pages           : 6
>>>> 	Date            : 2013-08-19
>>>> 
>>>> Abstract:
>>>>  This document describes the data transport protocols used by RTCWEB,
>>>>  including the protocols used for interaction with intermediate boxes
>>>>  such as firewalls, relays and NAT boxes.
>>>> 
>>>> 
>>>> 
>>>> The IETF datatracker status page for this draft is:
>>>> https://datatracker.ietf.org/doc/draft-ietf-rtcweb-transports
>>>> 
>>>> There's also a htmlized version available at:
>>>> http://tools.ietf.org/html/draft-ietf-rtcweb-transports-00
>>>> 
>>>> 
>>>> Please note that it may take a couple of minutes from the time of submission
>>>> until the htmlized version and diff are available at tools.ietf.org.
>>>> 
>>>> Internet-Drafts are also available by anonymous FTP at:
>>>> ftp://ftp.ietf.org/internet-drafts/
>>>> 
>>>> _______________________________________________
>>>> rtcweb mailing list
>>>> rtcweb@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/rtcweb
>>> 
>>> _______________________________________________
>>> rtcweb mailing list
>>> rtcweb@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtcweb
>> 
>> _______________________________________________
>> rtcweb mailing list
>> rtcweb@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtcweb
>> 
>