QUIC (심화)
QUIC (심화)
UDP 기반의 저지연 전송 프로토콜로, TCP의 신뢰성과 HTTP/2의 멀티플렉싱을 결합하고 0-RTT 연결 설정, TLS 1.3 내장, 연결 마이그레이션을 제공하여 HTTP/3의 전송 계층으로 사용
목적: 저지연 통신, 빠른 연결 설정, 멀티플렉싱, 모바일 환경 최적화
특징: UDP 기반, 0-RTT/1-RTT 연결, TLS 1.3 통합, 연결 마이그레이션, 스트림 다중화, HOL 차단 해결
구성요소: 연결 ID, 스트림(Stream), 프레임(Frame), 패킷 번호, 암호화(TLS 1.3), ACK, 흐름 제어, 혼잡 제어
0-RTT 연결: 이전 세션 정보 캐시 → 첫 패킷에 데이터 포함 → 왕복 지연 없음(재전송 공격 위험)
1-RTT 연결: 최초 연결 시 1번 왕복으로 TLS + 데이터 전송(TCP+TLS는 3-RTT)
연결 마이그레이션: IP 변경(WiFi↔모바일) 시에도 연결 ID로 세션 유지 → 재연결 불필요
HOL 차단 해결: TCP는 패킷 손실 시 모든 스트림 차단 → QUIC은 손실 스트림만 차단, 독립 전송
멀티플렉싱: 여러 스트림을 하나의 QUIC 연결로 다중화, HTTP/2와 유사하지만 TCP HOL 문제 없음
장점: 빠른 연결(0/1-RTT), 저지연, HOL 차단 해결, 연결 마이그레이션, 네트워크 변화 대응
단점: UDP 차단 방화벽, CPU 오버헤드(암호화), 미들박스 호환성, 복잡한 구현
적용사례: HTTP/3, Google 서비스, Cloudflare, YouTube, CDN, 모바일 앱
비교: QUIC(UDP/빠름/HOL해결) vs TCP(느림/HOL발생) vs HTTP/2(TCP 기반)
연관: HTTP/3, UDP, TLS 1.3, 멀티플렉싱, 0-RTT