TCP
ํ๋ฆ์ ์ด
์ค๋ฅ์ ์ด
ํผ์ก์ ์ด
UDP
TCP vs UDP
QUIC
์ ์ก ๊ณ์ธต์ ์ก์ ์์ ์์ ์๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ณ์ธต์ผ๋ก, ์ฝ๊ฒ ๋งํด ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ด๋นํ๋ค.
์ด ๊ณ์ธต์์๋ IP์ ์ํด ์ ๋ฌ๋๋ ํจํท์ ์ค๋ฅ๋ฅผ ๊ฒ์ฌํ๊ณ ์ฌ์ ์ก ์๊ตฌ ๋ฑ์ ์ ์ด๋ฅผ ๋ด๋นํ๋ค.
์ ์ก ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์๋ TCP
์ UDP
๊ฐ ์๋ค.
-
IP์ ์ญํ ์ Host to Host๋ง์ ์ง์ํ๋ค. ์ฅ์น์์ ์ฅ์น๋ก ์ด๋์ IP๋ก ํด๊ฒฐ๋์ง๋ง, ํ๋์ ์ฅ๋น์์์ ์๋ง์ ํ๋ก๊ทธ๋จ๋ค์ด ํต์ ์ ํ ๊ฒฝ์ฐ์๋ IP๋ง์ผ๋ก๋ ํ๊ณ๊ฐ ์๋ค.
-
๋ํ IP์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด ICMP์์ ์๋ ค์ค๋ค. ํ์ง๋ง ICMP๋ ์๋ ค์ฃผ๊ธฐ๋ง ํ ๋ฟ ๋์ฒ๋ฅผ ๋ชปํ๊ธฐ ๋๋ฌธ์ IP๋ณด๋ค ์์์ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ค.
- 1๋ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด
Port
๋ฒํธ๊ฐ ๋์ค๊ฒ ๋์๊ณ , 2๋ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ํ๋กํ ์ฝ์ธTCP
์UDP
๊ฐ ๋์ค๊ฒ ๋์๋ค.
ICMP: ์ธํฐ๋ท ์ ์ด ๋ฉ์ธ์ง ํ๋กํ ์ฝ๋ก ๋คํธ์ํฌ ์ปดํจํฐ ์์์ ๋์๊ฐ๋ ์ด์์ฒด์ ์์ ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ ์ก๋ฐ๋๋ฐ ์ฃผ๋ก ์ฐ์ธ๋ค.
- TCP ๋ฐ์ดํฐ์ ๋ถ์ค, ์ค๋ณต, ์์๊ฐ ๋ค๋ฐ๋ ๋ฑ์ ์๋์ผ๋ก ๋ณด์ ํด์ค์ ์ก์์ ๋ฐ์ดํฐ์ ์ ํํ ์ ๋ฌ์ ํ ์ ์๋๋ก ํด์ค๋ค.
- UDP IP๊ฐ ์ ๊ณตํ๋ ์ ๋์ ์์ค๋ง์ ์ ๊ณตํ๋ ๊ฐ๋จํ IP ์์ ๊ณ์ธต ํ๋กํ ์ฝ์ด๋ค. TCP์๋ ๋ค๋ฅด๊ฒ ์๋ฌ๊ฐ ๋ ์๋ ์๊ณ ์ฌ์ ์ก์ด๋ ์์๊ฐ ๋ค๋ฐ๋์๋ ์์ด์ ์ด๊ฒฝ์ฐ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฒ๋ฆฌํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์กด์ฌํ๋ค.
TCP์ UDP์ ๋ํด ์์ธํ ์์๋ณด์!๐
์ ์ก ์ ์ด ํ๋กํ ์ฝ TCP๋ ์ ์ก ๊ณ์ธต์์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ๋ก์, ์ฅ์น๋ค ์ฌ์ด์ ๋ ผ๋ฆฌ์ ์ธ ์ ์์ ์ฑ๋ฆฝํ๊ธฐ ์ํ์ฌ ์ฐ๊ฒฐ์ ์ค์ ํ์ฌ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ์ฐ๊ฒฐํ ์๋น์ค์ด๋ค.
TCP๋ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ ๊ฐ์ ํจํท์ ์์ ์ ์ผ๋ก, ์์๋๋ก, ์๋ฌ ์์ด ๊ตํํ ์ ์๊ฒ ํ๋ค.
relialble network๋ฅผ ๋ณด์ฅํ๋ค๋ ๊ฒ์ 4๊ฐ์ง ๋ฌธ์ ์ ์กด์ฌ
- ์์ค: ํจํท์ด ์์ค๋ ์ ์๋ ๋ฌธ์
- ์์ ๋ฐ๋: ํจํท์ ์์๊ฐ ๋ฐ๋๋ ๋ฌธ์
- congestion: ๋คํธ์ํฌ๊ฐ ํผ์กํ ๋ฌธ์
- overload: ์์ ์๊ฐ overload๋๋ ๋ฌธ์
-
์ฐ๊ฒฐํ ์๋น์ค๋ก ๊ฐ์ ํ์ ๋ฐฉ์์ ์ ๊ณตํ๋ค.
- 3-way handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ๋ค.
- 4-way handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ํด์ ํ๋ค.
-
ํ๋ฆ ์ ์ด
- ์ก์ ์ธก๊ณผ ์์ ์ธก์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ
- Flow Control์ ์์ ์๊ฐ ํจํท์ ์ง๋์น๊ฒ ๋ง์ด ๋ฐ์ง ์๋๋ก ์กฐ์ ํ๋ ๊ฒ
- ๊ธฐ๋ณธ ๊ฐ๋ ์ ์์ ์๊ฐ ์ก์ ์์๊ฒ ํ์ฌ ์์ ์ ์ํ๋ฅผ feedback ํ๋ค๋ ๊ฒ
-
ํผ์ก ์ ์ด
- ์ก์ ์ธก์ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ ๋คํธ์ํฌ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ
-
์ ๋ขฐ์ฑ์ด ๋์ ์ ์ก
- ์ก์ ์ธก์์ ๋ณด๋ธ ํจํท์ ์์ ์ธก์์ ๋ฐ์ง ๋ชปํ๋ฉด ์ฌ์ ์กํ๋ค.
- Dup ACK-based retransmission: ์ก์ ์ธก์์ ์ฌ๋ฌ ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํ๋๋ฐ, ์์ ๋ ์ธ๊ทธ๋จผํธ์ ์์๊ฐ ํ๋ ธ์ ๊ฒฝ์ฐ ์์ ๋จ๋ง์ด ๋ค์ ๋ณด๋ด๋ฌ๋ผ๋ ์๋ฏธ๋ก ACK๋ฅผ ๋ณด๋ธ๋ค. ์ก์ ์ธก์์ ๋์ผํ ACK๋ฅผ 3๊ฐ ์ด์ ๋ฐ์์ ๊ฒฝ์ฐ ํด๋น ํจํท์ ์์ค๋๋ฐ๊ณ ํ๋จํด ์ฌ์ ์ก์ ์์ฒญํ๋ค.
- Timeout-based retransmission: ์ก์ ์๋ ์ผ์ ์๊ฐ๋์ ์์ ์๋ก๋ถํฐ ACK๋ฅผ ๋ฐ์ง ๋ชปํ๋ฉด ์์ค๋๋ค๊ณ ํ๋จํด ์ฌ์ ์ก์ ์์ฒญํ๋ค.
- ์ ์ด์ค, ์ ๋์ ๋ฐฉ์
- ์ ์ด์ค(Full-Duplex): ๋ฐ์ดํฐ ์ ์ก ํ๋ฆ ๋ฐฉํฅ์ด ํญ์ ์ ๋ฐฉํฅ์ผ๋ก ๋์์ ์ ์กํ ์ ์๋ค.
- ์ ๋์ (Point to Point): ๊ฐ ์ฐ๊ฒฐ์ด ์ ํํ 2๊ฐ์ ์ข ๋จ์ ์ ๊ฐ์ง๊ณ ์๋ค.
- Application layer:
sender application laye
r๊ฐsocket
์data
๋ฅผ ์ด๋ค. - Transport layer:
data
๋ฅผsegment
๋ก ๊ฐ์ผ๋ค. ๊ทธ๋ฆฌ๊ณnetwork layer
์ ๋๊ฒจ์ค๋ค. - ๊ทธ๋ฌ๋ฉด ์๋ซ๋จ์์
receiving node
๋ก ์ ์ก์ด ๋๋ค. ์ด๋sender
์send buffer
์data
๋ฅผ ์ ์ฅํ๊ณ ,receiver
๋receive buffer
์data
๋ฅผ ์ ์ฅํ๋ค. - application์์ ์ค๋น๊ฐ ๋๋ฉด ์ด buffer์ ์๋ ๊ฒ์ ์ฝ๊ธฐ ์์ํ๋ค.
- flow control์ ํต์ฌ์ receiver buffer๊ฐ ๋์น์ง ์๊ฒ ํ๋ ๊ฒ์ด๋ค.
- receiver๋ RWND(Receive WiNDow):receive buffer์ ๋จ์ ๊ณต๊ฐ์ ํ๋ณดํ๋ค.
- ์์ ์ธก์ด ์ก์ ์ธก๋ณด๋ค ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅด๋ฉด ๋ฌธ์ ์์ง๋ง, ์ก์ ์ธก์ ์๋๊ฐ ๋น ๋ฅผ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
- ์์ ์ธก์์ ์ ํ๋ ์ ์ฅ ์ฉ๋์ ์ด๊ณผํ ์ด๋ฃจ์ ๋์ฐฉํ๋ ๋ฐ์ดํฐ๋ ์์ค ๋ ์ ์์ผ๋ฉฐ, ๋ง์ฝ ์์ค ๋๋ค๋ฉด ๋ถํ์ํ๊ฒ ์๋ต๊ณผ ๋ฐ์ดํฐ ์ ์ก์ด ์ก/์์ ์ธก ๊ฐ์ ๋น๋ฒ์ด ๋ฐ์ํ๋ค.
- ์ด๋ฌํ ์ํ์ ์ค์ด๊ธฐ ์ํด ์ก์ ์ธก์ ๋ฐ์ดํฐ ์ ์ก๋์ ์์ ์ธก์ ๋ฐ๋ผ ์กฐ์ ํด์ผํ๋ค.
ํ๋ฆ์ ์ด๋ ์์ ๊ฐ์ด ์ก์ ์ธก๊ณผ ์์ ์ธก์ TCP ๋ฒํผ ํฌ๊ธฐ ์ฐจ์ด๋ก ์ธํด ์๊ธฐ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ด๋ค.
TCP ๋ฒํผ ์ก์ ์ธก์ ๋ฒํผ์ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๊ดํ ํ ์์ฐจ์ ์ผ๋ก ์ ์กํ๊ณ , ์์ ์ธก์ ๋์ฐฉํ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฝ์ ๋๊น์ง ๋ฒํผ์ ๋ณด๊ดํ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
๋งค๋ฒ ์ ์กํ ํจํท์ ๋ํด ํ์ธ ์๋ต์ ๋ฐ์์ผ๋ง ๊ทธ ๋ค์ ํจํท์ ์ ์กํ๋ ๋ฐฉ๋ฒ
ํจํท์ ํ๋์ฉ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.
- ์์ ์ธก์์ ์ค์ ํ ์๋์ฐ ํฌ๊ธฐ๋งํผ ์ก์ ์ธก์์ ํ์ธ์๋ต์์ด ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํ ์ ์๊ฒ ํ์ฌ ๋ฐ์ดํฐ ํ๋ฆ์ ๋์ ์ผ๋ก ์กฐ์ ํ๋ ์ ์ด ๊ธฐ๋ฒ
์๋์ฐ: ์ก์ , ์์ ์คํ ์ด์ ์์ชฝ์์ ๋ง๋ค์ด์ง ๋ฒํผ์ ํฌ๊ธฐ
ํธ์คํธ๋ค์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ ์
3-way handshakeing
์ ํตํด ์์ ํธ์คํธ์ receive window size์ ์์ ์ send window size๋ฅผ ๋ง์ถ๊ฒ ๋๋ค.
์๋์ฐ์ ํฌํจ๋ ํจํท์ ๊ณ์ ์ ์กํ๊ณ ์์ ์ธก์ผ๋ก๋ถํฐ ํ์ธ ์๋ต(ACK)์ด ์ค๋ฉด ์๋์ฐ๋ฅผ ์์ผ๋ก ์ฎ๊ฒจ ๋ค์ ํจํท๋ค์ ์ ์กํ๋ค.
- ์ต์ด๋ก ์์ ์๋ ์๋์ฐ ์ฌ์ด์ฆ๋ฅผ 7๋ก ์ ํ๋ค.
- ์ก์ ์๋ ์์ ์์ ํ์ธ ์๋ต(ACK)๋ฅผ ๋ฐ๊ธฐ ์ ๊น์ง ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ๋ค.
- ์์ ์๋ ํ์ธ ์๋ต์(ACK)์ ์ก์ ์์๊ฒ ๋ณด๋ด๋ฉด, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์ฌ์ด์ฆ๋ฅผ ์ถฉ์กฑํ ์ ์๊ฒ ์๋์ฐ๋ฅผ ์์ผ๋ก ์ฎ๊ธด๋ค.
- ์ดํ ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ฐ์ ๋๊น์ง ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
์ฌ์ ์ก
- ์ก์ ์ธก์ ์ผ์ ์๊ฐ ๋์ ์์ ์ธก์ผ๋ก๋ถํฐ ํ์ธ์๋ต์ ๋ฐ์ง ๋ชปํ๋ฉด, ํจํท์ ์ฌ์ ์กํ๋ค.
- ๋ง์ฝ ์ก์ ์ธก์์ ์ฌ์ ์ก์ ํ๋๋ฐ ํจํท์ด ์์ค๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ ์์ ์ธก์ ๋ฒํผ์ ๋จ๋ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ์ธก์ ํด๊ฒฐ์๋ต์ ๋ณด๋ด๋ฉด์ ๋จ์ ๋ฒํผ์ ํฌ๊ธฐ(์๋์ฐ์ ํฌ๊ธฐ)๋ ํจ๊ป ๋ณด๋ด์ค๋ค.
ARQ(Automatic Repeat Request): ์ ๋ขฐ์ฑ์๋ ๋ฐ์ดํฐ ์ ๋ฌ์ ์ํด ์ฌ์ ์ก์ ๊ธฐ๋ฐ์ผ๋กํ ์๋ฌ ์ ์ด ๋ฐฉ์
ARQ ๊ธฐ๋ฒ์ ์ฌ์ฉํด ํ๋ ์์ด ์์๋์๊ฑฐ๋ ์์ค๋์์ ๊ฒฝ์ฐ ์ฌ์ ์ก์ ํตํด ์ค๋ฅ๋ฅผ ๋ณต๊ตฌํ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ฐ์ดํฐ๋ ACK๊ฐ ๋ถ์ค๋์์ ๊ฒฝ์ฐ ์ผ์ ๊ฐ๊ฒฉ์ ์๊ฐ์ ๋๊ณ ํ์์์์ด ๋๋ฉด ์ก์ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํ๋ค.
์ ์ก๋ ํ๋ ์์ด ์์๋๊ฑฐ๋ ๋ถ์ค๋ ๊ฒฝ์ฐ, ํ์ธ๋ ๋ง์ง๋ง ํ๋ ์ ์ดํ๋ก ๋ชจ๋ ์ฌ์ ์กํ๋ ๊ธฐ๋ฒ์ด๋ค.
๋ฐ์ดํฐ์ ์์ด ๋ผ์ฐํฐ๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ์์ ์ด๊ณผํ๋ฉด ์ด๊ณผ๋ ๋ฐ์ดํฐ๋ ๋ผ์ฐํฐ๊ฐ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ค. ์ด๋ ์ก์ ์ธก์์๋ ๋ผ์ฐํฐ๊ฐ ์ฒ๋ฆฌํ์ง ๋ชปํ ๋ฐ์ดํฐ๋ฅผ ์์ค ๋ฐ์ดํฐ๋ก ๊ฐ์ฃผํ๊ณ ๊ณ์ ์ฌ์ ์กํ์ฌ ๋คํธ์ํฌ๋ฅผ ํผ์กํ๊ฒ ํ๋ค.
์ด๋ฐ ์ํฉ์ ์ก์ ์ธก์ ์ ์ก์๋๋ฅผ ์ ์ ํ ์กฐ์ ํ์ฌ ์๋ฐฉํ ์ ์๋๋ฐ, ์ด๊ฒ์ ํผ์ก์ ์ด๋ผ๊ณ ํ๋ค.
์ ๋ฆฌํ์๋ฉด
ํ๋ฆ์ ์ด
๋ ์ก ์์ ์ธก ์ฌ์ด์ ํจํท ์๋ฅผ ์ ์ดํ๋ ๊ธฐ๋ฅ์ด๊ณ ,ํผ์ก์ ์ด
๋ ๋คํธ์ํฌ ๋ด์ ํจํท ์๋ฅผ ์กฐ์ ํ์ฌ ๋คํธ์ํฌ์ ์ค๋ฒํ๋ก์ฐ๋ฅผ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ์ด๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
์ง์ญํ๋ฉด ํฉ ์ฆ๊ฐ/ ๊ณฑ ๊ฐ์ ๋ฐฉ์์ด๋ค.
AIMD ๋ฐฉ์์ ์ฒ์์ ํจํท์ ํ๋์ฉ ๋ณด๋ด๊ณ ๋ฌธ์ ์์ด ๋์ฐฉํ๋ฉด ์๋์ฐ์ ํฌ๊ธฐ๋ฅผ 1์ฉ ์ฆ๊ฐ์์ผ๊ฐ๋ฉฐ ์ ์กํ๋ค. ๋ง์ฝ ์ ์ก์ ์คํจํ๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋ฐ์ผ๋ก ์ค์ธ๋ค.
์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋๋ฌด ์กฐ๊ธ์ฉ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ์ ๋ชจ๋ ๋์ญ์ ํ์ฉํ์ฌ ์ ๋๋ก ๋ ์๋๋ก ํต์ ํ๊ธฐ๊น์ง ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๋จ์ ์ด ์๋ค.
AIMD ๋ฐฉ์์ ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ ํ์ ์ผ๋ก ์ฆ๊ฐ์ํค๊ธฐ ๋๋ฌธ์, ์ ๋๋ก๋ ์๋๊ฐ ๋์ค๊ธฐ๊น์ง ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค.
๋ฐ๋ฉด Slow Start๋ ์๋์ฐ์ ํฌ๊ธฐ๋ฅผ 1,2,4,8...๊ณผ ๊ฐ์ด ์ง์์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ค๊ฐ ํผ์ก์ด ๊ฐ์ง๋๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ฅผ 1๋ก ์ค์ด๋ ๋ฐฉ์์ด๋ค.
์ด ๋ฐฉ์์ ๋ณด๋ธ ๋ฐ์ดํฐ์ ACK๊ฐ ๋์ฐฉํ ๋๋ง๋ค ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ์ํค๊ธฐ ๋๋ฌธ์ ์ฒ์์๋ ์๋์ฐ ํฌ๊ธฐ๊ฐ ์กฐ๊ธ ๋๋ฆฌ๊ฒ ์ฆ๊ฐํ ์ง๋ผ๋, ์๊ฐ์ด ๊ฐ๋ฉด ์๋์ฐ ํฌ๊ธฐ๊ฐ ์ ์ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ค๋ ์ฅ์ ์ด ์๋ค.
ํผ์ก ์๋์ฐ์ ํฌ๊ธฐ๊ฐ ์๊ณ์น์ ๋๋ฌํ๊ธฐ ์ ๊น์ง ์ ์ฉ๋๋ฉฐ, ์๊ณ ๊ฐ์ ๋๋ฌํ๋ฉด ํผ์กํํผ ๋จ๊ณ
๋ฅผ ์ํํ๋ค.
์๊ณ์ (Threshold) ์ฌ๊ธฐ๊น์ง๋ง
slow start
๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค.slow start threshold(ssthresh)
๋ผ๊ณ ๋ ํ๋ค. ์ด ๊ฐ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ง์์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ค๋ณด๋ฉด ํฌ๊ธฐ๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ์ ์ด๊ฐ ํ๋ค์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค.
์๋์ฐ์ ํฌ๊ธฐ๊ฐ ์๊ณ ๊ฐ์ ๋๋ฌํ ์ดํ์๋ ๋ฐ์ดํฐ ์ง์ฐ, ์์ค์ด ๋ฐ์ํ ํ๋ฅ ์ด ๋์์ง๋ค.
๋ฐ๋ผ์ ์ ์ก ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ์๊ณ์ ์ ๋๋ฌํ๋ฉด ์ ํ์ ์ผ๋ก 1์ฉ ์๋์ฐ๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
๋ง์ฝ ํ์ ์์ ๋ฌธ์ ๊ฐ ์๊ธด๋ค๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ 1๋ก ๋์๊ฐ๋ฉฐ ์๊ณ์ ์ ์์ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋์ ํผ์ก ์๋์ฐ ์ฌ์ด์ฆ์ 1/2๋ก ๋ณ๊ฒฝ๋๋ค. ์ดํ ๋น ๋ฅธ ํ๋ณต ์ํ๋ก ๋ค์ด๊ฐ๋ค.
ํจํท์ ๋ฐ๋ ์์ ์ ์ ์ฅ์์๋ ์ธ๊ทธ๋จผํธ๋ก ๋ถํ ๋ ๋ด์ฉ๋ค์ด ์์๋๋ก ๋์ฐฉํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์๋ค. ์ด๋ฐ ์ํฉ์ด ๋ฐ์ํ์ ๋ ์์ ์ธก์์๋ ์์๋๋ก ์ ๋์ฐฉํ ๋ง์ง๋ง ํจํท์ ๋ค์ ์๋ฒ์ ACK ํจํท์ ์ค์ด์ ๋ณด๋ธ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ์ค๋ณต ACK๋ฅผ 3๊ฐ ๋ฐ์ผ๋ฉด ์ฌ์ ์ก์ด ์ด๋ฃจ์ด์ง๋ค. ์ก์ ์ธก์ ์์ ์ด ์ค์ ํ ํ์ ์์ ์๊ฐ์ด ์ง๋์ง ์์์ด๋ ๋ฐ๋ก ํด๋น ํจํท์ ์ฌ์ ์กํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ๋น ๋ฅธ ์ฌ์ ์ก๋ฅ ์ ์ ์งํ ์ ์๋ค.
๋ํ ํผ์กํ ์ํฉ์ด๋ผ ํ๋จํ๊ณ ํผ์ก ์๋์ฐ ์ฌ์ด์ฆ๋ 1๋ก ๋์๊ฐ๋ฉฐ ์๊ณ์ ์ ์์ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋์ ํผ์ก ์๋์ฐ์ ์ฌ์ด์ฆ์ 1/2๋ก ๋ณ๊ฒฝ๋๋ค.
ํผ์กํ ์ํ๊ฐ ๋๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ฅผ 1๋ก ์ค์ด์ง ์๊ณ ๋ฐ์ผ๋ก ์ค์ด๊ณ ์ ํ ์ฆ๊ฐ์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ง์ฝ ํ์์์์ด ๋ฐ์ํ๋ฉด ํผ์ก ์๋์ฐ ์ฌ์ด์ฆ๋ 1๋ก ํ๊ณ , ์๊ณ์ ์ ์์ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋์ ํผ์ก ์๋์ฐ ์ฌ์ด์ฆ์ 1/2๋ก ๋ณ๊ฒฝ๋๋ค.
TCP์๋ Tahoe
, Reno
, New Reno
, Cubic
, Ealstic-TCP
๊น์ง ๋ค์ํ ํผ์ก ์ ์ด ์ ์ฑ
์ด ์กด์ฌํ๋ค. ์ด๋ฌํ ํผ์ก ์ ์ด ์ ์ฑ
๋ค์ ๊ณตํต์ ์ผ๋ก ํผ์ก์ด ๋ฐ์ํ๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ฑฐ๋, ํน์ ์ฆ๊ฐ์ํค์ง ์์ผ๋ฉฐ ํผ์ก์ ํํผํ๋ค ๋ผ๋ ์ ์ ๋ฅผ ๊น๊ณ ์๋ค.
๋ํ์ ์ธ ์ ์ฑ
Tahoe
์ Reno
์ ๋ํด ์์๋ณด์!
Tahoe์ Reno๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฒ์์๋ Slow Start ๋ฐฉ์์ ์ฌ์ฉํ๋ค๊ฐ ๋คํธ์ํฌ๊ฐ ํผ์กํ๋ค๊ณ ๋๊ผ์ ๋๋ AIMD ๋ฐฉ์์ผ๋ก ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ์ ์ฑ ์ด๋ค.
์ ๊ทธ๋ํ์ Y์ถ์ ํผ์ก ์๋์ฐ, X์ถ์ ์๊ฐ์ผ๋ก ํ์ฌ Tahoe์ Reno์ ์๋ ๋ฐฉ์์ ์ค๋ช ํ๊ณ ์๋ค.
๊ทธ๋ํ๋ฅผ ์ดํดํ๊ธฐ ์ ์ ๊ทธ๋ํ๊ฐ ๊บพ์ฌ ์๋ ์ง์ ์ธ 3 ACK duplicate
, Timeout
์ฉ์ด์ ๊ทธ๋ํ ์์น ํญ์ด ๋ณํ๊ณ ์๋ ์ง์ ์ธ Threshold
์ฉ์ด๋ฅผ ์์๋ณด์
์ฉ์ด ์ ๋ฆฌ
Timeout
๋ง ๊ทธ๋๋ก ์ฌ๋ฌ ๊ฐ์ง ์์ธ์ผ๋ก ์ธํด ์ก์ ์ธก์ด ๋ณด๋ธ ๋ฐ์ดํฐ ์์ฒด๊ฐ ์ ์ค๋์๊ฑฐ๋, ์์ ์ธก์ด ์๋ต์ผ๋ก ๋ณด๋ธ ACK๊ฐ ์ ์ค๋๋ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ค.
3-ACK Duplicate
ํจํท์ ๋ฐ๋ ์์ ์ ์ ์ฅ์์๋ ์ธ๊ทธ๋จผํธ๋ก ๋ถํ ๋ ๋ด์ฉ๋ค์ด ์์๋๋ก ๋์ฐฉํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์๋ค. ์ด๋ฐ ์ํฉ์ด ๋ฐ์ํ์ ๋ ์์ ์ธก์์๋ ์์๋๋ก ์ ๋์ฐฉํ ๋ง์ง๋ง ํจํท์ ๋ค์ ์๋ฒ์ ACK ํจํท์ ์ค์ด์ ๋ณด๋ธ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ์ค๋ณต ACK 3๊ฐ๋ฅผ ๋ฐ์ผ๋ฉด ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋จํ์ฌ ํด๋น ํจํท์ ์ก์ ์ธก์ด ์ฌ์ ์กํ๋ค.
์ฒ์์๋ Slow Start
๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ง์์ ์ผ๋ก ๋น ๋ฅด๊ฒ ์ฆ๊ฐ์ํค๋ค๊ฐ ssthresh
๋ฅผ ๋ง๋ ์ดํ๋ถํฐ๋ AIMD
์ ์ฌ์ฉํ์ฌ ์ ํ์ ์ผ๋ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ์ํจ๋ค. ๊ทธ๋ฌ๋ค๊ฐ ACK Duplicated๋ Timeout์ด ๋ฐ์ํ๋ฉด ๋คํธ์ํฌ์ ํผ์ก
์ด ๋ฐ์ํ๋ค๊ณ ํ๋จํ๊ณ , ssthresh
์ ์์ ์ ์๋์ฐ ํฌ๊ธฐ
๋ฅผ ์์
ํ๊ฒ ๋๋ค.
-
์ฒญ๋ก์ ์ ์ ์ก์ ์ธก์ ํผ์ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ, ๊ตต์ ๊ฒ์ ์ ์ ssthresh ๊ฐ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ์ฌ๊ธฐ์๋ ์ก์ ์ธก์ ํผ์ก ์๋์ฐ ํฌ๊ธฐ๋ 8๋ก ์ด๊ธฐํ ๋์๊ณ , ๊ทธ์ ๋ฐ๋ผ ssthresh๋ 4๋ก ์ค์ ๋์ด ์๋ค.
-
์ก์ ์ธก์ ์๊ณ์ ์ ๋ง๋๊ธฐ ์ ๊น์ง slow start ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ์์ ์ ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ ์ํค๋ค๊ฐ ssthresh๋ฅผ ๋์ด์ ์ดํ๋ถํฐ๋ ์ ํ์ ์ผ๋ก ์ฆ๊ฐ์ํค๊ณ ์๋ค.
-
์ด ์ํฉ์์ 3 ACK Duplicated๋ Timeout๊ณผ ๊ฐ์ ํผ์ก ์ํฉ์ ๋ง๋๋ฉด?? ์ฒ์ ํผ์ก ์ํฉ์ด ๋ฐ์ํ ์ํ์ ํผ์ก ์๋์ฐ ํฌ๊ธฐ๋ 6์ด๋ฉฐ, ๊ทธ์ ๋ฐ๋ผ ssthresh๋ฅผ 3์ผ๋ก ๋ณ๊ฒฝํ๊ณ , ์์ ์ ํผ์ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ 1๋ก ์ค์๋ค. ์ดํ ๋ค์ slow start๋ก ์์ํ์ฌ ์๊ณ์ ์ ๋๋ฌํ๋ฉด AIMD๋ฅผ ์์ํ๋ค.
TCP Reno๋ TCP Tahoe ์ดํ์ ๋์จ ์ ์ฑ
์ผ๋ก, Tahoe์ ๋ง์ฐฌ๊ฐ์ง๋ก Slow Start
๋ก ์์ํ์ฌ ์๊ณ์
์ ๋์ด์๋ฉด AIMD
๋ฅผ ์ฌ์ฉํ๋ค. ๋ค๋ง, Tahoe์๋ ๋ค๋ฅด๊ฒ 3 ACK Duplicated์ Timeout ํผ์ก ์ํฉ
์ ๊ตฌ๋ถ
ํ๋ค.
Reno๋ 3๊ฐ์ ์ค๋ณต ACK๊ฐ ๋ฐ์ํ์ ๋ ์๋์ฐ ํฌ๊ธฐ๋ฅผ 1๋ก ์ค์ด๋ ๊ฒ์ด ์๋๋ผ AIMD์ฒ๋ผ ๋ฐ์ผ๋ก๋ง ์ค์ด๊ณ ssthresh๋ฅผ ์ค์ด๋ ์๋์ฐ ๊ฐ์ผ๋ก ์ ํ๊ฒ ๋๋ค. ์ด ๋ฐฉ์์ ๋น ๋ฅธ ํ๋ณต์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ทธ๋ฌ๋ Timeout์ ์ํด ๋ฐ์ดํฐ๊ฐ ์์ค๋๋ฉด Tahoe์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋ฐ๋ก 1๋ก ์ค์ฌ๋ฒ๋ฆฌ๊ณ slow start๋ฅผ ์งํํ๋ค. ์ด๋ ssthresh๋ฅผ ๋ณ๊ฒฝํ์ง๋ ์๋๋ค.
์ฆ Reno๋ ACK ์ค๋ณต์ Timeout์ ๋นํด ๊ทธ๋ฆฌ ํฐ ํผ์ก์ด ์๋๋ผ๊ณ ๊ฐ์ ํ๊ณ ํผ์ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ 1๋ก ์ค์ด์ง ์๋๋ค๋ ์ ์์ ํผ์ก ์ํฉ์ ์ฐ์ ์์๋ฅผ ๋ ์ ์ฑ ์ด๋ผ ๋ณผ ์ ์๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ์์ ์ ์ผ๋ก ์ ๋ฌํ ์ ์๋ค.
- ํธ์คํธ ๊ฐ ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ ํ๋ฆ์ ์ด๋ฅผ ํ๋ค.
- ๋ฐ์ดํฐ๋ก ๋ณด๋ด๊ธฐ ์ ์ ๋ฐ๋์ ์ฐ๊ฒฐ์ด ํ์ฑ ๋์ด์ผ ํ๋ค.
- 1:1 ํต์ ๋ง ๊ฐ๋ฅํ๋ค.
- ๊ณ ์ ๋ ํต์ ์ ๋ก๊ฐ ์ต๋จ์ ๋ก(๋คํธ์ํฌ ๊ธธ์ด)๊ฐ ์๋๊ฒฝ์ฐ ์๋์ ์ผ๋ก UDP๋ณด๋ค ๋ฐ์ดํฐ ์ ์ก์๋๊ฐ ๋๋ฆฌ๋ค.
UDP๋ ์ ์ก๊ณ์ธต์ ๋น ์ฐ๊ฒฐ ์งํฅ์ ํ๋กํ ์ฝ์ด๋ค.
๋น ์ฐ๊ฒฐ ์งํฅ์ : ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์๋ ์ฐ๊ฒฐ ์ ์ฐจ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฐ์ ์๊ฐ ์ผ๋ฐฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํ๋ ๋ฐฉ์
๋ฐ์ดํฐ๋ฅผ ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ก, ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ํ๋กํ ์ฝ์ด๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๊ทธ๋จ ๋จ์๋ก ์ฒ๋ฆฌํ๋ ํ๋กํ ์ฝ
๋ฐ์ดํฐ๊ทธ๋จ : ๋ ๋ฆฝ์ ์ธ ๊ด๊ณ๋ฅผ ์ง๋๋ ํจํท
UDP๋ ํ๋ฆ์ ์ด, ์ค๋ฅ์ ์ด ๋๋ ์์๋ ์ธ๊ทธ๋จผํธ์ ์์ ์ ๋ํ ์ฌ์ ์ก์ ํ์ง ์๋๋ค. ์ด ๋ชจ๋๊ฐ ์ฌ์ฉ์ ํ๋ก์ธ์ค์ ๋ชซ์ด๋ค. UDP๊ฐ ํํ๋ ๊ฒ์ ํฌํธ๋ค์ ์ฌ์ฉํ์ฌ IP ํ๋กํ ์ฝ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด๋ค.
- ๋น ์ฐ๊ฒฐํ ์๋น์ค๋ก ์ฐ๊ฒฐ ์์ด ํต์ ์ด ๊ฐ๋ฅํ๋ฉฐ ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์์ ์ ๊ณตํ๋ค.
- ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋, ์ ๋ณด๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ๋๋ค๋ ์ ํธ ์ ์ฐจ๋ฅผ ๊ฑฐ์น์ง ์๋๋ค.
- UDP ํค๋์ Check Sum ํ๋๋ฅผ ํตํด ์ต์ํ์ ์ค๋ฅ๋ง ๊ฒ์ถํ๋ค.
- ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค.
- ์๋์ ์ผ๋ก TCP๋ณด๋ค ์ ์ก์๋๊ฐ ๋น ๋ฅด๋ค.
- ํจํท ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค.
- ํจํท ์ค๋ฒํค๋๊ฐ ์ ์ด ๋คํธ์ํฌ ๋ถํ๊ฐ ๊ฐ์๋๋ ์ฅ์ ์ด ์๋ค.
- ๋ฐ์ดํฐ์ ์ ์์ฑ! TCP๋ณด๋ค ๋ฐ์ดํฐ ์ ์ก ์๋๊ฐ ๋น ๋ฅด๋ค.
- ๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ์ด ๋จ์ด์ง๋ค.
- ํจํท์ ๋ถ์ค ํ์ธ์ด๋ ์ ๋ฌ ์์๋ฅผ ๋ณด์ฅํด์ฃผ์ง ์๋๋ค.
- TCP์๋ ๋ค๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ชผ๊ฐ์ฃผ์ง ์์ ์ ํ๋ฆฌ์ผ์ด์ ๋จ์์ ํจํท์ ์ชผ๊ฐ์ผ ํ๋ค.
- TCP๋ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง๋ง ์ฐ๊ฒฐ์ ํตํด ์๊ฐ ์์ค์ ๋ฐ์ํ ์ ์๋ค.
- TCP๋ ํจํท์ด ๋๋ฝ๋๋ฉด ์ฌ์ ์ก์ ํด์ผํ๋ค.
- ์ฌ์ง ๋๋ ์์์ ๋ฐ์ดํฐ์ ์ผ๋ถ๊ฐ ๋๋ฝ๋ผ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์, TCP๋ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ด ๋์ง ๋ชปํ๋ค.
- ์์ ๊ฐ์ ๊ฒฝ์ฐ ์ ์ก ์๋๊ฐ ๋น ๋ฅธ UDP๋ฅผ ์ฌ์ฉํ๋ค.
- Request์ ์์ด ์์์ UDP Request์ ๋ด๊ธธ ์ ์๋ค.
- 3 way handshaking์ผ๋ก ์ฐ๊ฒฐ์ ์ ์งํ ํ์๊ฐ ์๋ค.
- Request์ ๋ํ ์์ค์ Application Layer์์ ์ ์ด๊ฐ ๊ฐ๋ฅํ๋ค.
- ๊ทธ๋ฌ๋ ํฌ๊ธฐ๊ฐ 512(UDP ์ ํ)์ด ๋์ ๋, TCP๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
- DNS๋ UDP๋ฅผ 53๋ฒ port์์ ์ฌ์ฉํ๋ค.
- TCP๋ ์ฐ์์ฑ๋ณด๋ค ์ ๋ขฐ์ฑ ์๋ ์ ์ก์ด ์ค์ํ ๋ ์ฌ์ฉํ๊ณ
- UDP๋ TCP๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด๊ณ ๋คํธ์ํฌ ๋ถํ๊ฐ ์ ์ง๋ง ์ ๋ขฐ์ฑ์๋ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํ์ง ์๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ์ฑ๋ณด๋ค ์ฐ์์ฑ์ด ์ค์ํ ์ค์๊ฐ ์๋น์ค์ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
- TCP์ UDP์ ํน์ฑ์ ๊ฒฐํฉํ ์๋ก์ด ํ๋กํ ์ฝ
- TCP, UDP์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ก์ธ์ค-ํ๋ก์ธ์ค ๊ฐ ํต์ ์ ์ ๊ณตํ๋ค.
- ๋ค์ค ์คํธ๋ฆผ ์๋น์ค๋ฅผ ํ์ฉํ๋ค.
- TCP๋ ์ด๋ ์ง์ ์์ ์์ค์ด ๋๋ฉด ๋๋จธ์ง ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ง๋๋ค.
- SCTP๋ ์คํธ๋ฆผ ์ค ํ๋๊ฐ ๋งํ๋ฉด ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ฌ์ ํ ๋ฐ์ดํฐ ์ ๋ฌ์ด ๊ฐ๋ฅํ๋ค.
- TCP์ฒ๋ผ ์ฐ๊ฒฐ ์งํฅ ํ๋กํ ์ฝ์ด๋ฉฐ ์ ๋ขฐ์ฑ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
์ต์ข ์ฌ์ฉ์์๊ฒ ์น๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ ๋นจ๋ฆฌ ์ ๋ฌํ๋ ค๋ ๋ฐ๋์ด ์ด๊ธฐ ์ด ์๋ก์ด ์ ์ก ํ๋กํ ์ฝ์ ๋ง๋ค๊ฒ ๋ ๊ฐ์ฅ ํฐ ์ด์ ์ด์ ์๋๋ ฅ์ด๋ค.
QUIC
๋ UDP
์์ ๊ตฌํํ ์ ์ก ํ๋กํ ์ฝ์ด๋ค. UDP์ ๊ธฐ๋ฐ์ ๋ QUIC๋ UDP ํฌํธ ๋ฒํธ๋ฅผ ์ฌ์ฉํด์ ์ฃผ์ด์ง IP ์ฃผ์์ ํน์ ๋คํธ์ํฌ ์๋น์ค๋ฅผ ์๋ณํ๋ค.
UDP๊ฐ ๋ฐ์ดํฐ ์ ์ก์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง ์์ง๋ง, QUIC์ UDP ์์ ์๋ก์ด ๊ณ์ธต์ ์ถ๊ฐํจ์ผ๋ก์จ ์ ๋ขฐ์ฑ์ ์ ๊ณตํ๋ค. ์ถ๊ฐ๋ ๊ณ์ธต์ TCP์ ์กด์ฌํ๋ ํจํท ์ฌ์ ์ก, ํผ์ก ์ ์ด, ์๋ ์กฐ์ ๋ฐ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋ค.
ํ ์๋ํฌ์ธํธ๋ก๋ถํฐ QUIC์ ํตํด ์ ์ก๋ ๋ฐ์ดํฐ๋ ์ฐ๊ฒฐ์ด ์ ์ง๋๋ ํ ๋ค๋ฅธ ์๋ํฌ์ธํธ์์ ์์ ํ ์ ์๋ค.
ํ๋์ ์ฐ๊ฒฐ๋ก ๋ค์์ ๋ณ๋ ฌ ์คํธ๋ฆผ์ผ๋ก ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ ์กํ ์ ์๋ค.
QUIC ์ฐ๊ฒฐ์ UDP ํฌํธ์ IP ์ฃผ์๋ก ์ด๋ฃจ์ด์ ธ ์์ง๋ง ์ผ๋จ ์ฐ๊ฒฐ์ ๋ง๋ค๊ณ ๋๋ฉด "connection ID"๋ก ์ฐ๊ฒฐ๋๋ค. ๋ง๋ค์ด์ง ์ฐ๊ฒฐ์ ํตํด ์์ชฝ์์ ์คํธ๋ฆผ์ ๋ง๋ค์ด ๋ค๋ฅธ ์ชฝ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ค. ์คํธ๋ฆผ์ ์์๋๋ก ์ ๋ฌ๋๊ณ ์ ๋ขฐํ ์ ์์ง๋ง ์๋ก ๋ค๋ฅธ ์คํธ๋ฆผ์ ์์ ์์ด ์ ๋ฌ๋ ์ ์๋ค.
QUIC์ ์ฐ๊ฒฐ๊ณผ ์คํธ๋ฆผ ๋ชจ๋์์ ํ๋ฆ ์ ์ด๋ฅผ ์ ๊ณตํ๋ค.
head of line blocking: ํ๋์ ์์ฒญ์์๋ง ์์ค์ด ์ผ์ด๋๋ ๋ชจ๋ ์ํฅ์ ๋ฐ๋ ์ด๋ฌํ ์ํฉ
QUIC๋ 0-RTT, 1-RTT ํธ๋์์ดํฌ ๋๋ค ์ ๊ณตํ๋๋ฐ ์ด๋ ์๋ก์ด ์ฐ๊ฒฐ์ ํ์ํ๊ณ ์ค์ ํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ค์ฌ์ค๋ค. TCP์ 3-way handshake์ ๋น๊ตํด๋ณด๋ฉด ๋๋ค.
๋ ์ค ๊ฐ์ฅ ๋น ๋ฅธ 0-RTT ํธ๋์์ดํฌ๋ ํธ์คํธ์ ์ด๋ฏธ ์ด์ ์ฐ๊ฒฐ์ด ๊ตฌ์ฑ๋์ด ์๊ณ ํด๋น ์ฐ๊ฒฐ์ ์ํฌ๋ฆฟ์ด ์บ์ ๋์ด ์์ ๋๋ง ๋์ํ๋ค.
QUIC์์ ์ฌ์ฉํ๋ ์ ์ก ๋ณด์์ TLS 1.3(RFC 8446)์ด๋ฉฐ ์ํธํํ์ง ์์ QUIC ์ฐ๊ฒฐ์ ์ ๋๋ก ์กด์ฌํ์ง ์๋๋ค.
QUIC์ด TLS 1.3์ ์ฌ์ฉํ ์ฃผ๋ ์ด์ ๋ ํธ๋์์ดํฌ์ ๋ ์ ์ ๋ผ์ด๋ ํธ๋ฆฝ์ด ํ์ํ๋๋ก ๋ฐ๋์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ ํ๋กํ ์ฝ ์ง์ฐ์ ์ค์ฌ์ค๋ค.
- TCP์ UDP์ ํน์ง๊ณผ ์ฐจ์ด์ ์ ์ค๋ช ํด์ฃผ์ธ์.
- TCP๋ฅผ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ํ๋กํ ์ฝ์ ๋ฌด์์ธ๊ฐ์?
- UDP๊ฐ ์ด๋์ ์ฌ์ฉ๋๊ณ ์ ์ฌ์ฉ๋๋์?
- TCP/UDP์ ์ฅ๋จ์ ์ ๋ฌด์์ธ๊ฐ์?
- ์ ๋ขฐ์ฑ์๋ TCP๋ฅผ ๋๊ณ UDP๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
- TCP์์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํด์ฃผ์ธ์.
- TCP ํต์ ์์ ํ๋ฆ ์ ์ด ๊ธฐ๋ฒ์ด ์ ์ฌ์ฉ๋๋์?
- TCP ํ๋ฆ ์ ์ด ๊ธฐ๋ฒ์ ๋ฌด์์ด ์์๊น์?
- TCP ํผ์ก ์ ์ด ๊ธฐ๋ฒ์ ์ ์ฌ์ฉ๋๋์?
- TCP ํผ์ก ์ ์ด ๊ธฐ๋ฒ์๋ ๋ฌด์์ด ์์๊น์?
- TCP ํผ์ก ์ ์ด ์ ์ฑ ์๋ ๋ฌด์์ด ์์๊น์?