Multipath QUIC: Design and Evaluation
Transcript of Multipath QUIC: Design and Evaluation
![Page 1: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/1.jpg)
Multipath QUIC: Design and Evaluation
Quentin De Coninck, Olivier [email protected]
multipath-quic.org
![Page 2: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/2.jpg)
2
QUIC = Quick UDP Internet Connection
● TCP/TLS1.3 atop UDP● Stream multiplexing → HTTP/2 use case● 0-RTT establishment (most of the time)
IPTCPTLS
HTTP/2
IPUDP
QUIC
HTTP/2 shim
![Page 3: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/3.jpg)
3
QUIC Packet
Connection IDFlags Packet Number Encrypted Payload...
![Page 4: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/4.jpg)
4
QUIC Packet
Connection IDFlags Packet Number Encrypted Payload...
Cleartext Public Header
![Page 5: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/5.jpg)
5
QUIC Packet
Connection IDFlags Packet Number Encrypted Payload...
Cleartext Public Header
Does not depend on 4-tuple
![Page 6: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/6.jpg)
6
QUIC Packet
Connection IDFlags Packet Number Encrypted Payload...
Cleartext Public Header
Does not depend on 4-tuple
Monotonically Increasing
![Page 7: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/7.jpg)
7
QUIC Packet
Connection IDFlags Packet Number Encrypted Payload...
Cleartext Public Header
Does not depend on 4-tuple
Monotonically Increasing Contains control/data frames
![Page 8: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/8.jpg)
8
QUIC Data Transfer
H2H1
![Page 9: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/9.jpg)
9
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”H2H1
![Page 10: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/10.jpg)
10
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”H2H1
Actual data
![Page 11: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/11.jpg)
11
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”
CIDF PN=19 ACK(25) MAX_DATA(for stream=5): 1=24
H2H1
![Page 12: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/12.jpg)
12
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”
CIDF PN=19 ACK(25) MAX_DATA(for stream=5): 1=24
H2H1
Control Frames
![Page 13: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/13.jpg)
13
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”
CIDF PN=19 ACK(25) MAX_DATA(for stream=5): 1=24
CIDF PN=26 STREAM(id=5,of=26):”.” STREAM(id=7,of==):”Y” ACK(19)
H2H1
![Page 14: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/14.jpg)
14
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”
CIDF PN=19 ACK(25) MAX_DATA(for stream=5): 1=24
CIDF PN=26 STREAM(id=5,of=26):”.” STREAM(id=7,of==):”Y” ACK(19)
H2H1
Multiplexing
![Page 15: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/15.jpg)
15
QUIC Data Transfer
CIDF PN=25 STREAM(id=5,of==):”Some data in my long frame”
CIDF PN=19 ACK(25) MAX_DATA(for stream=5): 1=24
CIDF PN=2= ACK(26)
CIDF PN=26 STREAM(id=5,of=26):”.” STREAM(id=7,of==):”Y” ACK(19)
H2H1
![Page 16: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/16.jpg)
16
Why Multipath QUIC?
● QUIC assumes a single-path foo
![Page 17: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/17.jpg)
17
Why Multipath QUIC?
● QUIC assumes a single-path foo
![Page 18: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/18.jpg)
18
Why Multipath QUIC?
● QUIC assumes a single-path foo
![Page 19: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/19.jpg)
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
![Page 20: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/20.jpg)
20
Design of Multipath QUIC
● Connection is composed of a set of paths
![Page 21: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/21.jpg)
21
Design of Multipath QUIC
● Connection is composed of a set of paths
![Page 22: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/22.jpg)
22
Design of Multipath QUIC
● Connection is composed of a set of paths
Pkt?
Performance monitoring?Loss detection?Path congestion control?
![Page 23: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/23.jpg)
23
Design of Multipath QUIC
● Connection is composed of a set of paths
Pkt
![Page 24: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/24.jpg)
24
Design of Multipath QUIC
● Connection is composed of a set of paths
Connection IDFlags Packet Number Encrypted Payload...Path ID
Pkt
Explicit path identifcation
![Page 25: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/25.jpg)
25
Design of Multipath QUIC
● Connection is composed of a set of paths
Connection IDFlags Packet Number Encrypted Payload...Path ID
Pkt
Explicit path identifcation No path handshake
![Page 26: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/26.jpg)
26
Design of Multipath QUIC
● Connection is composed of a set of paths
Connection IDFlags Packet Number Encrypted Payload...Path ID
Pkt
Explicit path identifcation
Per-path numbering space
No path handshake
![Page 27: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/27.jpg)
27
Multipath QUIC Data Transfer
Server via WiFi
Server via LTE
Phone
Path 1: WiFi Path 2: LTE
![Page 28: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/28.jpg)
28
Multipath QUIC Data Transfer
Server via WiFi
Server via LTE
PhoneCIDF PN=1 STR(id=5)1
Path 1: WiFi Path 2: LTE
![Page 29: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/29.jpg)
29
Multipath QUIC Data Transfer
Server via WiFi
Server via LTE
PhoneCIDF PN=1 STR(id=5)1
CIDF PN=1 STR(id=7,of==)1 CIDF PN=1 STR(id=7,of=1=24)2
Path 1: WiFi Path 2: LTE
![Page 30: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/30.jpg)
30
Multipath QUIC Data Transfer
Server via WiFi
Server via LTE
PhoneCIDF PN=1 STR(id=5)1
CIDF PN=1 STR(id=7,of==)1 CIDF PN=1 STR(id=7,of=1=24)2
CIDF PN=2 ACK(pid=1,1)1 ACK(pid=2,1)
Path 1: WiFi Path 2: LTE
![Page 31: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/31.jpg)
31
Multipath QUIC Data Transfer
Server via WiFi
Server via LTE
PhoneCIDF PN=1 STR(id=5)1
CIDF PN=1 STR(id=7,of==)1 CIDF PN=1 STR(id=7,of=1=24)2
CIDF PN=2 ACK(pid=1,1)1 ACK(pid=2,1)
Path 1: WiFi Path 2: LTE
Multiple paths ackedon a single path
![Page 32: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/32.jpg)
32
Multipath Mechanisms
● Path management IP1
IP2
IP3
IP4
![Page 33: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/33.jpg)
33
Multipath Mechanisms
● Path management IP1
IP2
IP3
IP4
![Page 34: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/34.jpg)
34
Multipath Mechanisms
● Path management
● Packet scheduling
IP1
IP2
IP3
IP4
10 ms RTT
2= ms RTT
![Page 35: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/35.jpg)
35
Multipath Mechanisms
● Path management
● Packet scheduling
IP1
IP2
IP3
IP4
10 ms RTT
2= ms RTT
![Page 36: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/36.jpg)
36
Multipath Mechanisms
● Path management
● Packet scheduling
IP1
IP2
IP3
IP4
10 ms RTT
2= ms RTT 2= ms RTT
?
![Page 37: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/37.jpg)
37
Multipath Mechanisms
● Path management
● Packet scheduling
IP1
IP2
IP3
IP4
10 ms RTT
2= ms RTT 2= ms RTT
?Duplicate
![Page 38: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/38.jpg)
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
![Page 39: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/39.jpg)
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
![Page 40: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/40.jpg)
40
Evaluating Bandoith Aggregation
● Doonload of 20 MB fle– Over a single stream– Collect the transfer time
![Page 41: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/41.jpg)
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
![Page 42: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/42.jpg)
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
![Page 43: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/43.jpg)
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
![Page 44: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/44.jpg)
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
![Page 45: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/45.jpg)
45
Large File Doonload – No Loss
QUIC betterTCP better
![Page 46: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/46.jpg)
46
Large File Doonload – No Loss
QUIC betterTCP better
Single-path
![Page 47: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/47.jpg)
47
Large File Doonload – No Loss
![Page 48: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/48.jpg)
48
Large File Doonload – No Loss
MPQUIC better in 85% of cases
![Page 49: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/49.jpg)
49
Large File Doonload – No Loss
MPQUIC better in 85% of cases
Our extracted scenario
![Page 50: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/50.jpg)
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 delayPath 2: 1=.6 ms RTT, =.43 Mbps, 11 ms queuing delay
Path 1: 27.2 ms RTT, =.14 Mbps, 34 ms queuing delayPath 2: 46.4 ms RTT, 49.72 Mbps, 47 ms queuing delay
![Page 51: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/51.jpg)
51
Large File Doonload – Losses
![Page 52: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/52.jpg)
52
Large File Doonload – Losses
QUIC copes better with
losses
![Page 53: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/53.jpg)
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
![Page 54: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/54.jpg)
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
![Page 55: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/55.jpg)
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
![Page 56: Multipath QUIC: Design and Evaluation](https://reader030.fdocuments.us/reader030/viewer/2022012519/61939b52820dff77e24d3525/html5/thumbnails/56.jpg)
56
Thanks!
multipath-quic.org