Re: [Coin] Draft on Transport Protocol Issues

"Dirk Kutscher" <ietf@dkutscher.net> Tue, 01 October 2019 17:05 UTC

Return-Path: <ietf@dkutscher.net>
X-Original-To: coin@ietfa.amsl.com
Delivered-To: coin@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 78E9A120A2D for <coin@ietfa.amsl.com>; Tue, 1 Oct 2019 10:05:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=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 VLEGKIfwfjZC for <coin@ietfa.amsl.com>; Tue, 1 Oct 2019 10:05:25 -0700 (PDT)
Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) (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 48459120A41 for <coin@irtf.org>; Tue, 1 Oct 2019 10:05:23 -0700 (PDT)
Received: from [139.13.88.219] ([139.13.88.219]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MQNF3-1iSM7s0hqD-00MH9E; Tue, 01 Oct 2019 19:05:21 +0200
From: Dirk Kutscher <ietf@dkutscher.net>
To: Ike Kunze <Ike.Kunze@comsys.rwth-aachen.de>
Cc: coin@irtf.org, Jan Rüth <Jan.Rueth@comsys.rwth-aachen.de>, Klaus <Klaus@comsys.rwth-aachen.de>
Date: Tue, 01 Oct 2019 19:05:16 +0200
X-Mailer: MailMate (1.12.5r5635)
Message-ID: <9124FDB6-7F3E-4696-AFF4-A2B5ABB6E2E3@dkutscher.net>
In-Reply-To: <70DD21AC-E207-4115-B13A-B45C62168BC9@comsys.rwth-aachen.de>
References: <70DD21AC-E207-4115-B13A-B45C62168BC9@comsys.rwth-aachen.de>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_02C7C909-6183-4CEA-B775-155A339F55A2_="
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K1:2yNhz+nyT2zL0Ehn7a/OKjfgzY5iBuZoEBw0LB8GQsGuSlBSI0j RoUYSdiezmgHciwX9Au42jorlgVHSm6qnMo30Jgj6MOyda8mHCXlW+4W9Isa9RrDz+1jF+9 /0cDYrdvljDImzJvIysc9ROuIXv9DyCUOI/nqItIL32mv26hd6bVkFvXI9DTkFEP1Cu6hCr 6fidWHyymuh1AmLcfzitg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:T7oPzsD/zU4=:VuxUA6iM7+oLUXj7YlnZoX VrXeSIMYWZ1xwtk4Odh/w55+ioKkWchccYDXAuy+XPEjAscT6BCg6cF1Hvp0jpq3KPXizalwA Y2V0MsHgHjbG6AyWjnmyVkrIbYBbSFVRCi4F0bzDPLXNbmDPZM1OK+lQg6AAbYj+/LzRnPY2d yMSZ7BgSpwOvTlcf9HOKH1M+W/eAVcIYQqN+9JvByt1gGQvy+Z49IIBg8khV8Yom4RUiQRIC2 XpjynZJwHOaGIKp6Wul0ACy7X7N9IdMvWLDbguJYEqIhf/5ElRVm3J/g/DAt7XPxpfIC5HL1O AKIyAy5rQc/u9nC/A9v3r4IvwSxMPRKzLj0YSSUXoBN+ll+Gbo9tH7cVcLgrp62DuaavfmUDF oSVlP6gmpnd+gRq6PPsgllw0YMluziMlt+7JucIq7GMLZGg4eTSMto7IQtHxUrJevcTXCHT5H G40rngCT9qTTD8x6BQFyepXItknuA/zHTKistOtmfqD/8pWyANMc6PG2FM1NGzFU8r40h6vhW /96kts6SJR3wad0DWs0GaN0fpfp6fUoqFpBIfQyzpf7kFWOf1Loofk1bxcmWGTfzTVlyqNaKX nrh1HUs7FDUXUCi7TyRhBa6n3F1XBBJY+JWy/j40FxoAF9qXlFnzR5jHE9uD0+UeL9v+io6uM 0Bp3xyDcCPH5ARc07CeIMeF7GNOPO/3kPc24uWOgwFNosnP6h+SwdFbq/tiqQZYLIRWHMCMs9 5YBWIrPlAKTS07pZ/PlRKGGG5zZFdoMU5HG1RQrGyCVZd2SJlgrnT914qWgwyef2urDpaeo3j HY30jP+VsybyomSBzNmdQcn2j295TO5z1vvgTb36+BjUL5Ju0OvoThjfA8FBqMdvnY6H1SbdO C27dxA2O/ICoYWohsWddMK6lcGugQTi7oa4a53clQ=
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/4x_AawgMcqUtH3VSRNKXvwMLuRs>
Subject: Re: [Coin] Draft on Transport Protocol Issues
X-BeenThere: coin@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "COIN: Computing in the Network" <coin.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/coin>, <mailto:coin-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/coin/>
List-Post: <mailto:coin@irtf.org>
List-Help: <mailto:coin-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/coin>, <mailto:coin-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Oct 2019 17:05:28 -0000

Hi Ike,

Thanks for these thoughts -- these are certainly relevant points IMO.

Nobody is going to stop if you offer writing up more details, but here 
are some suggestions from my side:

- if you talk about challenges, it would be most useful to describe the 
assumptions upfront. I.e., what is the COIN application, what is the 
environment?
- what typically works well is starting with some experimental work that 
tries to solve a particular problem — typically yields specific 
challenges.
- your list is really comprehensive (transport protocols, provenance 
verification etc.). What might work in the end is a “building 
blocks” approach (not a grand architecture) — just my thinking…
- the “middlebox” notion is IMO fundamentally wrong (as an 
intercepting device that is transparent to other entities). We may not 
need to know where a function resides, but we should know its identity 
to authorize access to our data. (I know that you are not suggesting it 
here.)
- if you want to spend some effort in analyzing challenges, a good first 
step could also be to categorize different kind of scenarios and 
interactions. For example, a distributed computing approach such as the 
one in our recent CFN paper could be different from pipelined processing 
system where every ADU has to pass every function in a sequence.

Happy to discuss more about this!

Dirk




On 30 Sep 2019, at 13:52, Ike Kunze wrote:

> Hello list,
>
> attention: long email incoming.
> TL:DR: We would like to know if the transport protocol issues are of 
> interest to the community
> and we are looking for collaborators to work on a corresponding draft.
>
> As suggested in Montreal, we at COMSYS would like to work on a draft 
> to collect the implications of COIN
> on transport protocols as well as challenges or obstacles that might 
> hinder widespread deployment of COIN
> like the often-mentioned end-to-end principle.
> In the meeting, we had the impression that the problems that we see 
> are not clear to everyone which is why
> we would first like to briefly share our thoughts on the topic with 
> the list to see if these considerations are
> of interest to the community in which case we would then proceed and 
> start writing the actual draft.
>
> Today’s transport protocols offer a variety of functionality based 
> on the notion that the network is to be treated
> as an unreliable communication medium which does not alter the 
> transmitted data
> (which, in practice, is not really true due to middleboxes).
> Some, like TCP, establish a reliable connection on top of the 
> unreliable network while others,
> like UDP, simply transmit datagrams without a connection and without 
> guarantees into the network.
>
> In this overall context, we see several issues and challenges that 
> arise when we combine traditional transport protocols with COIN:
>
> 1. Addressing:
> Traditionally, end-hosts directly address each other.
> With COIN, one host might want to specify which kind of functionality 
> should be applied to the transmitted data
> on the path and where or by whom it should be applied.
> Instead of direct addressing of the end-hosts, indirection mechanisms 
> are needed to route a packet along
> a pre-defined or dynamically chosen path which realizes the desired 
> functionality.
> Related concepts which might be of use are Segment and Source Routing 
> as well as (Service/Network) Function Chaining/Composition.
>
> 2. Flow granularity:
> Assuming that there is a suitable addressing scheme which allows to 
> define which kinds of functionality
> should be applied to the transmitted data, a next question that arises 
> is how the transmitted data
> is to be treated by the devices implementing the functionality.
> A TCP stream, for example, where the transmitted data is dynamically 
> distributed across segments
> should perhaps be treated differently than UDP datagrams where the 
> application defines how the data
> is distributed across the distinct datagrams.
> Underlying this simple example lies the general question of how the 
> data should be interpreted by the COIN elements:
> should every packet be treated (1) individually, (2) as part of a 
> message where the content of surrounding  packets might be relevant
> or (3) as part of a byte stream where all previous packets need to be 
> taken into consideration?
>
> 3. Security and Authentication:
> Assuming that there is a suitable addressing scheme and the COIN 
> elements know how to treat the packets.
> In this case, data transmitted from host A to host B will now be 
> altered on the way.
> This, of course, opens the door for foul play as every middlebox, both 
> (misbehaving) COIN elements and
> ‘traditional’ middleboxes, could simply start altering parts of 
> the original data.
> What is needed is a mechanism so that the receiving host can verify 
> (a) how and (b) by whom the data
> has been altered on the way, i.e., some form of authentication.
> Thinking a step further and considering developments such as QUIC 
> where almost all transmitted data is encrypted,
> there is a need for concepts which allow to include security 
> mechanisms like encryption into COIN frameworks.
>
> 4. Advanced Transport Features:
> Except for the crypto aspect, all of the mentioned challenges are 
> relevant for every transport protocol
> as they define the interaction between the transport and COIN.
> This completely leaves out the fact that there is a significant 
> difference in functionality between different transport protocols.
> UDP, for example, is a connectionless protocol which does not offer 
> any reliability while TCP first sets up
> a dedicated connection and then ensures the successful transmission of 
> all data.
> In addition to that it adds flow and congestion control to avoid 
> overloading the receiving end-host and the network.
> When selecting a transport protocol for COIN, such advanced features 
> have to be considered as well.
> For illustration, consider the simple retransmission mechanism of TCP.
> If we transfer this principle to a communication setting with COIN 
> elements in between, it has to be defined how loss can
> be recovered if packets are, e.g., lost at the last stage of a chain 
> of COIN elements.
> This question has been already worked on in the context of multicast 
> transport protocols.
> Another angle on this aspect is that different COIN devices have 
> different computational and storage capacities which could,
> for example, become interesting if they are supposed to embed into TCP 
> for which they might be forced to hold some form
> of TCP’s state which might not be possible on each type of COIN 
> element.
> The choice of devices could hence affect the types of transport 
> protocols that can be operated on the COIN networks which
> might make it necessary to define different classes of COIN-ready 
> transport protocols.
>
> In the draft, we would like to present these challenges and more in 
> more detail and also give our impression
> on how well they could be solved using existing transport protocols.
> Depending on our progress, we would then like to start working out 
> design requirements for an “ideal” COIN transport protocol.
>
> Please let us know if this topic is of general interest to the 
> community in which case we would start working on the draft
> and please let us also know if you would like to join our efforts.
>
> Best wishes,
>
> Ike Kunze
> -- 
> Ike Kunze, M.Sc.
> Researcher
>
> COMSYS - Communication and Distributed Systems
> RWTH Aachen University
> Ahornstr. 55
> 52074 Aachen, Germany
> Tel: +49 241 80-21422
> ike.kunze@comsys.rwth-aachen.de
> http://www.comsys.rwth-aachen.de/team/ike-kunze/
>
> -- 
> Coin mailing list
> Coin@irtf.org
> https://www.irtf.org/mailman/listinfo/coin