multipath quic design and evaluation
play

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


  1. Multipath QUIC: Design and Evaluation Quentin De Coninck , Olivier Bonaventure quentin.deconinck@uclouvain.be multipath-quic.org

  2. QUIC = Quick UDP Internet Connection ● TCP/TLS1.3 atop UDP ● Stream multiplexing → HTTP/2 use case ● 0-RTT establishment (most of the time) HTTP/2 shim HTTP/2 TLS QUIC TCP UDP IP IP 2

  3. QUIC Packet Flags Connection ID Packet Number Encrypted Payload... 3

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

  5. QUIC Packet Does not depend on 4-tuple Flags Connection ID Packet Number Encrypted Payload... Cleartext Public Header 5

  6. QUIC Packet Monotonically Increasing Does not depend on 4-tuple Flags Connection ID Packet Number Encrypted Payload... Cleartext Public Header 6

  7. QUIC Packet Monotonically Increasing Contains control/data frames Does not depend on 4-tuple Flags Connection ID Packet Number Encrypted Payload... Cleartext Public Header 7

  8. QUIC Data Transfer H1 H2 8

  9. QUIC Data Transfer H1 H2 F CID PN=25 STREAM(id=5,of==):”Some data in my long frame” 9

  10. QUIC Data Transfer Actual data H1 H2 F CID PN=25 STREAM(id=5,of==):”Some data in my long frame” 10

  11. QUIC Data Transfer H1 H2 F CID PN=25 STREAM(id=5,of==):”Some data in my long frame” F CID PN=19 ACK(25) MAX_DATA(for stream=5): 1=24 11

  12. QUIC Data Transfer H1 H2 F CID PN=25 STREAM(id=5,of==):”Some data in my long frame” Control Frames F CID PN=19 ACK(25) MAX_DATA(for stream=5): 1=24 12

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

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

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

  16. Why Multipath QUIC? ● QUIC assumes a single-path foo 16

  17. Why Multipath QUIC? ● QUIC assumes a single-path foo 17

  18. Why Multipath QUIC? ● QUIC assumes a single-path foo 18

  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 19

  20. Design of Multipath QUIC ● Connection is composed of a set of paths 20

  21. Design of Multipath QUIC ● Connection is composed of a set of paths 21

  22. Design of Multipath QUIC ● Connection is composed of a set of paths ? Pkt Performance monitoring? Loss detection? Path congestion control? 22

  23. Design of Multipath QUIC ● Connection is composed of a set of paths Pkt 23

  24. Design of Multipath QUIC ● Connection is composed of a set of paths Pkt Flags Connection ID Path ID Packet Number Encrypted Payload... Explicit path identifcation 24

  25. Design of Multipath QUIC ● Connection is composed of a set of paths Pkt Flags Connection ID Path ID Packet Number Encrypted Payload... Explicit path identifcation No path handshake 25

  26. Design of Multipath QUIC ● Connection is composed of a set of paths Pkt Flags Connection ID Path ID Packet Number Encrypted Payload... Per-path numbering space Explicit path identifcation No path handshake 26

  27. Multipath QUIC Data Transfer Server Server Phone via WiFi via LTE Path 1: WiFi Path 2: L TE 27

  28. Multipath QUIC Data Transfer Server Server Phone via WiFi via LTE F CID 1 PN=1 STR(id=5) Path 1: WiFi Path 2: L TE 28

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

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

  31. Multipath QUIC Data Transfer Server Server Phone via WiFi via LTE F CID 1 PN=1 STR(id=5) F CID 1 PN=1 STR(id=7,of==) F CID 2 PN=1 STR(id=7,of=1=24) F CID 1 PN=2 ACK(pid=1,1) ACK(pid=2,1) Multiple paths acked on a single path Path 1: WiFi Path 2: L TE 31

  32. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 32

  33. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 33

  34. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 ● Packet scheduling 2= ms RTT 10 ms RTT 34

  35. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 ● Packet scheduling 2= ms RTT 10 ms RTT 35

  36. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 ● Packet scheduling 2= ms RTT 2= ms RTT ? 10 ms RTT 36

  37. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 ● Packet scheduling 2= ms RTT 2= ms RTT Duplicate ? 10 ms RTT 37

  38. Multipath Mechanisms ● Path management IP1 IP3 IP2 IP4 ● Packet scheduling 2= ms RTT 2= ms RTT Duplicate ? 10 ms RTT ● Congestion control – Opportunistic Linked Increase Algorithm 38

  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 39

  40. Evaluating Bandoith Aggregation ● Doonload of 20 MB fle – Over a single stream – Collect the transfer time 40

  41. Evaluating Bandoith Aggregation ● Doonload of 20 MB fle 2=ms RTT, 2= Mbps – Over a single stream – Collect the transfer time 4=ms RTT, 15 Mbps ● For a loss-free scenario 41

  42. Evaluating Bandoith Aggregation ● Doonload of 20 MB fle 2=ms RTT, 2= Mbps – Over a single stream – Collect the transfer time 4=ms RTT, 15 Mbps ● For a loss-free scenario – MPQUIC has 13% speedup compared to MPTCP 42

  43. Evaluating Bandoith Aggregation ● Doonload of 20 MB fle 2=ms RTT, 2= Mbps – Over a single stream – Collect the transfer time 4=ms RTT, 15 Mbps ● For a loss-free scenario – MPQUIC has 13% speedup compared to MPTCP ● But ohat about other topologies? 43

  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] 0 50 Queuing Delay [ms] 0 100 Random Loss [%] 0 2.5 44

  45. Large File Doonload – No Loss TCP better QUIC better 45

  46. Large File Doonload – No Loss Single-path TCP better QUIC better 46

  47. Large File Doonload – No Loss 47

  48. Large File Doonload – No Loss MPQUIC better in 85% of cases 48

  49. Large File Doonload – No Loss MPQUIC better in 85% of cases Our extracted scenario 49

  50. Large File Doonload – No Loss Path 1: 49.4 ms RTT, 18.9= Mbps, 82 ms queing delay MPQUIC better Path 2: 1=.6 ms RTT, =.43 Mbps, in 85% of cases 11 ms queuing delay Path 1: 27.2 ms RTT, =.14 Mbps, 34 ms queuing delay Our extracted scenario Path 2: 46.4 ms RTT, 49.72 Mbps, 47 ms queuing delay 50

  51. Large File Doonload – Losses 51

  52. Large File Doonload – Losses QUIC copes better with losses 52

  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 53

  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 54

  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 55

  56. Thanks! multipath-quic.org 56

Recommend


More recommend