Re: [Taps] IETF planning

Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> Tue, 27 October 2015 21:02 UTC

Return-Path: <mirja.kuehlewind@tik.ee.ethz.ch>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CE3181AD0B8 for <taps@ietfa.amsl.com>; Tue, 27 Oct 2015 14:02:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.91
X-Spam-Level:
X-Spam-Status: No, score=-3.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 52VaxO5M7V8F for <taps@ietfa.amsl.com>; Tue, 27 Oct 2015 14:02:53 -0700 (PDT)
Received: from smtp.ee.ethz.ch (smtp.ee.ethz.ch [129.132.2.219]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 50CDF1AD06F for <taps@ietf.org>; Tue, 27 Oct 2015 14:02:52 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.ee.ethz.ch (Postfix) with ESMTP id 16CBFD9304; Tue, 27 Oct 2015 22:02:51 +0100 (MET)
X-Virus-Scanned: by amavisd-new on smtp.ee.ethz.ch
Received: from smtp.ee.ethz.ch ([127.0.0.1]) by localhost (.ee.ethz.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id LTKWszw3UEDx; Tue, 27 Oct 2015 22:02:50 +0100 (MET)
Received: from [192.168.178.33] (x5f717ab6.dyn.telefonica.de [95.113.122.182]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: mirjak) by smtp.ee.ethz.ch (Postfix) with ESMTPSA id 47A8CD9305; Tue, 27 Oct 2015 22:02:50 +0100 (MET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\))
From: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
In-Reply-To: <3C8D178C-CEF2-4395-B4B7-2FB80F39F733@ifi.uio.no>
Date: Tue, 27 Oct 2015 22:02:48 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <6507117D-40F1-48FF-ADB0-F624C33731FD@tik.ee.ethz.ch>
References: <64271754-EED2-4322-BB0E-51CB66365682@gmail.com> <B36B9E5E-0EB5-418A-A6A1-E103C8ECF500@ifi.uio.no> <CCC80AEF-66CD-4497-A374-2ED89DF4FA17@trammell.ch> <CAD62q9XQMSyuG_=HYjXKe12iE=-F3HasXqrmJs+RAQeBZbddCQ@mail.gmail.com> <562DF846.7090901@erg.abdn.ac.uk> <CAD62q9XjebXmRHUebJLrd35=PnrLPGCZFv4LBO5omYBh2J+72Q@mail.gmail.com> <564DD3D7-446B-4ABC-9A40-26E79DADD50E@ifi.uio.no> <CAD62q9WAaHZ_OrueAa5u0rMuZGssC0mR+3gVWEBQ7DmDMm0cAQ@mail.gmail.com> <27697ADF-7AE6-4E99-8288-FF19A68F1411@ifi.uio.no> <6F9FB87C-D0FF-46B3-A634-8A2E1234F9B7@tik.ee.ethz.ch> <2DC75956-A94E-40DE-8A40-B8A6BABE8ED8@ifi.uio.no> <782D504B-656F-4C98-9790-A2B2FFC36473@tik.ee.ethz.ch> <3C8D178C-CEF2-4395-B4B7-2FB80F39F733@ifi.uio.no>
To: Michael Welzl <michawe@ifi.uio.no>
X-Mailer: Apple Mail (2.3096.5)
Archived-At: <http://mailarchive.ietf.org/arch/msg/taps/Bxdgh_sCXfxNLhaooJog4XmJC8s>
Cc: Aaron Falk <aaron.falk@gmail.com>, "<gorry@erg.abdn.ac.uk> Fairhurst" <gorry@erg.abdn.ac.uk>, "taps@ietf.org" <taps@ietf.org>, Stein Gjessing <steing@ifi.uio.no>, Brian Trammell <ietf@trammell.ch>
Subject: Re: [Taps] IETF planning
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussions on Transport Services <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Oct 2015 21:02:57 -0000

Hi,

see inline.

> Am 27.10.2015 um 19:56 schrieb Michael Welzl <michawe@ifi.uio.no>:
> 
> 
>> On 27. okt. 2015, at 15.46, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> wrote:
>> 
>> Hi Michael,
>> 
>> for me, when I was reading the following, that was when I found it quite arbitrary again:
>> 
>> "In the list resulting from the second pass, some services are missing
>>  because they are implicit in some protocols, and they only become
>>  explicit when we consider the superset of all services offered by all
>>  protocols. „
>> 
>> So how do we know that we actually caught everything?
> 
> Everything here is based on text parts of the RFCs that focus on what a protocol provides to the upper layer and how it is used.
> This should be everything that’s relevant as a service.
I disagree.

> Now, when you have all these bits covered, for all the protocols you want to cover, this should give you *exactly* the services of relevance - that’s the idea of this procedure.
> 
> For example, now the document contains only TCP and SCTP. There is no mention of congestion control, because, to choose between these two, congestion control is not a relevant service: they both have it, in the same way. If the document would only cover TCP and SCTP, I think that’s exactly how it should be.
I disagree.

> 
> When we add UDP, the obvious RFC to cover is the one on usage guidelines (RFC5405). It will tell us that UDP does not have congestion control, which means that the application has to take care of it. Thus, “no congestion control” becomes a part of the services. Because “lack of XY” is a bit strange as a service, it’d be obvious to write “congestion control” as a service for the other protocols instead.

I don’t think „no congestion control“ is a service. That’s not a logic I understand; sorry.

I don’t think that the point we want to capture is if there is congestion control or not; it’s rather with choices you have about congestion control. And today you might pick one congestion control by name, where the name is a random pick and does not say anything about the mechanism that is used. I’d hope that taps could actually provide an interface that’s actual useful and understandable such that the transport layer can pick the right congestion control for you.

I thought that one of the main points!

> 
> Consider another example. Assume, for a second, that all protocols had the same checksum, and no option to turn it off or configure it. This is not true, but just imagine it for the example.
> In this case, there would never be text in any of the RFCs talking about the relevance of the checksum to the application - and it would never appear as a service, which is exactly the right decision, it would be an integral part of communication that is the same everywhere. Anyway, in reality, as soon as we add UDP-Lite and/or DCCP, we have configurable checksums as a service in the list. But if these protocols are not covered, what’s the point of describing a “configurable checksum” service?
> (I’m ignoring the fact that the checksum can be disabled in UDP now, for simplicity)
> 
Okay, even if extending existing protocols not in the charter, just because every protocol would use the same checksum, that does not mean that it would not be useful to maybe disable it. And if that would be detected by taps which would mean a small protocol change, we could go to the respective wg (e.g. tsvwg or tcpm) and figure out if they would consider such an extension useful. I’m absolutely not convinced here that we don’t want to do that.

Further, back to your example above. To call „no congestion control“ a service you have to analyze the protocol itself. „no congestion control“ is not exposed in any interface!!! And analyzing the protocol is what we do in the taps-transport doc!

When I was reading draft-well-taps-transports I’d had the feeding you’ve started with the interfaces but then detected that obvious things are missing, so you basically also started analyzing the protocols itself but very selectively and from my point of view even more arbitrary.

The true might be somewhere in between here and we might need to do both to get an as complete as possible picture. As I said in my previous mail, we could even even merge both docs and or have two separate ones. Again as I said before to me the approach you take is less logical and I don’t think it will led to a complete or ‚right‘ solution either.

From my point of view, let's keep in mind all the discussion we had and what we learned to far, and let’s move on!

Mirja


> 
> 
>> Further see below.
>> 
>>> Am 27.10.2015 um 15:27 schrieb Michael Welzl <michawe@ifi.uio.no>:
>>> 
>>> 
>>>> On 27. okt. 2015, at 15.00, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> wrote:
>>>> 
>>>> Hi all,
>>>> 
>>>> I didn’t say anything so far because I don’t mind to have a second protocol here, but I personally don’t see this doc as really needed. Effectively we will have two docs that have the same results (a list of features) at the end.
>>> 
>>> I think draft-welzl-taps-transports highlights how many services (or transport features or whatever we want to call them) are lost when we just compile a list as in draft-ietf-taps-transports.
>>> To give a few examples: SCTP: "ordered and unordered delivery within a stream” does not make it clear that you can in fact specify per-message whether ordering matters or not.
>>> In TCP, during the lifetime of a connection, you can change the DSCP value.
>>> In TCP, you can open a connection to listen at one local interface or any; in SCTP, you can specify a list of local interfaces
>>> 
>>> We can debate whether these things are unnecessary details, but they are things that appear in draft-welzl-taps-transports as a result of the systematic approach I’ve taken.
>>> 
>> 
>> For me that would be good feedback for taps-transport, to include these things. We have for each protocol a section on interface(s). We could even include more background text there if needed.
>> 
>> However, for the things you’ve mentioned that’s for me rather a question on the level of detail of certain features. We’ve already discussed that we might need something like ‚aspects‘ for each feature. I believe we decided to not provide more details in this doc because we wanted to move on. However, I also believe that people in this group understand well that in some cases we’ll need more detailed information on the feature. And for me even if we submit and publish the taps-transport as it is, this is not written in stone and we can still say later on, that we rename a feature or split it up or whatever.
> 
> Indeed, taps-transport is just at a slightly higher abstraction layer than draft-welzl-taps-transports.
> 
> 
>> For me that would even be part of the second doc in the charter.
> 
> Here I disagree. I think we need more detail to end up with an implementable system, as in draft-welzl-taps-transports. The second doc in the charter is about narrowing down the services, not adding more detail.
> 
> 
>> Again, I’m okay to have two docs here. I don’t think a second doc is absolutely necessary. An alternative would be to merge both docs… just as a side note. But I’m okay with both, two or one docs.
> 
> I think merging them would get messy.
> 
> 
>>>> I personally find the approach taken in the new doc even more arbitrary and reading this discussion of what should be in and out just underlines this point.
>>> 
>>> Even more arbitrary => could you please explain?
>>> I think the discussion of what should be in and out has absolutely nothing to do with the arbitrariness of the approach taken in the doc.
>> 
>> See above. For me the only question is, how can we make sure we cover the right things and don’t forget important stuff. And in both cases the answer is we can’t.
> 
> Given the RFC text describes well what a protocol offers to the upper layer and how it’s used, my procedure (above) should give you exactly what’s needed.
> 
> 
>> For me analyzing (only) the interfaces, is the more arbitrary approach because the current interfaces are already arbitrary to some extend and that’s exactly what we want to change. But that’s my personal view and there might not be an objective conclusion here.
> 
> This document is not about analyzing only the interfaces: it’s about analyzing RFC text that describes what a protocol offers to the upper layer and how it’s used. Because TCP and SCTP have abstract API descriptions, that makes up more than 90% of this text in case of these two protocols.
> 
> When you say that the current interfaces (which, for the context of draft-welzl-taps-transports, are the abstract interfaces in the RFCs) are "already arbitrary to some extent”, you really criticize the text in the RFC that describes how to use a protocol; then, I think you should be specific and explain what you think is wrong per protocol, and maybe suggest an update or errata. I do think that a lot of thinking has gone into these text bits… even though real-life implementations may diverge from these abstract APIs.
> 
> I also don’t think we want to *change* these interfaces, but describe how to create a generic one that is built upon them.
> 
> 
>>>> From my point of view the taps-transports is ready now. Btw. we did not leave out (hopefully) any features of RTP, we just decided to keep the description very short and only focus in the description on those parts that are actually transport related. 
>>>> 
>>>> I agree that the taps-transport doc is quite long, but for the wg I don’t the the purpose of this doc in having it but in getting it. I mean the process we had so far to get this doc in the right shape was very helpful and I believe we are ready to move on. The only think that is interesting now for the wg is the final list of feature, which is there and ready to use. 
>>>> 
>>>> As a side note, I also believe that other people might be interesting in reading the doc for other reasons than participating in taps because it’s actually a quite nice overview doc now.
>>> 
>>> I agree that it’s a nice document and ready. As for “The only thing interesting for the wg is he final list of features, which is there and ready to use”, see the discussion above: the draft-ietf-taps-transports is a nice and useful survey, but I do not think it is a good basis for an implementable TAPS system, which we eventually want (doc 3).
>> 
>> I don’t have the feeling that the new doc is much better. Important is that the wg knows that these features are not written in stone and we still have to think about the right choices here for any future work. I believe that’s true for both docs.
> 
> I don’t get that; can you give an example?
> 
> Cheers,
> Michael