a new internet transport presenter: jana iyengar quic
Post on 24-Jun-2022
1 Views
Preview:
TRANSCRIPT
QUICA 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.3July 2015 BarBoF, experimental resultsNov 2015 Cubic bug in QUIC, TCP (TCPM)
July 2016 BoF
2
The QUIC Experiment
TLS
HTTP/2
TCP
IP
QUIC Experiment(so far)
UDP
HTTP over QUIC
3
The IETF Proposal
TLS
HTTP/2
TCP
IP
QUIC
TCP-like congestion control, loss recovery
UDP
HTTP over QUIC
TLS 1.3
4
Standardized QUIC
TLS
HTTP/2
TCP
IP
QUIC
TCP-like congestion control, loss recovery
UDP
Application
Crypto handshake
5
● Deployability and evolvability
QUIC Design Aspirations
6
● Deployability and evolvability● Low latency connection establishment
QUIC Design Aspirations
7
● Deployability and evolvability● Low latency connection establishment● Multistreaming and per-stream flow control
QUIC Design Aspirations
8
● Deployability and evolvability● Low latency connection establishment● Multistreaming and per-stream flow control● Better loss recovery and flexible congestion control
QUIC Design Aspirations
9
● 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
● 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
Uses UDP as the substrateenables deployment through various middleboxesuserspace implementation enables rapid deployment
Deployability and Evolvability
12
Uses UDP as the substrateenables deployment through various middleboxesuserspace implementation enables rapid deployment
Version negotiationenables protocol wire format evolution
Deployability and Evolvability
13
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
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
QUIC builds on decades of experience with TCP
Congestion Control & Loss Recovery
16
QUIC builds on decades of experience with TCP
Incorporates TCP best practices TCP-like congestion control (NewReno, Cubic)
Congestion Control & Loss Recovery
17
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
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
Retransmitted packets consume new sequence number
no retransmission ambiguity
prevents loss of retransmission from causing RTO
Richer Signaling Than TCP
20
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
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
Debugging Tools: Wireshark
23
Debugging Tools: Chrome
chrome://net-internals
24
top related