Re: How to transport BFCP in the presence of NATs

Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com> Wed, 28 July 2010 15:33 UTC

Return-Path: <gonzalo.camarillo@ericsson.com>
X-Original-To: tsv-area@core3.amsl.com
Delivered-To: tsv-area@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7A1B73A682E for <tsv-area@core3.amsl.com>; Wed, 28 Jul 2010 08:33:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.756
X-Spam-Level:
X-Spam-Status: No, score=-105.756 tagged_above=-999 required=5 tests=[AWL=0.843, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rdifFyuip4CX for <tsv-area@core3.amsl.com>; Wed, 28 Jul 2010 08:33:10 -0700 (PDT)
Received: from mailgw10.se.ericsson.net (mailgw10.se.ericsson.net [193.180.251.61]) by core3.amsl.com (Postfix) with ESMTP id 971603A6A0B for <tsv-area@ietf.org>; Wed, 28 Jul 2010 08:33:07 -0700 (PDT)
X-AuditID: c1b4fb3d-b7b90ae00000278d-94-4c504dc8713a
Received: from esealmw128.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw10.se.ericsson.net (Symantec Mail Security) with SMTP id EE.12.10125.8CD405C4; Wed, 28 Jul 2010 17:33:29 +0200 (CEST)
Received: from esealmw126.eemea.ericsson.se ([153.88.254.170]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Wed, 28 Jul 2010 17:33:28 +0200
Received: from [131.160.126.137] ([131.160.126.137]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Wed, 28 Jul 2010 17:33:28 +0200
Message-ID: <4C504DC7.3020703@ericsson.com>
Date: Wed, 28 Jul 2010 17:33:27 +0200
From: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.11) Gecko/20100711 Thunderbird/3.0.6
MIME-Version: 1.0
To: Jukka Manner <jukka.manner@tkk.fi>
Subject: Re: How to transport BFCP in the presence of NATs
References: <21082_1279540847_ZZ0L5T0065P0196R.00_10048_1279540844_4C443E6C_10048_295_1_4C443E65.2050109@ericsson.com> <4C4FF948.1080703@tkk.fi>
In-Reply-To: <4C4FF948.1080703@tkk.fi>
X-Enigmail-Version: 1.0.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 28 Jul 2010 15:33:28.0306 (UTC) FILETIME=[39E74520:01CB2E6A]
X-Brightmail-Tracker: AAAAAA==
Cc: "tsv-area@ietf.org" <tsv-area@ietf.org>
X-BeenThere: tsv-area@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF Transport Area Mailing List <tsv-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tsv-area>, <mailto:tsv-area-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsv-area>
List-Post: <mailto:tsv-area@ietf.org>
List-Help: <mailto:tsv-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-area>, <mailto:tsv-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Jul 2010 15:33:12 -0000

Hi Jukka,

the idea is to use ICE for NAT traversal. So, the approach you propose
would be enough to allow using ICE to establish BFCP/TCP/UDP flows.

Thanks,

Gonzalo

On 28/07/2010 11:32 AM, Jukka Manner wrote:
> Hi Gonzalo,
> 
> Would our GUT-scheme be of any help here, in the BFCP over TCP over UDP? 
> We have an implementation out for Linux that works great, and it doesn't 
> require any changes to the tunnel protocol and application. People have 
> used GUT to tunnel various problematic protocols through NATs.
> 
> http://tools.ietf.org/html/draft-manner-tsvwg-gut-02
> 
> Yet, GUT is only meant to get "challenging" protocols through a legacy, 
> old, NAT. It doesn't introduce any full-fledged NAT-traversal signaling, 
> e.g., to get a hole for an incoming flow.
> 
> cheers,
> Jukka
> 
> 
> 
> 
> On 07/19/2010 02:00 PM, Gonzalo Camarillo wrote:
>> Folks,
>>
>> BFCP (Binary Floor Control Protocol), defined in RFC 4582, runs between
>> a client and a floor control server. Generally, the floor control server
>> has a public IP address. The client establishes a TCP connection towards
>> the floor control server so that, even if the client is behind a NAT,
>> everything works.
>>
>> However, in some existing deployment scenarios the floor control server
>> functionality is implemented in an endpoint, which may be behind a NAT.
>> A typical session between two endpoints in these scenarios consist of a
>> BFCP connection and one or more media streams (e.g., audio and video)
>> between them. In this type of scenario, NAT traversal becomes a problem.
>>
>> Existing deployments implement different approaches to address the fact
>> that the floor control server is not directly reachable. One of these
>> approaches consists of transporting BFCP over UDP instead of over TCP
>> (this approach is documented in the draft below). In this way, the
>> endpoints can use ICE to find connectivity between them.
>>
>> https://datatracker.ietf.org/doc/draft-sandbakken-xcon-bfcp-udp/
>>
>> An alternative approach would be to still use TCP as a transport and use
>> ICE TCP. However, the success rate of ICE TCP is not high enough at this
>> point. Yet another alternative would be to tunnel BFCP over TCP over UDP.
>>
>> The XCON WG is aware of the guidelines given in RFC 5405 but would like
>> to ask the transport community for further guidance on this issue.
>>
>> Note that this is actually a general issue that will affect any protocol
>> for which TCP would be the natural transport but that would need to run
>> between endpoints in NATted environments. RELOAD
>> (draft-ietf-p2psip-base) would be an example of a similar protocol
>> (which currently intends to use ICE TCP).
>>
>> Given that this issue appear to be more general than BFCP and may affect
>> other protocols, we would appreciate to get input on how to proceed.
>>
>> Thanks,
>>
>> Gonzalo
>>
>