[Web ์ฉ์ด] - ์ธํฐ๋ท ํต์ (IP,TCP/UDP, DNS, Port ๋ฑ)
์ด ํฌ์คํธ๋ ์ธํ๋ฐ์ ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ๊ธฐ๋ณธ ์ง์์ด๋ผ๋ ๊ฐ์๋ฅผ ์ฐธ๊ณ ๋ก ์์ฑํ์๋ค.
์ฌ๊ธฐ์ ๋ค๋ฃจ๋ ๋ด์ฉ์ ๊ต์ฅํ ๊ธฐ์ด์ด๊ธฐ ๋๋ฌธ์ ๋์ถฉ ์น์ด ์ด๋ ๊ฒ ํ๋ฌ๊ฐ๊ตฌ๋~๋ผ๋ ์ ๋๋ก ์ดํดํ๋ฉด๋๋ค.
์ธํฐ๋ท ํต์
์ธํฐ๋ท์์ ์ปดํจํฐ ๋์ ์ด๋ป๊ฒ ํต์ ํ ๊น?
์น์์ ์ปดํจํฐ ๋๋๊ฐ ํต์ ์ ํ๋ค๊ณ ํ์. ์๋ฅผ ๋ค์ด ์ฐ๋ฆฌ๊ฐ ์นํฌํธ์ฌ์ดํธ์ ์ ์ํ๋ ์ํฉ์ ๊ฐ์ ํด๋ณด์.
์ด๋ ํฌํธ์ฌ์ดํธ์ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ์ปดํจํฐ์ ํฌํธ์ฌ์ดํธ ์ ๋ณด๋ฅผ ์ฐ๋ฆฌ์๊ฒ ์ฃผ๋ ์ปดํจํฐ ์ด๋ ๊ฒ ๋ถ๋ฅํ ์ ์์ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ์ปดํจํฐ๋ฅผ ํด๋ผ์ด์ธํธ, ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ปดํจํฐ๋ฅผ ์๋ฒ๋ผ๊ณ ๋ณผ ์ ์๋ค.
์น์์๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ HTTP ์๋ต ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ํ์์ผ๋ก ํต์ ์ด ์ด๋ฃจ์ด์ง๋ค.
ํ์ง๋ง ์ธ์์ ๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง ์๋ค. ์ฐ๋ฆฌ์ง ์ปดํจํฐ์ ๋ค์ด๋ฒ ์๋ฒ ์ฌ์ด์๋ ์๋ง์ ์ปดํจํฐ๋ค์ด ์กด์ฌํ ๊ฒ์ด๋ค. ๋ง์น ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋ง์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ๋ณต์กํ ๊ฒฝ๋ก๋ฅผ ๋ค ๊ฑฐ์ณ์ ํต์ ์ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๊น? ๋ฐ๋ก IP๋ผ๋ ํ๋กํ ์ฝ์ ํตํด ์ด๋ฃจ์ด์ง๊ฒ ๋๋ ๊ฒ์ด๋ค.
IP(Internet Protocol)
ํ๋กํ ์ฝ์ ๊ท์ฝ์ด๋ผ๋ ๋ป์ผ๋ก, ์ปดํจํฐ๋ค๋ผ๋ฆฌ ์ด๋ป๊ฒ ํต์ ํ ์ง์ ๋ํด ์ ํด๋์ ๊ท์น์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
IP๋ฅผ ํตํด ์ปดํจํฐ๋ค์ ๊ฐ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ฒ ๋๋๋ฐ, ์ด๋ฅผ IP ์ฃผ์๋ผ๊ณ ํ๋ค. HTTP ์์ฒญ, ์๋ต ๋ฉ์์ง์ ์ก์ ์,์์ ์์ IP์ฃผ์๋ฅผ ๊ฐ์ด ์ถ๊ฐํด์ ๋ณด๋ด๊ฒ ๋๋ฉด ์ค๊ฐ์ ๋ ธ๋๋ค์ ์ฌ๋ฐ๋ฅธ ๊ฒฝ๋ก๋ก ๋ฉ์์ง๋ฅผ ์ ๋ฌํ ์ ์๊ฒ๋๋ค.
IP์ ํน์ง
- IP์ฃผ์๋ฅผ ํตํด ์ปดํจํฐ ์๋ณ ๊ฐ๋ฅ
- ํจํท์ด๋ผ๋ ๋จ์๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ (๋ฐ์ดํฐ์ ์์ด ๋ง์ผ๋ฉด ํจํท ์ฌ๋ฌ๊ฐ๋ฅผ ๋ณด๋)
์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๋๋ค ๊ณ ์ ์์ดํผ ์ฃผ์๊ฐ ๋ถ์ฌ๋์ด์๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผํฉ์ ์์๋ ํจํท์ด๋ผ๊ณ ๋ณด๋ฉด๋๋๋ฐ, ํจํท์๋ ์ถ๋ฐ์ง/๋ชฉ์ ์ง IP ์ฃผ์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ์๋ค. ์ค๊ฐ์ ๋ ธ๋๋ค์ ์ ํจํท์ IP๋ผ๋ ๊ท์น์ ๋ฐ๋ผ์ ๋ณด๋ด๊ฒ ๋๋ ๊ฒ์ด๋ค.
IP์ ํ๊ณ
ํ์ง๋ง IP๋ ์๋ฒฝํ์ง ์๋ค.
ํจํท ์ ๋ฌ ์์ ๋ณด์ฅ x
๋จผ์ IP ํจํท์ด ์ฌ๋ฌ๊ฐ ์ ๋ฌ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ ํด๋ณด์. ํด๋ผ์ด์ธํธ๋ ํจํท1,ํจํท2, ํจํท3 ์์๋ก ๋ณด๋ด๊ณ ์ถ๋ค. ํ์ง๋ง ์ด ํจํท๋ค์ ์์๋๋ก ์ ๋ฌ๋์ง ์๋๋ค. ๋ฐ๋ก๋ฐ๋ก ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ํตํด ์ ๋ฌ๋๊ฒ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์๋ ํจํท๋ค์ด ํจํท3, ํจํท1, ํจํท2 ์ด๋ฐ์์ผ๋ก ๋์ฐฉํ ์๋ ์๋ค. ์ฆ, ์์๊ฐ ๋ณด์ฅ๋์ง ์๋ ๊ฒ์ด๋ค. ์๋ ๊ทธ๋ฆผ์ ๋ณด์
์๋ฅผ ๋ค์ด ํด๋ผ์ด์ธํธ๊ฐ 1.Hello, 2.World ์์ผ๋ก ํจํท์ ๋๊ฐ๋ฅผ ๋ณด๋๋๋ฐ ์๋ฒ์์๋ World, Hello ์์ผ๋ก ๋์ฐฉํ ์ ์๋ค.
๋ฐ๋ผ์ ์์๋ฅผ ๋ณด์ฅํด์ฃผ๋ ์ด๋ค ์ฅ์น๊ฐ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ๋ค.
๋น์ฐ๊ฒฐ์ฑ
์๋ฅผ ๋ค์ด ๋ด๊ฐ ์น๊ตฌ ๋ฟก๋ฟก์ดํํ ํธ์ง๋ฅผ ๋ณด๋ด๊ธฐ ์ํด ๋ฟก๋ฟก์ด์ํํธ 102ํธ์ ๋ณด๋ธ๋ค๊ณ ๊ฐ์ ํ์. ๊ทธ๋ฌ๋ ์๊ณ ๋ณด๋ ๋ฟก๋ฟก์ด๋ ์ง์ ์ด์ฌํด์ 102ํธ์ ์ด๊ณ ์์ง ์์๋ค. ํ์ง๋ง IP๋ ๊ทธ๋ฐ๊ฑฐ ๋ฐ์ ๋ชจ๋ฅธ๋ค. ๊ทธ๋์ ์๋๋ฐฉ์ด ๋ฐ๋ ๋ง๋ , ๊ฑฐ๊ธฐ๊ฐ ๋ถ๋ฅ์ด๋ ๋ง๋ ๊ทธ๋ฅ ๋ณด๋ด๊ฒ ๋๋ค. ์ฆ ์ฐ๊ฒฐ์ด ๋ณด์ฅ๋์ง ์์๋ ๊ทธ๋ฅ ๋ณด๋ธ๋ค๋ ๊ฒ์ด๋ค.
ํจํท ์์ค ๋ฌธ์
์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ ธ๋ IP๋ ๋ชจ๋ฅธ๋ค...
ํ๊ณ ์ ๋ฆฌ
- ๋น์ ๋ขฐ์ฑ (ํจํท์ด ์์ค๋๊ฑฐ๋ ์์๊ฐ ๋ฐ๋์ด๋ ๋ชจ๋ฆ)
- ๋น์ฐ๊ฒฐ์ฑ (์ฐ๊ฒฐ์ด ๋์ง ์์๋, ์๋ฅผ ๋ค์ด ์๋ ์ปดํจํฐ๊ฐ ๋ถ๋ฅ์ด์ด๋ ๊ทธ๋ฅ ๋ณด๋ด๋ฒ๋ฆผ)
- ํ๋ก๊ทธ๋จ ๊ตฌ๋ถ ๋ถ๊ฐ
์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด TCP๋ผ๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๊ฒ ๋์๋ค.
TCP, UDP
TCP
TCP ์ธ๊ทธ๋จผํธ์ IP ํจํท์์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ๋ง๋ถ์ธ๋ค.
IP ์ ๋ณด ๋ฟ๋ง ์๋๋ผ, ํฌํธ ์ ๋ณด, ์์ ์ ๋ณด, ์ฒดํฌ์ฌ, ์ ์ก ์ ์ด ๋ฑ์ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ IP์ ๋น์ ๋ขฐ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
๋ํ TCP๋ ์ปดํจํฐ ๋๋๊ฐ ์ฐ๊ฒฐํ ๋ 3-way handshake๋ผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋๋ฐ, ์๋์ ๊ฐ์ ์์๋ก ์ด๋ฃจ์ด์ง๋ค.
1. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ SYN ๋ฉ์์ง ๋ณด๋
2. ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ SYN ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด ์๊ฒ ๋ค๊ณ ACK ๋ฉ์์ง์ SYN ๋ฉ์์ง๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋
3. ํด๋ผ์ด์ธํธ๊ฐ ACK๋ฅผ ์๋ฒ์๊ฒ ๋ณด๋
4. ์ฐ๊ฒฐ ์ฑ๊ณต!
์ ๋ฆฌํ์๋ฉด
- ์ฐ๊ฒฐ ์งํฅ (by 3 way handshake)
- ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ (์์ ๋ณด์ฅ, ์์ค๋๋ฉด ์ ์ ์์)
- ํ์ฌ๋ ๋๋ถ๋ถ TCP ์ฌ์ฉ
UDP
UDP๋ IP์ ๊ฑฐ์ ๋น์ทํ๋ค๊ณ ๋ณด๋ฉด๋๋๋ฐ ์ฒดํฌ์ฌ์ด๋ Port์ ๋ณด๊ฐ ์ถ๊ฐ๋์ด์๋ค. IP์ ๋น์ทํ๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ๋ณด์ฅ ์ด๋ด๊ฑฐ ์๋ค. ๊ทธ๋๋ ๋น ๋ฅด๊ธด ํ๋ค.
PORT
๋ค์ด๋ฒ์๊ฒ ๋ญ๊ฐ๋ฅผ ์์ฒญํ๊ณ ์ถ์๋ฐ ๋ด์ค๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ณณ๊ณผ ๋ธ๋ก๊ทธ๋ฅผ ์ ๊ณตํ๋ ๊ณณ์ ๊ตฌ๋ถํด์ผํ ๊ฒ์ด๋ค. ์๋น์ค์ ๋ฐ๋ผ์ ์ ํํ ์ด๋๋ก ์์ฒญ์ ๋ณด๋ผ์ง๋ ๊ตฌ๋ถํด์ผํ๋๋ฐ, ์ด๋ฅผ ํฌํธ๋ผ๊ณ ํ๋ค. ์ ๊ทธ๋ฆผ์ฒ๋ผ ์๋ฒ์ ์์ดํผ๊ฐ ๊ฐ์๋ ๊ฒ์์ ํ๋ ๊ณณ๊ณผ ํ์ํตํ๋ฅผ ํ๋ ๊ณณ ๋ฑ์ด ๋ค๋ฅผ ์ ์๋ค. ์ด๋ฅผ ํฌํธ๋ก ๊ตฌ๋ถํ๊ฒ๋๋ค.
DNS
DNS๋ Domain Name Server์ ์ฝ์์ด๋ค. ์ด๋ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์์ดํผ๋ก ๋ณํํ๋ ์ญํ ์ ํ๋ค.
์ฐ๋ฆฌ๋ ๋ค์ด๋ฒ์ ์์ดํผ๋ฅผ ์น๊ณ ๋ค์ด๊ฐ์ง ์๊ณ www.naver.com์ด๋ฐ์์ผ๋ก ์ ๊ทผํ๋ค. ๊ทธ๋ฆฌ๊ณ dns๊ฐ ์ด๋ฅผ ๋ค์ด๋ฒ์ ์์ดํผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ด๋ค.
์๋ฅผ๋ค์ด ์์ดํผ๋ ๋ณ๊ฒฝ๋ ์๋ ์๊ณ ์ฌ๋ผ์ง์๋ ์๊ณ ,, ์ฌ๋ฌ ๋ณ์๊ฐ ๋ง๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฑธ ํ๋ํ๋ ๊ธฐ์ตํ๋๊ฒ ์๋๋ผ DNS์ ๋จผ์ ์์ฒญ์ ํด์ ๋ฐ์์จ IP์ฃผ์๋ก ์ ๊ทผํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ถ์ฒ (๋ฌธ์ ์ ๋๊ธ๋ฌ์์ฃผ์ธ์!)
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard