๐ฑ HTTP์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ HTTP/3.0์ ํน์ง์์ QUIC ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ HOL Blocking ํ์์ ์ ๊ฑฐํ๋ค๊ณ ์๊ฒ ๋์๋ค. TCP์๋ ๋ฌ๋ฆฌ ์คํธ๋ฆผ ๋ณ๋ก ๋ ๋ฆฝ์ ์ธ ์ ์ก์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ์ ๊ฑฐ๋ฅผ ํ ์ ์์๋ค๊ณ ํ๋๋ฐ, “์คํธ๋ฆผ ๋ณ๋ก ๋ ๋ฆฝ์ ์ธ ์ ์ก์ ํ๋ค๋ ๊ฒ์ ์ด๋ค ์๋ฏธ์ผ๊น?”๋ผ๋ ์๋ฌธ์ด ์๊ฒจ ๊ณต๋ถํ๊ฒ ๋์๋ค.
HOL Blocking ํ์์ HTTP, TCP, ์ค์์น ๋ฐ ๋ผ์ฐํฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๋ฑ์์ ๋ฐ์ํ๋ ํ์์ด๋ค. ์ด ์ค์์ ์ฐ๋ฆฌ๊ฐ ์์๊ฐ ๊ฒ์ HTTP, TCP์ HOL Blocking ํ์์ด ์ด๋ป๊ฒ ๋ฐ์ํ๋ฉฐ, QUIC์ด ์ด๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด๋ค.
๋จผ์ QUIC์ ๋ํด ๊ฐ๋จํ๊ฒ ์์๋ณด์.
QUIC์ ์ ๋ฑ์ฅ ํ์๊น?
QUIC์ด ๋ฑ์ฅํ ๋ฐฐ๊ฒฝ์ ์ธํฐ๋ท์ ๊ธ๊ฒฉํ ๋ฐ์ ๊ณผ ๋ณํ์ ๋์ํ๊ธฐ ์ํจ์ด๋ค. ๊ณผ๊ฑฐ์๋ ๊ฐ๋จํ ์น ํ์ด์ง ๋ก๋ฉ์๋ 1~2๋ถ ์ด์์ ์๊ฐ์ด ์์๋๊ณค ํ์ผ๋ฉฐ, ์ ํด์๋ ๋์์์ ๋ณด๋ ค๋ฉด ์ฌ์ ์งํ ์ผ์ ์ ์งํ์ฌ ๋ฒํผ๋ง์ ๊ธฐ๋ค๋ ธ๋ค. ๊ทธ๋ฌ๋ ํ์ฌ ์ฌ์ฉ์๋ค์ ์ธํฐ๋ท ์ํ์ ํ ๋ ๋๊ธฐ ์๊ฐ ์์ด ์ํํ๊ฒ ์ ๋ณด๋ฅผ ์ป๊ธฐ๋ฅผ ์ํ๊ณ , 4K ํ์ง์ ๋์์๋ ๋ฒํผ๋ง์ด๋ ํฝ์ ํ ์์ด ์ฆ๊ฐ์ ์ผ๋ก ์คํธ๋ฆฌ๋ฐํ๊ธธ ๋ฐ๋๋ค. ์ด๋ฐ ์ฌ์ฉ์์ ๋์ฆ์ ๊ธฐ๋์ ๋ถ์ํ๊ธฐ ์ํด ์ธํฐ๋ท ๊ธฐ์ ์ ๋์์์ด ๋ฐ์ ํ์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ธํฐ๋ท ํ๋กํ ์ฝ์ธ TCP๋ ๊ทธ ์์ฒด๋ก๋ ์ด๋ฌํ ํ๋์ ์๊ตฌ์ฌํญ์ ์๋ฒฝํ ๋ง์กฑ์ํค๊ธฐ ์ด๋ ค์ ๋ค. ๋ฌผ๋ก , TCP๋ ๊ทธ ์์ฒด๋ก ํ์ํ ํ๋กํ ์ฝ์ด๋ค. ๊ทธ๋ฌ๋ ํ๋ ์ธํฐ๋ท ํ๊ฒฝ์์ ๋ ๋์ ํผํฌ๋จผ์ค์ ๋ฐ์์ฑ์ ์๊ตฌํ๋ ์๋น์ค๋ฅผ ์ํด TCP๋ฅผ ์ง์ ์์ ํ๊ธฐ๋ ์ด๋ ต๋ค. ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ QUIC์ด ํ์ํ๊ฒ ๋์๋ค.
๊ทธ๋์ QUIC, ์ ๋น ๋ฅธ๋ฐ?
์ฐ๊ฒฐ ์ง์ญ ์๊ฐ ๋จ์ถ
QUIC์ ๋ณด์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์ํด TCP์ TLS์ ๋ ๋ฒ์ ํธ๋์์ดํฌ๋ฅผ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์๋ค. ๋๋ถ์ ์ฐ๊ฒฐ์ด ๋๊ธด ํ์๋ ๋น ๋ฅด๊ฒ ๋ณต๊ตฌ๋๋ค. ์ฒ์ ์๋น์ค์ ์ฐ๊ฒฐํ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ์ํ๊ฒ ๋ฐ์ ์ ์์ผ๋ฉฐ, ์ฌ์ฐ๊ฒฐ ์์๋ ๋์ฑ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํ๋ค. QUIC 1.0์ ๋ชจ๋ ๋ฐ์ดํฐ ์ ์ก์ TLS 1.3 ๊ธฐ๋ฐ ์ํธํ๋ฅผ ์ ์ฉํ๋ค. TCP๋ฅผ ์ฌ์ฉํ ๋๋ 3-way-handshake๋ก ์ธํด ์ต์ 1-RTT์ ์ง์ฐ์ด ๋ฐ์ํ๋ค. HTTPS๋ฅผ ์ฌ์ฉํ๋ฉด TLS ํธ๋์์ดํฌ๋ก ์ธํด ์ถ๊ฐ RTT๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋ฌ๋ QUIC์ TCP์ TLS์ ํธ๋์์ดํฌ ๊ณผ์ ์ ํ ๋ฒ์ ์ฒ๋ฆฌํ์ฌ ์๊ฐ์ ๋จ์ถํ๋ค.
์ฐ๊ฒฐ ์ฌ์ฌ์ฉ
QUIC์ ์คํธ๋ฆผ๊ณผ ์ธ์ ํฐ์ผ์ ํ์ฉํ์ฌ ์ธ์ ์ ์ฌ์ฌ์ฉํ๋ค. ๋จ์ผ QUIC ์ธ์ ์๋ ์ฌ๋ฌ ์คํธ๋ฆผ์ด ๋์์ ์กด์ฌํ ์ ์์ผ๋ฉฐ, ์๋ฒ๋ ์ ์ฒด ํธ๋์์ดํฌ ๊ณผ์ ์์ด ์ธ์ ํฐ์ผ์ ์ด์ฉํด ํด๋ผ์ด์ธํธ์ ์์ ํ๊ฒ ์ฌ์ฐ๊ฒฐํ ์ ์๋ค. ํนํ, QUIC์ ํ ๋ฒ ์ด์์ ๋ฐ์ดํฐ ์ ์ก ๊ฒฝํ์ด ์๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์๋ 0-RTT๋ก ์๋ํ์ฌ ๋น ๋ฅธ ์ฌ์ฐ๊ฒฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
Connection Migration
QUIC์ IP ์ฃผ์ ๋ณ๊ฒฝ์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๊ฒฐ์ ์ ์งํ๋ค. ์๋ฅผ ๋ค์ด, ์ ์ LAN์ ์ฐ๊ฒฐ๋ ๋ ธํธ๋ถ์ WiFi๋ก ์ ํํ ๊ฒฝ์ฐ, TCP๋ฅผ ์ฌ์ฉํ๋ฉด ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ณ WiFi IP๋ก ์๋ก์ด ์ฐ๊ฒฐ์ ์์ํด์ผ ํ๋ค. ๋ฐ๋ฉด QUIC๋ ์๋ฒ์ Connection ID๋ฅผ ์ ๊ณตํ์ฌ, ์ IP ์ฃผ์์์๋ ๊ธฐ์กด ์ฐ๊ฒฐ์ ์ ์งํ๊ฒ ๋ง๋ ๋ค.
HTTP์์ HOL Blocking์ด ๋ฐ์ํ๋ ์ด์ ๋ ๋ญ๊น?
QUIC์ด ์ด๋ป๊ฒ HOL Blocking์ ํผํ๋์ง ์๋ ค๋ฉด ์ ๋ฐ์์ ํ๋์ง ๋จผ์ ์์์ผํ ๊ฒ์ด๋ค. TCP์์์ HOL Blocking์ ์๊ธฐ ์ ์ HTTP์์์ HOL Blocking์ ๋จผ์ ์์๋ณด์.
HTTP / 1.0
HTTP/1.0์์ ํด๋ผ์ด์ธํธ๋ HTML, CSS, JS ๊ฐ์ ์์๋ค์ ์์ฒญํ๊ธฐ ์ํด ๋ณ๋์ TCP ์ฐ๊ฒฐ์ ๋งบ์ด์ผ ํ๋ค. ํนํ, HTTP/1.0์ ํน์ฑ์ ํ TCP ์ฐ๊ฒฐ์์๋ ๋จ ํ๋์ ์์ฒญ๋ง ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์์ฒญ์ ๋ํ ์๋ต์ด ๋์ฐฉํ ํ ํด๋น TCP ์ฐ๊ฒฐ์ ์ข ๋ฃ๋๋ค. ์๋ฅผ ๋ค์ด, ํด๋ผ์ด์ธํธ๊ฐ HTML ํ์ผ์ ์์ฒญํ ๋ ์ฒซ ๋ฒ์งธ TCP ์ฐ๊ฒฐ์ ์ฌ์ฉํ๊ฒ ๋๊ณ , ํด๋น ์ฐ๊ฒฐ์ HTML์ ๋ํ ์๋ต์ ๋ฐ์ ํ์ ์ข ๋ฃ๋๋ค. ๊ทธ ๋ค์ CSS ํ์ผ์ ์์ฒญํ๊ธฐ ์ํด์๋ ์๋ก์ด TCP ์ฐ๊ฒฐ์ ์ด์ด์ผ ํ๋ค. ์ด๋ฐ ๋ฐฉ์์ ๊ฒฐ๊ณผ๋ก, ํด๋ผ์ด์ธํธ๋ ์ฐ์๋ ์ฌ๋ฌ ์์ฒญ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ฉฐ, ํ ์์ฒญ์ ๋ํ ์๋ต์ด ๋์ฐฉํ๊ธฐ ์ ๊น์ง๋ ๋ค์ ์์ฒญ์ ๋ณด๋ผ ์ ์๋ค. ์ด ํ์์ "HOL (Head Of Line) Blocking"์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด๋ก ์ธํด, ๋ง์ฝ HTML์ ๋ํ ์๋ต์ด 10๋ถ์ด ๊ฑธ๋ฆฐ๋ค๋ฉด, CSS์ ๋ํ ์๋ต์ด ์ค์ ๋ก๋ 1์ด๋ง์ ๊ฐ๋ฅํ๋๋ผ๋, HTML์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ 10๋ถ ๋์ ๋๊ธฐํด์ผ๋ง ํ๋ค. ์ด๋ ๊ฒ HTTP/1.0์ ๊ตฌ์กฐ๋ ํจ์จ์ ์ด์ง ์์, ์น ์ฑ๋ฅ์ ํฐ ์ ์ฝ์ ๊ฐํ๊ฒ ๋๋ค.
HTTP / 1.1
HTTP/1.1์์๋ ํด๋ผ์ด์ธํธ๊ฐ HTML, CSS, JS ๊ฐ์ ์์๋ค์ ์์ฒญํ ๋, ํ๋์ TCP ์ฐ๊ฒฐ์ ํตํด ์ฌ๋ฌ ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋์๋ค. ์ด๋ฌํ ๊ธฐ์ ์ 'ํ์ดํ๋ผ์ด๋(pipelining)'์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด๋ก ์ธํด, ๋งค๋ฒ ์๋ก์ด ์ฐ๊ฒฐ์ ์๋ฆฝํ๋๋ฐ ํ์ํ 3-way-handshake์ 4-way-handshake์ ๋ฐ๋ณต์ด ์ค์ด๋ค์ด, HTTP/1.0์ ๋นํด ํ์ด์ง ๋ก๋ฉ ์๋๊ฐ ๊ฐ์ ๋์๋ค. ๊ทธ๋ฌ๋ HOL (Head Of Line) Blocking ๋ฌธ์ ๋ HTTP/1.1์์๋ ์ฌ์ ํ ์กด์ฌํ๋ค. ์๋ฅผ ๋ค์ด, HTML, CSS, JS์ ๋ํ ์์ฒญ์ ์ฐ์์ ์ผ๋ก ๋ณด๋์ ๋, ํด๋ผ์ด์ธํธ๋ ์์ฒญํ ์์๋๋ก ์๋ต์ ๋ฐ๊ฒ ๋๋๋ฐ, ์ฒซ ๋ฒ์งธ ์์ฒญ์ ์๋ต์ด ์ง์ฐ๋๋ฉด, ๋ค์ด์ ์์ฒญ๋ค์ ๋ํ ์๋ต๋ ๊ทธ ์ง์ฐ ์๊ฐ๋งํผ ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ์ด๋ ๊ณง TCP ์ฐ๊ฒฐ์ ํ๋๋ก ์ค์ด๋ค์์ง๋ง, HTTP/1.0์์์ HOL Blocking ๋ฌธ์ ๊ฐ ๊ทธ๋๋ก ๋จ์ ์์์ ์๋ฏธํ๋ค.
๊ทธ๋ผ TCP์์ ๋ฐ์ํ๋ HOL Blocking์ ๋ญ๊น?
HTTP / 2.0
HTTP/2.0์ ์ฃผ์ ๋์ ๋ ๊ธฐ์ ์ค ํ๋๋ "์คํธ๋ฆผ"์ด๋ผ๋ ๊ฐ๋ ์ด๋ค. ์คํธ๋ฆผ์ ํ๋์ TCP ์ฐ๊ฒฐ ๋ด์์ ์ฌ๋ฌ ์์ฒญ๊ณผ ์๋ต์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ์ด๋ฅผ '๋ฉํฐํ๋ ์ฑ(multiplexing)'์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ๊ฐ๊ฐ์ ์คํธ๋ฆผ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์, ํ ์คํธ๋ฆผ์์์ ์ง์ฐ์ด ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ฒ๋ฆฌ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค. ๊ทธ๋ฌ๋ TCP๋ ํจํท์ ์์๋ฅผ ๋ณด์ฅํ๋ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์, ๋ง์ฝ ํ ํจํท์ด ์์ค๋ ๊ฒฝ์ฐ ๊ทธ ๋ค๋ฐ๋ฅด๋ ํจํท๋ค์ ์์ค๋ ํจํท์ด ๋์ฐฉํ ๋๊น์ง ๋๊ธฐํด์ผ ํ๋ค. ์ด ํ์์ 'TCP์ HOL Blocking'์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋จผ์ HTTP/2.0์์ ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ค์ด ์ ์ก๋๋์ง์ ๋ํ ๊ณผ์ ์ ์์๋ณด์.
ํด๋ผ์ด์ธํธ๊ฐ HTML, CSS, JS๋ฅผ ๊ฐ๊ฐ ์์ฒญํ๋ค๊ณ ๊ฐ์ ํด๋ณด๋ฉด, ๊ฐ ์์ฒญ๋ง๋ค ํ๋์ ์คํธ๋ฆผ์ด ์์ฑ๋ ๊ฒ์ด๋ค. ๋ง์ฝ ์์ฒญ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ํฌ๋ค๋ฉด, ์ด ๋ฐ์ดํฐ๋ ์ฌ๋ฌ "ํ๋ ์"์ผ๋ก ๋๋ ์ ธ ์ ์ก๋ ๊ฒ์ด๋ค. ์ด๋, ์ธ ๊ฐ์ง ์์ ์์ฒญ์ผ๋ก ์ธํด ์ธ ๊ฐ์ ์คํธ๋ฆผ์ด ์์ฑ๋๊ณ , ๊ฐ ์คํธ๋ฆผ์ ๋ ๋ฆฝ์ ์ผ๋ก ํ๋ ์๋ค์ TCP ์ ์ก ๊ณ์ธต์ ๋ณด๋ผ ์ ์๋ค. ํ์ง๋ง ์ค์ ๋ก TCP ์ฐ๊ฒฐ์ ํตํด ์ ์ก๋๋ ์์๋ ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์, ์ด ํ๋ ์๋ค์ ์์ฐจ์ ์ผ๋ก ์ ์ก๋ ๊ฒ์ด๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก, HTTP/2.0์ ์คํธ๋ฆผ๊ณผ ๋ฉํฐํ๋ ์ฑ์ ๋์ ํ์ฌ ์ฌ๋ฌ ์์ฒญ์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋์์ง๋ง, TCP์ ํจํท ์์ ๋ณด์ฅ ํน์ฑ ๋๋ฌธ์ ์์ ํ HOL Blocking ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํ ์๋ ์์๋ค.
Frame? packet๊ณผ ๊ฐ์ ๋จ์์ผ๊น?
๊ฒฐ๋ก ์ ์๋๋ค. ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ์ด, ๋จ ํ๋์ ํ๋ ์์ ์ฌ๋ฌ TCP ํจํท์ ๋๋ ์ ธ ์ ์ก๋ ์ ์๋ค. ๋ฐ๋ฉด, ์ฌ๋ฌ ํ๋ ์๋ค์ด ํ๋์ ํจํท ์์ ํฌํจ๋์ด ์ ์ก๋ ์๋ ์๋ค. ๋ํ ํ๋ ์์ ํฌ๊ธฐ์ ํจํท์ ์ต๋ ์ ์ก ๋จ์(MTU)์ ๋ฐ๋ผ์ ํ๋์ ํ๋ ์๋ง์ด ๋จ์ผ ํจํท์ ํฌํจ๋์ด ์ ์ก๋ ์๋ ์๋ค.
HTTP/2.0์์ ์ HOL Blocking์ด ์ผ์ด๋ ๊น?
HTTP/2.0์ HTTP ๊ณ์ธต์์์ HOL Blocking ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค. ๊ทธ๋ฌ๋, ์ ์ก ๊ณ์ธต์์์ TCP HOL Blocking์ ์ฌ์ ํ ์กด์ฌํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ HTML, CSS, JS ์์ฒญ์ ์ธ ๋ฒ ๋ณด๋ด๋ ์ํฉ์ ์์ํด๋ณด์. HTTP/2.0์ ๊ตฌ์กฐ ์, ์ด๋ฌํ ์์ฒญ๋ค์ ๊ฐ๊ธฐ ๋ณ๋์ ์คํธ๋ฆผ์ผ๋ก ์์ฑ๋์ด ๋ณ๋ ฌ์ ์ผ๋ก ์ ์ก ๊ณ์ธต์ผ๋ก ํ๋ ์์ด ์ ์ก๋๋ค. ๋ฐ๋ผ์ HTTP ๊ณ์ธต์์๋ HOL Blocking ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ ์ ์ก ๊ณ์ธต์์๋ ๋ค๋ฅด๋ค. ์ ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ์ด, ํจํท2๊ฐ ์ด๋ค ์ด์ ๋ก ์์ค๋์๋ค๊ณ ๊ฐ์ ํ๋ฉด, TCP๋ ํจํท์ ์์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ํจํท2๋ฅผ ์ฌ์ ์ก ๋ฐ์ ๋๊น์ง ๊ทธ ๋ค์ ์ค๋ ํจํท๋ค์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ๊ณผ์ ์์ TCP HOL Blocking์ด ๋ฐ์ํ๊ฒ ๋๋ค. ์ด๋ฐ ๋ฐฉ์์ผ๋ก, HTTP/2.0์ ์์ฉ ๊ณ์ธต์์์ HOL Blocking์ ํด๊ฒฐํ์ง๋ง, ์ ์ก ๊ณ์ธต์ TCP HOL Blocking ๋ฌธ์ ๋ ์ฌ์ ํ ์กด์ฌํ๊ฒ ๋๋ค.
๐ณ QUIC์ด ์ด๋ป๊ฒ ํด๊ฒฐํ์๊น?
QUIC์ ์คํธ๋ฆผ ๋ค์คํ(Stream Multiplexing) ๊ธฐ๋ฅ์ ํตํด ํ๋์ ์ฐ๊ฒฐ ์์์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ ์กํ๋ค. ๋์ผํ ์คํธ๋ฆผ ๋ด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์์๋๋ก ์ ๋ฌ๋์ง๋ง, ์ด๋ค ์คํธ๋ฆผ์์ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ๋๋ผ๋ ๋ค๋ฅธ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ ์ ์ก์ ์ฐจ๋จํ์ง ์๋๋ค. ์ด๋ฅผ ํตํด HOL Blocking ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. UDP๋ ์ํ ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๋ ํ๋กํ ์ฝ๋ก, ์ด๋ฌํ ํน์ฑ ๋๋ถ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ๋ฉํฐํ๋ ์ฑ์ ์ ํฉํ๋ค. ๊ทธ๋์ QUIC์ UDP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์๋ค. QUIC ๋ด์์ ์ฌ๋ฌ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๋ ํ๋์ ์ฐ๊ฒฐ์ ํตํด ๋ฉํฐํ๋ ์ฑ๋์ด ์ ์ก๋๋ค. ๋ํ, ๊ฐ ์คํธ๋ฆผ๋ณ๋ก ํ๋ฆ ์ ์ด ๊ธฐ๋ฅ์ด ์์ด ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์กฐ์ ํ ์ ์๋ค.
HTTP / 3.0
ํด๋ผ์ด์ธํธ๊ฐ HTML, CSS, JS ๊ฐ๊ฐ์ ๋ํด ์์ฒญ์ ๋ณด๋ธ๋ค๊ณ ์์ํด๋ณด์. ๊ฐ ์์ฒญ๋ง๋ค ์คํธ๋ฆผ์ด ์์ฑ๋๋ค. TCP์ ๋ฌ๋ฆฌ, QUIC์์๋ ์ ์ก ๊ณ์ธต๊น์ง ์คํธ๋ฆผ ๊ฐ๋ ์ด ํ์ฅ๋์๋ค. ๋ฐ๋ผ์, ๊ฐ ์คํธ๋ฆผ์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ๋ฉฐ, ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ํฅ์ ๋ฐ์ง ์๋๋ค. QUIC์ ์ค๊ณ ์์ฒด์์ ๊ฐ ์คํธ๋ฆผ์ ๋ํ ํ๋ฆ ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. HTTP/2.0์์๋ ์์ฉ ๊ณ์ธต์์๋ง ์ ์ฉ๋๋ ์คํธ๋ฆผ ๋ค์คํ๊ฐ QUIC๋ฅผ ํตํด ์ ์ก ๊ณ์ธต๊น์ง ํ์ฅ๋์๋ค. ์ด๋ก ์ธํด, ๊ทธ๋ฆผ์์ ๋ณด์ด๋ฏ์ด CSS ์์ฒญ์ packet 2์์ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํด๋, HTML๊ณผ JS ์์ฒญ์ ๋ํ ์ ์ก์ ์ฐจ๋จ๋์ง ์๊ณ ๊ณ์ ์ด๋ฃจ์ด์ง๋ค. ๋ํ, QUIC์์์ frame์ HTTP/2.0๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ๋ฌ ํจํท์ ๋ถํ ๋์ด ์ ์ก๋ ์ ์๊ณ , ์ฌ๋ฌ frame์ด ํ๋์ ํจํท์ ํฌํจ๋ ์๋ ์๋ค.
๋ง๋ฌด๋ฆฌ
QUIC์ ๋ํด์ ๊ณต๋ถํ ๋ด์ฉ์ ๋ ๋ง์์ง๋ง HOL Blocking ๊ด์ ์์๋ง ์ ๋ฆฌ๋ฅผ ํ๋ค. QUIC์ ์ฌ๋ฌ ์ธก๋ฉด์์ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ํน์ง์ธ ๊ฒ ๊ฐ์ง๋ง ์ ์ฐ์ฑ์ ๋ ๋ง์ ๊ด์ฌ์ด ์๊ธด๋ค. ๋น ๋ฅด๊ฒ ๋ณํํ๋ ์ด ์๋์์ QUIC์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๊ธฐ๋๋๋ค. TCP๊ฐ ์ค๋๋ ํ๋กํ ์ฝ์ธ ๋งํผ ์์ ์ฑ ์ธก๋ฉด์์ ๋ฐ์ด๋์ง๋ง ๋ ํ์ฅํ ์ ์๋ (๊ทธ๋งํผ ์๋ฒฝํ?) ํ๋กํ ์ฝ์ด๋ผ๋ ๊ฒ๋ ์ด๋ฒ ๊ธฐํ์ ์๊ฒ ๋์๋ค.
QUIC์ HOL Blocking์ ๊ฝํ ๋์ ์์ด ๊ฐ์ธ์ด ์ดํดํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌ๋ฅผ ํด๋ณด์๋ค. ๊ณต๋ถํ๋ ๊ณผ์ ์์ ์์ฑํ ๋ด์ฉ์ด๋ผ ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์ ์๋ค.