Multipath QUIC: Design and Evaluation Quentin De Coninck , Olivier - - PowerPoint PPT Presentation

multipath quic design and evaluation
SMART_READER_LITE
LIVE PREVIEW

Multipath QUIC: Design and Evaluation Quentin De Coninck , Olivier - - PowerPoint PPT Presentation

Multipath QUIC: Design and Evaluation Quentin De Coninck , Olivier Bonaventure quentin.deconinck@uclouvain.be multipath-quic.org QUIC = Quick UDP Internet Connection TCP/TLS1.3 atop UDP Stream multiplexing HTTP/2 use case 0-RTT


slide-1
SLIDE 1

Multipath QUIC: Design and Evaluation

Quentin De Coninck, Olivier Bonaventure quentin.deconinck@uclouvain.be multipath-quic.org

slide-2
SLIDE 2

2

QUIC = Quick UDP Internet Connection

  • TCP/TLS1.3 atop UDP
  • Stream multiplexing → HTTP/2 use case
  • 0-RTT establishment (most of the time)

IP TCP TLS HTTP/2 IP

UDP

QUIC

HTTP/2 shim

slide-3
SLIDE 3

3

QUIC Packet

Connection ID Flags Packet Number Encrypted Payload...

slide-4
SLIDE 4

4

QUIC Packet

Connection ID Flags Packet Number Encrypted Payload... Cleartext Public Header

slide-5
SLIDE 5

5

QUIC Packet

Connection ID Flags Packet Number Encrypted Payload... Cleartext Public Header Does not depend

  • n 4-tuple
slide-6
SLIDE 6

6

QUIC Packet

Connection ID Flags Packet Number Encrypted Payload... Cleartext Public Header Does not depend

  • n 4-tuple

Monotonically Increasing

slide-7
SLIDE 7

7

QUIC Packet

Connection ID Flags Packet Number Encrypted Payload... Cleartext Public Header Does not depend

  • n 4-tuple

Monotonically Increasing Contains control/data frames

slide-8
SLIDE 8

8

QUIC Data Transfer

H2 H1

slide-9
SLIDE 9

9

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame”

H2 H1

slide-10
SLIDE 10

10

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame”

H2 H1

Actual data

slide-11
SLIDE 11

11

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame” CID F PN=19 ACK(25) MAX_DATA(for stream=5): 1=24

H2 H1

slide-12
SLIDE 12

12

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame” CID F PN=19 ACK(25) MAX_DATA(for stream=5): 1=24

H2 H1

Control Frames

slide-13
SLIDE 13

13

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame” CID F PN=19 ACK(25) MAX_DATA(for stream=5): 1=24 CID F PN=26 STREAM(id=5,of=26):”.” STREAM(id=7,of==):”Y” ACK(19)

H2 H1

slide-14
SLIDE 14

14

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame” CID F PN=19 ACK(25) MAX_DATA(for stream=5): 1=24 CID F PN=26 STREAM(id=5,of=26):”.” STREAM(id=7,of==):”Y” ACK(19)

H2 H1

Multiplexing

slide-15
SLIDE 15

15

QUIC Data Transfer

CID F PN=25 STREAM(id=5,of==):”Some data in my long frame” CID F PN=19 ACK(25) MAX_DATA(for stream=5): 1=24 CID F PN=2= ACK(26) CID F PN=26 STREAM(id=5,of=26):”.” STREAM(id=7,of==):”Y” ACK(19)

H2 H1

slide-16
SLIDE 16

16

Why Multipath QUIC?

  • QUIC assumes a single-path foo
slide-17
SLIDE 17

17

Why Multipath QUIC?

  • QUIC assumes a single-path foo
slide-18
SLIDE 18

18

Why Multipath QUIC?

  • QUIC assumes a single-path foo
slide-19
SLIDE 19

19

Why Multipath QUIC?

  • QUIC assumes a single-path foo
  • Multipath QUIC

– Bandwidth aggregation – Seamless network handover

  • Can try new WiFi while keeping using LTE
slide-20
SLIDE 20

20

Design of Multipath QUIC

  • Connection is composed of a set of paths
slide-21
SLIDE 21

21

Design of Multipath QUIC

  • Connection is composed of a set of paths
slide-22
SLIDE 22

22

Design of Multipath QUIC

  • Connection is composed of a set of paths

Pkt

?

Performance monitoring? Loss detection? Path congestion control?

slide-23
SLIDE 23

23

Design of Multipath QUIC

  • Connection is composed of a set of paths

Pkt

slide-24
SLIDE 24

24

Design of Multipath QUIC

  • Connection is composed of a set of paths

Connection ID Flags Packet Number Encrypted Payload... Path ID Pkt Explicit path identifcation

slide-25
SLIDE 25

25

Design of Multipath QUIC

  • Connection is composed of a set of paths

Connection ID Flags Packet Number Encrypted Payload... Path ID Pkt Explicit path identifcation No path handshake

slide-26
SLIDE 26

26

Design of Multipath QUIC

  • Connection is composed of a set of paths

Connection ID Flags Packet Number Encrypted Payload... Path ID Pkt Explicit path identifcation Per-path numbering space No path handshake

slide-27
SLIDE 27

27

Multipath QUIC Data Transfer

Server via WiFi Server via LTE Phone Path 1: WiFi Path 2: L TE

slide-28
SLIDE 28

28

Multipath QUIC Data Transfer

Server via WiFi Server via LTE Phone CID F PN=1 STR(id=5) 1 Path 1: WiFi Path 2: L TE

slide-29
SLIDE 29

29

Multipath QUIC Data Transfer

Server via WiFi Server via LTE Phone CID F PN=1 STR(id=5) 1 CID F PN=1 STR(id=7,of==) 1 CID F PN=1 STR(id=7,of=1=24) 2 Path 1: WiFi Path 2: L TE

slide-30
SLIDE 30

30

Multipath QUIC Data Transfer

Server via WiFi Server via LTE Phone CID F PN=1 STR(id=5) 1 CID F PN=1 STR(id=7,of==) 1 CID F PN=1 STR(id=7,of=1=24) 2 CID F PN=2 ACK(pid=1,1) 1 ACK(pid=2,1) Path 1: WiFi Path 2: L TE

slide-31
SLIDE 31

31

Multipath QUIC Data Transfer

Server via WiFi Server via LTE Phone CID F PN=1 STR(id=5) 1 CID F PN=1 STR(id=7,of==) 1 CID F PN=1 STR(id=7,of=1=24) 2 CID F PN=2 ACK(pid=1,1) 1 ACK(pid=2,1) Path 1: WiFi Path 2: L TE Multiple paths acked

  • n a single path
slide-32
SLIDE 32

32

Multipath Mechanisms

  • Path management

IP1 IP2 IP3 IP4

slide-33
SLIDE 33

33

Multipath Mechanisms

  • Path management

IP1 IP2 IP3 IP4

slide-34
SLIDE 34

34

Multipath Mechanisms

  • Path management
  • Packet scheduling

IP1 IP2 IP3 IP4 10 ms RTT 2= ms RTT

slide-35
SLIDE 35

35

Multipath Mechanisms

  • Path management
  • Packet scheduling

IP1 IP2 IP3 IP4 10 ms RTT 2= ms RTT

slide-36
SLIDE 36

36

Multipath Mechanisms

  • Path management
  • Packet scheduling

IP1 IP2 IP3 IP4 10 ms RTT 2= ms RTT 2= ms RTT ?

slide-37
SLIDE 37

37

Multipath Mechanisms

  • Path management
  • Packet scheduling

IP1 IP2 IP3 IP4 10 ms RTT 2= ms RTT 2= ms RTT ? Duplicate

slide-38
SLIDE 38

38

Multipath Mechanisms

  • Path management
  • Packet scheduling
  • Congestion control

– Opportunistic Linked Increase Algorithm IP1 IP2 IP3 IP4 10 ms RTT 2= ms RTT 2= ms RTT ? Duplicate

slide-39
SLIDE 39

39

Evaluation of Multipath QUIC

  • (Multipath) QUIC vs. (Multipath) TCP

– Multipath QUIC: quic-go – Linux Multipath TCP v=.91 with default settings

  • Mininet environment oith 2 paths
slide-40
SLIDE 40

40

Evaluating Bandoith Aggregation

  • Doonload of 20 MB fle

– Over a single stream – Collect the transfer time

slide-41
SLIDE 41

41

Evaluating Bandoith Aggregation

  • Doonload of 20 MB fle

– Over a single stream – Collect the transfer time

  • For a loss-free scenario

2=ms RTT, 2= Mbps 4=ms RTT, 15 Mbps

slide-42
SLIDE 42

42

Evaluating Bandoith Aggregation

  • Doonload of 20 MB fle

– Over a single stream – Collect the transfer time

  • For a loss-free scenario

– MPQUIC has 13% speedup compared to MPTCP 2=ms RTT, 2= Mbps 4=ms RTT, 15 Mbps

slide-43
SLIDE 43

43

Evaluating Bandoith Aggregation

  • Doonload of 20 MB fle

– Over a single stream – Collect the transfer time

  • For a loss-free scenario

– MPQUIC has 13% speedup compared to MPTCP

  • But ohat about other topologies?

2=ms RTT, 2= Mbps 4=ms RTT, 15 Mbps

slide-44
SLIDE 44

44

Evaluating Bandoidth Aggregation

  • Experimental design, WSP algorithm
  • 2x253 netoork scenarios

– Vary the initial path

  • Median over 15 runs

Factor Minimum Maximum Capacity [Mbps] 0.1 100 Round-Trip-Time [ms] 50 Queuing Delay [ms] 100 Random Loss [%] 2.5

slide-45
SLIDE 45

45

Large File Doonload – No Loss

QUIC better TCP better

slide-46
SLIDE 46

46

Large File Doonload – No Loss

QUIC better TCP better

Single-path

slide-47
SLIDE 47

47

Large File Doonload – No Loss

slide-48
SLIDE 48

48

Large File Doonload – No Loss

MPQUIC better in 85% of cases

slide-49
SLIDE 49

49

Large File Doonload – No Loss

MPQUIC better in 85% of cases Our extracted scenario

slide-50
SLIDE 50

50

Large File Doonload – No Loss

MPQUIC better in 85% of cases Our extracted scenario

Path 1: 49.4 ms RTT, 18.9= Mbps, 82 ms queing delay Path 2: 1=.6 ms RTT, =.43 Mbps, 11 ms queuing delay Path 1: 27.2 ms RTT, =.14 Mbps, 34 ms queuing delay Path 2: 46.4 ms RTT, 49.72 Mbps, 47 ms queuing delay

slide-51
SLIDE 51

51

Large File Doonload – Losses

slide-52
SLIDE 52

52

Large File Doonload – Losses

QUIC copes better with losses

slide-53
SLIDE 53

53

Additional Results (see paper)

  • QUIC benefts more of Multipath than TCP
  • Bandoidth aggregation in high BDP

– MPQUIC still better performs than MPTCP

  • Short fle transfers

– (MP)QUIC better thanks to its low latency handshake

  • Netoork handover

– MPQUIC can be very efcient – New frame to communicate path state

slide-54
SLIDE 54

54

Conclusion

  • Multipath should be part of any transport

protocol

– Most devices are multihomed

  • Designed and implemented Multipath QUIC

– Source code + artifacts + IETF draft available – See multipath-quic.org

  • Multipath more promising oith QUIC than TCP
slide-55
SLIDE 55

55

What’s Next?

  • Perform tests in actual netoorks

– Does (MP)QUIC work in your networks? – Does MPQUIC provides better performances? – Application running on iOS11

  • https://itunes.apple.com/fr/app/quictester/id1322=19644?mt=8

– Feel free to provide feedback :-)

QUICTester

slide-56
SLIDE 56

56

Thanks! multipath-quic.org