post sockets
play

Post Sockets: Towards an Evolvable Network Transport Interface Brian - PowerPoint PPT Presentation

Post Sockets: Towards an Evolvable Network Transport Interface Brian Trammell 1 , Colin Perkins 2 , and Mirja Khlewind 1 ETH Zrich 1 and University of Glasgow 2 measurement architecture experimentation This project has received funding


  1. Post Sockets: Towards an Evolvable Network Transport Interface Brian Trammell 1 , Colin Perkins 2 , and Mirja Kühlewind 1 
 ETH Zürich 1 and University of Glasgow 2 measurement architecture experimentation This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 688421.The opinions expressed and arguments employed reflect only the authors' view. The European Commission is not responsible for any use that may be made of that information. Supported by the Swiss State Secretariat for Education, Research and Innovation under contract number 15.0268. The opinions expressed and arguments employed herein do not necessarily reflect the official views of the Swiss Government.

  2. architecture SOCK_STREAM : 
 yesterday’s interface stream socket „You can have any color you want, as long as it’s black.“ 
 — Henry Ford Post Sockets — Future Internet Transport 2017 2

  3. architecture SOCK_STREAM : 
 , today yesterday’s interface • Synchronous (we got used to it) • Synchronous • Unicast (nobody cares, multicast is too hard) • Unicast • No framing support (nobody cares, apps do this anyway) • No framing support • Single-stream (just open multiple sockets) • Single-stream • Single-path (MPTCP hides this from you) • Single-path • No path abstraction (nobody cares, middleboxes don’t exist) • No path abstraction • No security (TLS solves all our problems, right?) • No security Simplicity wins: it makes the network look like a file! Post Sockets — Future Internet Transport 2017 3

  4. architecture SOCK_SEQPACKET : 
 tomorrow’s interface, yesterday • Synchronous (with async event notification!) • Unicast or multicast! • Framing support! • Single- or multiple-stream! • Multipath! (for failover) • No security • No path abstraction • Bound to Stream Control Transmission Protocol (SCTP), 
 not extremely deployable in the open Internet today. Post Sockets — Future Internet Transport 2017 4

  5. architecture Motivations and Goals • A transport- and platform-independent API • for present and future transport protocols. • Support dynamic selection of transport protocol stacks • like Happy Eyeballs, but happier. Post Sockets — Future Internet Transport 2017 5

  6. architecture A few insights about transport APIs • Applications deal in messages of arbitrary size • Message reception is inherently asynchronous • The network of the future is explicitly multipath • Applications don’t care about the transport layer • Transport must guarantee security properties Post Sockets — Future Internet Transport 2017 6

  7. architecture Abstractions and Relationships Message basic unit of communication Listener ready() send() accept() listen() Message Carrier initiate() carries messages for an association n 1 1 Local Association Policy durable state between two endpoints over multiple paths 1 Remote n n n Transient Path 1 Post Sockets — Future Internet Transport 2017 7

  8. architecture Message Carriers Logical communications endpoint for a group of messages • created actively 
 Message basic unit of communication via initiate() Listener ready() send() • passively via 
 accept() listen() listen()/accept() Message Carrier initiate() carries messages for an association • Special carriers for common application types • source : unidirectional send-only • sink : unidirectional receive-only • responder : server for common request/response protocols Post Sockets — Future Internet Transport 2017 8

  9. architecture Messages collection of bytes, all delivered together • Have set of optional properties including • Lifetime : maximum delay to remote for partial reliability; 
 0 = fully reliable delivery (default) • Niceness : relative priority class, 0 = max (default) • Immediacy : please don’t coalesce • Idempotence : okay to send multiple times (i.e. for 0-RTT data) • Properties allow sending scheduler flexibility • Event callbacks on message reception, expiry, acknowledgment • Message boundary preserved by the API Post Sockets — Future Internet Transport 2017 9

  10. architecture Associations (and Paths) long-term state between a pair of logical endpoints • Associated with one local and 
 Local one remote endpoint Association durable state between • e.g. cached 
 two endpoints over multiple paths 1 Remote cryptographic state n n Transient Path • Information about paths 
 1 between endpoint pairs • cached measurements (e.g. loss, latency, bandwidth) • information discoverable through rendezvous Post Sockets — Future Internet Transport 2017 10

  11. architecture Locals and Remotes • Local: “who am I?” • Identity, interface, associated properties • Remote: “who are you?“ Remote • Identity and name/address host name + AF + address + • Recursive resolution port + protocol Remote host name + Remote port + protocol resolution Remote host name + AF + address + service name resolution Remote port + protocol host name + port + protocol Remote host name + AF + address + port + protocol Post Sockets — Future Internet Transport 2017 11

  12. architecture Transients binds a carrier to the transport protocol stack instance • Protocol Stack Instance (PSI): set of instantiated protocols that will carry the packets containing messages Carrier Carrier Carrier Transient Transient Transient PSI PSI TLS SCTP TCP DTLS IPv6 UDP 802.3 IPv6 802.3 (a) Transient bound to a PSI (b) Carrier multiplexing over a multistreaming protocol Post Sockets — Future Internet Transport 2017 12

  13. architecture Transient Establishment Lifecycle • During connection establishment, a transient may use multiple Carrier candidate PSIs to manage Transient connection racing PSI PSI TLS TLS TCP TCP • The “winning” PSI becomes IPv6 IPv4 802.11 802.11 bound to the transient after establishment (c) Multicandidate communication during association establishment Post Sockets — Future Internet Transport 2017 13

  14. architecture Policy Expression of preferences for carriers and transients • Local and remote identity constraints • Interface and path selection Message Carrier • Transport protocol selection 
 carries messages for an association 1 and configuration Policy n Transient • Multiple domains • application policy, system policy, user policy Post Sockets — Future Internet Transport 2017 14

  15. architecture Interoperability: Message Boundaries and Streams • Post promotes message framing to a transport service. • But no other API does, and many existing transports don’t, • and it might be nice to interop. • Solution : Allow applications to push deframing logic down into the stack, when necessary • Post sends messages. • But sometimes what you have really is a stream. • Solution: Carriers can be morphed into Streams • with platform-specific read()/write()/close() API • Stream morphing is irrevocable Post Sockets — Future Internet Transport 2017 15

  16. architecture What’s next? • Post provides for… • asynchronous message reception • multi-path & multistreaming • connection establishment & resumption • We still need… • generic light-weight framing protocol & negotiation • mechanisms and policies for protocol and path selection • separation of data transmission and support functions, e.g. crypto context Higher layer of abstraction enables application developers easier access to novel transports! Post Sockets — Future Internet Transport 2017 16

  17. architecture Does this sound familiar to Apple geeks? At Apple’s WWDC last week • “User-Space Networking” in the current betas of iOS 11 • Transport and IP co-located with security & application protocols • No BSD socket anymore! • First step towards more flexibility and dynamic 
 protocol selection! • Also see https://datatracker.ietf.org/doc/draft-trammell-taps-post-sockets/ Post Sockets — Future Internet Transport 2017 17

Recommend


More recommend