Transparent Flow Mapping for NEAT Felix Weinrank, Michael Txen - - PowerPoint PPT Presentation

transparent flow mapping for neat
SMART_READER_LITE
LIVE PREVIEW

Transparent Flow Mapping for NEAT Felix Weinrank, Michael Txen - - PowerPoint PPT Presentation

Transparent Flow Mapping for NEAT Felix Weinrank, Michael Txen Department of Electrical Engineering and Computer Science Funded by EU H2020 NEAT project (Grant agreement no. 644334) In a nutshell Automatic multiplexing + fallback Transparent


slide-1
SLIDE 1

Transparent Flow Mapping for NEAT

Felix Weinrank, Michael Tüxen

Department of Electrical Engineering and Computer Science Funded by EU H2020 NEAT project (Grant agreement no. 644334)

slide-2
SLIDE 2

In a nutshell

Automatic multiplexing + fallback Transparent for the application No additional coding effort

2

slide-3
SLIDE 3

Multiplexing

  • Bundling of several data paths to a single transport connection
  • Key feature in widely used protocols

○ HTTP2 (TCP) ○ QUIC (UDP) ○ WebRTC Data Channel (SCTP)

3

slide-4
SLIDE 4

Multiplexing - Pros and Cons

  • Pros

○ Flow- and congestion-control mechanisms benefit from larger quantities

  • f transferred data

○ Higher packet rates result in quicker loss detection ○ Shared congestion window is beneficial for new connections and connections with a low sending rate ○ Reduced amount of connections improves server capacities

  • Cons

○ Additional coding effort ○ Fallback mechanism (optional)

4

slide-5
SLIDE 5

NEAT Library

  • Userland library for network communication
  • Non-blocking and callback-based concept
  • Unified API for all network protocols
  • Supports (MP)TCP, UDP, SCTP (Kernel + Userland)
  • Runs on Linux, FreeBSD, NetBSD and macOS
  • Based on libuv
  • www.neat-project.org

5

slide-6
SLIDE 6

NEAT - Flow

  • Bi-directional communication channel between two application endpoints
  • Handles DNS resolution, buffer management, ...
  • Can be grouped
  • Unified API for all supported protocols

○ neat_open() ○ neat_write() ○ neat_read() ○ neat_close() ○ ...

6

slide-7
SLIDE 7

Transparent Flow Mapping (TFM) - Concept

  • Mapping multiple NEAT flows to a single transport connection while behaving

like a 1:1 mapped flow

7

slide-8
SLIDE 8

TFM - Requirements and Negotiation

  • Both sides have to support

○ SCTP ○ SCTP - Stream Reconfiguration extension ○ SCTP - User Message Interleaving (IDATA) extension

  • Support for TFM is negotiated via SCTP’s adaptation layer indication value

○ Carried via INIT / INIT-ACK chunk ○ TFM for NEAT specific value ○ If set by both sides → TFM support negotiated

8

slide-9
SLIDE 9

TFM - Flow creation

  • Transparent mapping of a new flow requires an existing flow with

○ Same destination IP / DNS-Name ○ Same port number ○ SCTP connection ○ Unused SCTP stream ○ TFM support

  • New flow is instantly mapped to existing transport connection

○ Zero RTT connection setup

9

slide-10
SLIDE 10

TFM - Data Transmission

10

slide-11
SLIDE 11

TFM - Flow Teardown

  • Using SCTP’s Stream Reset extension for closing procedure

11

slide-12
SLIDE 12

TFM - Measurement Scenario

  • NEAT application using two flows, same target, low sending rate
  • Comparing “1:1 mapping” vs “transparent flow mapping”
  • Focus: Application-to-Application delay
  • UDP background traffic

12

slide-13
SLIDE 13

TFM - Measurement Results

13

slide-14
SLIDE 14

TFM - Alternative Transport Protocols

  • Our implementation uses SCTP with extensions
  • Transparent approach allows usage of alternative protocols

○ Easy integration into Happy-Eyeballs mechanism

  • Interesting Candidate: Google’s QUIC

○ Quick UDP Internet Connections ○ Multiplexing concept ○ Built-in encryption ○ Zero-RTT connection setup ○ Not standardized (yet)

14

slide-15
SLIDE 15

Conclusion and Outlook

  • Multiplexing without additional effort for the developer
  • Automatic negotiation and integrated fallback solution
  • Beneficial for multiple flows with a low sending rate

○ Faster loss detection ○ Congestion-Window reusage ○ Less server load

  • Approach allows seamless integration of alternative protocols like QUIC

15

slide-16
SLIDE 16

Questions? :)

16