Re: [pntaw] draft-hutton-rtcweb-nat-firewall-considerations

Bernard Aboba <bernard_aboba@hotmail.com> Wed, 04 September 2013 15:12 UTC

Return-Path: <bernard_aboba@hotmail.com>
X-Original-To: pntaw@ietfa.amsl.com
Delivered-To: pntaw@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 669FD21E80DE for <pntaw@ietfa.amsl.com>; Wed, 4 Sep 2013 08:12:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.307
X-Spam-Level:
X-Spam-Status: No, score=-102.307 tagged_above=-999 required=5 tests=[AWL=0.135, BAYES_00=-2.599, HTML_MESSAGE=0.001, SUBJECT_FUZZY_TION=0.156, 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 3UyNNlZArgqY for <pntaw@ietfa.amsl.com>; Wed, 4 Sep 2013 08:12:20 -0700 (PDT)
Received: from blu0-omc2-s15.blu0.hotmail.com (blu0-omc2-s15.blu0.hotmail.com [65.55.111.90]) by ietfa.amsl.com (Postfix) with ESMTP id 987F121E80DA for <pntaw@ietf.org>; Wed, 4 Sep 2013 08:12:20 -0700 (PDT)
Received: from BLU169-W35 ([65.55.111.72]) by blu0-omc2-s15.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Wed, 4 Sep 2013 08:12:20 -0700
X-TMN: [tbdLp6NPOwvhnv12DH12fC+lg3mjWFdJ]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU169-W35F7EADE5582056FB14BD793320@phx.gbl>
Content-Type: multipart/alternative; boundary="_e4e39a9f-1696-4106-b175-d209e6b8ccfb_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: "Hutton, Andrew" <andrew.hutton@siemens-enterprise.com>, "pntaw@ietf.org" <pntaw@ietf.org>
Date: Wed, 4 Sep 2013 08:12:19 -0700
Importance: Normal
In-Reply-To: <9F33F40F6F2CD847824537F3C4E37DDF17BAB1BB@MCHP04MSX.global-ad.net>
References: <9F33F40F6F2CD847824537F3C4E37DDF17BA590C@MCHP04MSX.global-ad.net>, <BLU169-W550866EED2D3C94D56050B93370@phx.gbl>, <9F33F40F6F2CD847824537F3C4E37DDF17BAB1BB@MCHP04MSX.global-ad.net>
MIME-Version: 1.0
X-OriginalArrivalTime: 04 Sep 2013 15:12:20.0417 (UTC) FILETIME=[269F4310:01CEA981]
Subject: Re: [pntaw] draft-hutton-rtcweb-nat-firewall-considerations
X-BeenThere: pntaw@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion list for practices related to proxies, NATs, TURN, and WebRTC" <pntaw.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pntaw>, <mailto:pntaw-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pntaw>
List-Post: <mailto:pntaw@ietf.org>
List-Help: <mailto:pntaw-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pntaw>, <mailto:pntaw-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2013 15:12:25 -0000

> > [BA] Not sure whether "should be successful" is trying to imply that
> > statistically this is expected to succeed in the majority of RTP over
> > TCP cases.  That is not my experience - "simultaneous open" isn't
> > supported widely enough for that to be the case.

[AndyH] - Agree and this was included for completeness my preference is for using TCP to the TURN server and possible we don't even need to use ICE-TCP.
[BA] As Harald has mentioned, support for ICE-TCP (RFC 6544) and TCP extensions to TURN (RFC 6062) is probably only needed for TCP peer-to-peer use.   However, many of the applications that could be implemented using P2P TCP (e.g. peer-to-peer chat, whiteboards, etc. ) can also be supported via the WebRTC data channel, and if done that way will be less likely to require a relay.  So while I can think of some things that might require TCP P2P (e.g. P2P websockets), it's hard to argue that these justify a MUST.   Overall, the recommendation in Section 5 requires more justification: 
   o  support ICE-TCP for TCP-based direct media connection to the
      RTCWEB peer.

> [AndyH] I am not sure sure I understand your comment or why this means that TURN/TCP might be needed could you expand on that?
[BA]  TURN over TCP/TLS with a UDP allocation (RFC 5766) can handle cases where the host cannot get UDP through the firewall, except perhaps in situations where the TURN allocations don't have UDP connectivity to each other (e.g. a firewall between them). 
However, if a WebRTC application hands out the same TURN server to both peers,  then you may end up with two TURN allocations on the same TURN server, so that a blockage is very unlikely. 

> > Section 2.3

> > [BA] At least in my experience, attempting to contact the TURN server
> > over the HTTP port tends to run afoul of DPI.  So while I don't object
> > to this as a requirement, I've not found it particularly useful.
> 
> [AndyH] - It could do and we don't want to try to get around this if DPI is deployed. However I believe that this provides a very significant increase to the chances of a successful webrtc connection. With regard to using the HTTP port then the port to be used is under the control of the webrtc application so any port could be used.
[BA]   Section 5 is entitled "Recommendations for RTCWEB-enabled browsers", but I think it needs to be a bit more specific about exactly what the browser needs to support.  For example:    o  connect to a TURN server via a HTTP proxy using the HTTP connect
      method,
[BA] How is the browser to know when it should do this? Is this to be configured in the API, or is it triggered automatically in certain conditions?   
   o  connect to a TURN server via the HTTP(s) ports 80/443 instead of
      the default STUN ports 3478/5349,
Through use of the turn/turns URIs, the browser can be pointed to a different port.  Is this sufficient?  Are there implications for the TURN server as well?  As noted in RFC 5766, there are several ways to run TURN on a port different from the default:  
   By default, TURN runs on the same ports as STUN: 3478 for TURN over
   UDP and TCP, and 5349 for TURN over TLS.  However, TURN has its own
   set of Service Record (SRV) names: "turn" for UDP and TCP, and
   "turns" for TLS.  Either the SRV procedures or the ALTERNATE-SERVER
   procedures, both described in Section 6, can be used to run TURN on a
   different port.



> > Section 4.3> [AndyH] Understood limited testing that we have done shows success with the HTTP Connect based mechanism but I would really like to hear from anybody with good stats.
[BA] In my experience, the kind of customers who block UDP and TCP but allow HTTP are less permissive and therefore they also often deploy DPI as well.  So I am wondering whether that kind of customer is likely to support HTTP Connect.