design and internet-scale deployment jana iyengar patrik westin, … · 2017-10-27 · 1 quic...

39
1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio Vicente, Charles Krasic, Dan Zhang, Fan Yang, Fedor Kouranov, Ian Swett, Jana Iyengar, Jeff Bailey, Jeremy Dorfman, Jim Roskind, Jo Kulik, Patrik Westin, Raman Tenneti, Robbie Shade, Ryan Hamilton, Victor Vasiliev, Wan-Teh Chang, Zhongyi Shi Google

Upload: others

Post on 05-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

1

QUICDesign and Internet-Scale Deployment

Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio Vicente,Charles Krasic, Dan Zhang, Fan Yang, Fedor Kouranov, Ian Swett, Jana Iyengar, Jeff Bailey, Jeremy Dorfman, Jim Roskind, Jo Kulik,

Patrik Westin, Raman Tenneti, Robbie Shade, Ryan Hamilton,Victor Vasiliev, Wan-Teh Chang, Zhongyi Shi

Google

Page 2: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Protocol for HTTPS transport, deployed at Google starting 2014Between Google services and Chrome / mobile apps

Improves application performanceYouTube Video Rebuffers: 15 - 18%Google Search Latency: 3.6 - 8%

35% of Google's egress traffic (7% of Internet)

IETF QUIC working group formed in Oct 2016Modularize and standardize QUIC

A QUIC history

2

Page 3: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

3

Google's QUIC deployment

Page 4: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

4

Google's QUIC deployment

Page 5: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

5

Google's QUIC deployment

Page 6: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

What are we talking about?

TLS

HTTP/2

TCP

IP

6

Page 7: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

What are we talking about?

TLS

HTTP/2

TCP

IP

QUIC

UDP

HTTP over QUIC

7

Page 8: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

QUIC design and experimentation

Metrics

Experiences

Outline

8

Page 9: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Deployability and evolvabilityin userspace, atop UDPencrypted and authenticated headers

Low-latency secure connection establishmentmostly 0-RTT, sometimes 1-RTT(similar to TCP Fast Open + TLS 1.3)

Streams and multiplexinglightweight abstraction within a connectionavoids head-of-line blocking in TCP

QUIC Design Goals (1 of 2)

9

Page 10: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Better loss recovery and flexible congestion controlunique packet number, receiver timestamp

Resilience to NAT-rebinding64-bit connection IDalso, connection migration and multipath

QUIC Design Goals (2 of 2)

10

Page 11: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

We've replayed hits from the 1990s and 2000s...(TCP Session, CM, SCTP, SST, TCP Fast Open ...)

… and added some new things

Hang on … some of this sounds familiar

11

Page 12: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Using Chromerandomly assign users into experiment groupsexperiment ID on requests to serverclient and server stats tagged with experiment ID

Novel development strategy for a transport protocolthe Internet as the testbedmeasure value before deploying any featurerapid disabling when something goes wrong

Experimentation Framework

12

Page 13: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Applications drive transport adoptionapp metrics define what app cares aboutsmall changes directly connected to revenue("end-to-end" metrics --- include non-network components)

Performance as improvements (average and percentiles)percentiles: rank samples in increasing order of metricinteresting behavior typically in tails

Measuring Value

13

Page 14: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Search Latencyuser enters search term --> entire page is loaded

Video Playback Latencyuser clicks on cat video --> video starts playing

Video Rebuffer Rate rebuffer time / (rebuffer time + video play time)

Application Metrics

14

Page 15: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

15

Search and Video Latency

Page 16: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

16

Search and Video Latency

Page 17: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

17

Search and Video Latency

Page 18: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

18

Search and Video Latency

Page 19: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

19

Search and Video Latency

Page 20: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

20

Why is app latency lower?

TCP

QUIC (all)

QUIC (1RTT+) 1 RTT

Page 21: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

21

Video Rebuffer Rate

Page 22: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

22

Video Rebuffer Rate

Page 23: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

23

Video Rebuffer Rate

Page 24: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

24

Video Rebuffer Rate

Page 25: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

25

Video Rebuffer Rate

Page 26: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

26

QUIC Improvement by Country

Page 27: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

27

QUIC Improvement by Country

Page 28: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

28

QUIC Improvement by Country

Page 29: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Better loss recovery in QUICunique packet number avoids retransmission ambiguity

TCP receive window limits throughput4.6% of connections are limited

Why is video rebuffer rate lower?

29

Page 30: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Firewall used first byte of packets for QUIC classification○ flags byte, was 0x07 at the time○ broke QUIC when we flipped a bit

"the ultimate defense of the end to end mode is end to end encryption" -- D. Clark, J. Wroclawski, K. Sollins, and R. Braden *

* Tussle in Cyberspace: Defining Tomorrow’s Internet. IEEE/ACM ToN, 2005.

Experiments and Experiences:Network Ossification

30

Page 31: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

● Better practices and tools than kernel● Better integration with tracing and logging infrastructure● Rapid deployment and evolution

Experiments and Experiences:Userspace development

31

Page 32: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Extra slides

32

Page 33: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

Experiments and Experiences:FEC in QUIC

33

Simple XOR-based FEC in QUIC○ 1 FEC packet per protected group○ Timing of FEC packet and size of group controllable

Conclusion: Benefits not worth the pain○ Multiple packet losses within RTT common○ FEC implementation extremely invasive○ Gains really at tail, where aggressive TLP wins

Page 34: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

● QUIC successfully used: 95.3% of clients● Blocked (or packet size too large): 4.4%● QUIC performs poorly: 0.3%

○ Networks that rate limit UDP○ Manually turn QUIC off for such ASes

Experiments and Experiences:UDP Blockage

34

Page 35: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

● UDP packet train experiment, send and echo packets● Measure reachability from Chrome users to Google servers

Experiments and Experiences:Packet Size Considerations

35

Page 36: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

36

All metrics improve more as RTT increases ...

Page 37: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

37

Network loss rate increases with RTT

Page 38: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

38

Network loss rate increases with RTT

Reason 1: QUIC's improved loss recovery helps more with increased RTT and loss rate

Page 39: Design and Internet-Scale Deployment Jana Iyengar Patrik Westin, … · 2017-10-27 · 1 QUIC Design and Internet-Scale Deployment Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio

39

Reason 2: TCP receive window limit

4.6% of connections have server's max cwnd == client's max rwnd