Chair of Network Architectures and Services Department of Informatics Technical University of Munich

QUIC - Next generation multiplexed transport over UDP

Mehdi Yosofie

Friday 25th January, 2019

Chair of Network Architectures and Services Department of Informatics Technical University of Munich Agenda

• Motivation • Comparison with TCP/TLS stack • QUIC Features • Handshake • Security • Stream Multiplexing • Loss Recovery • Congestion Control • Flow Control • Car Park Problem • Implementation and Testing • Conclusion • Bibliography

M. Yosofie — QUIC 2 Motivation Why QUIC?

• Current TCP/TLS stack • Handshake latency • Head of line blocking • Slow TCP release cycle

• QUIC goals

X Latency reduction X Removing head-of-line-blocking X Faster deployability

M. Yosofie — QUIC 3 Motivation

Application HTTP/2.0 HTTP/3.0

Security TLS QUIC

Transport TCP UDP

Network IP IP

Figure 1: QUIC in relation to TCP/TLS, adapted from [4]

M. Yosofie — QUIC 4 QUIC Features

• Handshake • Stream Multiplexing • Security • Loss Recovery • Congestion Control • Flow Control • And many more...

M. Yosofie — QUIC 5 Handshake

Sender Receiver

TCP 1 RTT

Figure 2: Handshakes in comparison, adapted from [1]

M. Yosofie — QUIC 6 Handshake

Sender Receiver Sender Receiver

TCP

TLS TCP 1 RTT

Data

TCP + TLS 1.2 3 RTT

Figure 2: Handshakes in comparison, adapted from [1]

M. Yosofie — QUIC 6 Handshake

Sender Receiver Sender Receiver Sender Receiver

TCP TCP

TLS

TLS TCP Data 1 RTT TCP + TLS 1.3 2 RTT Data

TCP + TLS 1.2 3 RTT

Figure 2: Handshakes in comparison, adapted from [1]

M. Yosofie — QUIC 6 Handshake

Sender Receiver

QUIC 1 RTT

Figure 3: Handshakes in comparison, adapted from [1]

M. Yosofie — QUIC 7 Handshake

Sender Receiver Sender Receiver

QUIC 0 RTT

QUIC 1 RTT

Figure 3: Handshakes in comparison, adapted from [1]

M. Yosofie — QUIC 7 Security

used own crypto library at first • TLS 1.3 recently (August 2018) standardized • TLS 1.3 decided as security layer in QUIC [5] • Transport + Security layer together in one layer -> 0-RTT possible

M. Yosofie — QUIC 8 Stream Multiplexing

Figure 4: Data flow in comparison [2]

M. Yosofie — QUIC 9 Stream Multiplexing

Figure 4: Data flow in comparison [2]

M. Yosofie — QUIC 9 Stream Multiplexing

Figure 4: Data flow in comparison [2]

M. Yosofie — QUIC 9 Loss Recovery

• Increasing packet numbers • No retransmission-ambiguity-problem like in TCP • Lost packet gets new sequence number and sent again

M. Yosofie — QUIC 10 Congestion Control

Not overwhelming the network (Not the same as flow control)

• QUIC has pluggable congestion control interface

2014 2016 2019 i m p l e m e n t a t i o n 1. IETF draft latest IETF draft

Cubic Cubic/Reno NewReno

Figure 5: Congestion Control in QUIC [3]

M. Yosofie — QUIC 11 Flow Control

Not overwhelming the sender (Not the same as congestion control)

• Stream level flow control • Connection level flow control

M. Yosofie — QUIC 12 "Car Park Problem"

Figure 6: QUIC connection with different IP addresses [1]

M. Yosofie — QUIC 13 Implementation and Testing

Chrome/, Youtube Android and all Google web services

Figure 7: QUIC in Chromium

M. Yosofie — QUIC 14 Conclusion

• New paradigm → Transport + Security in user space → 0-RTT • UDP as transport layer • Benefits → Faster Deployability → No head-of-line-blocking • Google’s leading position • Standardization process by IETF • Influence on TCP/TLS Stack

M. Yosofie — QUIC 15 Bibliography

[1] Quic @ live, february 2014. [2] Y. Cui, T. Li, C. Liu, X. Wang, and M. Kühlewind. Innovating transport with quic: Design approaches and research challenges. IEEE Internet Computing, 21(2):72–76, 2017. [3] J. Iyengar and I. Swett. QUIC Loss Detection and Congestion Control. Internet-Draft draft-ietf-quic-recovery-18, Internet Engineering Task Force, Jan. 2019. Work in Progress. [4] A. Langley, A. Riddoch, A. Wilk, A. Vicente, C. Krasic, D. Zhang, F. Yang, F. Kouranov, I. Swett, J. Iyengar, J. Bailey, J. Dorfman, J. Roskind, J. Kulik, P. Westin, R. Tenneti, R. Shade, R. Hamilton, V. Vasiliev, W.-T. Chang, and Z. Shi. The quic transport protocol: Design and internet-scale deployment. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication, SIGCOMM ’17, pages 183– 196, New York, NY, USA, 2017. ACM. [5] M. Thomson and S. Turner. Using TLS to Secure QUIC. Internet-Draft draft-ietf-quic-tls-18, Internet Engineering Task Force, Jan. 2019. Work in Progress.

M. Yosofie — QUIC 16 Backup Questions

• Why QUIC? Why not building a new transport protocol? • Because middleboxes (firewalls) do not forward unknown protocols. With UDP as underlying protocol, the chance is higher to get QUIC packets forwarded.

M. Yosofie — QUIC 17