Re: [BEHAVE] Alternative Proposal for Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations

Marc Petit-Huguenin <petithug@acm.org> Thu, 20 November 2008 21:33 UTC

Return-Path: <behave-bounces@ietf.org>
X-Original-To: behave-archive@optimus.ietf.org
Delivered-To: ietfarch-behave-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B9B793A69DC; Thu, 20 Nov 2008 13:33:18 -0800 (PST)
X-Original-To: behave@core3.amsl.com
Delivered-To: behave@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 000173A69DC for <behave@core3.amsl.com>; Thu, 20 Nov 2008 13:33:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.115
X-Spam-Level:
X-Spam-Status: No, score=-102.115 tagged_above=-999 required=5 tests=[AWL=-0.150, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, MIME_8BIT_HEADER=0.3, 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 dH7owc21zveD for <behave@core3.amsl.com>; Thu, 20 Nov 2008 13:33:17 -0800 (PST)
Received: from server.implementers.org (server.implementers.org [69.55.225.91]) by core3.amsl.com (Postfix) with ESMTP id 401C83A6906 for <behave@ietf.org>; Thu, 20 Nov 2008 13:33:17 -0800 (PST)
Received: by server.implementers.org (Postfix, from userid 1001) id C5A2CE3C42D8; Thu, 20 Nov 2008 21:33:15 +0000 (UTC)
Received: from [70.1.134.1] (server.implementers.org [127.0.0.1]) by server.implementers.org (Postfix) with ESMTP id 0300DE3C42D4; Thu, 20 Nov 2008 21:33:13 +0000 (UTC)
Message-ID: <4925D796.3040207@acm.org>
Date: Thu, 20 Nov 2008 15:33:10 -0600
From: Marc Petit-Huguenin <petithug@acm.org>
User-Agent: Mozilla-Thunderbird 2.0.0.16 (X11/20080724)
MIME-Version: 1.0
To: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
References: <4925B612.7080807@acm.org> <200811202201.17421.remi.denis-courmont@nokia.com>
In-Reply-To: <200811202201.17421.remi.denis-courmont@nokia.com>
Cc: behave@ietf.org
Subject: Re: [BEHAVE] Alternative Proposal for Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: behave-bounces@ietf.org
Errors-To: behave-bounces@ietf.org

Rémi Denis-Courmont wrote:
> On Thursday 20 November 2008 21:10:10 ext Marc Petit-Huguenin, you wrote:
>> Following Jonathan Rosenberg presentation of TURN-tcp, I wrote a short
>> I-D describing an alternative based on Adam Roach suggestion of using
>> the same algorithm that is used in SSH:
>>
>> http://www.ietf.org/internet-drafts/draft-petithuguenin-turn-tcp-variant-00
>> .txt
> 
> This is more complicated (meaning costlier, more bug-prone and more 
> IOP-failure prone) than plain TCP connections.
> 
> This is much less performant and scalable. For userland implementations, JDR's 
> proposal benefits from the heavy optimization that TCP/IP stacks have gone 
> through over the years with regard to many TCP connections, and to forwarding 
> data across file descriptors. For kernel/hardware implementations, JDR's 
> proposal allows simply doing 1:1 TCP packets translation (the TURN server 
> becomes a double-way NAT).
> 
> This prevents using all TCP extensions such as ECE, new congestion algorithms, 
> etc. This also will cause lots of headaches with the "preserving behavior", 
> as you cannot do 1:1 packets matching.
> 
> This still suffers from some limited head-of-line blocking (it's like TCP 
> compared to SCTP).
> 
> This exhibits a higher overhead, as we need multiplexing inside TCP.
> 
> 
> The usual "advantage" of saving on TCP connections is to save state on the 
> server. If that's to push the same state up the stack, I don't see the point.
> 

Some of your arguments are absolutely true (HOLB), some are debatable,
and the others I have to think about them.

But there is also some advantages to the single connection solution, for
example establishing a new peer TCP connection is faster.  Please also
have a look to section 3.3.2 in the excellent draft-iab-ip-model-evolution.

-- 
Marc Petit-Huguenin
Home: marc@petit-huguenin.org
Work: marc@8x8.com
_______________________________________________
Behave mailing list
Behave@ietf.org
https://www.ietf.org/mailman/listinfo/behave