Re: What is the long term plan for Internet evolution?

Phillip Hallam-Baker <phill@hallambaker.com> Tue, 29 June 2021 21:30 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8A5933A0C30 for <ietf@ietfa.amsl.com>; Tue, 29 Jun 2021 14:30:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.402
X-Spam-Level:
X-Spam-Status: No, score=-1.402 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 x17CSU9Oofsb for <ietf@ietfa.amsl.com>; Tue, 29 Jun 2021 14:30:52 -0700 (PDT)
Received: from mail-yb1-f171.google.com (mail-yb1-f171.google.com [209.85.219.171]) (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 0FEC23A0C2E for <ietf@ietf.org>; Tue, 29 Jun 2021 14:30:51 -0700 (PDT)
Received: by mail-yb1-f171.google.com with SMTP id m9so1275039ybp.8 for <ietf@ietf.org>; Tue, 29 Jun 2021 14:30:51 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9YDraKHf+mjW+evTN+XlWhVkAYGNlALzy7drSqiHK00=; b=mksFEOvddi0DPass8Ekoksmix9uRr30PKM1Q9uFfyLMpwYgRXkoWXiV7oRJodEwFox lB0r6Fy4wjie8dm1EGzTW/An/U6GqYjp3tVhoz+Dw2+5Rq1zmEuUuqeDE+3qHnHrFiSj Xlxq6HzpmGMCHvqwgAqhM+GZyFcQN4lHzHTiNhj8D2jg4A04Bx2K3wC1enaQcE+yL/+m N3PejWrn5elXJ8CHlJyQFZWgzooN3cGkQeRPVuyPkGgXbSCjVSFC4A7RbC+rBcwD/j9h yW0Km9tcl/TL5KDRTlubl9AJWhy9Ecm/qyecnkf8NI84urcvtz6TzCtnO+BjXQIkB5Y/ ibLg==
X-Gm-Message-State: AOAM533xKrO9zhEUa9IjWr9pHdJ0Gl/hcXkJCTnhsO1/ARnjTywCBTeJ oMNKiFxiVOrVP2T1l30tUM9O+v7ZCnJn9+W6bVAjKtfjpzG/Gg==
X-Google-Smtp-Source: ABdhPJyej839KLD7635IWmMfL89aWdhwv8Tc+DYYXqLnOwnk0rdRZv64M7anIrufDpAWJzi6yc5oHCENhaXwM0jtiv8=
X-Received: by 2002:a25:d68e:: with SMTP id n136mr41245574ybg.302.1625002251037; Tue, 29 Jun 2021 14:30:51 -0700 (PDT)
MIME-Version: 1.0
References: <CAMm+LwiFajxuV3E_u7b-f=7DqTHXG_4Y=VLoCsUxknD_mCp1=Q@mail.gmail.com> <00722e06-a385-251c-d95d-2ff67e83f5c1@foobar.org>
In-Reply-To: <00722e06-a385-251c-d95d-2ff67e83f5c1@foobar.org>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Tue, 29 Jun 2021 17:30:40 -0400
Message-ID: <CAMm+LwgwwX4zhqqH27FtBEyKRn74BdunswpembR_O6R34vTuSA@mail.gmail.com>
Subject: Re: What is the long term plan for Internet evolution?
To: Nick Hilliard <nick@foobar.org>
Cc: IETF Discussion Mailing List <ietf@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000eeb0a505c5ee5179"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/gY7HUS7ECuXZH3nKh-HSrI-ag38>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Jun 2021 21:30:57 -0000

On Tue, Jun 29, 2021 at 4:46 PM Nick Hilliard <nick@foobar.org> wrote:

> Phillip Hallam-Baker wrote on 29/06/2021 19:44:
> > telemetry. The reason we run application services over HTTP is really a
> > matter of inertia and the fact that there are simply not enough ports
> > for static port assignments to be viable.
>
> nothing to do with the availability ports. It's that http provides a
> generic transport layer for transmitting any sort of data with low-brow
> signaling to hint at the data format.  It's inelegant in the way that
> any evolved generic protocol is inelegant, but mostly it works like many
> things that evolve to fit a purpose.  DNA coding is inelegant too.
>

Looking at the features from HTTP I use in my Web Services, these are:

1) Multiplexing multiple services onto one host via the URI
2) Sometimes the Content-Type header

And the 99% of Web apps developers are also using the fact that there is
built in support for HTTP/REST or SOAP/WS-* in their tools that they can
make use of without knowing they are doing it.


> IPv6 is slowly deploying but that is only because the pain of IPv4
> > address exhaustion is starting to become serious.
> I've long given up any expectation that ipv6 will outlive ipv4.
>
> You may be fighting a losing battle here.  Protocols and applications
> have evolved together and they work, so any attempt to change is
> battling evolution and that's an uphill job.  Likely, the only way out
> of this is revolution, i.e. when the internet is supplanted by something
> so cool that we nearly won't even bother using the internet any more
> because it's so meh and old hat, like the POTS.
>

The big pain points I see for the current stack are:

1) NAT traversal doesn't work for inbound HTTP. Yes there are features that
kinda sorta work in the tools but they try to do too much and explain too
little.

2) Security is still an afterthought. There is no model for how services
are authenticated. And the Web browser vendors have basically downgraded
the WebPKI so it isn't a solution any longer.

3) HTTP doesn't support the interaction patterns required for either
transactions or telemetry so this is something that has to be built on top.


The last is something I only got to grips with myself a few months ago as i
looked at the communication patterns I really wanted, consider a Web
service transaction, the communication trace is:

< C:Request, S:Response>

That is what a transaction is, right. Nope. Many of my transactions have
people in the middle of them making decisions or big compute loads. So in
the HTTP world we end up with

< C:Request, S:Ack, [C:Poll, S:Pending,] * C:Poll, S: Response>

That is plain ugly. The pattern I really want is:

< C:Request, S:Ack, S: Response>

There is no need to poll, just respond when finished. That might be
seconds, minutes, days or even years.


For telemetry, the pattern I want is

< C:Config, S:Data, S:Data, S:Data, S:Data, S:Data, C:Config, S:Data,
S:Data, ...>

Again, this just doesn't fit onto the TCP or HTTP communication patterns
and it is not really something QUIC is designed for. Sure we could make do.
But I choose not to.


These are the questions that I plan to spend the next five to ten years
working on. If I am successful at getting people to look at these problems
and deploy systems that adopt a re-engineered approach that will become the
next Internet.

If IETF or IRTF says this is something they are interested in doing and
being a part of that type of effort, I guess it will probably happen here.
If they say 'hell no we aren't interested' it will go somewhere else. Over
the course of my career I have played a role in helping to start or
substantially repurpose almost as many industry and standards groups as
protocols.

>From what I am hearing offline, I am certainly not the only person
interested in doing something new.

Oh and maybe I should have mentioned that I have running code.