๐ www.google.com์ ์ ์ํด๋ณด์
๊ธฐ์ ๋ฉด์ ๋จ๊ณจ ์ง๋ฌธ์ธ www.google.com
์ ์ ์ํ๋ ๊ณผ์ ์ ์๊ฐํด๋ณด์.
1. ์ฃผ์์ฐฝ์ www.google.com์ ์ ๋ ฅํ์.
์ฐ๋ฆฌ๊ฐ ์ ค ๋จผ์ ํด์ผํ ๊ฒ์ ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ www.google.com
์ ์
๋ ฅํ๋ ๊ฒ์ด๋ค.
2. ๋ธ๋ผ์ฐ์ ๋ ์บ์์ DNS ๋ ์ฝ๋๊ฐ ์๋์ง ํ์ธํ ํ, www.google.com์ IP ์ฃผ์๋ฅผ ์ฐพ๋๋ค.
DNS(Domain Name System)๋ ์น ์ฌ์ดํธ(URL)์ ์ด๋ฆ๊ณผ ๋งํฌ๋๋ ํน์ IP ์ฃผ์๋ฅผ ์ ์งํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
์ด๋ค. ์ฌ๋๋ง๋ค ๊ณ ์ ํ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๊ฐ ์๋ฏ์ด, ์ธํฐ๋ท์ ๋ชจ๋ URL์๋ ๊ณ ์ ํ IP ์ฃผ์
๊ฐ ํ ๋น๋์ด ์๋ค. www.google.com์ IP ์ฃผ์๋ 209.85.227.104์ด๋ค.
DNS
์ ์ฃผ๋ ๋ชฉ์ ์ ์ฌ์ฉ์ ์นํ์ ์ธ ํ์
์ด๋ค. 13์๋ฆฌ๋ ๋๋ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ฅผ ๊ธฐ์ตํ๋ ๊ฒ๋ณด๋ค ์ฌ๋์ ์ด๋ฆ์ ๊ธฐ์ตํ๋ ๊ฒ ๋ ํธํ ๊ฒ์ฒ๋ผ, ์ต์ 12์๋ฆฌ๋ ๋๋ IP ์ฃผ์๋ฅผ ๊ธฐ์ตํ๋ ๊ฒ๋ณด๋ค๋ ์์ด๋ก ๋ ๋๋ฉ์ธ ๋ค์
์ ๊ธฐ์ตํ๋ ๊ฒ์ด ๋์ฑ ํธํ ๊ฒ์ด๋ค.
์๋ฌดํผ, ๋ธ๋ผ์ฐ์ ๋ DNS ๋ ์ฝ๋๋ฅผ ์ฐพ๊ธฐ ์ํด 4๊ฐ์ ์บ์๋ฅผ ํ์ธํ๋ค.
- ๋ธ๋ผ์ฐ์ ์บ์
๋ธ๋ผ์ฐ์
๋ ์ฌ์ฉ์๊ฐ ์ด์ ์ ๋ฐฉ๋ฌธํ ์น ์ฌ์ดํธ์ ๋ํด ๊ณ ์ ๋ ๊ธฐ๊ฐ ๋์ DNS ๋ ์ฝ๋๋ฅผ ์ ์ฅํ๋ค. DNS ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ์ฒซ ๋ฒ์งธ ์ฅ์์ด๋ค. - OS ์บ์
๋ธ๋ผ์ฐ์ ์บ์์ ์์ผ๋ฉดOS
๊ฐ DNS ๋ ์ฝ๋์ ์บ์๋ฅผ ์ ์งํ๋ฏ๋ก ๊ธฐ๋ณธ ์ปดํจํฐ OS๋ก ์์คํ ํธ์ถ์ ํด์ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์จ๋ค. - ๋ผ์ฐํฐ ์บ์
์ปดํจํฐ์๋ ์๋ ๊ฒฝ์ฐ, ๋ธ๋ผ์ฐ์ ๋ DNS ๋ ์ฝ๋์ ์์ฒด ์บ์๋ฅผ ์ ์งํ๋๋ผ์ฐํฐ
์ ํต์ ํ๋ค. - ISP ์บ์
๋ชจ๋ ๋จ๊ณ๊ฐ ์คํจํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐISP
๋ก ์ด๋ํ๋ค. ISP๋ DNS ๋ ์ฝ๋์ ์บ์๋ฅผ ํฌํจํ๋ ์์ฒด DNS ์๋ฒ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๋ค. ์ด ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒญํ URL์ ์ฐพ์ ์ ์๋ ๋ง์ง๋ง ํฌ๋ง์ด๋ค.
๐ค ์ ์ด๋ ๊ฒ ๋ง์ ์์ค์์ ์บ์๊ฐ ์ ์ง ๊ด๋ฆฌ๋๋๊ฑธ๊น?
์ฐ๋ฆฌ์ ์ ๋ณด๊ฐ ๋ง์ ๊ณณ์ ์บ์ฑ๋์ด์๋ค๋ ๊ฒ์ ํ๋ผ์ด๋ฒ์ ์ธก๋ฉด์์๋ ์์ ํ์ง ์์ ์ ์๋ค. ํ์ง๋ง ์บ์๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ์กฐ์ ํ๊ณ ๋ฐ์ดํฐ ์ ์ก ์๊ฐ์ ๊ฐ์ ํ๋ ๋ฐ ํ์์ ์ด๋ค.
3. ์์ฒญํ URL์ด ์บ์์ ์์ผ๋ฉด ISP์ DNS ์๋ฒ๋ www.google.com์ ํธ์คํ ํ๋ ์๋ฒ์ IP ์ฃผ์๋ฅผ ์ฐพ๊ธฐ ์ํด DNS ์ฟผ๋ฆฌ๋ฅผ ์์ํ๋ค.
์์ ์ธ๊ธํ๋ฏ์ด, ๋ด ์ปดํจํฐ๊ฐ www.google.com์ ํธ์คํ ํ๋ ์๋ฒ์ ์ฐ๊ฒฐ๋๊ธฐ ์ํด์๋ www.google.com์ IP ์ฃผ์๊ฐ ํ์ํ๋ค. DNS ์ฟผ๋ฆฌ์ ๋ชฉ์ ์ ์น ์ฌ์ดํธ์ ๋ํ ์ฌ๋ฐ๋ฅธ IP ์ฃผ์๋ฅผ ์ฐพ์ ๋๊น์ง ์ธํฐ๋ท์์ ์ฌ๋ฌ DNS ์๋ฒ๋ฅผ ๊ฒ์ํ๋ ๊ฒ์ด๋ค.
DNS๋ ๋ถ์ฐ ๊ณ์ธต ๊ตฌ์กฐ
๋ฅผ ์ด๋ฃจ๊ณ ์๊ธฐ ๋๋ฌธ์ IP ์ฃผ์๋ฅผ ํ ํ์ ๋ฐ๋ก ์ป์ ์ ์๋ค. ์์ ๊ณ์ธต์์๋ถํฐ ์ฟผ๋ฆฌ๋ฅผ ๋์ง๊ณ , ์ฌ๊ธฐ์ ์ป์ ์ ๋ณด๋ก ๋ ๋ค๋ฅธ ์๋ฒ์๊ฒ ์ฟผ๋ฆฌ๋ฅผ ๋์ง๊ณ , ์ฌ๊ธฐ์ ์ป์ ์ ๋ณด๋ก ๋ ๋ค๋ฅธ ์๋ฒ์๊ฒ ๊ณ์ํด์ ์ฟผ๋ฆฌ๋ฅผ ๋์ ธ์ผ ๋ชฉ์ ์ง IP ์ฃผ์๋ฅผ ์ป์ ์ ์๋ค.
์์ธํ ์ฟผ๋ฆฌ ๊ณผ์ ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์.
์ด๋ฌํ ์ฟผ๋ฆฌ ์์ฒญ์ ์์ฒญ ๋ด์ฉ & ์์ฒญ ๋์ IP ์ฃผ์์ ๊ฐ์ ์ ๋ณด๊ฐ ํฌํจ๋ ์์ ๋ฐ์ดํฐ ํจํท
์ ์ฌ์ฉํ์ฌ ์ ์ก๋๋ค. ์ด ํจํท์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ฌ๋ฌ ๋คํธ์ํน ์ฅ๋น๋ฅผ ํต๊ณผํ์ฌ ์ฌ๋ฐ๋ฅธ DNS ์๋ฒ์ ๋๋ฌํ๊ฒ ๋๋ค. ์ด ์ฅ๋น๋ ๋ผ์ฐํ
ํ
์ด๋ธ
์ ์ฌ์ฉํ์ฌ ํจํท์ด ๋ชฉ์ ์ง์ ๋๋ฌํ ์ ์๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ์์๋ธ๋ค. ๋ง์ฝ ํจํท์ด ์์ค๋๋ฉด ์์ฒญ ์คํจ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ๋ฐ๋ฅธ DNS ์๋ฒ์ ์ฐ๊ฒฐํ์ฌ ์ฌ๋ฐ๋ฅธ IP ์ฃผ์๋ฅผ ๊ฐ์ ธ์จ ๋ค์ ๋ธ๋ผ์ฐ์ ๋ก ๋์๊ฐ๋ค.
4. ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์์ TCP ์ฐ๊ฒฐ์ ์์ํ๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ๋ฐ๋ฅธ IP ์ฃผ์๋ฅผ ์์ ํ๋ฉด ์ ๋ณด๋ฅผ ์ ์กํ๊ธฐ ์ํด IP ์ฃผ์์ ์ผ์นํ๋ ์๋ฒ์์ ์ฐ๊ฒฐ์ด ์ค์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฌํ ์ฐ๊ฒฐ์ ๊ตฌ์ถํ๊ธฐ ์ํด ์ธํฐ๋ท ํ๋กํ ์ฝ
์ ์ฌ์ฉํ๋ค. ์ฌ๋ฌ ์ ํ์ ์ธํฐ๋ท ํ๋กํ ์ฝ์ด ์์ง๋ง HTTP ์์ฒญ์ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํ๋กํ ์ฝ์ TCP
์ด๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ ํจํท์ ์ ์กํ๋ ค๋ฉด TCP ์ฐ๊ฒฐ์ ์ค์ ํด์ผ ํ๋ค. ์ด ์ฐ๊ฒฐ์ TCP/IP 3-way handshake
๋ผ๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ SYN(๋๊ธฐํ)
& ACK(์น์ธ)
๋ฉ์์ง๋ฅผ ๊ตํํ์ฌ ์ฐ๊ฒฐ์ ์ค์ ํ๋ 3๋จ๊ณ ํ๋ก์ธ์ค์ด๋ค. ์์ธํ ๊ณผ์ ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์.
3-way handshake๊น์ง ๋ง์ณค๋ค๋ฉด ์ด์ ๋ฐ์ดํฐ ์ ์ก์ ์ํ TCP ์ฐ๊ฒฐ์ด ์ค์ ๋์๋ค.
5. ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ๋ก HTTP ์์ฒญ์ ๋ณด๋ธ๋ค.
TCP ์ฐ๊ฒฐ์ด ์ค์ ๋๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ www.google.com ์น ํ์ด์ง๋ฅผ ์์ฒญํ๋ GET
์์ฒญ์ ๋ณด๋ธ๋ค.(์๊ฒฉ ์ฆ๋ช
์ ์
๋ ฅํ๊ฑฐ๋ ์์์ ์ ์ถํ๋ ๊ฒฝ์ฐ POST ์์ฒญ์ผ ์ ์๋ค.) ์ด ์์ฒญ์๋ ๋ธ๋ผ์ฐ์ ์๋ณ(User-Agent ํค๋), TCP ์ฐ๊ฒฐ ํ์
๊ณผ ๊ฐ์ ์ถ๊ฐ ์ ๋ณด๋ ํฌํจ๋๋ค.
6. ์๋ฒ๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
์๋ฒ์๋ ๋ธ๋ผ์ฐ์ ์์ ์์ฒญ์ ์์ ํ๊ณ ์ด๋ฅผ ์์ฒญ ํธ๋ค๋ฌ์ ์ ๋ฌํ์ฌ ์๋ต์ ์ฝ๊ณ ์์ฑํ๋ ์น ์๋ฒ
(ex. Apache)๊ฐ ํฌํจ๋๋ค. ์์ฒญ ์ฒ๋ฆฌ๊ธฐ๋ ์์ฒญ, ํค๋ ๋ฐ ์ฟ ํค๋ฅผ ์ฝ๊ณ ์์ฒญ๋ ๋ด์ฉ์ ํ์ธํด์ ํน์ ํ์(JSON, XML, HTML)์ผ๋ก ์๋ต์ ์กฐํฉํ๋ค.
7. ์๋ฒ๊ฐ HTTP ์๋ต์ ์ ์กํ๋ค.
์ด์ ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ์๋ต์ ์ ์กํด์ผ ํ๋๋ฐ, ์๋ฒ ์๋ต
์๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์น ํ์ด์ง๋ฟ๋ง ์๋๋ผ ์ํ ์ฝ๋, ๊ฐ์ฒด ๋ชธ์ฒด์ ํ์
(Content-Type)๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ง ์ ๋ณด๊ฐ ํฌํจ๋๋ค.
์์ ์๋ต ๋ฉ์์ง๋ฅผ ๋ณด๋ฉด ์ฒซ ๋ฒ์งธ ์ค์ ์ํ ์ฝ๋
๊ฐ ํ์๋๋ค. ์ด๋ ์๋ต ์ํ๋ฅผ ์๋ ค์ฃผ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ค์ํ๋ค. ์ํ ์ฝ๋์๋ ํฌ๊ฒ 5๊ฐ์ง ์ ํ์ด ์๋ค.
200 OK
: ์์ฒญ์ด ์ฑ๊ณต๋์๊ณ , ์ ๋ณด๊ฐ ์๋ต์ผ๋ก ๋ณด๋ด์ง301 Moved Permanently
: ์์ฒญ ๊ฐ์ฒด๊ฐ ์๋ก์ด URL๋ก ์ด๋๋จ(Redirection)400 Bad Request
: ์๋ฒ๊ฐ ์์ฒญ์ ์ดํดํ ์ ์์(ํด๋ผ์ด์ธํธ ์ธก ์ค๋ฅ)404 Not Found
: ์์ฒญ ๋ฌธ์๊ฐ ์๋ฒ์ ์กด์ฌํ์ง ์์(ํด๋ผ์ด์ธํธ ์ธก ์ค๋ฅ)505 HTTP Version Not Supported
: ์์ฒญ HTTP ํ๋กํ ์ฝ ๋ฒ์ ์ ์๋ฒ๊ฐ ์ง์ํ์ง ์์(์๋ฒ ์ธก ์ค๋ฅ)
8. ๋ธ๋ผ์ฐ์ ๋ ์๋ต ๋ด์ฉ์ ํ์ํ๋ค.
HTML
์๋ต์ธ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ๋ HTML ๋ด์ฉ์ ๋จ๊ณ์ ์ผ๋ก ํ์ํ๋ค. ๋จผ์ , HTML์ ํฐ ๊ณจ๊ฒฉ์ ๋ ๋๋ง ํ๋ค. ๊ทธ๋ฐ ๋ค์ HTML ํ๊ทธ
๋ฅผ ํ์ธํ๊ณ ์ด๋ฏธ์ง, CSS ์คํ์ผ์ํธ, ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ ๋ฑ๊ณผ ๊ฐ์ ์น ํ์ด์ง์ ์ถ๊ฐ ์์์ ๋ํ GET ์์ฒญ์ ๋ณด๋ธ๋ค. ์ด๋ฌํ ์ ์ ํ์ผ
์ ๋ธ๋ผ์ฐ์ ์ ์ํด ์บ์ ๋๊ธฐ
๋๋ฌธ์ ๋ค์์ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ ๋ ๋ค์ ๊ฐ์ ธ์ฌ ํ์๊ฐ ์๋ค.
๋๋์ด! www.google.com ์ด
๋ธ๋ผ์ฐ์ ์ ๋ํ๋๊ฒ ๋๋ค.
References
'CS > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DNS Round Robin (0) | 2022.10.24 |
---|---|
DNS (0) | 2022.10.24 |
HTTP vs HTTPS (1) | 2022.10.08 |
TCP vs UDP (0) | 2022.10.08 |
TCP 3-way handshaking & 4-way handshaking (0) | 2022.10.08 |