๐ HTTP 3.0 ์๊ฐ & ํต์ ๊ธฐ์ ์์๋ณด๊ธฐ
HTTP / 3.0
HTTP 2.0 ์ ๋ฑ์ฅ๊ณผ ํจ๊ป ๊ธฐ์กด์ ํ๋กํ ์ฝ ๋ฐ์ดํฐ ์ฒด๊ณ๋ฅผ ํ๋ ์๊ณผ ์คํธ๋ฆผ ๊ฐ๋ ์ผ๋ก ์ฌ๊ตฌ์ถํ ๊ฒฐ๊ณผ ๊ธฐ์กด ๋ณด๋ค ํ์ ์ ์ผ๋ก ์ฑ๋ฅ์ด ํฅ์๋๊ฒ ๋์๋ค. ํ์ง๋ง ์ฌ์ ํ HTTP๋ TCP ๊ธฐ๋ฐ ์์์ ๋์๋๊ธฐ ๋๋ฌธ์, TCP ์์ฒด์ ํธ๋์์ดํฌ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ง์ฐ ์๊ฐ๊ณผ, ๊ธฐ๋ณธ์ ์ผ๋ก TCP๋ ํจํท์ด ์ ์ค๋๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์๋ ์ฌ์ ์ก์ํ๋๋ฐ ์ด ์ฌ์ ์กํ๋ ํจํท์ ์ง์ฐ์ด ๋ฐ์ํ๋ฉด ๊ฒฐ๊ตญ HOLB(Head Of Line Blocking) ๋ฌธ์ ๊ฐ ๋ฐ์๋์๋ค.
์ฆ, HTTP 2.0์ TCP/IP 4 ๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต(L4)์์ HTTP์ HOLB๋ฅผ ํด๊ฒฐํ์์ง๋ง, ์ ์ก ๊ณ์ธต(L3)์์์ TCP HOLB ๋ฅผ ํด๊ฒฐํ๊ฑด ์๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ ์ด์ TCP๋ก ์ธํฐ๋ท ํต์ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ชฉ์ ์ก์ ๊ฒ์ด๋ค.
์ ์ ๊ธฐ์ ์ด ๋ฐ์ ํ๊ณ ๋ค์ฑ๋ก์ด ํด๋ ํต์ ๊ธฐ๊ธฐ๊ฐ ๋๋ฆฌ ๋ณด๊ธ๋๋ฉด์ ๊ธฐ์ ๋ค์ ๋ค์ํ ์ปจํ ์ธ ๋ฅผ ์ฌ๋ฌ ๊ธฐ๊ธฐ์ ์ ์ํ๊ฒ ์ ๋ฌํ๊ธฐ ์ํด TCP์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ต์ ํํ๋ ๊ฒ์ด ๊ธ์ ๋ฌด์ ๊ณผ์ ์๋ค.
๊ทธ๋ฌ์ IT ๊ธฐ์ ์ ์ ๋์ฃผ์์ธ ๊ตฌ๊ธ์ SPDY ํ๋กํ ์ฝ์ ์ด์ด ์๋ก์ด UDP ๊ธฐ๋ฐ์ธ QUIC ํ๋กํ ์ฝ์ ๊ณ ์ํ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์๋ก์ด QUIC ํ๋กํ ์ฝ์ด TCP/IP 4๊ณ์ธต์๋ ๋์์ํค๊ธฐ ์ํด ์ค๊ณ๋ ๊ฒ์ด ๋ฐ๋ก HTTP 3.0 ์ด๋ค.
์ฆ, HTTP/1.1๊ณผ HTTP/2๋ TCP๋ฅผ ์ ์ก์ ์ฌ์ฉํ์ง๋ง, HTTP/3์ UDP(QUIC)๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
HTTP 3.0์ HTTP 2.0๊ฐ ๊ฐ์ง๋ ์ฅ์ ๋ค์ ๋ชจ๋ ๊ฐ์ง๋ฉด์ TCP๊ฐ ๊ฐ์ง๋ ์์ด์ ์ธ ๋จ์ ์ ๋ณด์ํ๋๋ฐ ์ค์ ์ผ๋ก ๊ฐ๋ฐ๋์๋ค. ๊ทธ๋์ ์ง๊ธ๊น์ง ๊ฑฐ๋ก ๋์๋ HTTP/2 ์ ๋ฌธ์ ๋ฅผ ๊ฑฐ์ ํด๊ฒฐํ์๋ค๊ณ ๋ณด๋ฉด ๋๋ค. RTT(Round Trip Time)๋ฅผ ์ ๋ก ์์ค์ผ๋ก ์ค์๊ณ , ํจํท ์์ค์ ๋ํ ๋น ๋ฅธ ๋์, ์ฌ์ฉ์ IP๊ฐ ๋ฐ๋์ด๋ ์ฐ๊ฒฐ์ด ์ ์ง๋๋ ๊ฒ์ด ํน์ง์ด๋ค.
ํต์ ์ธํ๋ผ๊ฐ ๋น์ฝํ ๋๋ผ์์๋ ํฐ ์ฐจ์ด๊ฐ ๋๊ปด์ง์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ฌ์ค ํ๊ตญ์์ HTTP/2๋ฅผ ์ฌ์ฉํ๋ HTTP/3๋ฅผ ์ฌ์ฉํ๋ ์๋์ ๋ ์ด ์ข์๋ฐ๋ค ํต์ ์ธํ๋ผ๋ ์ธ๊ณ์์ ๋๋ด์ฃผ๊ฒ ์๋์ด ์๊ธฐ ๋๋ฌธ์ ์๋น์๋ค์ ์ฒด๊ฐ์ ๋ชป ํ ๊ฒ์ด๋ค.
๊ทธ๋ ์ง๋ง 2022๋ 11์ 15์ผ ํ๊ตญ ์ต์ด๋ก ๋ค์ด๋ฒ๊ฐ HTTP/3์ ๋์ ํ์๋ค๊ณ ํ๋ค. (๋น์ฐํ ๊ตฌ๊ธ์ ์ด๋ฏธ ๋์ ํ๋ค)
๊ฐ๋ฐ์ ๋๊ตฌ์ ๋คํธ์ํฌ ํญ์์ ํ ํญ๋ชฉ์ Protocol์ ํ์ฑํํ๋ฉด ๊ฐ ์์ฒญ์ ๋ํ ํ๋กํ ์ฝ์ ๋ณผ ์ ๊ฐ ์๋ค.
์ฌ์ง์์์ h3์ด๋ผ๊ณ ์ฐ์ฌ์ ธ ์๋ ๊ฒ์ด http 3.0 ์ด๋ฉฐ http 2.0 ๊ณผ ๊ฐํน http 1.1 ๋ ๋ณด์ธ๋ค.
QUIC ํ๋กํ ์ฝ
HTTP/3์ ๊ฐ์ฅ ํฐ ํน์ง์ ๊ธฐ์กด์ HTTP/1, HTTP/2์๋ ๋ค๋ฅด๊ฒ UDP ๊ธฐ๋ฐ์ ํ๋กํ ์ฝ์ธ QUIC(Quick UDP Internet Connections)์ ์ฌ์ฉํ์ฌ ํต์ ํ๋ ํ๋กํ ์ฝ์ด๋ผ๋ ์ ์ด๋ค. 'Quick UDP Internet Connections' ๋ผ๋ ์ด๋ฆ์์ ์์ ์๋ฏ์ด ๋ง ๊ทธ๋๋ก UDP๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ํ๋ ์๋ก์ด ํ๋กํ ์ฝ์ด๋ค. (์ฐธ๊ณ ๋ก 'ํต' ์ด๋ผ๊ณ ์ฝ๋๋ค)
HTTP/2์ ๊ธฐ๋ฐ์ด ๋๋ SPDY๋ ์ฌ์ฅ๋์์ง๋ง, HTTP/3์ ๊ธฐ๋ฐ์ด ๋๋ QUIC๋ RFC 9000์ผ๋ก ํ์คํ๋์ด ์๋ค๋ ์ ๋ ๋ค๋ฅด๋ค.
QUIC์ ๊ณ์ธต ์์น
์์ TCP/IP 4 Layer์์ ๋ณผ ์ ์๋ฏ์ด HTTP/3์ ๊ณ์ธต ํํ๋ ์ฝ๊ฐ ํน์ดํ๋ค.
์๋ํ๋ฉด QUIC์ TCP + TSL + HTTP์ ๊ธฐ๋ฅ์ ๋ชจ๋ ๊ตฌํํ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์ด๋ค. TCP์ ํ๋กํ ์ฝ์ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ ์๊ณ ๋ฆฌ์ฆ๊ณผ SSL์ด ์ด์๋จ์ผ๋ก์จ ๋์ ์ฑ๋ฅ๊ณผ ๋์์ ์ ๋ขฐ์ฑ์ ์ถฉ์กฑ์์ผฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ๊ทธ๋์ ๊ณ์ธต ์์น๋ ์ฝ๊ฐ ๋น์ค๋ฌํ๊ฒ ๊ฑธ์ณ ์๊ฒ ํํ๋ ๊ฒ์ด๋ค.
์ฝ๊ฒ ๋งํ์๋ฉด, Application ๊ณ์ธต์ HTTP/3์ QUIC๋ฅผ ๋์์ํค๊ธฐ ์ํด ์๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๊ณ , ์์์ ๋ฐฐ์ ๋ค์ํผ QUIC๋ UDP ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก๊ธฐ์ Transport ๊ณ์ธต์ UDP ์์์ ๋์ํ๋ค๊ณ ๋ณด๋ฉด๋๋ค.
์ด์งธ์ TCP๊ฐ ์๋ UDP์ธ๊ฐ โ
๐ฌ TCP๋ ๊ตฌ์กฐ์ ํ๊ณ๋ก ๊ฐ์ ํด๋ ์ฌ์ ํ ๋๋ฆฌ๋ค
์ฌ์ค TCP๋ ์ธ๋ฅ๊ฐ ์ง๊ธ๊ณผ ๊ฐ์ด ์์ฒญ๋ ์๋๋ก ๋ฐ์ ํ ๊ฒ์ด๋ผ๊ณค ์์ ํ ์ ์๋ ์๊ธฐ์ ๋ง๋ค์ด์ก๋ค. TCP๊ฐ ๋ง๋ค์ด์ง๋ ์์ ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋์ ๋ค๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ๊ฐ ํ์ผ์ ๋ฐ์ดํฐ ํจํท์ ๊ตํํ ๊ฒ์ด๋ผ๊ณ ์์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์ ๊ฐ์ด ๋คํธ์ํฌ ํ๊ฒฝ์ ๋ฐ๊พธ์ด๊ฐ๋ฉด์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ํตํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ๋ชปํ๋ค. ๊ทธ ๋๋ฌธ์ ์์ดํ์ด๋ฅผ ๋ฐ๊พธ๋ฉด ๋ค์ ์๋ก์ด ์ปค๋ฅ์ ์ ๋งบ์ด์ผ ๋์ ๋๊น ํ์์ด ์ผ์ด๋๋ ๊ฒ์ด๋ค.
๋ํ TCP๋ฅผ ์ฌ์ฉํ ํต์ ์์ ํจํท์ ์ ๋ขฐ์ฑ์ ์ํด ๋ฌด์กฐ๊ฑด ์์๋๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค. ๋ํ ํจํท์ด ์ฒ๋ฆฌ๋๋ ์์ ๋ํ ์ ํด์ ธ์์ผ๋ฏ๋ก ์ด์ ์ ๋ฐ์ ํจํท์ ํ์ฑํ๊ธฐ ์ ๊น์ง๋ ๋ค์ ํจํท์ ์ฒ๋ฆฌํ ์๋ ์๋ค. ๋ง์ผ ์ค๊ฐ์ ํจํท์ด ์์ค๋์ด ์์ ์ธก์ด ํจํท์ ์ ๋๋ก ๋ฐ์ง ๋ชปํ์ผ๋ฉด ๋ค์ ๋ณด๋ด์ผ ํ๋ค.
์ด๋ ๊ฒ ํจํท์ด ์ค๊ฐ์ ์ ์ค๋๊ฑฐ๋ ์์ ์ธก์ ํจํท ํ์ฑ ์๋๊ฐ ๋๋ฆฌ๋ค๋ฉด ํต์ ์ ๋ณ๋ชฉ์ด ๋ฐ์ํ๊ฒ ๋๋๋ฐ, ์ด๋ฌํ ํ์์HOLB(Head of line Blocking)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ด HOLB๋ TCP ์ค๊ณ๋์ ์ด์ฉ์ ์์ด ๋ฐ์ํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ HTTP/1.1 ๋ฟ๋ง ์๋๋ผ HTTP/2๋ ๊ฐ์ง๊ณ ์๋ ์์ฃผ ๊ณ ์ง์ ์ธ ๋ฌธ์ ์๋ค.
๋ฐ๋ผ์ ์ด๋ฐ ๊ณ ์ง์ ์ธ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด HTTP/3๋ TCP๋ฅผ ๋ฒ๋ฆฌ๊ณ UDP๋ฅผ ์ ํํ์๋ค.
๐ฌ UDP๋ ์ ๋ขฐ์ฑ์ด ์๋๊ฒ ์๋๋ผ ํ์ฌ๋ฅผ ์ํ์ ๋ฟ์ด๋ค
์ฒ์ TCP์ UDP์ ๋ํด์ ๋ฐฐ์ ์๋, UDP๋ ํ์ ๋ํ์ง ๊ฐ์ด ๊ธฐ๋ฅ์ด ๊ฑฐ์ ์์ด์ ๋น ๋ฅด์ง๋ง ๋์ ์ ์ ๋ขฐ์ฑ์ด ๋ฎ๊ธฐ ๋๋ฌธ์, ์ธํฐ๋ท ํต์ ์์ ์กฐ๊ธ ๋๋ฆฌ๋๋ผ๋ ์ ๋ขฐ์ฑ์ด ๋์ TCP๋ฅผ ์ฌ์ฉํ๋ค๋ผ๊ณ ๋ฐฐ์ ์ ๊ฒ์ด๋ค.
TCP | UDP | |
์ฐ๊ฒฐ ๋ฐฉ์ | ์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ | ๋น ์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ |
์ ์ก ์์ | ๋ณด์ฅ | ๋ณด์ฅํ์ง ์์ |
์ ๋ขฐ์ฑ | ๋์ | ๋ฎ์ |
์ ์ก์๋(์๋์ ) | ๋๋ฆผ | ๋น ๋ฆ |
ํผ์ก์ ์ด | O | X |
ํค๋ ํฌ๊ธฐ | 20๋ฐ์ดํธ | 8 ๋ฐ์ดํธ |
UDP๋ User Datagram Protocol์ด๋ผ๋ ์ด๋ฆ์์๋ ์ ์ ์๋ฏ์ด ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์ ํจํท์ ๋ชฉ์ ์ง๋ง ์ ํด์ ธ์๋ค๋ฉด ์ค๊ฐ ๊ฒฝ๋ก๋ ์ ๊ฒฝ์ฐ์ง ์๊ธฐ ๋๋ฌธ์ ํธ๋์์ดํฌ ๊ณผ์ ์ด ํ์์๋ค.
๊ฒฐ๋ก ์ผ๋ก๋ UDP๋ TCP๊ฐ ์ ๋ขฐ์ฑ์ ์ป๊ธฐ ์ํด ๋ด์ ๋ ๊ณผ์ ์ ๊ฑฐ์น์ง ์๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋ ๋น ๋ฅผ ์ ๋ฐ์ ์๋ค๋ ๊ฒ์ธ๋ฐ, ๊ทธ๋ ๋ค๋ฉด UDP๋ฅผ ์ฌ์ฉํ๊ฒ๋๋ฉด ๋น ๋ฅด์ง๋ง ์ ๋ขฐ์ฑ๊ณผ ํจํท์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฆํ ์๋ค๋ ๋ป์ธ๋ฐ ์ด๊ฒ์ ์ธํฐ๋ท ํต์ ์ ์ฌ์ฉํด๋ ๋ฌธ์ ๊ฐ ์๋ ๊ฑธ๊น?
์ด๋ถ๋ถ์ ์คํด์ธ๊ฒ์ด, UDP๋ ์ ๋ขฐ์ฑ์ด ์๋๊ฒ ์๋๋ผ ํ์ฌ๋ฅผ ์ํ์ ๋ฟ์ด๋ค.
UDP์ ์ง์ง ์ฅ์ ์ ์ปค์คํฐ๋ง์ด์ง์ด ๊ฐ๋ฅํ๋ค๋ ์ ์ด๋ค.
์ฆ, ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด UDP ์์ฒด๋ ํค๋์ ๋ค์๊ฒ ์์ด ์ ๋ขฐ์ฑ์ด ๋ฎ๊ณ ์ ์ด ๊ธฐ๋ฅ๋ ์์ง๋ง, ์ดํ ๊ฐ๋ฐ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ตฌํ์ ์ด๋ป๊ฒ ํ๋์ ๋ฐ๋ผ์ TCP์ ๋น์ทํ ์์ค์ ๊ธฐ๋ฅ์ ๊ฐ์ง ์๋ ์๋ค๋ ๋ง์ด๋ค.
๐ฌ ์์ ์๋ก์ด ํ๋กํ ์ฝ์ ์๋๋๊ฐ?
TCP๊ฐ ๋ฌธ์ ์ด๊ณ UDP๋ ์ ๋งคํ๋ฉด ์์ ๋ค๋ฅธ ํ๋กํ ์ฝ์ ๋ง๋ค๊ฑฐ๋ ์ฑ์ฉํ๋ค๋ ์ ํ์ง๋ ์์ ๊ฒ์ด๋ค. ์ด๋ก ์ ์ผ๋ก๋ ๋คํธ์ํฌ ์คํ์์ UDP์ TCP ์์ ์๋ก์ด ์ ์ก ํ๋กํ ์ฝ์ ๋ง๋ค ์ ์๋ค. ์๋๋ฉด ์ด๋ฏธ ์๋ ์ ์ก ํ๋กํ ์ฝ์ธ SCTP๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค.
๊ทธ๋ฌ๋ ์ ํ๋กํ ์ฝ ๋ฐฐํฌ๋ ๊ทธ๋ ๊ฒ ๋ น๋ก์น๋ง์ ์์๋ฐ, ์ฌ์ฉ์์ ์๋ฒ ์ฌ์ด์ ์๋ TCP์ UDP๋ง ํ์ฉํ๋ ๋ฐฉํ๋ฒฝ, NAT, ๋ผ์ฐํฐ ๋ฑ์ ์ค์ ์ ๋ฐ๋ผ ์ฐจ๋จ ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฅผ ํ๋กํ ์ฝ ๊ณ ์ฐฉํ(ossification)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ฒ๋ค๊ฐ ๋คํธ์ํฌ ์คํ์ ์ ์ก ํ๋กํ ์ฝ ๊ณ์ธต์์ ๋ญ๊ฐ๋ฅผ ๋ฐ๊พผ๋ค๋ ๊ฒ์ ์๋ก์ด ์ด์์ฒด์ ์ปค๋์ ๊ฐฑ์ ํ๊ณ ํ๋กํ ์ฝ์ ๊ตฌํํด ๋ฐฐํฌํ๋ ๊ฒ์ ์๋นํ ๋ ธ๋ ฅ์ด ํ์ํ ๊ณผ์ ์ด๋ค. ๊ทธ๋์ ์ด๋ฏธ ํ์คํ๋ ์๋ง์ TCP ๊ฐ์ ์ฌํญ๋ ๊ด๋ฒ์ํ๊ฒ ์ง์๋์ง ์์์ ๋๋ฆฌ ๋ฐฐํฌ๋๊ฑฐ๋ ์ฌ์ฉ๋์ง ์๊ณ ์๋ ๊ฒ์ด๋ค.
HTTP 3.0 ๊ฐ์ ์
์ฐ๊ฒฐ ์ ๋ ์ดํด์ ๊ฐ์
๊ธฐ์กด TLS+TCP์์๋ TLS ์ฐ๊ฒฐ์ ์ํ ํธ๋์์ดํฌ์ TCP๋ฅผ ์ํ ํธ๋์์ดํฌ๊ฐ ๊ฐ๊ฐ ๋ฐ์ํ๋ค.
๊ทธ๋์ TCP๋ ์ฐ๊ฒฐ์ ์์ฑํ๊ธฐ ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก 1 RTT ๊ฐ ํ์ํ๊ณ , ์ฌ๊ธฐ์ TLS๋ฅผ ์ด์ฉํ ์ํธํ ํต์ ๊น์ง ํ๋ค๋ฉด ์ด 3 RTT๊ฐ ํ์ํ๊ฒ ๋๋ค.
RTT (Round Trip Time)
RTT(Round Trip Time)๋, ์์ฒญ(SYN)์ ๋ณด๋ผ ๋๋ถํฐ ์์ฒญ์ ๋ํ ์๋ต(SYN+ACK)์ ๋ฐ์ ๋๊น์ง์ ์๋ณต ์๊ฐ์ ์๋ฏธํ๋ค.
QUIC์์๋ ์ด๋ฅผ ํ๋จ๊ณ๋ก ์ค์๋ค.
UDP ์์์ ๋์ํ๋ QUIC๋ ํต์ ์ ์์ํ ๋ 3 Way Handshake ๊ณผ์ ์ ๊ฑฐ์น์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ์ฒซ ์ฐ๊ฒฐ ์ค์ ์ 1 RTT๋ง ์์๋๋ค. ๊ทธ ์ด์ ๋ ์ฐ๊ฒฐ ์ค์ ์ ํ์ํ ์ ๋ณด์ ํจ๊ป ๋ฐ์ดํฐ๋ ๋ณด๋ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค.
QUIC ๋ด์ ์์ TLS ์ธ์ฆ์๋ฅผ ๋ดํฌํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ต์ด์ ์ฐ๊ฒฐ ์ค์ ์์ ํ์ํ ์ธ์ฆ ์ ๋ณด์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ์กํ๋ค. ๊ทธ๋์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ด๋ค ์ ํธ๋ฅผ ํ๋ฒ ์ฃผ๊ณ , ์๋ฒ๋ ๊ฑฐ๊ธฐ์ ์๋ตํ๊ธฐ๋ง ํ๋ฉด ๋ฐ๋ก ๋ณธ ํต์ ์ ์์ํ ์ ์๋ค๋ ๊ฒ์ด๋ค
์์ ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ์ด TCP+TLS๋ ์๋ก ์์ ์ ์ธ์ ํค๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ํธํ๋ ์ฐ๊ฒฐ์ ์ฑ๋ฆฝํ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ณ ๋์์ผ ์ธ์ ํค์ ํจ๊ป ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ๋๋ฌธ์ ํธ๋์์ดํฌ ๊ณผ์ ์ด ์ฌ๋ฌ๋ฒ ๋ฐ์ํ๊ฒ ๋๋ค.
ํ์ง๋ง QUIC์ ์๋ก์ ์ธ์ ํค๋ฅผ ๊ตํํ๊ธฐ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ์ค์ ์ด ๋ ๋น ๋ฅด๋ค. ๋ค๋ง, ์ต์ด์ ์์ฒญ์ ๋ณด๋ผ ๋๋ ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ธ์ ํค๋ฅผ ๋ชจ๋ฅด๋ ์ํ์ด๊ธฐ ๋๋ฌธ์, ๋ชฉ์ ์ง์ธ ์๋ฒ์ Connection ID๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑํ ํน๋ณํ ํค์ธ ์ด๊ธฐํ ํค(Initial Key)๋ฅผ ์ฌ์ฉํ์ฌ ํต์ ์ ์ํธํ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ฒ ์ฐ๊ฒฐ์ ์ฑ๊ณตํ๋ค๋ฉด ์๋ฒ๋ ๊ทธ ์ค์ ์ ์บ์ฑํด๋๊ณ ์๋ค๊ฐ, ๋ค์ ์ฐ๊ฒฐ ๋ ์บ์๋ฅผ ๋ถ๋ฌ์ ๋ฐ๋ก ์ฐ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ํธ๋ ์์ดํฌ ์์ด 0 RTT๋ง์ผ๋ก ๋ฐ๋ก ํต์ ์ ์์ํ ์๋ ์๋ค๋ ์ฅ์ ๋ ์๋ค.
์์กดํ๋ HOLB ํ์์ ํด๊ฒฐ
HTTP์ HOLB (Head Of Line Blocking)
๊ธฐ์กด HTTP/1.1 ๊ฐ์ ๊ฒฝ์ฐ ํ์ดํ๋ผ์ธ(pipeline) ๊ธฐ์ ์ ํตํด ๋ณ๋ ฌ์ ์ผ๋ก ๋ฆฌ์์ค๋ฅผ ๋น ๋ฅด๊ฒ ์ป๋๋ก ํ๋ ค๊ณ ํ์์ง๋ง, ๋ง์ผ ์ฒซ๋ฒ์งธ ์์ฒญ์ ๋๋ ์ด๊ฐ ์๊ธฐ๋ฉด ๋๋จธ์ง ์์ฒญ์ด ๋นจ๋ฆฌ ์ฒ๋ฆฌ๋ฌ์์๋ ๋ถ๊ตฌํ๊ณ ๋๋ ์ด๊ฐ ๋๋ ์ฌ๊ฐํ ํ์์ด ์์๋ค.
์๋ฅผ๋ค์ด 3๊ฐ์ ์ด๋ฏธ์ง a.png, b.png, c.png ๋ฅผ ๋ฐ๋๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฒซ๋ฒ์งธ a.png ๋ฅผ ๋ฐ๋ ๊ณผ์ ์์ ์ค๋๊ฑธ๋ฆฌ๊ฒ ๋๋ค๋ฉด b์ c ์ด๋ฏธ์ง๊ฐ ์๋ฌด๋ฆฌ ๋นจ๋ฆฌ ์ฒ๋ฆฌ๋๋๋ผ๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฆ๊ฒ ๋ฐ๊ฒ ๋๊ฒ ๋๋ค.
๊ทธ๋์ ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด HTTP/2 ์์๋ ๋ฆฌ์์ค๋ค์ ํ๋์ ์ปค๋ฅ์ ์์ ๋ณ๋ ฌ์ ์ผ๋ก ๋ณด๋ด๋๋ก ๊ฐ์ ํ์๋ค. ๋ฐ๋ผ์ a.png ๊ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ผ๋ b ์ c ์ด๋ฏธ์ง๋ ๋จผ์ ๋ฐ์์ ๋ณด์ฌ์ค ์ ์์๋ค.
TCP์ HOLB (Head Of Line Blocking)
์ด์ฒ๋ผ HTTP ๋ ์ด์ด์ HOL Blocking ์ ํด๊ฒฐ๋ฌ์ง๋ง, ๋ฌธ์ ๋ TCP ๋ ์ด์ด์ HOL Blocking ๋ฌธ์ ๊ฐ ์ฌ์ ํ ์์กดํด ์์๋ ๊ฒ์ด๋ค.
HTTP/2๋ฅผ ์ฌ์ฉํ๋ ์ผ๋ฐ์ ์ธ ๋ธ๋ผ์ฐ์ ๋ TCP ์ฐ๊ฒฐ ํ๊ฐ๋ก ์์ญ, ์๋ฐฑ ๊ฐ์ ์คํธ๋ฆผ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ฌ ์ ์ก์ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ผ ๋ ์๋ํฌ์ธํธ ์ฌ์ด ๋คํธ์ํฌ ์ด๋๊ฐ์์ ํ๋์ ํจํท์ด ๋น ์ง๊ฑฐ๋ ์์ด์ง๋ค๋ฉด, ์์ด์ง ํจํท์ ๋ค์ ์ ์กํ๊ณ ๋ชฉ์ ์ง๋ฅผ ์ฐพ๋ ๋์ ์ ์ฒด TCP ์ฐ๊ฒฐ์ด ์ค๋จ๋๊ฒ ๋๋ค.
์ฆ, HTTP/2์์ ์คํธ๋ฆผ์์ ์ฌ๋ฌ๊ฐ์ง ํ๋ ์๋ค์ด ๋ค ์์ฌ ์ด๋๋๊ฒ ๋๋๋ฐ, ๋ง์ผ ์ด๋ ํ๋์ ํ๋ ์์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์๊ด์๋ ๊ทธ ๋ค์ ํ๋ ์๊น์ง ์ํฅ์ด ๊ฐ๊ฒ ๋๋ค. ๋ฐ๋ผ์ ๊ฒฐ๊ตญ์ HTTP์ HOLB์ฒ๋ผ ์คํธ๋ฆผ ๋ด ํจํท๋ค์ ์ ์ฒด๊ฐ ์ง์ฐ์ด ๋๊ฒ ๋๋ค.
๊ฑฐ๊ธฐ๋ค๊ฐ HTTP/2๋ 1๊ฐ์ TCP ์ปค๋ฅ์ ์ผ๋ก ์ ๋ถ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํจํท ์์ค๋ฅ ์ด ์ฆ๊ฐํ๋ฉด ์ฌ๋ฌ ๊ฐ์ TCP๋ฅผ ์ฌ์ฉํ๋ HTTP/1.1๋ณด๋ค ์ฑ๋ฅ ์ ํ๊ฐ ์ปค์ง ์ ์๋ค.
๋ ๋ฆฝ ์คํธ๋ฆผ์ผ๋ก HOLB ๋จ์ถ
๊ทธ๋์ TCP๋ฅผ ๋ฒ๋ ค๋ฒ๋ฆฌ๊ณ ์๋ก QUIC ํ๋กํ ์ฝ๋ก ๊ตฌ์ถํด์ ์์ ์คํธ๋ฆผ ์์ฒด๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ๋ฌ๊ฐ๋ก ๋๋์ด์ ์ฒ๋ฆฌํ๋๋ก ํ์๋ค. ์ด๋ฅผ ๋ ๋ฆฝ ์คํธ๋ฆผ์ด๋ผ๊ณ ํ๋ค.
QUIC ์ฐ๊ฒฐ์ ํตํด ๋ ๊ฐ์ง ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ค์ ํ์ ๋, ์ด๋ค์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ค๋ฃจ๋ฏ๋ก ๋ง์ฝ ํน์ ์คํธ๋ฆผ์์ HOLB๊ฐ ๋ฐ์ํ๋๋ผ๋, ๋ค๋ฅธ ์คํธ๋ฆผ์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
ํจํท ์์ค ๊ฐ์ง์ ๊ฑธ๋ฆฌ๋ ์๊ฐ ๋จ์ถ
HOLB ํด๊ฒฐ์ ์ด์ด QUIC๋ ํ๋ฆ ์ ์ดํ๋ ์๊ฐ๊น์ง ๋จ์ถํ์๋ค.
QUIC๋ TCP์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์กํ๋ ํจํท์ ๋ํ ํ๋ฆ ์ ์ด๋ฅผ ํด์ผํ๋ค. QUIC๋ ๊ธฐ๋ณธ์ ์ผ๋ก TCP์ ์ ์ฌํ ๋ฐฉ๋ฒ์ผ๋ก ํจํท ์์ค์ ํ์งํ์ง๋ง ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ฌํญ์ ์ถ๊ฐํ์๋ค.
์๋ฅผ๋ค์ด HTTP 2.0์์๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๋์ ์คํธ๋ฆผ์ A, B, C ํจํท ํ๋ ์๋ค์ด ๋น์์๋๋ก ์ ๋ฌ๋ ๋, ๋ง์ผ ์ธ๋ฒ์งธ ํ๋ ์์์ ํจํท ์์ค์ด ์ผ์ด๋๋ฉด, ํจํท B๋ง ์ค์ง๋์ด์ผ ํ์ง๋ง ์์์ ๋ฐฐ์ด๋ฐ์ ๊ฐ์ด ์ ํ ์ฐ๊ด์๋ ํจํท A์ C๋ ๋ชจ๋ ๋งํ ๋๊ธฐ๋ฅผ ํด์ผ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด QUIC๋ ํค๋์ ํจํท์ ์ ์ก ์์๋ฅผ ๋ํ๋ด๋ ๋ณ๋์ ํจํท ๋ฒํธ ๊ณต๊ฐ์ ๋ถ์ฌํ๋ค.
์ด๋ฅผ ์ด์ฉํด QUIC๋ ํจํท ๋ฒํธ๋ฅผ ํ์ ํด ๊ฐ๋ณ ํ์ผ์ ๊ตฌ๋ถํ์ฌ ์ค๊ฐ์ ํจํท ๋ก์ค๊ฐ ๋ฐ์ํด๋ ํด๋น ํ์ผ์ ์คํธ๋ฆผ๋ง ์ ์ง๊ฐ ๋๋๋ก ํ ์ ์๋ค.
ํ๋์ ์คํธ๋ฆผ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๊ณ ํด๋ ๋ค๋ฅธ ์คํธ๋ฆผ์ ์งํฌ ์ ์๊ฒ ๋์ด ์ด๋ฐ ๋ฌธ์ ์์ ์์ ๋ก์ ์ก๋ค.
๋์ฑ ํฅ์๋ ๋ฉํฐํ๋ ์ฑ
HTTP/3๋ ๋น์ฐํ HTTP/2์ ๊ฐ์ ๋ฉํฐํ๋ ์ฑ์ ์ง์ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๋ฆฝ ์คํธ๋ฆผ ๋ฐฉ์์ผ๋ก ๊ธฐ์กด์ ๋ฉํฐํ๋ ์ฑ์ ๋์ฑ ๊ฐํ์์ผฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
๋ณด์์ ๋์ฑ ๊ฐํ
HTTP/3์ ๊ทธ ๊ธฐ๋ฐ ๊ธฐ์ ์ธ QUIC์ TLS ์ํธํ๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ค.
๋ฌผ๋ก UDP์ TLS๊ฐ ๊ฒฐํฉ๋ ๊ธฐ์ ๋ก๋ DTLS๋ผ๋ ๊ธฐ์ ๋ ์์ง๋ง 'TCP์ ์ฌ๊ตฌํ'์ด ๋ชฉํ ์ค ํ๋์ธ QUIC์๋ ์งํฅํ๋ ๋ฐ๊ฐ ๋ค๋ฅด๋ค.
์ด์ฒ๋ผ ๊ธฐ๋ณธ์ ์ผ๋ก QUIC ๋ด์ TLS ์ด ํฌํจ๋์ด์๊ธฐ ๋๋ฌธ์ TCP์ ๋ฌ๋ฆฌ ํค๋ ์์ญ๋ ๊ฐ์ด ์ํธํ๋๋ค.
๋คํธ์ํฌ๊ฐ ๋ณ๊ฒฝ ๋๋ ์ฐ๊ฒฐ์ด ์ ์ง
TCP์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด์๋ ํด๋ผ์ด์ธํธ IP, ํด๋ผ์ด์ธํธ PORT, ์๋ฒ IP, ์๋ฒ PORT, ์ด๋ ๊ฒ ๋ค ๊ฐ์ง๊ฐ ํ์ํ๋ค. ๊ทธ๋์ ํด๋ผ์ด์ธํธ์ IP๊ฐ ๋ฐ๋๋ ์ํฉ์ด ๋ฐ์ํ๋ฉด ์ฐ๊ฒฐ์ด ๋์ด์ ธ ๋ฒ๋ฆฐ๋ค.
์ฐ๋ฆฌ๊ฐ ํธ๋ํฐ์ ๋ค๊ณ ์์ดํ์ด์กด์์ LTE ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ฒ ๋์ ๋, ๋์์ ๋๊น๊ณผ ๊ฐ์ด ์ผ์์ ์ง์ฐ์ด ์ผ์ด๋๋ ์ด์ ๋ ํด๋ผ์ด์ธํธ IP๊ฐ ์ด๋ ๋ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ๋ค์ ์ฐ๊ฒฐ์ ์์ฑํ๊ธฐ ์ํด ๊ฒฐ๊ตญ ํธ๋์์ดํฌ ๊ณผ์ ์ ๋ค์ ๊ฑฐ์ณ์ผํ๋ค๋ ๊ฒ์ด๊ณ , ์ด ๊ณผ์ ์์ ๋ค์ ์ง์ฐ์๊ฐ์ด ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
Connection ID
๋ฐ๋ฉด QUIC์ Connection ID๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ฐ๊ฒฐ์ ์์ฑํ๋ค.
Connction ID๋ ๊ฐ ์ฐ๊ฒฐ์ ์ฐ๊ฒฐ ์๋ณ์๋ ์ฐ๊ฒฐ ID๋ฅผ ๊ฐ์ง๋ฏ๋ก ์ด๋ฅผ ํตํด ์ฐ๊ฒฐ์ ์๋ณํ๋ค.
Connection ID๋ ๋๋คํ ๊ฐ์ผ ๋ฟ, ํด๋ผ์ด์ธํธ์ IP์๋ ์ ํ ๋ฌด๊ดํ ๋ฐ์ดํฐ์ด๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ์ IP๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ๊ธฐ์กด์ ์ฐ๊ฒฐ์ ๊ณ์ ์ ์งํ ์ ์๋ค. ๊ทธ๋์ ์๋ก ์ฐ๊ฒฐ์ ์์ฑํ ๋ ๊ฑฐ์ณ์ผํ๋ ํธ๋์์ดํฌ ๊ณผ์ ์ ์๋ตํ ์ ์๋ค. ๋ฐ๋ผ์ ํด๋ํฐ์ผ๋ก ์ธํฐ๋ท์ ํ ๋, ์ค๊ฐ์ ์์ดํ์ด์์ LTE๋ก ๋ณ๊ฒฝํด๋ ์คํธ๋ฆผ์ด ๊ณ์ ์ ์ง๊ฐ ๋๋ค.
ํ์ง๋ง ๋๊ฐ์ Connection ID๋ง ์ฌ์ฉํ๋ค๋ฉด ํด์ปค๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด ์ฌ์ฉ์๋ฅผ ์ถ์ ํ์ฌ ๋ณด์ ๋ฌธ์ ๊ฐ ์ผ์ด๋ ์๋ ์์ ๊ฒ์ด๋ค. ๊ทธ๋์ QUIC๋ ์ ๋คํธ์ํฌ๊ฐ ์ฌ์ฉ๋ ๋๋ง๋ค Connection ID๋ฅผ ๋ณ๊ฒฝํ๋ค.
์์ ๋ง๊ณผ ํ๋์ด ๋ค๋ฅด๊ฒ ๋ค๊ณ ์๊ฐํ๊ฒ ์ง๋ง, ๋ด๋ถ์ ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋ชจ๋ ์ฐ๊ฒฐ์ ์ํด ๋ฌด์์๋ก ์์ฑํ Connection ID์ ๋ํด ์ธ์งํ๊ณ ์๊ณ , ๋คํธ์ํฌ๊ฐ ๋ฐ๋๋ Connection ID๋ฅผ ๋ฐ๊พธ๋๋ผ๋ ์ด๊ฒ ์ด์ Connectin ID์ ๋์ผํ๋ค๊ณ ์ธ์งํ์ฌ ์ฐ๊ฒฐ์ ์ ์งํ๋ ๊ฒ์ด๋ค.
HTTP 3.0 ์ฐ๋ ค์
HTTP 3.0 ๊ณผ QUIC ํ๋กํ ์ฝ์ด ์ด๋ ๊ฒ ์ข์ ๋ง์ ๊ฒ๋ค์ ์ ๊ณตํด ์ฃผ๊ณ ์์ง๋ง, ์์ง ์ ์ธ๊ณ์ ๊ธฐ์ ๋ค์ด ์ด๋ฅผ ๋ง์ ๋์ ํ์ง ์๋ ํ์ค์ ์ธ ์ด์ ๊ฐ ์กด์ฌํ๋ค.
๊ธฐ์กด ์ฒด๊ณ ํธํ์ฑ ๋ฌธ์
HTTP/1.1 ์ด๋ HTTP/2 ๊ธฐ๋ฐ์ ํ๋ก ํธ์๋๋จ ์ต์ ํ๋ฅผ ์ด๋ฏธ ์ ์ฉํ ๊ธฐ์ ์ ๊ฒฝ์ฐ QUIC ๋์ ์ ๋ถ๋ด์ค๋ฌ์ธ ์ ์๋ค.
์๋ฅผ๋ค์ด ๋ธ๋ผ์ฐ์ ์ ๋ณ๋ ฌ ๋ค์ด๋ก๋๋ฅผ ํตํด ๋ฆฌ์์ค๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ์์ค๋ ๋๋ฉ์ธ ๋ถํ (domain sharding) ๊ธฐ๋ฒ์ ์ด๋ฏธ ์ ์ฉํ์ฌ ์ต์ ํ๋ฅผ ์ํจ ๊ธฐ์ ์ ์คํ๋ ค ๋ฉํฐํ๋ ์ฑ ๊ธฐ๋ฐ์ HTTP/2 ํน์ HTTP/3์์ ์ฑ๋ฅ์ด ๋ฐ๊ฐ๋ ์ ์๋ค.
๋ํ ๋ธ๋ผ์ฐ์ ์ ์ฝํ ์ธ Prefetch ๊ธฐ๋ฅ์ ์ ์ฉํ ๊ฒฝ์ฐ, ์ด๋ฅผ Server Push ๊ธฐ๋ฅ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ ์ง์ ๋ํ ๊ธฐ์ ์ ์ธ ํ๋จ๊ณผ ์ถฉ๋ถํ ์ฑ๋ฅ ๋น๊ต ํ ์คํธ๊ฐ ํ์ํ๊ฒ ๋๋ค. โ
์ํธํ๋ก ๋คํธ์ํฌ ์ ์ด๊ฐ ํ๋ฌ
QUIC๋ ๊ธฐ์กด์๋ ์ํธํํ์ง ์๋ ํค๋ ํ๋๋ ์ํธํํ๋ค.
๊ทธ๋์ ์ด๋ฐ ํค๋์ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ ISP๋ ๋คํธ์ํฌ ์ค๊ณํ์ฌ๋ค์ ๊ธฐ์กด์ ์ํธํํ์ง ์๋ ํค๋ ํ๋ ์์ญ๋ค์ ์ฝ์ ์ ์์ด ๋คํธ์ํฌ ํผ์ก์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋คํธ์ํฌ๋ฅผ ์ต์ ํํ๊ธฐ ํ๋ค๋ค. ์๋ฅผ ๋ค์ด ํจํท์ด ACK์ธ์ง ์ฌ์ ์ก์ธ์ง ์ ์ ์๋ค. RTT ์ถ์ ์ ๋ ์ด๋ ต๋ค.
์ด๋ฌํ ์ด์ ๋ก ๊ธฐ์ ๋ค์ด HTTP 3 ๋์ ์ ์ฃผ์ ํ๊ณ ์๋ค.
์ํธํ๋ก ๋ฆฌ์์ค๊ฐ ๋ง์ด ๋ฌ
QUIC์ ํจํท๋ณ๋ก ์ํธํ๋ฅผ ํ๋ค.
์ด๋ ๊ธฐ์กด์ TLS-TCP์์ ํจํท์ ๋ฌถ์ด์ ์ํธํํ๋ ๊ฒ๋ณด๋ค ๋ ํฐ ๋ฆฌ์์ค ์๋ชจ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
QUIC๋ CPU๋ฅผ ๋๋ฌด ์ฌ์ฉํจ
QUIC์ ๋๋ฌด ๋ง์ CPU ์๊ฐ์ ์ฐจ์งํ๋ค.
๋ฐ๋ผ์ ๋ณด๊ธํ ์ค๋งํธํฐ๊ณผ IoT ์ฅ์น๊ฐ์ ๋ง์ดํฌ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ์ด์ฉ์ ์ด๋ ค์์ ๊ฒช์ ์๋ ์๋ค.
๋ฌผ๋ก ์๊ฐ์ด ์ง๋๋ฉด ๊ฐ์ ๋ ์๋ ์๋ค. ๋ค๋ง ๋ฌธ์ ๋ ์ถ๊ฐ์ ์ธ CPU ์ฌ์ฉ์ด ๋ฐฐํฌ์์๊ฒ ์ผ๋ง๋ ์ํฅ์ ๋ผ์น๋๊ฐ ์ด๋ค.
UDP์ ๋ณด์์ ์ธ ๋ฌธ์
DNS์์ TCP๋ UDP๋ฅผ 53ํฌํธ๋ฅผ ์ด์ฉํด ํต์ ํ๊ฒ ๋๋๋ฐ, 53 ํฌํธ๊ฐ ์๋ UDP ํธ๋ํฝ์ด ์ต๊ทผ์๋ ๋์ค ๊ณต๊ฒฉ์ ์ฃผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋ง์ ์๋น์ค๋ค์์ ์ฐจ๋จํ๊ฑฐ๋ ์๋๋ฅผ ์ ํํ๊ณ ์๋ค.
๊ทธ๋์ QUIC์์๋ ์ด๊ธฐ ํจํท์ด ์ต์ 1200๋ฐ์ดํธ์ฌ์ผ ํ๋ค๋ ์กฐ๊ฑด๊ณผ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์๋ต ํจํท์ ๋ฐ์ง ์์ผ๋ฉด ์์ฒญ ํฌ๊ธฐ์ 3๋ฐฐ ์ด์์ ์ ๋ ๋ณด๋ด๋ฉด ์ ๋๋ค๋ ํ๋กํ ์ฝ์ ์ ์ฝ์ฌํญ์ผ๋ก ์ด๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ๋ ธ๋ ฅ์ค์ด๋ค.
๊ธฐ์กด์๋ HTTP/2์ ์ฌ๋ฌ ๋ณด์ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์ด ๋ชจ๋ ์ ์ฒด๊ฐ ์ด์ ๋ํ ๋ณด์ ํจ์น๋ฅผ ์ ์ฉํ ์ฌ๋ก๊ฐ ์๋ฏ์ด, ์ด์ฒ๋ผ ์๋ก์ด ๊ธฐ์ ์ด ๋์ค๋ฉด ๋ณด์ ๋ฌธ์ ๋ ํญ์ ๋๋๋๊ธธ ๋ง๋ จ์ด๋ค.
๋ฌผ๋ก ์ด๋ฌํ ์ฐ๋ ค์ ๋ค์ QUIC๋ ๋ฒ์ ์ด ์ ๋ฐ์ดํธ ๋จ์ ๋ฐ๋ผ ๊ทน๋ณต๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
HTTP/3๋ ์ ์ ๋ฐ์ ํด ๋๊ฐ๊ฒ์ด๊ณ , QUIC๊ฐ ์ฌ์ฅ๋๊ณ ๋๋ค๋ฅธ ํ๋กํ ์ฝ์ด ๋์จ๋ค๊ณ ํ ์ง๋ผ๋, ์ด์ ๋ ๋์ด์ HTTP๋ TCP๋ผ๋ ์ด์ผ๊ธฐ๋ ๋ฐ๋์ง ์์๊บผ๋ผ ์๊ฐ๋๋ค.
# ์ฐธ๊ณ ์๋ฃ
HTTP ์๋ฒฝ ๊ฐ์ด๋ - Programming Insight
https://http3-explained.haxx.se/en
https://evan-moon.github.io/2019/10/08/what-is-http3/
https://www.hamadevelop.me/http3/
https://devopedia.org/quic
https://youtu.be/xcrjamphIp4
https://blog.workinghardinit.work/2021/06/30/microsoft-and-quic/