Re: [tae] The internet architecture

John Leslie <john@jlc.net> Thu, 04 December 2008 23:03 UTC

Return-Path: <tae-bounces@ietf.org>
X-Original-To: tae-archive@ietf.org
Delivered-To: ietfarch-tae-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D841A3A6B16; Thu, 4 Dec 2008 15:03:30 -0800 (PST)
X-Original-To: tae@core3.amsl.com
Delivered-To: tae@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2462D3A6B16 for <tae@core3.amsl.com>; Thu, 4 Dec 2008 15:03:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.075
X-Spam-Level:
X-Spam-Status: No, score=-6.075 tagged_above=-999 required=5 tests=[AWL=0.524, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 hIu4CJnEQ9CY for <tae@core3.amsl.com>; Thu, 4 Dec 2008 15:03:29 -0800 (PST)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.9]) by core3.amsl.com (Postfix) with ESMTP id 3020D3A6A64 for <tae@ietf.org>; Thu, 4 Dec 2008 15:03:29 -0800 (PST)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 1BCF333C40; Thu, 4 Dec 2008 18:03:25 -0500 (EST)
Date: Thu, 4 Dec 2008 18:03:25 -0500
From: John Leslie <john@jlc.net>
To: Keith Moore <moore@network-heretics.com>
Message-ID: <20081204230325.GA13465@verdi>
References: <C15AE32B-E564-4C93-86FF-40EF203E673A@mpi-sws.org> <49382030.5020704@network-heretics.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <49382030.5020704@network-heretics.com>
User-Agent: Mutt/1.4.1i
Cc: tae@ietf.org
Subject: Re: [tae] The internet architecture
X-BeenThere: tae@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Transport Architecture Evolution <tae.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tae>, <mailto:tae-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/tae>
List-Post: <mailto:tae@ietf.org>
List-Help: <mailto:tae-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tae>, <mailto:tae-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tae-bounces@ietf.org
Errors-To: tae-bounces@ietf.org

Keith Moore <moore@network-heretics.com> wrote:
> Bryan Ford wrote:
> 
>> I think we absolutely need to migrate both networking APIs and
>> transport layer protocols themselves toward a model where an
>> "endpoint" is an opaque (to the transport/application) variable-
>> length string of some kind, and the transport/application
>> shouldn't even care much if any what exactly the string is.

   Pure layering would call for that...

>> ... for purposes of normal transport and application protocol
>> operation - i.e., "gimme a TCP-like connection to the endpoint
>> named 'X'", why should transports and applications need to care?  

   Let us not forget the other side of that: the application which
you connect to needs to identify your end somehow...

> Sigh.  Maybe this is unfair, but it seems to me that people keep
> wanting to take (relatively) straightforward, bulletproof
> interfaces and replace them with fragile ones that depend on
> extra layers of indirection,

   I don't think Bryan said that...

> and additional services that (a) can fail,

   Everything "can fail". That doesn't mean we can't engineer a
layering which makes failure _less_ likely.

> (b) don't share fate with the endpoints

   It's not clear that application layer _should_ always share fate
with lower layers. In particular, the application-layer connection
of a server invoked by a mobile user _shouldn't_ fail when the user
wanders out of range of a particular cell tower.

> and (c) are likely to be very sensitive to configuration errors,
> all for the sake of some notion of architectural purity.

   Architectural "purity" is often helpful to analyze a situation
to decide which wish-list items are "easy".

> I won't claim that you can't do it, or that it's a fundamentally
> bad idea on its face. I *will* claim that it's a fundamentally
> bad idea if you don't do very careful engineering on it to make
> sure that the resulting system is as reliable as it would be
> without the extra layer of indirection

   It may be premature to ask for any particular way of increasing
application-layer reliability. (Several come to mind, though.)

> - and that includes accounting for the ability of people to
> misconfigure things.

   We all know it's a waste of time to aim for 100% foolproof --
the fools are too ingenious. ;^)

>> Just think how much easier the IPv4 to IPv6 transition would
>> have been if nothing above the IP layer cared exactly what an
>> IP address looks like or how big it is.
> 
> It wouldn't have made much difference at all, partly because due
> to other warts in the IPv6 architecture (like the desire to push
> the cost of multihoming to all endpoints...

   I will agree with you that it would have been better to avoid
loading IPv6 with such criteria, but complaining doesn't help.
With a transport structure as Bryan envisions it, folks needing
multihoming could continue operating in IPv6 while seamlessly
connecting to IPv6 servers.

--
John Leslie <john@jlc.net>
_______________________________________________
tae mailing list
tae@ietf.org
https://www.ietf.org/mailman/listinfo/tae