Here are the notes from the meeting. Please send corrections or just
fix the
[Etherpad](http://etherpad.tools.ietf.org:9000/p/notes-ietf-101-taps?useMonospaceFont=true).
--aaron
-----
Transport Services (TAPS) working group - IETF101
Chairs: Aaron Falk, Zaheduzzaman Sarker
Note taker : Tom Jones
Aaron
Administrivia
- Blue sheets / scribe selection / NOTE WELL - 2 min
- Agenda bashing - 3 min
Agenda
1. Chairs update - 10 min
Michael W: There was security stuff in minset that I took out.
2. A Survey of Transport Security Protocols,
draft-pauly-taps-transport-security-01, Christopher Wood, Apple. - 25
min
discussion point:
- updates since last version and review remaining
issues
- revisit goals as they pertain to new TAPS charter
text
- possible adoption as a WG item
Kyle Rose: In the proceess of working on this document there is
something that is making me uneasy and I was speaking about it to aaron.
It is about scope and scope creep, are we going to cover every security
protocol? So, I am wondering if a better approach might be to choose
enough protocols to analyse to cover the set of features that each of
these protocols might have and then derive a set of shim features that
are an interface to TAPS itself. If we try to go for everything we are
not going to get this done
Chris Wood: I think looking at the implementations we will confirm or
deny if we got the selections correct. If there are things that we do
that are not in the standard that everyone does. I think that there are
out standing issuses on the github tracker to add these new protocols.
We could say for now to stick to the ones we have and maybe increase the
scope a little bit. we need to be sensitive to time.
Kyle: We can go as far up in the stack as we want. There is envoy that
uses these protocols in a sense. You want to choose a set of protocols
from which you can distill out the fetures that a TAPS layer will need
and which protocols that you need to support. TLS and DTLS are the same
protocol at the record layer, but they differ.
Chris: In theory I agree
Brain Trammel: In favour of adoption. The question about scope, I think
we can go relatively quickly though the list of open issues and agree if
we are going to get something into the set of charactaristics. RFC8095
has a glaring issue and doesn't talk about gQUIC, but QUIC doesn't add
any features. Two questions:
one: post quamtum crypto...? I don't think that will change
anything
Aaron: is it deployed on the internet
brain: second: there is a split between handshake layer record layer,
this is very TLS
chris: in the crypto set document we reprhased everything.
brian: it seems a very natural way to seperate.
aaron: great document. not sure if I am wearing my chair hat. To the
question of which protocols to include, we need input from the security
area. They might have priorities that we do't appreciate. The other
thing is, will all these security protocols be considered behind the
TAPS API? That's the way it looks from the diagram.
chris: in practice we would go up to the TLS layer, higher is open to
debate.
aaron: the goal is to allow applications on top of this thing. apps
people might not have as clean as a seperation.
chris: this is another area of the scope that is fuzzy
Tommy Pauly: what protocols are in scope, we should limit to the types
of things we have. they are providing a pseudo transport layere.
aaron: could you come up with a test to see if a protocol is in the set?
tommy: Yes. we are considering security protocols that behave like
transports
kyle: we don't need to be exhaustive
zahed: the scope of the doc is explicitly not limited to IETF protocols
tommy: quic had an interesting discussion regarding the realtionship of
TLS and the layering of the QUIC protocol. We have an analysis of the
current IETF QUIC. If QUIC is in flux I am now sure how our doc can
track it.
aaron: This isn't a critical problem. We can complete doc and let it
rest while QUIC matures. Then, we can revise our doc later to be
consistent.
chris: the stream 0 problem they hope to have resolved by the next ietf,
hopefully they will align
mirjia: quic, crpyto for quic is still tls. the handshake is the same
the record layer si not the same.
chris: we need to review that text
3. A Minimal Set of Transport Services for TAPS Systems,
draft-ietf-taps-minset-02 - Michael Welzl, University of Oslo. -10 min
discussion point:
- updates from previous version
aaron: is there anything in the document that lead to a seperate
discussion about security protocols
mw: there is text that references the security document.
aaron: do we think a minimun taps implementation must support some
security protocols. this document is one place, the security document is
another
briain: I think, we do need to say it is an implementation requirement.
given the pattern of the rest of the documents we are putting security
on the side. draft-wood seems to be 80-95 minset+security. minset should
have a reference to the security document.
mw: which it does
aaron: In minset, we should say the minimum security requirements for a
TAPS system are captured in the security document
kyle rose: a system using taps should have a minimum layer of security
built into it. are we going to say transport protocols shouldhave a way
to do security to be a taps transport
mw: there is away to derrive the minimum set, security stuff is the
other document.
phillip; for the usage document we have a seperation between minset and
usage for non security feattures, do we need the same for security
features?
aaron: that one document will cover both
tommy pauly: the security set is much smaller than the transport
features. if transport had come together more neatly we wouldn't have
need the documents.
mirija: what is he plan for the decision tree
mw: it stays as an example
brain: previous conversation to reiterate, the three stage documents is
because we didn't know the process before we started. we know how to do
the process now. the security document can be faster.
aaron: sounds like we agree. sounds like we are done
aaron: shall we last call?
hum:
strong consensus in favor of moving draft-ietf-taps-minset to WGLC
(none opposed)
mirija: shall we hum for the security document
tommmy: we couldn't before the recharter. shall we hum for adoption?
hum:
strong consensus in favor of WG adoption of
draft-pauly-taps-transport-security
(none opposed)
4. An Architecture for Transport Services, draft-pauly-taps-arch-00,
Tommy Pauly, Apple. -20 min (excluding discussion)
discusion point:
- Design principles
- Terminology and concept definitions
- Applicability for charter milestones 3
5. An Abstract Application Layer Interface to Transport Services,
draft-trammell-taps-interface-00, Brian Trammell, ETH Zurich. -20 min
(excluding discussion)
discussion point:
- the unified view (post sockets, NEAT, socket intents)
- concepts of an interface at the level of a
language-independent, abstract asynchronous interface definition.
- relation towards taps proposed architecture (see
agenda item 4)
Jonathan: are you assuming dns is async?
brian: yes
mirja: I am wondering why the properties are in the api document
brian: these are the things an application devleoper will have control
over it depends on what the application implements.
mirja: are we assuming these are the mandatory ones
brian: not yet, these are common, but not mandatory
tommy: the implementation draft is focues on things that are hidden from
the application, these are knobs to turn, but option to use.
kyle: a set of suggestions of things you could implement
mw: we should clarify these are optional for an app to use, but not
optional to implement
brian: we don't have normative language yes. today we are asking if this
is the correct approach. we need to back it up in the impl document
jonathan: it is not tcp acks?
kyle: it is not delivered
brian: if we have a protocol for this we might want to include it.
6. Implementing Interfaces to Transport Services,
draft-brunstrom-taps-impl-00, Anna Brunstrom, Karlstad University. - 15
min (excluding discussion)
discussion point:
- implementation aspects
- relation to taps application layer interfaces
Lorenzo: does the candidate gathering occur in two different time
phases?
tommy: there are interleaved
anna: conceptually there are different issues, they happen in parrell
colin perkins: one of the open issus we have on this draft is resolving
all the issues, nat traversal, happy eyeballs, ice...
colin perkins: to clarify, for udp one of the open issues is to
integreate with things like stun. we are aware there are details missing
at this point
jonathon: you are forbidding half close
anna: there is no functionality in the api
tommy: a close is interpretted as a termination. we are still discussing
a half close. it is sending parameter, not a termination parameter
7. Combined discussion slot for agenda item 4,5 and 6. -30 min
discussion point:
- see agenda item 4,5 and 6.
aaron: the most important thing I want out of this discussion is whether
or not to adopt them:
hum:
in favour: strong hum
oppoosed: silence
need more information: silence
aaron: OK, let's have a technical discussion...
kyle rose: the section in rendevous, there is an intent for rendevous to
be very general. we are going to want that, it is not just dns but
sevice discovery by a database
brain: we know that and we need help
michael tuexen: two commmenso n send. you had ttl on partial
reliablilty. you had ataomic send. I agree there is a need to provide
the send call where a message begins and where a message stops. it could
be limiting to do atomic sends which limti the size of the message to
the size your stack can handle.
brian: there is a notion of partial send and partial recv. if the lower
layer cannot find end of frame before end of buf you will get a partial
recv
mt: I will provide when it is finished
brain: a stream looks like one long message
tommy: it os the smae for the send. feedback on naming would be good.
for a while we had content as the piece of data that you can send,
related to the larger overall message. we have changed the wording tobe
more message centered. there are properties of that message seperate to
the sending data.
colin: rendevous, the inital goal is tosupport he and ice. once we have
that we generalise it to anything else. it is fairly clear there are a
bunch of terminology issues. suggestions welcome.
tommy: on rendevous if when looking at use cases if you see things that
are limited by the current architecture please bring these up.
colin: we are aware we need app level help with these.
zahed: without chair hat. Policy, arch draft saysa there is a system
plicy, but there is nothing in api, impl says we have multiple policy.
Rename system, or api to include more on how to install polices.
anna: there is some inconsistency in the naming
tommy: api draft is about the interface provided to the application
developer. there is missing language about the api for a sysadmin, this
is an oversight. app isn't going tobe setting system policy. we should
add something about an administravie interface
anna: there are different timescales on these things.
zahed: you have priorities between different policies
tommy: the architecture puts these in implementation concepts. the
classic example is on a phone blocking using cellular data. the part of
policy to interact is path selection properties.
zahed: applicaitions need to say something about the policy that the
system should listen to. I am asking for clarification when you have
multiple policies active.
anna: at the moment we only have the constraints you have to follow. in
practice it is more complicated and you have trade offs. some is imple
dependant
jonaton: first it is better to say these are read only to the
application not invisilble
brian and tommy: yep
jonathon: the one event I didn't see is tcp low water. is it okay for me
to send
tommy: this was brought upin the discussion. we are trying to avaoid
this, it is a propety of how you interact with the socket
jonathon: not that specifically
tommy: this is the point of the callback. we have this in public apis
already, don't enquque before you get teh call back
jonathon: it would make you more confident if you were eating your own
dog food. could you implement quic on top of this or ice or rmcat
briain: we have a plan for research on this in go, quic and tcp in this
api
tommy: at apple we are using this internally and for our own prototpyes
for quic interop
praveen: in terms of service, apps wanting lower latency higherthoruhg
put. in terms of those is there anything in this api. socket api cannot
provide intent
phillipp: laughs
theresa: right now we have the capacity profile, low latency or high
bandwidth. we have intents 'this is a big transfer' the app wants to be
as precise as possible. we need to figure out which properties to
include
brian: all that right now is an appendix on the interface doc.
everything we didn't have concensus on what went into the appendix
tommy: these are elements we have finalised the semantics for. look at
the appendix, open an issue on the ones you think are important.
praveen: real value, that is what is missing. the abstraciton is great.
some sort of consistency guarentee would be useful
tommy: for deployment it is important that the preferences can take this
into account.
praveen: my question is different. if you did racing and end up with x
the app would prefer to keep picking that
brian: there is chunnk of the arch we didn't talk about. the security
state cache and transport state cache. any implementation will have to
learn about paths. we can reccomend parameters. you need this cache to
make it work.
tommy: in he we already do this, we are stick to addresses we have done
gorry: on policy, there are multiple viewson what we have as inputs.
some are predictable and some are optimisation and tuning. I am also
concerned if we do everything we end up with a gaint spec.
tim chown: the sysconfig you pull these from is a bottomeless pit. pvd
in intsrea is something interesting to me.
brian: it sounds to me like there is a collection of things people
wouldlike to see. maybe a fourth doc. there is ahole we need to consider
aaron: yes, we can't write it yet
aaron: do you have a thought on cohabitation with applications that have
needs for more granularity from the api
anna: part of that is protocol specific properties.
aaron: does taps have to implement that.
brian: no that won't work. this is tided to an issue we just noticed in
london. the interface document is the low performance version of the
document. We probably need to get out of the way for batch and memory
mapped io. we need holes in the api
aaron: we have focus on simple should be easy, can complex things bipass
taps?
tommy: my gut is that it should all go through taps. we cannot be worse
than existing standards. if all you do is allow someone to setseockopt
you expose that there is a socket there, which exposes things that might
not be true. have a mapping to important sockopts and have a mapping
aaron: doc should say this
thersa: about properties, we have a zoo. required, preffered, can be
quieried. I propose we make one section in api where we sort this out.
phillipp: the taps system should have some auto mode where an app
specifies in an easy way "i am doing stuff, give me appropriate
transport" on the other hand allow the app to ask for precise transport
protocols with set properties. An app can mix and match with these
modes. How exactly to specify what I am going to do.
tommy: I agree. It is really not diverging from what socket applicatons
do today.
colin: this api is being built on our best guess of what it should look
liike and our protocol experience. It would be good to get WG input on
protocols that do not fit with this api.
aaron: multicast
colin: yes multicast, and maybe icn. If there are styles we should have
the discussion.
aaron: taking the documents as working group items should not fix the
set of documents we work on
aaron: I am going to assume WG adoption, we will confirm on the list
brian: the authors put together a github org. do we want to bring that
under WG control.
8. Problem Statement Regarding IPv6 Address Usage,
draft-gont-taps-address-usage-problem-statement-00, Fernando Gont, SI6
Networks. - 10 min
discussion point:
- whether the topic is of interest for this working
group
- possibly adopting the I-D as working group document
gorry: I see two things in the document. Something about use of ipv6
addresses and policy and I see the need for a new api if we need to
react. I am interested in how 6man felt about privacy and use of
addresses. Maybe it shouldbe two documents. What happened in 6man?
fernando: I presented twice, reponse was in belonged elsewhere. myself,
the properties might fall into 6man or int area. the api is something is
more clearly in taps
ole: in 6 man we defined these mechanisms for generating addresses with
these properties. we have specifed one document on source address
selection with policy tables and ways for applications to make
preferences for which type of address. we are very much bottoms up we
made it available without an idea how it should be used. which is why we
wanted to drop it to the people that can make use of this.
tommy: there are two seperate concerns. tha aspect of privacy and
security, when to use one over the other belongs in another document
which isn't in taps, maybe int area. however the mechanism for selecting
these is a taps arch selection property. as a server what source address
do I want to bias towards. this is all very relevant, the right place to
specify would be in the interface. rather than adopt, what if we add
this to the taps api?
ferndando: for me that is fine. I agree there are two parts. the anaylse
of the properties is neccessary to do the other part. what I wonder is
where do you keep the analyse, the api could belong in a different
document. some place or another you need a disucssion on mapping
addresses.
tommy: it would be useful to reference that document. also what should
the taps system do for default, listener vs outbound.where?
aaron: I don't think it is us
theresa: I see potential input to the impl draft. I see relationship to
the security params in the api draft
gorry: is it possile to revise the draft to make it clearer between the
api and the problem space. this would really help me figure out who
should look at this. an api section should be in taps, the other section
needs someone looking at it.
fernadon: forthe api we have a problme statement, but no api
gorry: talk about the api implications in a seperate bit to where you
talk about implications
tim chown: I thin the bulk ofits should happen here. 6774 says this
should happen for out bound, pvd may change this.
_______________________________________________
Taps mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/taps