Re: [LOOPS] BOF co-chairs thinking on LOOPS next steps

Carsten Bormann <cabo@tzi.org> Tue, 20 August 2019 09:47 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 74D99120930 for <loops@ietfa.amsl.com>; Tue, 20 Aug 2019 02:47:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.197
X-Spam-Level:
X-Spam-Status: No, score=-4.197 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] 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 2zO73sQf0U_n for <loops@ietfa.amsl.com>; Tue, 20 Aug 2019 02:47:17 -0700 (PDT)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C2E3E12092E for <loops@ietf.org>; Tue, 20 Aug 2019 02:47:16 -0700 (PDT)
Received: from [192.168.217.110] (p548DCCB9.dip0.t-ipconnect.de [84.141.204.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 46CQtp5GBqzydx; Tue, 20 Aug 2019 11:47:14 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <CAKKJt-dCeJVhofU8eO=TXu6CVez5g9ZTdLnp206gx6X3YTx9tA@mail.gmail.com>
Date: Tue, 20 Aug 2019 11:47:14 +0200
Cc: Mirja Kuehlewind <ietf@kuehlewind.net>, Magnus Westerlund <magnus.westerlund@ericsson.com>, loops@ietf.org, Suresh Krishnan <suresh@kaloom.com>
X-Mao-Original-Outgoing-Id: 587987232.805657-23b5bdf76f9228e1b81eb8ecf0e02b1e
Content-Transfer-Encoding: quoted-printable
Message-Id: <08D42FCB-DBC5-488B-A0E4-08230843E173@tzi.org>
References: <CAKKJt-eRGJe+9PtEC7xgFz+HA0zsr_sR0NUgKRmJ-P5Q3XBg-A@mail.gmail.com> <CAPjWiCSbPioTHkYBpX73qxzO=H1sJDZpCMCKzBKoU4rZLLhwMQ@mail.gmail.com> <E6659E42-D6D7-4033-B4D6-9305823063D2@tzi.org> <CAKKJt-c24RdPyZRoK-B6fXuN0xABUsU=p7Y6UFwAcENfjE3oOQ@mail.gmail.com> <A4576796-AACA-4BE1-9EF8-9422E1BAB9F3@kuehlewind.net> <CAKKJt-dCeJVhofU8eO=TXu6CVez5g9ZTdLnp206gx6X3YTx9tA@mail.gmail.com>
To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/JwTJdld4nxyw1ZZVFBK3pqfdVL4>
Subject: Re: [LOOPS] BOF co-chairs thinking on LOOPS next steps
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Aug 2019 09:47:20 -0000

Hi Spencer,

It is probably not too easy to generate a lot of excitement on this list while most people are still on vacation, but let me try to answer your questions.

> On Jul 30, 2019, at 16:22, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> wrote:
> 
> […]
> So, my suggestion for the interested community is to nail down
> 	• In order to “do LOOPS", what already exists, that can be used without changes?

Most of IP :-)

Seriously, the idea behind LOOPS is to use existing tunnel encapsulation protocols with few additions, capitalizing on that work, and also making use of ASIC support already present in devices — it helps to be encapsulation-agnostic for this.

It is unlikely that we’ll have to invent another FEC scheme for LOOPS, so existing schemes can probably be used unchanged.  I’m not so sure the WG won’t want to improve on the FECFRAME framework, though.  I don’t want to design much of the protocol while we are still in a WG-forming stage, so I’ll refrain from delving too much on why I think that may be a good thing.  Basically, think about packet size distributions in general aggregated IP flows vs. those in the RTP flows or even single transport flows that FECFRAME schemes are being used with.

Most likely, the time stamp formats (and even some algorithms around those) we need can be stolen from existing work.

Not much else can probably be used unchanged.  

> 	• what already exists, but needs to be extended for LOOPS?

The encapsulation schemes may need to have their extension points exercised to actually send the forward and reverse information in the best way.  Some of the encapsulation protocols already define how to carry a sequence number, but other elements (such as block 1 and block 2 reverse information [1]) may need some encoding decisions.

> 	• what needs to be created, because nothing exists that meets the needs?

The actual protocol, i.e., the rules of action. (A best-effort, not fully reliable retransmit scheme; FEC parameter control loops; measurement schemes that go into these and into congestion feedback mechanisms.)

> I'm not a LOOPS proponent (the ADs asked me to chair the BOF about a month before IETF 105), but speaking as someone who hasn't been involved in depth, I wonder about
> 	• How a sender tunes FEC dynamically - is that automatic, based on FEC mechanisms people are thinking about, or is there work to do there?

I’m not aware of such a control loop in existing IETF standards, but I would love to be surprised.

> 	• How a sender knows whether to do FEC, retransmission, or both FEC and retransmission, dynamically?

In most cases, this will be setup information (controller model).

> 	• How a sender knows that it shouldn’t be doing anything, because anything it does won't help ("first, do no harm")?

Again, probably setup information.  The protocol could also define some thresholds for switching components on an off, on a relatively long time scale.

> Does everyone know how to do those three things, except me? :-)

I hope the WG can find out once it exists…

I would also like to avoid the FEC tail wagging with the LOOPS dog too much.
(I know, if you are standing very close to the tail, it may seem larger than the dog :-)

Yes, the sheer bulk and complexity of the specifications is larger in the FEC part than in the rest of the specifications.  But then, FEC is relatively well understood, a lot of (re-)usable specifications are out there, and we even have a whole RG for that which we can tap.  On the other hand, doing best-effort retransmissions (and FEC) on aggregate flows while we are experiencing increased presence of new-style end-to-end transports (encrypted, more reordering-tolerant) is a new engineering problem that needs a bit more focus from the WG.

			.oOo.

By the way, I have generated a post-ietf105 branch on the charter text proposal [charter-0.3] that explicitly calls out focusing on retransmission initially and adding FEC later (with or without a rechartering needed); this version also adds milestones for a (shim-layer-in-)host-to-network component that was requested so vividly at the BOF.

Grüße, Carsten

[1]: https://tools.ietf.org/html/draft-welzl-loops-gen-info-00#section-4.3
[2]: https://github.com/loops-wg/charter/tree/post-105