a new internet transport presenter: jana iyengar quic

24
QUIC A New Internet Transport Presenter: Jana Iyengar

Upload: others

Post on 24-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A New Internet Transport Presenter: Jana Iyengar QUIC

QUICA New Internet Transport

Presenter: Jana Iyengar

Page 2: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC and the IETF

Nov 2013 Early design and experience (TSVAREA)Mar 2015 QUIC handshake (SAAG)Mar 2015 onwards Replacing QUIC's handshake with TLS1.3July 2015 BarBoF, experimental resultsNov 2015 Cubic bug in QUIC, TCP (TCPM)

July 2016 BoF

2

Page 3: A New Internet Transport Presenter: Jana Iyengar QUIC

The QUIC Experiment

TLS

HTTP/2

TCP

IP

QUIC Experiment(so far)

UDP

HTTP over QUIC

3

Page 4: A New Internet Transport Presenter: Jana Iyengar QUIC

The IETF Proposal

TLS

HTTP/2

TCP

IP

QUIC

TCP-like congestion control, loss recovery

UDP

HTTP over QUIC

TLS 1.3

4

Page 5: A New Internet Transport Presenter: Jana Iyengar QUIC

Standardized QUIC

TLS

HTTP/2

TCP

IP

QUIC

TCP-like congestion control, loss recovery

UDP

Application

Crypto handshake

5

Page 6: A New Internet Transport Presenter: Jana Iyengar QUIC

● Deployability and evolvability

QUIC Design Aspirations

6

Page 7: A New Internet Transport Presenter: Jana Iyengar QUIC

● Deployability and evolvability● Low latency connection establishment

QUIC Design Aspirations

7

Page 8: A New Internet Transport Presenter: Jana Iyengar QUIC

● Deployability and evolvability● Low latency connection establishment● Multistreaming and per-stream flow control

QUIC Design Aspirations

8

Page 9: A New Internet Transport Presenter: Jana Iyengar QUIC

● Deployability and evolvability● Low latency connection establishment● Multistreaming and per-stream flow control● Better loss recovery and flexible congestion control

QUIC Design Aspirations

9

Page 10: A New Internet Transport Presenter: Jana Iyengar QUIC

● Deployability and evolvability● Low latency connection establishment● Multistreaming and per-stream flow control● Better loss recovery and flexible congestion control● Resilience to NAT-rebinding

QUIC Design Aspirations

10

Page 11: A New Internet Transport Presenter: Jana Iyengar QUIC

● Deployability and evolvability● Low latency connection establishment● Multistreaming and per-stream flow control● Better loss recovery and flexible congestion control● Resilience to NAT-rebinding● Multipath for resilience and load sharing

QUIC Design Aspirations

11

Page 12: A New Internet Transport Presenter: Jana Iyengar QUIC

Uses UDP as the substrateenables deployment through various middleboxesuserspace implementation enables rapid deployment

Deployability and Evolvability

12

Page 13: A New Internet Transport Presenter: Jana Iyengar QUIC

Uses UDP as the substrateenables deployment through various middleboxesuserspace implementation enables rapid deployment

Version negotiationenables protocol wire format evolution

Deployability and Evolvability

13

Page 14: A New Internet Transport Presenter: Jana Iyengar QUIC

Uses UDP as the substrateenables deployment through various middleboxesuserspace implementation enables rapid deployment

Version negotiationenables protocol wire format evolution

Fully authenticated and mostly encrypted headersavoids network ossification

Deployability and Evolvability

14

Page 15: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC Streams

Multiplexed streams within a transport connectionmultiple streams avoids HoL blockingshared congestion control and loss recoverytwo levels of flow control: stream and connection

15

Page 16: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC builds on decades of experience with TCP

Congestion Control & Loss Recovery

16

Page 17: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC builds on decades of experience with TCP

Incorporates TCP best practices TCP-like congestion control (NewReno, Cubic)

Congestion Control & Loss Recovery

17

Page 18: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC builds on decades of experience with TCP

Incorporates TCP best practices TCP-like congestion control (NewReno, Cubic) FACK, TLP, F-RTO, Early Retransmit, … (also, time-based loss detection)

Congestion Control & Loss Recovery

18

Page 19: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC builds on decades of experience with TCP

Incorporates TCP best practices TCP-like congestion control (NewReno, Cubic) FACK, TLP, F-RTO, Early Retransmit, … (also, time-based loss detection)

Richer signaling than TCP

Congestion Control & Loss Recovery

19

Page 20: A New Internet Transport Presenter: Jana Iyengar QUIC

Retransmitted packets consume new sequence number

no retransmission ambiguity

prevents loss of retransmission from causing RTO

Richer Signaling Than TCP

20

Page 21: A New Internet Transport Presenter: Jana Iyengar QUIC

Retransmitted packets consume new sequence number

no retransmission ambiguity

prevents loss of retransmission from causing RTO

More verbose ACK

TCP supports up to 3 SACK ranges

QUIC supports up to 256 ACK ranges

explicit packet receive times

enables ACK decimation

Richer Signaling Than TCP

21

Page 22: A New Internet Transport Presenter: Jana Iyengar QUIC

QUIC Implementations

Chromium (open source)https://cs.chromium.org/chromium/src/net/quic/

quic-go (open source implementation in Go)https://github.com/lucas-clemente/quic-go

Christian Huitema's implementation

22

Page 23: A New Internet Transport Presenter: Jana Iyengar QUIC

Debugging Tools: Wireshark

23

Page 24: A New Internet Transport Presenter: Jana Iyengar QUIC

Debugging Tools: Chrome

chrome://net-internals

24