Top Banner
QUIC: in Theory and Practice Robin Marx - PhD researcher - @programmingart internetonmars.org/deltav.pdf
64

QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Jul 07, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

QUIC:in Theoryand Practice

Robin Marx - PhD researcher - @programmingart internetonmars.org/deltav.pdf

Page 2: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Q uick

U DPI nternetC onnections

Page 3: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Qa uaman

Ubr Ce wayne

IThe fastest man al ve

C ombined

Meanwhile...

Page 4: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

PhysicalData-Linknetwork

TransportSECURITY

APPLICATION

1

2

3

4

5-6

7

Page 5: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

PhysicalData-Linknetwork

TransportSECURITY

APPLICATION

1

2

3

4

5-6

7

Page 6: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

PhysicalData-Linknetwork

TransportSECURITY

APPLICATION

1

2

3

4

5-6

7

Page 7: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

PhysicalData-Linknetwork

TransportSECURITY

APPLICATION

1

2

3

4

5-6

7

Page 8: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis
Page 9: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP SYN/ACK

Page 10: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP SYN/ACK

TLS CERTIFICATE

Page 11: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP SYN/ACK

TLS CERTIFICATE

TLS CIPHER

Page 12: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP SYN/ACK

TLS CERTIFICATE

TLS CIPHER

HTTP GET

1 roundtrip = 125ms

Page 13: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 14: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 15: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 16: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 17: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 18: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 19: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCPHead-of-line

blocking

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 20: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

HTTPHead-of-line

blocking

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 21: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

HTTPHead-of-line

blocking

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 22: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

HTTPHead-of-line

blocking

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 23: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

HTTPHead-of-line

blocking

Wanda

Poker

spongebob

index.html

main.js

style.css

Page 24: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis
Page 25: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

1

2

3

4

5

6

Page 26: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

1

2

3

4

5

6

Page 27: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Problems THREE

1. 4-RTT connection setup

2. TCP head-of-line blocking

3. HTTP head-of-line blockingParallel connections}

Page 28: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TLS 1.2

Page 29: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TLS 1.2 resumptionTLS 1.3

Page 30: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TLS 1.2 resumptionTLS 1.3

TCP fast open

Page 31: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TLS 1.2 resumptionTLS 1.3

TCP fast open TLS 1.3 resumption

0 - RTT

Page 32: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

1.2 1.3 TLS

Page 33: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

1.1 HTTP

Page 34: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

1.1 2 HTTP

Page 35: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis
Page 36: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Lorem ipsum dolor sit amet, consectetur adipiscing

elit. In sed velit urna. Vivamus lectus est, facilisis in

imperdiet nec, tempus quis turpis. Morbi posuere leo

sit amet mi mattis, sed sollicitudin diam porttitor.

Curabitur sed orci urna. Donec tincidunt ligula eget

eros rhoncus, a maximus erat fermentum. Curabitur

pharetra tempus ante non aliquet. Nulla efficitur

metus vulputate felis suscipit, in hendrerit ipsum

venenatis. Praesent ut nunc facilisis, convallis lacus

eu, egestas ante.

Page 37: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing

elit. In sed velit urna. Vivamus lectus est, facilisis in

imperdiet nec, tempus quis turpis. Morbi posuere leo

sit amet mi mattis, sed sollicitudin diam porttitor.

Curabitur sed orci urna. Donec tincidunt ligula eget

eros rhoncus, a maximus erat fermentum. Curabitur

pharetra tempus ante non aliquet. Nulla efficitur

metus vulputate felis suscipit, in hendrerit ipsum

venenatis. Praesent ut nunc facilisis, convallis lacus

eu, egestas ante.

Page 38: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP

Page 39: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP

Page 40: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP

Page 41: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Page 42: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Page 43: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

TCP UDP

Page 44: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

IPTCP

TLS 1.3HTTP/2

QUIC

Page 45: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

IPTCP

TLS 1.3HTTP/2

QUIC

UDP

HTTP/2 over quic

TLS 1.3 Q U IC

Page 46: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

IPTCP

TLS 1.3HTTP/2

QUIC

UDP

HTTP/2 over quic

TLS 1.3 Q U IC

QUIC- Steals Multiplexing from HTTP/2

- Re-implements In-order Reliability on top of UDP

Page 47: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

IPTCP

TLS 1.3HTTP/2

QUIC

UDP

HTTP/2 over quic

TLS 1.3 Q U IC

QUIC- Steals Multiplexing from HTTP/2

- Re-implements In-order Reliability on top of UDP

= Per-resource reliabilityOn a single connection

Page 48: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

The mother of all protocols1. ++Security

2. Prevent middlebox meddlingthrough encryption

3. ConnectionID and Multipath

4. Forward Error Correction, Header compression, ....

Page 49: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

CustomCongestionControl

Page 50: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

CustomCongestionControl

Netinfo APIwicg.github.io/netinfo

+

Page 51: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

WE

Page 52: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

gQUIC>7% of global traffic

Battle-tested (but only by Google)

Page 53: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

gQUIC>7% of global traffic

Battle-tested (but only by Google)

iQUIC0% of global traffic

14 implementationsNot integrated into browser

V1 POC by end of 2018https://github.com/rmarx/quickerhttps://github.com/quicwg/base-drafts/wiki/Implementations

Page 54: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

8% on desktopOn average

3.6% on mobileOn average

Langley et al., The QUIC Transport Protocol: Design and Internet-Scale Deployment, 2017

Latency reduction

Page 55: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

8% on desktopOn average

16 - 14% 99th percentile

3.6% on mobileOn average

Langley et al., The QUIC Transport Protocol: Design and Internet-Scale Deployment, 2017

Latency reduction

Page 56: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

88% on desktop

68% on mobile

Langley et al., The QUIC Transport Protocol: Design and Internet-Scale Deployment, 2017

0-RTT success rate

Page 57: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

QUIC is better than TCP, HTTP/2 (and 1.1) (on lossy networks)

Langley et al., The QUIC Transport Protocol: Design and Internet-Scale Deployment, 2017Cook et al., QUIC: Better for What and for Whom?, 2017

Megyesi et al., How quick is QUIC?, 2016

14% faster than TCP (H1.1 and H2) on 4G

20% slower with loss vs TCP H1.1 100% and H2 >200%

20% less rebuffering for YouTube in India

Page 58: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Is QUIC really better than TCP, HTTP/2 (and 1.1) ?

Bhat et al., Not so QUIC: A Performance Study of DASH over QUIC, 2017Kakhki et al., Taking a Long Look at QUIC, 2017

Carlucci et al., HTTP over UDP: an Experimental Investigation of QUIC, 2015

100% slower than TCP if packet re-ordering

Up to 75% less Mbps than TCP for DASH streaming

30% slower than TCP H1.1 on fast lossy network

Page 59: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

QUIC costs

≈2x CPU Compared to TCP/TLS

Langley et al., The QUIC Transp t Protocol: Design and Internet-Scale Deployment, 2017

Userspaceoverhead

Page 60: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

58% of time

CPU, not networkWas slowdown cause

On mobile

Kakhki et al., Taking a Long Look at QUIC, 2017

Userspaceoverhead

Page 61: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

QUIC: The mother of all protocols

1. TCP -> UDP

2. Security, performance and evolvability

3. Better overall, but especially for lossy networks

Page 62: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Predicting the future

1. Move to HTTP/2 (or at least HTTPS)

2. Just flip the switch™ (2019-2020)

3. Prepare to use tweak-tools (push + congestion control)

https://github.com/quicwg

Page 63: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis
Page 64: QUIC: in Theory and Practiceinternetonmars.org/deltav.pdf · Spongebob style.css Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed velit urna. Vivamus lectus est, facilisis

Image sourceshttps://www.slidescarnival.com/jachimo-free-presentation-template/1393https://www.dafont.com/justice-league.font?text=Combined https://thegothamguardian.deviantart.com/art/DCEU-Aquaman-Logo-647002738https://adeadhitya.deviantart.com/art/Superman-Batman-Wonder-Woman-Aquaman-06-476438059http://bitsup.blogspot.be/2017/04/on-merits-of-quic-for-http.htmlhttps://iconscout.com/icon-pack/superherohttps://www.pinterest.com/pin/560698222343595129/http://batman.wikia.com/wiki/Batman_(Dozierverse)https://comicvine.gamespot.com/forums/battles-7/superman-reeves-vs-dceu-trinity-1883176/https://sirawesomelyodd.deviantart.com/art/Whale-Tail-312314009https://i.pinimg.com/originals/03/9d/82/039d82709d5ddbd3e7d0111b1c3fcc22.jpghttp://weknowmemes.com/2013/07/aquamans-worst-enemy/http://friendshipismagicfanon.wikia.com/wiki/File:Portal_outer_v2.pnghttp://dc.wikia.com/wiki/Aquaman_Recommended_Readinghttp://www.weirdsciencedccomics.com/2017/09/aquaman-28-review-and-spoilers.htmlhttp://www.stickpng.com/img/objects/toys/lego-batmanhttps://letterboxd.com/film/the-dark-knight/http://www.adam-williams.net/biography/a-treasure-from-the-vault/https://www.flickr.com/photos/davegray/147874576https://www.polygon.com/2017/7/24/16021098/superman-mustache-justice-league-reshootshttps://www.youtube.com/watch?v=VuoLs1XU4Wchttps://imgflip.com/memetemplate/27729883/Batman-thumbs-uphttps://imgur.com/gallery/ZCMeDZbhttps://imgflip.com/memetemplate/74873042/Batman-Surprisedhttps://warosu.org/tg/image/t22R8ffvDgOvANPEzOLDXghttps://www.pinterest.com/pin/172755335686810350/https://batman-news.com/2016/01/08/jesse-eisenberg-lex-luthor-going-bald-is-the-greatest-scene-ive-ever-done/