1 of 16

QUIC & HTTP/3 - 이제는 현실?

최준호 | junho.choi@gmail.com | QUIC과 HTTP/3 공부방

1

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

2 of 16

% whoami

2017 - 2022 Systems Architect, Cloudflare Inc. (San Francisco, CA)

2015 - 2017 Co-founder, Neumob Inc. (Sunnyvale, CA)

2005 - 2015 CDNetworks, Inc. (Seoul | Tokyo | San Jose, CA)

https://saturnsoft.net

@junhochoi

2

https://www.facebook.com/groups/1404889769714548

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

3 of 16

이제는 현실?

  • QUIC & HTTP/3 은 이미 실 서비스에서 사용중
  • 개발자: 브라우저 및 앱에서 QUIC과 HTTP/3이 사용될 수 있다는 점을 인지
  • 네트워크 관리자: QUIC 트래픽에 대해 기본적인 지식과 이해가 필요
  • 현재 운영 또는 개발 중인 서비스에 도입: 앞서 나갈 수 있는 기회

3

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

4 of 16

  • 2012: Google started to develop QUIC (gQUIC)
  • 2017: IETF worked on a version of QUIC based on Google QUIC
  • 2021: QUIC related RFC announced�
  • RFC 8999 - Version-Independent Properties of QUIC
  • RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport
  • RFC 9001 - Using TLS to Secure QUIC
  • RFC 9002 - QUIC Loss Detection and Congestion Control

4

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

5 of 16

  • RFC 9114 - HTTP/3
  • RFC 9204 - QPACK

5

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

6 of 16

6

  • UDP Based (443)
  • Packet Encryption
  • Reliable Transfer
  • Congestion Control, Recovery
  • Connection Migration
  • Encryption (TLS1.3)
  • Session Resumption
  • 0-RTT
  • Stream Multiplexing
  • Prioritization
  • Header Compression (QPACK)

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

7 of 16

7

Less Round Trip = Faster Startup

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

8 of 16

8

Head-of-Line Blocking

(Stream Multiplexing, QPACK)

Connection Migration

(No 5 tuple - using Connection ID)

Network Change

192.0.0.1

198.51.100.1

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

9 of 16

Browser Support

9

https://caniuse.com/http3

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

10 of 16

Server and Client Support

  • Server
    • nginx (native, or Cloudflare’s patch)
    • LiteSpeed Web Server
    • caddy
    • h2o, envoy
  • Client
    • curl (ngtcp2 or quiche)
    • h2load

10

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

11 of 16

CDN/Cloud/Appliances/Large Sites

11

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

12 of 16

Implementations

  • Userland/Open Source
  • quiche (Cloudflare), mvfst (Meta), quicly (Fastly), s2n-quic (Amazon), lsquic (LiteSpeed), quic-go, picoquic, aioquic, nginx, quinn…
  • https://github.com/quicwg/base-drafts/wiki/Implementations

12

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

13 of 16

How does Web Browser use QUIC?

  • QUIC - udp/443 by default
  • Most common way is using “alt-svc” http response header

13

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

14 of 16

HTTP/3 Usage

14

https://radar.cloudflare.com

https://w3techs.com

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

15 of 16

Other Use Case - iCloud Private Relay

15

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'

16 of 16

THANK YOU FOR LISTENING

Q&A

https://www.facebook.com/groups/1404889769714548

16

2022/11/5 제 33회 네트워크 전문가 따라잡기 'N.EX.T'