Post Sockets and the IETF Transport Services API

The Post Sockets cabal met with friends from the EU NEAT project, and others, to discuss a unified proposal for the IETF Transport Services architecture and associated API. This is intended to form the basis for future work in the IETF TAPS working group, and will be discussed in their upcoming meeting at IETF 101 in London, in March 2018.

The design team working on the IETF Transport Services API

The IETF TAPS working group has nearly completed its initial deliverables, to identify the services provided by the IETF standard transport protocols and their congestion control mechanisms, and is now defining the scope for its future work. The next charter item for the working group is to “specify support mechanisms to provide the Transport Services that have been identified” and “explain how to select and engage an appropriate protocol and how to discover which protocols are available for the selected service between a given pair of end points”.

We believe this is best done by defining a new architecture and abstract API for network transport services. Tommy Pauly recently made a proposal for how this should be done, describing a set of draft that would support this and address the next TAPS charter item. These comprise an architecture draft, an abstract API, and an implementation guidelines draft.

Feedback on this proposal has been positive, and it forms a natural progression building on the work we've been doing with Post Sockets, the work of the EU NEAT project, and the Socket Intents work from TU Berlin. According, the members of those groups met in Cambridge on 28-29 January 2018 to discuss how to combine their work, and to plan the process of writing the required documents. We considered how to best structure the documents and scope the work, and spent some considerable time ensuring alignment of the Post Sockets and NEAT architectures and terminology, and planning the scope of the work. We aim to produce initial drafts, defining the IETF Transport Services architecture, abstract API, and implementation, in time for consideration at the IETF 101 meeting in March 2018.