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

post sockets
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

measurement experimentation architecture

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.

Post Sockets:

Towards an Evolvable Network Transport Interface

Brian Trammell1, Colin Perkins2, and Mirja Kühlewind1
 ETH Zürich1 and University of Glasgow2

slide-2
SLIDE 2

Post Sockets — Future Internet Transport 2017

architecture

„You can have any color you want, as long as it’s black.“
 — Henry Ford

2

socket stream

SOCK_STREAM: 
 yesterday’s interface

slide-3
SLIDE 3

Post Sockets — Future Internet Transport 2017

architecture

SOCK_STREAM: 
 yesterday’s interface

  • Synchronous
  • Unicast
  • No framing support
  • Single-stream
  • Single-path
  • No path abstraction
  • No security

Simplicity wins: it makes the network look like a file!

3

, today

  • Unicast (nobody cares, multicast is too hard)
  • No framing support (nobody cares, apps do this anyway)
  • Single-stream (just open multiple sockets)
  • Single-path (MPTCP hides this from you)
  • No security (TLS solves all our problems, right?)
  • No path abstraction (nobody cares, middleboxes don’t exist)
  • Synchronous (we got used to it)
slide-4
SLIDE 4

Post Sockets — Future Internet Transport 2017

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.

4

slide-5
SLIDE 5

Post Sockets — Future Internet Transport 2017

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.

5

slide-6
SLIDE 6

Post Sockets — Future Internet Transport 2017

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

6

slide-7
SLIDE 7

Post Sockets — Future Internet Transport 2017

architecture

Abstractions and Relationships

7

Message

basic unit of communication

Message Carrier

carries messages for an association

Listener ready() send() accept() initiate() listen() Association

durable state between two endpoints

  • ver multiple paths

Transient Path Local Remote

1 n n 1 n 1 1 n

Policy

slide-8
SLIDE 8

Post Sockets — Future Internet Transport 2017

architecture

Message Carriers

Logical communications endpoint for a group of messages

  • created actively


via initiate()

  • passively via 


listen()/accept()

  • Special carriers for common application types
  • source: unidirectional send-only
  • sink: unidirectional receive-only
  • responder: server for common request/response protocols

8

Message

basic unit of communication

Message Carrier

carries messages for an association

Listener ready() send() accept() initiate() listen()

slide-9
SLIDE 9

Post Sockets — Future Internet Transport 2017

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

9

slide-10
SLIDE 10

Post Sockets — Future Internet Transport 2017

architecture

Associations (and Paths)

long-term state between a pair of logical endpoints

  • Associated with one local and

  • ne remote endpoint
  • e.g. cached 


cryptographic state

  • Information about paths


between endpoint pairs

  • cached measurements (e.g. loss, latency, bandwidth)
  • information discoverable through rendezvous

10

Association

durable state between two endpoints

  • ver multiple paths

Transient Path Local Remote

n 1 1 n

slide-11
SLIDE 11

Post Sockets — Future Internet Transport 2017

architecture

Locals and Remotes

  • Local: “who am I?”
  • Identity, interface, associated properties
  • Remote: “who are you?“
  • Identity and name/address
  • Recursive resolution

11

Remote

service name

Remote

host name + port + protocol

Remote

host name + port + protocol

Remote

host name + AF + address + port + protocol

Remote

host name + AF + address + port + protocol

Remote

host name + AF + address + port + protocol

resolution resolution

slide-12
SLIDE 12

Post Sockets — Future Internet Transport 2017

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

12

Transient PSI TCP IPv6 802.3 Transient Transient PSI

(a) Transient bound to a PSI (b) Carrier multiplexing over a multistreaming protocol

TLS DTLS UDP IPv6 SCTP 802.3 Carrier Carrier Carrier

slide-13
SLIDE 13

Post Sockets — Future Internet Transport 2017

architecture

Transient Establishment Lifecycle

  • During connection establishment,

a transient may use multiple candidate PSIs to manage connection racing

  • The “winning” PSI becomes

bound to the transient after establishment

13

Transient PSI TCP IPv4 802.11 PSI TCP IPv6 802.11 Carrier

(c) Multicandidate communication during association establishment

TLS TLS

slide-14
SLIDE 14

Post Sockets — Future Internet Transport 2017

architecture

Policy

Expression of preferences for carriers and transients

  • Local and remote identity constraints
  • Interface and path selection
  • Transport protocol selection 


and configuration

  • Multiple domains
  • application policy, system policy, user policy

14

Message Carrier

carries messages for an association

Transient

1 n

Policy

slide-15
SLIDE 15

Post Sockets — Future Internet Transport 2017

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

15

  • 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
slide-16
SLIDE 16

Post Sockets — Future Internet Transport 2017

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!

16

slide-17
SLIDE 17

Post Sockets — Future Internet Transport 2017

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

17

https://datatracker.ietf.org/doc/draft-trammell-taps-post-sockets/