๐ Intro
๋๊ฐ์ ์ปดํจํฐ๋ ์๋ก ์ด๋ป๊ฒ ํต์ ํ๋๋?
๋ฐ๋ก๋ฐ๋ก
์ธํฐ๋ท! ๋งค์ฐ๋งค์ฐ ๋ณต์กํ ์ธํฐ๋ท ๋ง์ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ํ๋ค.
(๋ฌผ๋ก ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ผ์ด๋ธ๊ฐ์ ธ๊ฐ๋ค ์ฐ๊ฒฐํ๋ฉด ๊ทธ๊ฒ๋ ํต์ ์ ํต์ ์ด์ง๋ง ์ด์ธ์์ ์ปดํจํฐ๊ฐ ๋์ธ๊ฐ๊ฐ ์๋๊ฒ ์๋์์)
๐IP (Internet Protocol)
๊ทธ๋ ๊ฒ ๋ณต์กํ ์ธํฐ๋ท ๋ง์ธ๋ฐ ์๋ฌด๋ ์๋ฌด๋ ๊ฒ ํต์ ํ ์ ์์๊น? ์์ง. ๋ค์์ ์งํฉ์ฒด(?)๊ฐ ์๋ ๊ณณ์ด๋ผ๋ฉด ์ด๋๋ ๊ทธ๋ฌ๋ฏ์ด "๊ท์น"์ด๋ผ๋๊ฒ ํ์ํ๋ค.
๊ทธ ์ค์์๋ ์ธํฐ๋ท ํต์ ์ ํ์ํ ๊ท์น์ด ๋ฐ๋ก ์ธํฐ๋ท ํ๋กํ ์ฝ. IP๋ค.
๋๋ต 127.0.0.1๊ฐ์ด ์ซ์๋ ์ฉ์ผ๋ก ๊ตฌ์ฑ๋.(?)
์ด ์ธํฐ๋ท ํ๋กํ ์ฝ์ ํจํท(Packet)์ด๋ผ๋ ํต์ ๋จ์๋ก, ์ง์ ํ IP์ฃผ์(IP Address)์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
๊ทธ๋ผ ๊ทธ ํจํท์ด๋ผ๋๊ฑด ์ด๋ป๊ฒ ์๊ฒจ๋จน์๊ฑฐ์ง?
๐ํจํท(Packet)
์ถ๋ฐ์ง IP / ๋ชฉ์ ์ง IP / ์ ์ก ๋ฐ์ดํฐ / ๊ธฐํ
๋ก ์ด๋ฃจ์ด์ ธ์๋ค. ๋ง์ ๋ค์ํ ๊ธฐํ ์ ๋ณด ์๋ต.
ํด๋ผ์ด์ธํธ์์ -> ์๋ฒ๋ก
์ถ๋ฐ์ง IP: 100.200.300.4 / ๋ชฉ์ ์ง IP: 400.300.200.1 / HELLO WORLD~~ / ...
๋ผ๋ ํจํท์ ๋ณด๋ด๋ฉด ์ธํฐ๋ท ๋ง์ ์ฌ๋ฌ๊ฐ์ง ๋ ธ๋๋ค์ ๊ฑฐ์น๊ณ ๊ฑฐ์น๊ณ ๊ฑฐ์ณ์ ์๋ฒ์ ๋์ฐฉํ๋ค.
๊ทธ๋ผ ์ด ํจํท์ ๋ฐ์ ์๋ฒ๋ ์๋ฒ์์ -> ํด๋ผ์ด์ธํธ๋ก
์ถ๋ฐ์ง IP: 400.300.200.1 / ๋ชฉ์ ์ง IP: 100.200.300.4 / ํฌ๋ก ์๋~~ / ...
๋ผ๊ณ ๋ณด๋ธ๋ค.
๐IP ํ๋กํ ์ฝ์ ํ๊ณ
1. ๋น์ฐ๊ฒฐ์ฑ
> ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋, ๋์์ด ํจํท์ ๋ฐ์ ์ ์๋ ์ํ์ธ์ง ๋ชจ๋ฅด๊ฑฐ๋, ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ์ฐ์ฒด๊ตญ์์ ์ฐํธ ๋ถ์น๋ฏ์ด ์ผ๋จ ๋ฌด์กฐ๊ฑด ํจํท์ ์ ์กํ๋ค. ์ ๋์ฐฉํ๋์ง ์ด์จ๋์ง ์ ๊ธธ์ด ์๋ค.
2. ๋น์ ๋ขฐ์ฑ
> ์๋ฌด ๋ฌธ์ ์์ด ์์กฐ๋กญ๊ฒ ํจํท์ด ์ ๋ฌ๋๋ฉด ๋ฌธ์ ์์ง๋ง ์ธํฐ๋ท์ ํธ๋ฝํธ๋ฝํ์ง์์ง(?)
์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง๊ฑฐ๋, ํจํท์ด ๋๊ฐ ์ด์์ด๋ผ๋ฉด(๋ณดํต 1500byte์ด์์ ๋ฌธ์์ด์ด๋ฉด ๋๋ ์ ๋ณด๋ธ๋ค.) ์์๋๋ก ๋์ฐฉํ์ง ์๋ ๊ฒฝ์ฐ๋ ์๊ธธ ์ ์๋ค.
3. ํ๋ก๊ทธ๋จ ๊ตฌ๋ถ
> ๊ฐ์ IP๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์์ ํต์ ํ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋๊ฐ ์ด์์ด๋ผ๋ฉด ๊ตฌ๋ถํ ๋ฐฉ๋ฒ์ด ์๋ค.
๐TCP (Transmission Control Protocol: ์ ์ก ์ ์ด ํ๋กํ ์ฝ)
์ด๋ฌํ IP ํ๋กํ ์ฝ์ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด TCP๊ฐ ๋ฑ์ฅํ๋ค. ๋จผ์ , TCP / IP ๊ณ์ธต ๊ตฌ์กฐ์ ๋ํ ์ดํด๊ฐ ํ์ํ๋ค.
๐์ธํฐ๋ท ํ๋กํ ์ฝ ์คํ์ 4๊ณ์ธต (TCP / IP ๊ณ์ธต)
1. [Application Layer] ์น ๋ธ๋ผ์ฐ์ , ์ฑํ ํ๋ก๊ทธ๋จ ๋ฑ์ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ ๋ฌํ๋ ค๋ ๋ฉ์ธ์ง๋ฅผ ์์ฑํ๋ฉด, SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌ๋๋ค.
2. [Transport Layer] TCP ์ธ๊ทธ๋จผํธ(TCP ์ ๋ณด)๋ฅผ ์์ฑํด์ ์์์ ๋ฐ์ ๊ทธ ๋ฉ์ธ์ง์ ํฉ์ณ์ฃผ๊ณ ,
3. [Internet Layer] ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ IP ํจํท์ ์์ฑํด์,
4. [Network Access Layer] ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๊ฐ ํฌํจ๋ Ethernet frame์ด๋ผ๋ ๊ฒ์ด ์์์ง๊ณ , LAN์นด๋ ๊ฐ์ LAN์ฅ๋น๋ฅผ ํตํด ์ธํฐ๋ท์ ๊ฑฐ์ณ ์๋ฒ๋ก ์ ๋ฌ๋๋ค.
* TCP ์ธ๊ทธ๋จผํธ (TCP ์ ๋ณด) : ์ถ๋ฐ์ง PORT / ๋ชฉ์ ์ง PORT / ์ ์ก์ ์ด / ์์ / ๊ฒ์ฆ ์ ๋ณด / ๊ธฐํ
๐TCP ํน์ง
1. ์ฐ๊ฒฐ ์งํฅ - TCP 3 way handshake (๊ฐ์ ์ฐ๊ฒฐ - ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ์ ์ผ๋ก ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋๊ฒ ์๋๋ผ ์ค๊ฐ์ ์๋ง์ ๋ญ์ง ๋ชจ๋ฅผ ์๋ฒ๋ค์ ๊ฑฐ์ณ์ ์ฐ๊ฒฐ)
* TCP 3 way handshake (SYN = ์ ์ ์์ฒญ / ACK = ์์ฒญ ์๋ฝ)
2. ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ - ๋๋ฝ๋ ์ ๋ณด๊ฐ ์๋ค๋ฉด ๊ทธ ์ ๋ณด๋ฅผ ์ ์ ์๋ค.
3. ์ ๋ฌ ์์ ๋ณด์ฅ - ๋ง์ฝ ์์๊ฐ ์๋ชป๋์ด๋ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ๋ค์ ๋ณด๋ธ๋ค.
๋ฐ๋ผ์ ์ ๋ขฐํ ์ ์๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ TCP์ ๊ผญ ๋ฐ๋ผ๋ค๋๋ ๊ฐ๋ ์ด UDP์ธ๋ฐ,
๐UDP (User Datagram Protocol)
ํ์ ๋ํ์ง์ ๋น์ ํ ์ ์๋ค. ๊ธฐ๋ฅ์ด ๊ฑฐ์ ์๊ณ IP์ ๋น์ทํ๋ค.
๋จ์ : ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ ์๋๊ณ ์์ ๋ณด์ฅ ์๋๋ค.
์ฅ์ : ๊ทธ ๋์ ๋น ๋ฅด๋ค.
๋ค๋ง PORT์ ์ฒดํฌ์ฌ์ด ํฌํจ๋์ด ์๋ค๋ ์ ์ด ํน์ง์ด๋ผ๋ฉด ํน์ง์ด๊ณ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.
๐PORT
๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๊ฐ ์ปดํจํฐ ํ๋๋ก ํ๊ฐ์ง ์์ ๋ง ํ๋๊ฐ? ๊ทธ๋ด๊ฑฐ๋ฉด ์ปดํจํฐ๊ฐ ํ์ ์๋ค. ๋น์ฐํ ์ธํฐ๋ท ์์น๋ ํ๋ค๊ฐ ๋ฐฐ๊ทธ๋ ํํ ํ๋ค๊ฐ ์ค๊ฐ ์๊ฐ๋๋ฉด ์ค๋ ์ผ์ผ ํ ํ ๋ฐ.
์ด ๋ง์ ๊ณง, ํ๋์ IP์์ ์ฌ๋ฌ๊ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋์๊ฐ ์ ์๋ค๋ ๋ป์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํจํท๋ ์ฌ๋ฌ๊ฐ๋ค.
IP๋ ํ๋์ธ๋ฐ ํจํท์ ์ฌ๋ฌ๊ฐ์ผ ๋ ์๋ค๋ค์ ์ด๋ป๊ฒ ๊ตฌ๋ถํด์ค์ผ ํ ๊น??
์ด๋ ํ์ํ ๊ฒ์ด PORT.
ํ๋์ IP์์ ์ฌ๋ฌ ๊ฐ์ ํฌํธ๋ฅผ ์ฐ๋ค.
์์นํ๋ ํฌํธ๋ 1010, ๋ฐฐ๊ทธ ํฌํธ๋ 4444, ์ค ํฌํธ๋ 10110 ๋์ถฉ ์ด๋ฐ์์ด๋ค.
์ฐธ๊ณ ๋ก ์ ์๋ ค์ง ๋ช๊ฐ์ ํฌํธ๊ฐ ์๋๋ฐ HTTP๋ 80, HTTPS์ ํฌํธ๋ 443์ด๋ค.
์ฆ, IP๊ฐ ์ํํธ๋ผ๋ฉด PORT๋ ใ ใ ๋ OOํธ๊ฐ ๋๋ค. ๊ฐ์ ์ํํธ์ ์ด ์๋ ์์ด๋ ๊ฐ์ ๋ํธ์์ ์ด์ง๋ ์์๊ฑฐ์๋.
๐DNS (Domain Name System)
๊ทธ๋, IP๋ ์๊ฒ ๊ณ TCP๋ ์๊ฒ ์ด ๊ทผ๋ฐ ๊ทธ IP์ฃผ์๋ผ๋๊ฒ 100.100.101.1 ? 127.0.0.1?
๊ธฐ์ตํ๊ธฐ ๋๋ฌด ์ด๋ ต๋น? ์ฌ์ง์ด ๋ฐ๋ ์๋ ์๋ค๊ตฌ?
๊ทธ๋์ DNS๊ฐ ๋ฑ์ฅํ๋ค.
๋๋ฉ์ธ ๋ค์ ์์คํ . ๋ฆฌํฐ๋ด๋ฆฌ ์ด๋ฆ์ ๋ฑ๋กํ ์์คํ ์ด๋ค. ์ ํ๋ฒํธ๋ถ ๊ฐ์๊ฑฐ๋ค.
์๋ฅผ ๋ค์ด,
๋๋ฉ์ธ ๋ช ์ด google.com์ด๋ผ๋ ๊ฒ์ IP๋ 200.200.200.2 ์ด๊ณ ~ ๋๋ฉ์ธ ๋ช ์ด naver.com์ด๋ผ๋ ๊ฒ์ IP๋ 500.500.500.5์ด๋ค~
'Web > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTTP ์ํ ์ฝ๋ (0) | 2022.01.11 |
---|---|
HTTP API ์ค๊ณ ์์ (0) | 2022.01.11 |
HTTP ๋ฉ์๋์ ํ์ฉ (0) | 2022.01.10 |
HTTP ๊ธฐ๋ณธ ๊ฐ๋ (0) | 2022.01.10 |
URI์ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ (0) | 2022.01.10 |