ํจํท ๊ตํ ๋ฐฉ์
ํ์ ๊ตํ ๋ฐฉ์ : ์ก์์ ๋จ๋ง์ฅ์น ์ฌ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋๋ง๋ค ํต์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐฉ์์ด๋ค.
ํจํท ๊ตํ ๋ฐฉ์ : ์ผ์ ํ ๋ฐ์ดํฐ ๋ธ๋ก์ธ ํจํท์ ๊ตํ๊ธฐ๊ฐ ์์ ์ธก ์ฃผ์์ ๋ฐ๋ผ ์ ๋นํ ํต์ ๊ฒฝ๋ก๋ฅผ ์ ํํ์ฌ ์ ์กํ๋ ๊ตํ๋ฐฉ์์ด๋ค. ์ ์กํ๊ณ ์ ํ๋ ์ ๋ณด๋ฅผ ์ผ์ ํ ํฌ๊ธฐ์ ๋ฐ์ดํฐ๋ก ๋ถํ ํ ํ, ์ก์์ ์ฃผ์์ธ ํค๋๋ฅผ ๊ฐ๊ฐ์ ๋ถ๊ฐํ ํจํท๋จ์๋ก ์ ์กํ๋ค.
IP(์ธํฐ๋ท ํ๋กํ ์ฝ) = ์ธํฐ๋ท ํต์ ์ ๊ธฐ๋ณธ
IP ์ฃผ์๋ฅผ ์ปดํจํฐ์ ๋ถ์ฌํ์ฌ ํต์ ํ๋ค. IP๋ ์ง์ ํ IP์ฃผ์์ ํจํท์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
ํจํท์๋ ์ถ๋ฐ์ง IP, ๋ชฉ์ ์ง IP ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ค. ํจํท ๋จ์๋ก ์ ์ก์ ๋ ธ๋๋ค์ ๋ชฉ์ ์ง IP์ ๋๋ฌํ๊ธฐ ์ํด ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
์ด๋ฅผ ํตํด ๋ณต์กํ ์ธํฐ๋ท ๋ง ์ฌ์ด์์๋ ์ ํํ ๋ชฉ์ ์ง๋ก ํจํท์ ์ ์กํ ์ ์๋ค.
์๋ฒ์์ ๋ฌด์ฌํ ๋ฐ์ดํฐ๋ฅผ ์ ์ก๋ฐ์๋ค๋ฉด ์๋ฒ๋ ์ด์ ๋ํ ์๋ต์ ์ค์ผํ๋ค. ์๋ฒ ์ญ์ IP ํจํท์ ์ด์ฉํด ํด๋ผ์ด์ธํธ์ ์๋ต์ ์ ๋ฌํ๋ค.
์ด๋ฌํ IP ํ๋กํ ์ฝ๋ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
- ๋น์ฐ๊ฒฐ์ฑ
- ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋ ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ํจํท์ ์ ์กํ๋ค. (ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ํ๋ฅผ ํ์ ํ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์!)
- ๋น์ ๋ขฐ์ฑ
- ์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง ์ ์๋ค. (์ค๊ฐ์ ์๋ ์๋ฒ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ์ค ์ฅ์ ๊ฐ ์๊ฒจ ํจํท์ด ์์ค๋ ์ ์๋ค. )
- ํจํท์ ์์๋ฅผ ๋ณด์ฅํ ์ ์๋ค. (์ ๋ฌ ๋ฐ์ดํฐ์ ์ฉ๋์ด ํฌ๋ฉด ์๋ก ๋ค๋ฅธ ๋ ธ๋๋ฅผ ํตํด ์ ๋ฌ๋ ์ ์๋๋ฐ, ํด๋ผ์ด์ธํธ๊ฐ ์๋ํ์ง ์์ ์์๋ก ์๋ฒ์ ํจํท์ด ๋์ฐฉํ ์ ์๋ค. )
IP ํจํท์ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋คํธ์ํฌ ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋ณด์ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด์! (TCP & UDP)
IP ํ๋กํ ์ฝ ๋ณด๋ค ๋ ๋์ ๊ณ์ธต์ TCP ํ๋กํ ์ฝ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ IP ํ๋กํ ์ฝ์ ํ๊ณ๋ฅผ ๋ณด์ํ ์ ์๋ค.
์ฑํ ํ๋ก๊ทธ๋จ์์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ฉด HTTP ๋ฉ์ธ์ง๊ฐ ์์ฑ๋๊ณ Socket** ์ ํตํด ์ ๋ฌ๋๋ค.
๊ทธ๋ฆฌ๊ณ IP ํจํท์ ์์ฑํ๊ธฐ ์ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ์์ฑํ๋ค.
์ด๋ ๊ฒ ์์ฑ๋ TCP/IP ํจํท์ LAN ์นด๋์ ๊ฐ์ ๋ฌผ๋ฆฌ์ ๊ณ์ธต์ ์ง๋๊ธฐ ์ํด ์ด๋๋ท ํ๋ ์ ์ํฌ์ ํฌํจ๋์ด ์๋ฒ๋ก ์ ์ก๋๋ค.
** ์ฌ๊ธฐ์ Socket ์ด๋, ํ๋ก๊ทธ๋จ์ด ๋คํธ์ํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ ์ ์๋๋ก, ๋คํธ์ํฌ ํ๊ฒฝ์ ์ฐ๊ฒฐํ ์ ์๊ฒ ๋ง๋ค์ด์ง ์ฐ๊ฒฐ๋ถ์ด๋ค.
TCP (transmission control protocol) / ์ ์ก ์ ์ด ํ๋กํ ์ฝ
TCP ์ธ๊ทธ๋จผํธ์๋ IP ํจํท์ ์ถ๋ฐ์ง IP์ ๋ชฉ์ ์ง IP ์ ๋ณด๋ฅผ ๋ณด์ํ ์ ์๋ ์ถ๋ฐ์ง PORT, ๋ชฉ์ ์ง PORT, ์ ์ก ์ ์ด, ์์, ๊ฒ์ฆ ์ ๋ณด ๋ฑ์ ํฌํจํ๋ค.
TCP ํน์ง
- ์ฐ๊ฒฐ ์งํฅ - TCP 3 way handshake (๊ฐ์ ์ฐ๊ฒฐ) (์ฅ์น๋ค ์ฌ์ด์ ๋ ผ๋ฆฌ์ ์ธ ์ ์ ์ฑ๋ฆฝ์ ๊ฐ๋ฅํ๊ฒ ํจ)
๋ง์ฝ ์๋ฒ๊ฐ ๊บผ์ ธ ์๋ค๋ฉด ํด๋ผ์ด์ธํธ๊ฐ SYN์ ๋ณด๋ด๊ณ ์๋ฒ์์ ์๋ต์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ง ์๋๋ค.
- ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ
ํด๋ผ์ด์ธํธ๊ฐ SYN์ ๋ณด๋ด๊ณ , ์๋ฒ๋ SYN ์์ฒญ์ ๋ฐ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญ์ ์๋ฝํ๋ค๋ SYN๊ณผ ACK๋ฅผ ๋ณด๋ด๋๋ฐ, ์ด์ฒ๋ผ IP ํจํท์ ํจ๊ณ์ธ ๋น์ฐ๊ฒฐ์ฑ์ ๋ณด์ํ ์ ์๋ค.
- ์์ ๋ณด์ฅ
๋ง์ฝ ํจํท์ด ์์๋๋ก ๋์ฐฉํ์ง ์๋๋ค๋ฉด TCP ์ธ๊ทธ๋จผํธ์ ์๋ ์ ๋ณด๋ฅผ ํ ๋๋ก ๋ค์ ํจํท ์ ์ก์ ์์ฒญํ ์ ์๋ค.
์ด๋ฅผ ํตํด IP ํจํท์ ํ๊ณ์ธ ๋น์ ๋ขฐ์ฑ์ ๋ณด์ํ ์ ์๋ค.
- ์ ๋ขฐํ ์ ์๋ ํ๋กํ ์ฝ
UDP (user datagram protocol) / ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ
IP ํ๋กํ ์ฝ์ PORT, ์ฒดํฌ์ฌ** ํ๋ ์ ๋ณด๋ง ์ถ๊ฐ๋ ๋จ์ํ ํ๋กํ ์ฝ์ด๋ค.
TCP ํน์ง๊ณผ ๋น๊ตํ๋ฉด, ์ ๋ขฐ์ฑ์ ๋ฎ์ง๋ง 3 way handshake ๋ฐฉ์์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ์๋๊ฐ ๋น ๋ฅด๋ค.
HTTP3๋ UDP๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ด๋ฏธ ์ฌ๋ฌ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ TCP๋ณด๋ค๋ ์ปค์คํฐ๋ง์ด์ง์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค.
**์ฒดํฌ์ฌ(checksum)์ ์ค๋ณต ๊ฒ์ฌ์ ํ ํํ๋ก, ์ค๋ฅ ์ ์ ์ ํตํด, ๊ณต๊ฐ์ด๋ ์๊ฐ ์์์ ์ก์ ๋ ์๋ฃ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณดํธํ๋ ๋ฐฉ๋ฒ์ด๋ค.
UDP ํน์ง
- ๊ธฐ๋ฅ์ด ๊ฑฐ์ ์์(์ปค์คํฐ๋ง์ด์ง ํด์ผํจ)
- ๋น ์ฐ๊ฒฐ์งํฅ - TCP 3 way handshake ์๋!
- ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ ์ํจ
- ์์ ๋ณด์ฅ ์ํจ
- ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐ ์์๊ฐ ๋ณด์ฅ๋์ง ์์ง๋ง, ๋จ์ํ๊ณ ๋น ๋ฆ
- ์ ๋ขฐ์ฑ๋ณด๋ค๋ ์ฐ์์ฑ์ด ์ค์ํ ์๋น์ค์ ์์ฃผ ์ฌ์ฉ๋จ (์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ)
QUIC ํฌ๋กฌ์์ ์ฌ์ฉํ๋ UDP
TCP | UDP |
์ฐ๊ฒฐ์งํฅํ ํ๋กํ ์ฝ | ๋น ์ฐ๊ฒฐ์งํฅํ ํ๋กํ ์ฝ |
์ ์ก ์์ ๋ณด์ฅ | ์ ์ก ์์ ๋ณด์ฅ ์ํจ |
๋ฐ์ดํฐ ์์ ์ฌ๋ถ ํ์ธํจ | ๋ฐ์ดํฐ ์์ ์ฌ๋ถ ํ์ธ ์ํจ |
์ ๋ขฐ์ฑ ๋์ง๋ง ์๋ ๋๋ฆผ | ์ ๋ขฐ์ฑ ๋ฎ์ง๋ง ์๋ ๋น ๋ฆ |