HOL Blocking

순서 보장은 손실 순간에 대기열이 된다

TCP는 바이트 스트림을 순서대로 애플리케이션에 전달합니다. 그래서 앞 세그먼트가 손실되면 뒤 세그먼트가 이미 도착해도 애플리케이션은 기다려야 합니다.

손실 하나가 뒤 데이터 전달을 막는 현상이 HOL Blocking입니다.
실시간 미디어는 늦은 프레임을 버리는 편이 나을 수 있습니다.
QUIC은 스트림별 손실 영향을 분리해 연결 단위 HOL을 줄입니다.
TCP stream

순서대로만 전달

2번 손실 전까지 앱 전달이 멈춥니다.

#1전달
#2손실
#3대기
#4대기
#2 재전송이후 해제

뒤 데이터가 도착해도 앞 손실이 복구될 때까지 애플리케이션 전달이 지연됩니다.

UDP / RTP

프레임 단위 선택

늦은 프레임을 버리고 다음 프레임을 표시할 수 있습니다.

F1표시
F2손실
F3표시
F4표시
F5표시

완전성은 낮아도 지연을 작게 유지해 실시간성을 지킬 수 있습니다.

QUIC streams

스트림별 영향 분리

한 스트림 손실이 다른 스트림 전달을 막지 않게 설계합니다.

A2A 대기
B1B 전달
C1C 전달
A3A 내부 대기
B2B 전달

스트림 내부 순서는 지키지만 연결 전체가 한 손실에 묶이는 문제를 줄입니다.