On 2015-06-05 22:17, Michael Welzl wrote:
On 5. jun. 2015, at 19.52, Michael Tuexen <michael.tue...@lurchi.franken.de>
wrote:
On 05 Jun 2015, at 16:03, Michael Welzl <mich...@ifi.uio.no> wrote:
On 05 Jun 2015, at 15:52, Michael Tuexen <michael.tue...@lurchi.franken.de>
wrote:
On 05 Jun 2015, at 15:39, Michael Welzl <mich...@ifi.uio.no> wrote:
On 05 Jun 2015, at 12:35, Michael Tuexen <michael.tue...@lurchi.franken.de>
wrote:
On 05 Jun 2015, at 11:05, Michael Welzl <mich...@ifi.uio.no> wrote:
On 5. jun. 2015, at 10.12, Mirja Kühlewind <mirja.kuehlew...@tik.ee.ethz.ch>
wrote:
Okay, just to quickly clarify. In the charter only the word service is used. We
defined later on the words component and feature which are currently not
reflected in the charter. The part I've cited below, I think, it should say
components. However, it does not really matter because we will in the current
document first identify components and then discuss features. In any case this
document will not define a new interface.
I got that but I disagree about "it should say components" for the part in the charter: from the
definition, the component is an implementation, not what is exposed to the application. I think the more
important part is to capture what's exposed to the application. For example: SCTP has a component called
"strong error detection (CRC32C)". TCP has a component called "error detection
(checksum)". This is probably not exposed to the application as such by any of these protocols. I'll
explain below why this makes it less important in my opinion...
I'd also say that this is not the flag ship document (as stated by Joe). The flagship
document probably is the third item on the charter which then will probably also talk
about the interface in more detail (charter says on the third doc: "This document
will explain how to select and engage an appropriate protocol ...").
Well, this first document is no less important, everything hinges on it.
So let's think of the future system we're envisioning here. Is it going to provide "error
detection" as a service? Is it going to provide "strong error detection"?
When making these decisions, I think we'd first need to go through the list of
things provided to applications by the protocols in what Joe calls the abstract
API. Probably we won't find it there: it's a static property of the protocols
AFAIK. So, next, we go through all the static properties to figure out what we
need to expose. Then, the question becomes: should a TAPS system decide for or
against SCTP based on the level of error protection? Is this a basis for
deciding for this or the other protocol?
These are important decisions but I think they are secondary, whereas what the protocols
now explicitly offer is primary - because it would be very strange not to offer what is
being offered today. We can decide to not expose "level of error protection"
and give the TAPS more freedom in choosing the protocol; given that the goal is to stop
connection applications to specific protocols, we CAN do that.
I consider "protecting against bit errors" a service. And I think the level is
important. I agree, TCP and SCTP provide
a protocol dependent level of protection, so there is no need to expose this in
the API of the particular protocol,
however, I do think someone wants a strong checksum or not, and that will
influence the choice of protocols.
So we do have services which are not configurable via the API.
Just for clarification: this wasn't about whether the level of "protection against
bit errors" as such is important or not: I think the level of protection is a less
important item to cover in the first document because, given current protocols (what this
doc is about), you can't just switch it on or off - it comes with a choice of a whole
protocol. So it's just a part of a protocol description - static protocol properties that
come as a whole whenever you pick the protocol.
Such as "reliable" for TCP? Or "byte stream" for TCP? These properties come
with choosing TCP...
Exactly.
I meant "important" as "to be discussed first" (hm, maybe simply "listed first in
the doc"). I think it would make things easier and clearer to first discuss the things that are exposed
by the abstract APIs today.
SCTP will help, then: it exposes "reliable". So if we'd go with that, the first
item in your list above for TCP would already disappear from the discussion: it will
eventually need to be exposed by a TAPS system because of SCTP anyway, and thus belongs
in the list.
So if the document would, for instance, first list all the things that the protocol's
abstract API now expose, and then follow with static properties that protocols have (and
that a certain combination of chosen services would entail), then that list of static
properties gets shorter - e.g., for TCP, from the two items above, only "byte
stream" would be left.
Structuring the things are a good idea. Which do you get "byte stream", not
"reliable byte stream"?
Only "byte stream" because you don't need to talk about reliability anymore
when you have it covered by going through the abstract APIs.
Then, of course, things are tied to certain protocols ... after all TCP *IS*
reliable so when you pick it e.g. for the byte stream (or perhaps MPTCP's
functions) you always get reliability with it. But then, certain mechanisms are
semantically compatible in a best effort world - e.g. an application asking for
unreliable data transfer will not break if it gets reliability (it's just
slower). This kind of match-making between the services and protocols might
become easier if we first have a list of what protocols provide to upper
layers, and then have the static properties per protocol MINUS the things in
the first list. That's all I'm suggesting.
Even if there will be some overlap, I think it will be more clear to
describe the abstract API and the static properties per protocol. This
is what a protocol provides to upper layers and it will make the
description of each protocol self-contained. The static properties are
not that many and we can still make a clear distinction between the
abstract API and the static properties in the description of each protocol.
For the continued work it will also be useful to have a complete and
agreed upon view of what each protocol provides.
Cheers,
Anna
Cheers,
Michael
_______________________________________________
Taps mailing list
Taps@ietf.org
https://www.ietf.org/mailman/listinfo/taps
_______________________________________________
Taps mailing list
Taps@ietf.org
https://www.ietf.org/mailman/listinfo/taps