Chair of Network Architectures and Services Department of Informatics Technical University of Munich QUIC - Next generation multiplexed transport over UDP Mehdi Yosofie Friday 25 th 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 � Latency reduction � Removing head-of-line-blocking � Faster deployability M. Yosofie — QUIC 3
Motivation HTTP/3.0 HTTP/2.0 Application TLS QUIC Security TCP Transport UDP IP IP Network 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 1. IETF draft latest IETF draft i m p l e m e n t a t i o n 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
Recommend
More recommend