QUIC - Next generation multiplexed transport over UDP Mehdi Yosofie - - PowerPoint PPT Presentation

quic next generation multiplexed transport over udp
SMART_READER_LITE
LIVE PREVIEW

QUIC - Next generation multiplexed transport over UDP Mehdi Yosofie - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Motivation

IP TCP TLS HTTP/2.0 IP HTTP/3.0 QUIC UDP

Application Security Transport Network

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

  • M. Yosofie — QUIC

4

slide-5
SLIDE 5

QUIC

Features

  • Handshake
  • Stream Multiplexing
  • Security
  • Loss Recovery
  • Congestion Control
  • Flow Control
  • And many more...
  • M. Yosofie — QUIC

5

slide-6
SLIDE 6

Handshake

Sender Receiver

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

  • M. Yosofie — QUIC

6

slide-7
SLIDE 7

Handshake

Sender Receiver

TCP 1 RTT

Sender Receiver TCP TLS Data

TCP + TLS 1.2 3 RTT Figure 2: Handshakes in comparison, adapted from [1]

  • M. Yosofie — QUIC

6

slide-8
SLIDE 8

Handshake

Sender Receiver

TCP 1 RTT

Sender Receiver TCP TLS Data

TCP + TLS 1.2 3 RTT

Sender Receiver TCP TLS Data

TCP + TLS 1.3 2 RTT Figure 2: Handshakes in comparison, adapted from [1]

  • M. Yosofie — QUIC

6

slide-9
SLIDE 9

Handshake

Sender Receiver

QUIC 1 RTT

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

  • M. Yosofie — QUIC

7

slide-10
SLIDE 10

Handshake

Sender Receiver

QUIC 1 RTT

Sender Receiver

QUIC 0 RTT

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

  • M. Yosofie — QUIC

7

slide-11
SLIDE 11

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

slide-12
SLIDE 12

Stream Multiplexing

Figure 4: Data flow in comparison [2]

  • M. Yosofie — QUIC

9

slide-13
SLIDE 13

Stream Multiplexing

Figure 4: Data flow in comparison [2]

  • M. Yosofie — QUIC

9

slide-14
SLIDE 14

Stream Multiplexing

Figure 4: Data flow in comparison [2]

  • M. Yosofie — QUIC

9

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Congestion Control

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

  • QUIC has pluggable congestion control interface

i m p l e m e n t a t i o n

Cubic

2014 2019

Cubic/Reno

  • 1. IETF draft

latest IETF draft

NewReno

2016

Figure 5: Congestion Control in QUIC [3]

  • M. Yosofie — QUIC

11

slide-17
SLIDE 17

Flow Control

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

  • Stream level flow control
  • Connection level flow control
  • M. Yosofie — QUIC

12

slide-18
SLIDE 18

"Car Park Problem"

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

  • M. Yosofie — QUIC

13

slide-19
SLIDE 19

Implementation and Testing

Chrome/Chromium, Youtube Android and all Google web services

Figure 7: QUIC in Chromium

  • M. Yosofie — QUIC

14

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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