Hey Mirja,

On Fri, May 29, 2015 at 10:27:46AM +0200, Mirja Kühlewind wrote:
> > I am not sure I have the same understanding of what features are.
> > More than what is exposed through the API (which indeed is very
> > little in the majority of the cases), I think features is what the
> > application implicitly expects when selecting a specific transport.
> Yes and no. So what you describe is the current state. A transport
> service is a set of transport services features and today you can
> select those features only implicitly by selection the transport
> protocol itself.
> However, I think that it is worth to provide an interface to configure
> each feature explicitly. Not completely sure yet that it is true. But
> for me that’s one of the goals of this working group to figure out if
> this statement is true.

Yes, that's how I understand it too. Nonetheless, we need to start with
what we have: groups of features that we need to identify and separate.

> > At the moment, looking at the draft, I think that most “Transport
> > Protocol Components” sections actually conflate features and components,
> > and probably list more of the former than the latter. I don't think this
> > is quite in line with the terminology:
[...]
> > 
> > For example for TCP, I would say that the following are features (that the 
> > application wants)
> > - reliable delivery
> > - ordered delivery for each byte stream
> > - stream-oriented delivery in a single stream
> > - unicast
> > - data bundling (Nagle's algorithm)
> > - port multiplexing
> > while these are components (that the application doesn't see)
> > - connection setup with feature negotiation and application-to-port mapping
> > - error detection (checksum)
> > - segmentation
> > - flow control
> > - congestion control
> I also see this very slightly different. Features and components are
> for my understanding nothing exclusive. Each feature also has a
> corresponding component (but not the other way around). However, while
> the feature is ‚reliable delivery‘ (because that all the app cares
> about), the component might be more specific like "reliable delivery
> using accumulated ACKs and retransmissions’ as TCP does.

Yes, I completely agree. But I think the difference you higlight is
important: each feature has one (or more, I'd say) corresponding
components, while components might not necessarily result in an
application-visible feature. 

> The more important point is, that the current lists in the doc need
> work! Maybe some of the point you’ve listed above as features must be
> phrased more detailed to describe/list the actually component and then
> we need to decide which components actually also provide a feature
> (that should be exposed) and on which level this correlates to a
> feature. So the split you proposed above is a good starting point for
> this.

I'm glad to read it (:

> >> "transport service features"  (components that are exposed to the
> >> application) ... and here come all the things found in today's (not
> >> tomorrow's!) APIs, as defined by the specs alone, not
> >> implementations and "transport protocol components"  ... which is
> >> all the rest. I'm thinking of just a way of splitting the component
> >> lists, just to say "the following ones are exposed in the API
> >> today".
> > I think this makes sense. That said, beyond just the specs, I think
> > it would be useful to consider what current implementations provide
> > too, as this may offer a slightly different set of features which
> > is, nonetheless, what developers of real applications are dealing
> > with.
> You mean it term of APIs or component? Collecting information of
> components are are currently implemented/used is the purpose of this
> doc. Collecting information about API/config interfaces of what is
> implemented/used today is also useful but a rat-hole… therefore we try
> cover this aspect briefly in this doc but do not aim for completeness
> here.

Yes, this is likely for a later document. However, I think we should
make sure that some transport API have not implemented some
non-standardised behaviours that a non-negligible number of applications
use. I am not sure it's the case, but if it is so, we probably want to
take that onboard at some point too.

-- 
Olivier Mehani <olivier.meh...@nicta.com.au>
PGP fingerprint: 4435 CF6A 7C8D DD9B E2DE  F5F9 F012 A6E2 98C6 6655
Confidentiality cannot be guaranteed on emails sent or received unencrypted.

Attachment: pgpocHjNVV0UF.pgp
Description: PGP signature

_______________________________________________
Taps mailing list
Taps@ietf.org
https://www.ietf.org/mailman/listinfo/taps

Reply via email to