> 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"? > > My aim here is to try to simplify things so that we can gradually make > progress rather than beginning by discussing a long list where it's very hard > to argue for why one particular bit should be in the list or not. If folks > things I'm not making it easier but harder, please ignore me :-) I'm only > trying to help... Great. Me too. Just trying to understand which things should be listed in a coherent way...
Best regards Michael > > Cheers, > Michael > > _______________________________________________ Taps mailing list Taps@ietf.org https://www.ietf.org/mailman/listinfo/taps