Re: [Spud] Fwd: New Version Notification for draft-herbert-transports-over-udp-00.txt

Joe Touch <touch@isi.edu> Thu, 19 May 2016 22:22 UTC

Return-Path: <touch@isi.edu>
X-Original-To: spud@ietfa.amsl.com
Delivered-To: spud@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BD21912D0DA for <spud@ietfa.amsl.com>; Thu, 19 May 2016 15:22:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.326
X-Spam-Level:
X-Spam-Status: No, score=-3.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ifTkHVyfgsad for <spud@ietfa.amsl.com>; Thu, 19 May 2016 15:22:43 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB8EE12D1B7 for <spud@ietf.org>; Thu, 19 May 2016 15:22:42 -0700 (PDT)
Received: from [128.9.184.125] ([128.9.184.125]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id u4JMMOQ2025616 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 19 May 2016 15:22:24 -0700 (PDT)
To: Tom Herbert <tom@herbertland.com>
References: <20160519175701.17290.47241.idtracker@ietfa.amsl.com> <CALx6S377qRfq7ufRVUx6Yn7ec4=EmK_=FL14PWT_qf4g840mbQ@mail.gmail.com> <20160519185943.GM12994@cisco.com> <CALx6S37qPpKpCT6ZpVQwRWf1XFKESYasOBcz26To9zw0GRyz5Q@mail.gmail.com> <573E31E1.807@isi.edu> <CALx6S35k35rs7f9owPW2zDdcx3tHLL_QE8-nQ6OSDR9=_-m+Gg@mail.gmail.com>
From: Joe Touch <touch@isi.edu>
Message-ID: <573E3C9F.202@isi.edu>
Date: Thu, 19 May 2016 15:22:23 -0700
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2
MIME-Version: 1.0
In-Reply-To: <CALx6S35k35rs7f9owPW2zDdcx3tHLL_QE8-nQ6OSDR9=_-m+Gg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: u4JMMOQ2025616
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/8QJzAyIFjNcyW2fPxe51U0YSR3k>
Cc: Toerless Eckert <eckert@cisco.com>, spud <spud@ietf.org>
Subject: Re: [Spud] Fwd: New Version Notification for draft-herbert-transports-over-udp-00.txt
X-BeenThere: spud@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Session Protocol Underneath Datagrams <spud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spud>, <mailto:spud-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spud/>
List-Post: <mailto:spud@ietf.org>
List-Help: <mailto:spud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spud>, <mailto:spud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 May 2016 22:22:45 -0000

Your intent is to thus reinvent the Internet over UDP, solely to get
around the fact that you don't have permission to do so otherwise?

Again, a very poor justification for this level of complexity. I don't
consider RFCs useful when they address only temporary concerns.

Joe

On 5/19/2016 2:59 PM, Tom Herbert wrote:
> On Thu, May 19, 2016 at 2:36 PM, Joe Touch <touch@isi.edu> wrote:
>> There are many ways to support user-land transport protocols (raw IP,
>> tun/tap devices, etc.) and some good reasons not to (lack of
>> coordination with kernel-based transports).
>>
> Raw IP and tun/tap require privileged access and as you mention
> requires coordination with kernel stack (if nothing else we need to
> deal with allocations in TCP tuple namespace). We have support for
> neither of those available in the application environment we need to
> run in.
>
>> IMO, adding a layer of encapsulation (and all that entails, including
>> the need for PLPMTUD, other ICMP signal relaying between layers, etc.)
>> is a very inefficient and complex way to overcome an implementation
>> convenience issue.
>>
> As far as the kernel is concerned this is just another UDP application
> so PMTU discovery and ICMP should work normally as long as the ICMP
> messages are sent pertaining to the UDP packet.
>
> It is true that if we run a TCP stack in userspace we lose quite a bit
> of efficiency compared to a stack running in kernel that is well
> integrated with lower layers, routing, NIC offloads, etc. (at my last
> count Linux TCP stack interacted with other layers and other parts of
> the kernel at about fifty different points). This is why I believe we
> want an asymmetric implementation. For our Internet clients we want to
> run the TCP stack as part of the application to achieve OS
> independence (from Android, iOS, etc.); on the server side where
> scalability is the primary issue I will use a modified kernel stack
> that implements TOU.
>
> Tom
>
>> Joe
>>
>> On 5/19/2016 12:39 PM, Tom Herbert wrote:
>>> The current use case we are developing is TCP over UDP. Our deployment
>>> scenario is that we want to embed a TCP stack in the client
>>> application (Facebook app in this instance), and will update out
>>> server stacks appropriately. With the transport stack under our
>>> control we can now modify it quickly and not depend on underlying OS
>>> to leak out features. An example feature that we'd like to have is TCP
>>> Fast Open (TFO). TFO was developed nearly five years ago, but we still
>>> cannot effectively use this because Android hasn't supported it.
>>> Once we control both the client and server stacks and don't need to
>>> worry to affects in the network of changing the transport protocol,
>>> implementing new features like TFO in a timely manner becomes
>>> feasible.