QUIC A New Internet Transport Presenter: Jana Iyengar QUIC and - - PowerPoint PPT Presentation

quic
SMART_READER_LITE
LIVE PREVIEW

QUIC A New Internet Transport Presenter: Jana Iyengar QUIC and - - PowerPoint PPT Presentation

QUIC A New Internet Transport Presenter: Jana Iyengar 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.3 July 2015 BarBoF, experimental


slide-1
SLIDE 1

QUIC

A New Internet Transport Presenter: Jana Iyengar

slide-2
SLIDE 2

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.3 July 2015 BarBoF, experimental results Nov 2015 Cubic bug in QUIC, TCP (TCPM) July 2016 BoF

2

slide-3
SLIDE 3

The QUIC Experiment

TLS HTTP/2 TCP IP QUIC Experiment (so far) UDP HTTP over QUIC

3

slide-4
SLIDE 4

The IETF Proposal

TLS HTTP/2 TCP IP QUIC TCP-like congestion control, loss recovery UDP HTTP over QUIC TLS 1.3

4

slide-5
SLIDE 5

Standardized QUIC

TLS HTTP/2 TCP IP QUIC TCP-like congestion control, loss recovery UDP Application Crypto handshake

5

slide-6
SLIDE 6
  • Deployability and evolvability

QUIC Design Aspirations

6

slide-7
SLIDE 7
  • Deployability and evolvability
  • Low latency connection establishment

QUIC Design Aspirations

7

slide-8
SLIDE 8
  • Deployability and evolvability
  • Low latency connection establishment
  • Multistreaming and per-stream flow control

QUIC Design Aspirations

8

slide-9
SLIDE 9
  • Deployability and evolvability
  • Low latency connection establishment
  • Multistreaming and per-stream flow control
  • Better loss recovery and flexible congestion control

QUIC Design Aspirations

9

slide-10
SLIDE 10
  • 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

slide-11
SLIDE 11
  • 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

slide-12
SLIDE 12

Uses UDP as the substrate enables deployment through various middleboxes userspace implementation enables rapid deployment Deployability and Evolvability

12

slide-13
SLIDE 13

Uses UDP as the substrate enables deployment through various middleboxes userspace implementation enables rapid deployment Version negotiation enables protocol wire format evolution Deployability and Evolvability

13

slide-14
SLIDE 14

Uses UDP as the substrate enables deployment through various middleboxes userspace implementation enables rapid deployment Version negotiation enables protocol wire format evolution Fully authenticated and mostly encrypted headers avoids network ossification Deployability and Evolvability

14

slide-15
SLIDE 15

QUIC Streams Multiplexed streams within a transport connection multiple streams avoids HoL blocking shared congestion control and loss recovery two levels of flow control: stream and connection

15

slide-16
SLIDE 16

QUIC builds on decades of experience with TCP Congestion Control & Loss Recovery

16

slide-17
SLIDE 17

QUIC builds on decades of experience with TCP Incorporates TCP best practices TCP-like congestion control (NewReno, Cubic) Congestion Control & Loss Recovery

17

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

Retransmitted packets consume new sequence number no retransmission ambiguity prevents loss of retransmission from causing RTO Richer Signaling Than TCP

20

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

Debugging Tools: Wireshark

23

slide-24
SLIDE 24

Debugging Tools: Chrome chrome://net-internals

24