quic - ripe 69quic • multiplex sessions over a single udp session – move the connection oriented...

12
1 11/6/14 QUIC Why Should I Care About Quick UDP Internet Connections

Upload: others

Post on 26-Feb-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

1 11/6/14

QUIC Why Should I Care About Quick UDP Internet Connections

Page 2: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

2 11/6/14

Loading Web Pages Quickly

Delay User Reaction

<100 ms instant 100 – 300 ms reasonable 300 ms – 1 sec Getting tedious > 1 sec Close tab

Modern Web Site •  1200 KB •  80 resources •  30 domains Data from httparchive.org

Per High Performance Browser Networking (Grigorik 2013)

Page 3: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

3 11/6/14

How To Make This Go Faster? TCP Pipeline

• Pipeline connections in a single TCP session – Ask for all the elements from a particular server over a single session

– Elements in series

– Head of line blocking

get /img3.jpg

get /img1.jpg

get /img2.jpg

/img1.jpg /img2.jpg

/img3.jpg

Page 4: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

4 11/6/14

How To Make This Go Faster? Multiple Parallel Sessions

• Open lots of TCP sessions – Most modern web browsers open 6-8 session

– More than 6-8 sessions is not helpful •  TCP syn, syn-ack, ack

•  TLS client hello, server hello, server key exchange, client key exchange

•  TCP window doubling

– An increase to 10 sessions results in a 5% worse performance for total page loads

SYN

SYN-ACK

ACK TLS client hello

TLS server hello

Server key exchange

Client key exchange data

Page 5: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

5 11/6/14

How To Make Things Go Faster? SPDY

• Multiplex sessions over a single TCP session – Shared TCP windowing

•  Decreased overhead, shared speed up

Page 6: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

6 11/6/14

How To Make Things Go Faster? SPDY

• Multiplex sessions over a single TCP session – Shared TCP windowing

•  TCP packet loss requires retransmit and deliver of lost packets

•  Later numbered packets are queued and delivered in order

Page 7: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

7 11/6/14

How To Make Things Go Faster? QUIC

• Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the

application on a per stream basis •  No TCP retransmit blocking

Page 8: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

8 11/6/14

How To Make Things Go Faster? QUIC

• Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the

application on a per stream basis •  No TCP retransmit blocking

Page 9: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

9 11/6/14

QUIC

• Quick UDP Internet Connections

• Multiplexed transport over UDP

• Reduced latency

• Open source development in Chromium

Page 10: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

10 11/6/14

QUIC

• Compression

• Encryption comparable to TLS –  https://docs.google.com/a/google.com/document/d/1g5nIXAIkN_Y-7XJW5K45IblHd_L2f5LTaDUDwvZ5L6g/editRapid reiteration

– Cryptographic Nonce

– Signed Proof of IP address

• Forward Error Correction (FEC)

• Packet pacing

• Adaptive congestion control

Page 11: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

11 11/6/14

Why Should I Care About QUIC?

• Chrome Dev channel already supports it – QUIC will become the default in future releases of chrome

• Many Google properties already support QUIC

• Could see a non-trivial ramp of of chrome user à Google traffic switch from TCP to UDP – Impact of increase of UDP on stateful FW / NAT

– PMTUD issues not previously seen due to TCP SYN MSS value

– QoS handling of UDP traffic different than TCP?

• Could see an increase in IPv6 traffic

Page 12: QUIC - RIPE 69QUIC • Multiplex sessions over a single UDP session – Move the connection oriented parts of TCP to the application on a per stream basis • No TCP retransmit blocking

12 11/6/14

Questions?

• Questions?

• Concerns about an increase in UDP traffic?