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
• Google 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/Chromium, 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 @ google developers 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