HTTP/3가 UDP(QUIC)를 선택한 이유

Source

  • Evernote/Inbox/HTTP3는 왜 UDP를 선택한 것일까.md

Summary

HTTP/3는 기존 TCP 기반의 HTTP/1, HTTP/2와 달리 UDP 기반의 QUIC 프로토콜을 사용한다. 이는 TCP의 3-way handshake로 인한 레이턴시, 헤드-of-line blocking 문제, 그리고 커널 레벨에서의 수정 한계를 극복하기 위함이다. QUIC은 사용자 공간에서 신뢰성 있는 전송을 구현하여 연결 설정 속도를 높이고, 네트워크 변경 시 연결 유지 등 성능과 안정성을 개선했다.

Key Points

  • HTTP/3는 UDP 기반의 QUIC(Quick UDP Internet Connection) 프로토콜 위에서 동작한다.
  • 기존 TCP는 3-way handshake로 인한 초기 연결 지연과 패킷 손실 시 전체 스트림이 멈추는 Head-of-line blocking 문제가 있다.
  • TCP는 커널 레벨에서 처리되어 프로토콜 개선이 어렵고, 새로운 기능 도입에 시간이 많이 소요된다.
  • QUIC은 UDP를 기반으로 하되, 사용자 공간에서 신뢰성, 순서 보장, 암호화(TLS 1.3 통합) 등을 자체적으로 구현한다.
  • QUIC은 1-RTT 또는 0-RTT 연결 설정을 지원하여 초기 연결 속도를 대폭 단축한다.
  • 네트워크 환경이 변경되어도 연결 ID를 통해 기존 연결을 유지할 수 있어 모바일 환경 등에서 유리하다.