DevLog ๐ถ
[Network] IP ์ฃผ์์ DNS ์๋ฒ์ ๋์ ์๋ฆฌ ๋ณธ๋ฌธ
โ๏ธ ๋ค์ด๊ฐ๊ธฐ ์
์ ๋ฒ ๊ฒ์๊ธ์์๋ HTTP ๋ฉ์์ง๋ฅผ ์ด๋ค ์์ผ๋ก ๋ง๋๋์ง ๋ฐฐ์ ๋ค.
๋ธ๋ผ์ฐ์ ๋ URL์ ํด๋ ํ๊ฑฐ๋ HTTP ๋ฉ์์ง๋ฅผ ๋ง๋๋ ๊ฒ๊น์ง๋ ์งํํ์ง๋ง, ๋คํธ์ํฌ์ ์ก์ถํ๋ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ OS์ ์๋ขฐํ์ฌ ์ก์ ํ๊ฒ ๋๋ค. ์ด๋, URL ๋ด๋ถ์ ์๋ ์๋ฒ์ ๋๋ฉ์ธ๋ช ์์ IP ์ฃผ์๋ฅผ ์กฐ์ฌํ๋๋ฐ, OS์๊ฒ ์ก์ ํ ๋๋ IP ์ฃผ์๋ก ๋ฉ์์ง๋ฅผ ๋ฐ์ ์๋๋ฅผ ์ง์ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ป๊ฒ IP ์ฃผ์๋ฅผ ์กฐ์ฌํ๋์ง ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํด๋ณด์.
๋ํ, IP ์ฃผ์๋ฅผ ๋๋ฉ์ธ ์ฃผ์๋ก ๋ณํํ๊ธฐ ์ํด ์ด๋ป๊ฒ ํ๋์ง ์์๋ณด์.
โ๏ธ TCP / IP ๋คํธ์ํฌ
TCP/IP ๋คํธ์ํฌ๋ ์์ ์๋ธ๋ท์ ๋ผ์ฐํฐ๋ก ์ฐ๊ฒฐํ์ฌ ์ ์ฒด ๋คํธ์ํฌ๋ฅผ ์์ฑํ๋ค.
์๋ธ๋ท์ด๋ ํจํท์ ์ค๊ณํ๋ ์ฅ์น์ธ ํ๋ธ์ ์ฌ๋ฌ PC๊ฐ ์ฐ๊ฒฐ๋ ํํ๋ผ๊ณ ์๊ฐํด๋ ๋๋ค.
XX๋ YY๋ฒ์ง๊ฐ ์๋ค๋ฉด, XX๋์ ์๋ธ๋ท์ ํ ๋นํ๊ณ , YY๋ฒ์ง๋ ์ปดํจํฐ์ ํ ๋นํ ๊ฒ์ด ๋คํธ์ํฌ ์ฃผ์์ด๋ค.
์ฌ๊ธฐ์ XX๋์ ๋คํธ์ํฌ ๋ฒํธ, ๋ฒ์ง๋ฅผ ํธ์คํธ ๋ฒํธ๋ผ๊ณ ํ๋ฉฐ ๋์ ํฉ์ณ์ IP ์ฃผ์๋ผ๊ณ ํ๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฌํ IP ์ฃผ์๋ฅผ ๋ฐํ์ผ๋ก ๋ฉ์์ง๋ฅผ ์ด๋ฐํ๋ค.
์ก์ ์ธก์ด ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ์๋ธ๋ท์ ํ๋ธ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ผ์ฐํฐ๊น์ง ๋ณด๋ด๊ณ , ๋ผ์ฐํฐ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ ์๋๋ฅผ ํ์ธํ์ฌ ๋ค์ ๋ผ์ฐํฐ๋ฅผ ํ๋จํ๋ค.
๊ทธ๋ฆฌ๊ณ , ๋ผ์ฐํฐ๋ ์์ ์๋ฅผ ํ์ธํ์ฌ ๋ค์ ๋ผ์ฐํฐ๋ฅผ ํ๋จํ๊ณ , ๊ฑฐ๊ธฐ์ ๋ณด๋ด๋๋ก ์ง์ํด์ ์ก์ ๋์์ ์คํํ์ฌ, ๋ค์ ์๋ธ๋ท์ ํ๋ธ๊ฐ ๋ผ์ฐํฐ๊น์ง ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค. ์ด๋ฐ ์์ผ๋ก ๊ณ์ ๋ฐ๋ณตํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด, IP ์ฃผ์๋ ์ด๋ป๊ฒ ํ๊ธฐํ ๊น?
IP ์ฃผ์๋ 32๋นํธ์ ์ซ์๋ก, ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ 4๊ฐ์ ์ซ์๊ฐ ์๋, ์ ์ผ๋ก ๋ถ๋ฆฌ๋ 10์ง์ ํ์์ผ๋ก ํ์๋๋ค.
10.11.12.13
ํ์ง๋ง, IP ์ฃผ์์ ๊ฒฝ์ฐ ๊ณ ์ ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๋ถ๋ถ์ด ๋คํธ์ํฌ ๋ฒํธ๊ณ ์ด๋ ๋ถ๋ถ์ด ํธ์คํธ ๋ฒํธ์ธ์ง ๊ตฌ๋ถ์ด ์ ๋๋ค.
๊ทธ์ ๋คํธ์ํฌ ๋ฒํธ์ ํธ์คํธ ๋ฒํธ๋ฅผ ํฉ์ณ 32๋นํธ๋ก IP ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ค๋ ์ฌ์ค๋ง ์๊ณ ์๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์๊ฐ ๋คํธ์ํฌ ๊ตฌ์ถ ์ ์ง์ ๋ด์ญ์ ๊ฒฐ์ ํ ์ ์๊ฒ ๋๋ค. ์ฐ๋ฆฌ๋ ํ์์ ๋ฐ๋ผ ์ด๋ฌํ ์ ๋ณด๋ฅผ IP ์ฃผ์์ ๋ง๋ถ์ด๋๋ฐ, ์ด๋ฅผ '๋ท๋ง์คํฌ'๋ผ๊ณ ํ๋ค.
// IP ์ฃผ์ ๋ณธ์ฒด์ฒ๋ผ ํํํ๊ธฐ
10.11.12.13/255.255.255.0
// ๋คํธ์ํฌ ๋ฒํธ์ ๋นํธ ์๋ก ํํํ๊ธฐ
10.11.12.13/24
๋ท๋ง์คํฌ๋ ์ผ์ชฝ์๋ 1, ์ค๋ฅธ์ชฝ์๋ 0์ด ๋์ด๋ ๊ฐ์ผ๋ก์ 1์ธ ๋ถ๋ถ์ ๋คํธ์ํฌ ๋ฒํธ, 0์ธ ๋ถ๋ถ์ ํธ์คํธ ๋ฒํธ์ด๋ค.
๋ท๋ง์คํฌ๋ฅผ 8๋นํธ์ฉ ๊ตฌ๋ถํ์ฌ ๋ํ๋ธ ๊ฒ ์ฒซ ๋ฒ์งธ ํ๊ธฐ๋ฒ์ด๋ฉฐ, ๋นํธ์๋ฅผ 10์ง์๋ก ๋ํ๋ธ ๊ฒ ๋ ๋ฒ์งธ ํ๊ธฐ๋ฒ์ด๋ค.
// IP ์ฃผ์ = 10์ง์ ํ๊ธฐ || ๋นํธ๋ก ํํํ ๋ฐฉ๋ฒ
10.1.2.3 || 00001010.00000001.00000010.00000011
// ๋ท๋ง์คํฌ = 10์ง์ ํ๊ธฐ || ๋นํธ๋ก ํํํ ๋ฐฉ๋ฒ (1๋ก ๊ตฌ์ฑ๋ ๋ถ๋ถ์ ๋คํธ์ํฌ ๋ฒํธ, 0์ผ๋ก ๊ตฌ์ฑ๋ ๋ถ๋ถ์ ํธ์คํธ ๋ฒํธ)
255.255.255.0 || 11111111.11111111.11111111.00000000
// 1๋ก ํ์๋ ๋ถ๋ถ์ ๋นํธ๋งํผ์ด ๋คํธ์ํฌ ๋ฒํธ
๋คํธ์ํฌ ๋ฒํธ: 00001010.00000001.00000010.00000000
// 0์ผ๋ก ํ์๋ ๋ถ๋ถ์ ๋นํธ๋งํผ์ด ํธ์คํธ ๋ฒํธ
ํธ์คํธ ๋ฒํธ: 00000000.00000000.00000000.00000011
ํธ์คํธ ๋ฒํธ ๋นํธ๊ฐ์ด ๋ชจ๋ 0์ธ IP ์ฃผ์๋ ์๋ธ๋ท ์์ฒด๋ฅผ ๋ํ๋ด๋ฉฐ, ํธ์คํธ ๋ฒํธ ๋ถ๋ถ์ด ๋ชจ๋ 1์ด๋ฉด ๋ธ๋ก๋์บ์คํธ์ด๋ค.
10.11.12.0/24 : ํธ์คํธ ๋ฒํธ์ ๋นํธ๊ฐ 0์ด๋ฉด ์๋ธ๋ท ์์ฒด
10.11.12.255/25 : ํธ์คํธ ๋ฒํธ์ ๋นํธ๊ฐ 1์ด๋ฉด ์๋ธ๋ท ์ ์ฒด์ ๋ํ ๋ธ๋ก๋์บ์คํธ
โ๏ธ ๋๋ฉ์ธ๋ช ๊ณผ IP ์ฃผ์์ ๊ตฌ๋ถ - DNS ์๋ฒ์ Socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ ๋๋ฉ์ธ๋ช ์ ์ฌ์ฉํ๋ ๊ฑธ๊น? ์ฃผ๋ก ๋๋ฉ์ธ ์ด๋ฆ์ ๊ฒฝ์ฐ, ๋ฌธ์๋ก ๋์ด ์๋ค. ๋ฐ๋ฉด์ IP ์ฃผ์๋ ์ซ์๋ก ๋์ด ์๋ค.
๋ ์ค์ ์ด๋ค ๋ฐฉํฅ์ด ๋ ์ฌ๋์ด ๊ธฐ์ตํ๊ธฐ ์ข์๊น? ๋น์ฐํ ๋๋ฉ์ธ ์ด๋ฆ์ผ ๊ฒ์ด๋ค.
ํ์ง๋ง IP ์ฃผ์๋ 32๋นํธ, ์ฆ 4๋ฐ์ดํธ์ ํด๋นํ๋ ๊ฐ์๋ฐ์ ์์ง๋ง ๋๋ฉ์ธ๋ช ์ ์ ์ด๋ ์์ญ ๋ฐ์ดํธ ~ ์ต๋ 255 ๋ฐ์ดํธ๋ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ๋ด์ฉ์ ๋ด์ ์ ์๋ค. ๋ผ์ฐํฐ๋ ๋ ํฐ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฐํ๊ธฐ ์ํด์๋ ์๋๊ฐ ๋ ๋๋ ค์ง ๊ฒ์ด๋ค.
์ฌ๋์ ์ด๋ฆ์ ์ฌ์ฉํ๊ณ , ๋ผ์ฐํฐ๋ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ค๋จผ ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
์ด๋ฆ์ ์๋ฉด IP ์ฃผ์๋ฅผ ์ ์ ์๊ณ , IP ์ฃผ์๋ฅผ ์๋ฉด ์ด๋ฆ์ ์ ์ ์๋๋ก DNS๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๋ค.
DNS ์๋ฒ์ ์กฐํํ๋ ๊ฒ์ DNS ์๋ฒ์ ์กฐํ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ , ๊ฑฐ๊ธฐ์์ ๋ฐ์ก๋๋ ์๋ต ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ด๋ค.
์ด๋ฌํ DNS ํด๋ผ์ด์ธํธ๊ฐ DNS ๋ฆฌ์กธ๋ฒ๋ผ๊ณ ํ๋ฉฐ DNS ์๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด name resolution์ด๋ผ๊ณ ํ๋ค.
์ด๋ฌํ ๋ฆฌ์กธ๋ฒ์ ๋ํด ์๊ธฐ ์ํด์๋ Socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ์ ์ดํดํด์ผ ํ๋ค.
Socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ์๋ ์ฌ๋ฌ ๋ถํํ๋ ํ๋ก๊ทธ๋จ์ด ์์ผ๋ฉฐ, ์๋์ ๊ฐ์ด ํธ์ถ์ด ๊ฐ๋ฅํ๋ค.
// C์ธ์ด์์ ์์ - ๋ฆฌ์กธ๋ฒ ํธ์ถํ๊ธฐ
<๋ฉ๋ชจ๋ฆฌ ์์ญ> = getHostByName("www.naver.com"); // ๋ฆฌ์กธ๋ฒ์ ํ๋ก๊ทธ๋จ๋ช (๋๋ฉ์ธ๋ช )
์ด๋ ๊ฒ ๋ฆฌ์กธ๋ฒ๋ฅผ ํธ์ถํ๋ฉด ๋ฆฌ์กธ๋ฒ๊ฐ DNS ์๋ฒ์ ์กฐํ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ , DNS ์๋ฒ์์ ์๋ต ๋ฉ์์ง๊ฐ ๋์์จ๋ค.
์๋ต ๋ฉ์์ง ์์ IP ์ฃผ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฆฌ์กธ๋ฒ๋ ์ด๋ฅผ ์ถ์ถํด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฃ์ด์ค๋ค.
๋ฆฌ์กธ๋ฒ์ ๋์ ๊ณผ์ ์ ๊ฐ๋จํ๊ฒ ํ์ธํด๋ณด์.
๋ฆฌ์กธ๋ฒ๋ DNS ์๋ฒ์ ๋ฌธ์ํ๊ธฐ ์ํ ๋ฉ์์ง๋ฅผ ๋ง๋ค๊ณ ๋ณด๋ธ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฉ์์ง์ ์ก์ ์ OS ๋ด๋ถ์ ํฌํจ๋๋ ํ๋กํ ์ฝ ์คํ์ ํธ์ถํ์ฌ ์คํ์ ์๋ขฐํ๋ค.
์ดํ, LAN ์ด๋ํฐ๋ฅผ ํตํด ๋ฉ์์ง๊ฐ DNS ์๋ฒ๋ฅผ ํฅํด ์ก์ ๋๋ค.
์กฐํ ๋ฉ์์ง๊ฐ DNS ์๋ฒ์ ๋์ฐฉํ๊ณ DNS ์๋ฒ๋ ๋ฉ์์ง์ ๋ด์ฉ์ ๋ฐ๋ผ ๋ต์ ์ฐพ๊ฒ ๋๋ค.
๋ง์ฝ ์ก์ธ์ค ๋์์ ์น ์๋ฒ๊ฐ DNS ์๋ฒ์ ์์ผ๋ฉด ์๋ต ๋ฉ์์ง์ ์จ์ ๋ฐ์กํ๋๋ฐ, ์ด๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋์ฐฉํ๊ณ , ํ๋กํ ์ฝ ์คํ์ ๊ฒฝ์ ํ์ฌ ๋ฆฌ์กธ๋ฒ์ ๊ฑด๋ค์ ธ์, ๋ฆฌ์กธ๋ฒ๋ ๋ค์ ๋ด์ฉ์ ํด์ํ์ฌ IP ์ฃผ์๋ฅผ ์ถ์ถํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์๊ฒ ๊ฑด๋ค์ค๋ค.
๊ทธ๋ฆฌ๊ณ , ๋ฆฌ์กธ๋ฒ ํธ์ถ ์ ์ง์ ํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ IP ์ฃผ์๋ฅผ ์ ์ฅํ๊ฒ ๋๋ค.
์ด๋ ๊ฒ ๋ฆฌ์กธ๋ฒ ๋์์ด ๋๋๋ฉด ์ ์ด๋ ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ (๋ธ๋ผ์ฐ์ )์๊ฒ ๋์์ค๊ณ , ์ด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์์ IP ์ฃผ์๋ฅผ ๊บผ๋ด์ด ํ์ํ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๊ฒ ๊ฑด๋ค์ค ์ ์๊ฒ ๋๋ค.
โ๏ธ ๊ตฌ์ฒด์ ์ผ๋ก DNS ์๋ฒ๋ ๋ญ ํ๋๋ฐ?
์์์๋ ๋ฆฌ์กธ๋ฒ์ DNS ์๋ฒ์ ์ํธ์์ฉ์ ๊ณต๋ถํ์๋ค. ๊ทธ๋ ๋ค๋ฉด DNS ์๋ฒ๋ ๋ด๋ถ์ ์ผ๋ก ๋ฌด์จ ์ผ์ ํ ๊น?
DNS ์๋ฒ์ ๋ฑ๋ก๋ ์ ๋ณด๋ '๋ฆฌ์์ค ๋ ์ฝ๋'๋ผ๊ณ ํ๋ค.
์ด๋ฆ์ ๋์๋๋ ํด๋์ค, ํ์ , ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋ ์๋ต ๋ฉ์์ง ์์ ๊ธฐ์ ํ๋ ์ ๋ณด๊ฐ ๋ค์ด๊ฐ๋ค.
ํด๋ผ์ด์ธํธ๋ ์ด๋ฆ, ํด๋์ค, ํ์ ์ ๋ณด์ ํจ๊ป ์กฐํ ๋ฉ์์ง๋ฅผ DNS ์๋ฒ์๊ฒ ๋ณด๋ธ๋ค.
DNS ์๋ฒ๋ ๋ฑ๋ก๋ ์ ๋ณด๋ฅผ ์ฐพ์์ 3๊ฐ์ง ๋ชจ๋ ์ ๋ณด๊ฐ ์ผ์นํ๋ ๊ฒ์ ์ฐพ๋๋ค.
ํ์ ์ ๊ฒฝ์ฐ ๋ํ์ ์ผ๋ก A, CNAME์ด ์๋ค. (์์์๋ MX๊ฐ ์ฐ์๋๋ฐ ์ด๋ ๋ฉ์ผ ๋ฐฐ์ก ๊ด๋ จ ํ์ ์ด๋ค)
- ๋ฌผ๋ก ๊ทธ์ธ์๋ PTR, NS, SOA ๋ฑ์ด ์๋ค.
๐ฑ A record
IP ์ฃผ์ ์กฐํ ์ ์ฃผ๋ก ์ฌ์ฉํ๋ฉฐ, ๋๋ฉ์ธ ์ด๋ฆ๊ณผ IPv4 ์ฃผ์๋ฅผ ๋งค์นญ์ํฌ ๋ ์ฌ์ฉํ๋ค. (๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ์ )
์น ๋ธ๋ผ์ฐ์ ๋ DNS resolver๋ฅผ ํตํด DNS ์ฟผ๋ฆฌ๋ฅผ ์ ์กํ์ฌ ์ด ์์ ์ ์๋์ผ๋ก ์ํํ๋ค.
๐ฑ CNAME record
๋๋ฉ์ธ์ด๋ ํ์ ๋๋ฉ์ธ์ด ๋ค๋ฅธ ๋๋ฉ์ธ์ ๋ณ์นญ์ผ๋ก ์์ ๊ฒฝ์ฐ, A ๋ ์ฝ๋ ๋์ ์ ์ฌ์ฉํ๋ค.
๋ณ์นญ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ IP ์ฃผ์๊ฐ ์๋ ๋๋ฉ์ธ์ ๊ฐ๋ฆฌํค๊ณ ์์ด์ผ ํ๋ค.
ex. aaa.example.com์ด ์๋ค๋ฉด example.com์ IP ์ฃผ์๋ฅผ A ๋ ์ฝ๋๋ฅผ ํตํด ๋ฐํํ๋ค.
CNAME ๋ ์ฝ๋๋ ์ค์ง ํด๋ผ์ด์ธํธ๋ฅผ ๋ฃจํธ ๋๋ฉ์ธ๊ณผ ๋์ผํ IP ์ฃผ์๋ก๋ง ๊ฐ๋ฆฌํค๊ธฐ ๋๋ฌธ์, ํด๋ผ์ด์ธํธ๊ฐ ํด๋น IP ์ฃผ์์ ๋๋ฌํ๋ค๋ฉด ์น ์๋ฒ๋ ๊ทธ์ ๋ฐ๋ผ URL์ ์ฒ๋ฆฌํ๊ฒ ๋๋ค. ๋ง์ฝ, aaa.example.com์ด example.com์ ๊ฐ๋ฆฌํค๋ CNAME์ ๊ฐ์ก๋ค๋ฉด, example.com์ด ํฅํ๋ IP ์ฃผ์๋ก ํฅํ๊ฒ๋ ํ ์ ์๋ค. ํ์ง๋ง, ์ค์ ๋ก ํด๋น IP ์ฃผ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ๋ฉด ํด๋น URL์ด example.com์ด ์๋ aaa.example.com์ผ๋ก๋ ๊ฐ ์ ์๋ค.)
cf) MX, NS ๋ ์ฝ๋๋ CNAME ๋ ์ฝ๋๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๋ค!
์ค์ ์ธํฐ๋ท์๋ ์์ฒญ ๋ง์ ์์ ์๋ฒ๊ฐ ์๊ธฐ ๋๋ฌธ์ 1๋์ DNS ์๋ฒ์ ๋ฑ๋ก๋๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์กฐํ ๋ฉ์์ง๋ฅผ ๋ฐ์ DNS ์๋ฒ์ ์ ๋ณด๊ฐ ๋ฑ๋ก๋์ด ์์ง ์์ ๊ฒฝ์ฐ๋ ์๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก๋ ์ ๋ณด๋ฅผ ๋ถ์ฐ์์ผ ๋ค์์ DNS ์๋ฒ๋ฅผ ๋ฑ๋กํ๊ณ , ๋ค์์ ์๋ฒ๊ฐ ์๋ก ์ด๋์ ์ ๋ณด๊ฐ ๋ฑ๋ก๋์ด ์๋์ง ์ฐพ์๋ด๋ ๊ตฌ์กฐ๋ค.
โ๏ธ ๋ค์์ DNS ์๋ฒ
์ฐ์ DNS ์๋ฒ์ ๋ฑ๋กํ ์ ๋ณด์๋ '๋๋ฉ์ธ๋ช '์ด๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ด๋ฆ์ด ๋ถ์ด์๋ค.
๊ทธ๋ฆฌ๊ณ , ๋๋ฉ์ธ๋ช ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณ์ธต์ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๋ํ, DNS ์๋ฒ์ ๋๋ฉ์ธ์ 1:1์ด ์๋๋ผ 1:N๋ ๊ฐ๋ฅํ๋ค!
๋จผ์ 1:1 ๊ด๊ณ๋ก ๋ฑ๋กํ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
๋๋ฉ์ธ์ ๊ณ์ธต ๊ตฌ์กฐ์ ๋์ผํ ํํ๋ก DNS ์๋ฒ๊ฐ ๋ฐฐ์น๋๋ฉฐ, ๊ฐ ๋๋ฉ์ธ์ ์ ๋ณด๋ ๋๋ฉ์ธ์ด ์๋ DNS ์๋ฒ์ ๋ฑ๋ก๋๋ค.
๋ํ, ๋๋ฉ์ธ ์๋์ ํ์ ๋๋ฉ์ธ์ ๋ง๋ค๊ณ ๊ทธ๊ฒ์ ๊ฐ๊ฐ ํ ๋นํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
DNS ์๋ฒ๋ ์๋ง ๋๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์, ํจ์จ์ ์ผ๋ก ํ์ํ๊ธฐ ์ํ์ฌ ๊ณ์ธตํ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ค.
(ํ๋ํ๋์ฉ ๋ค ํ์ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ฌด ์์ฐํ๋ค ใ ใ )
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด, DNS๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ํ๋ค.
1. ์น ๋ธ๋ผ์ฐ์ ์ www.google.com์ ์ ๋ ฅํ๋ฉด, PC์ ์ ์ฅ๋ Local DNS ์๋ฒ์๊ฒ ํด๋น IP ์ฃผ์๋ฅผ ์์ฒญํ๋ค.
- ๋ณดํต Local DNS๋ ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋์์ ๋, ๊ฐ ํต์ ์ฌ์ ๊ธฐ์ง๊ตญ DNS ์๋ฒ๊ฐ ๋๋ค.
2. ์ด ๊ณผ์ ์์ ์ด์ ์ ์ ๋ณด๊ฐ ์์๋ค๋ฉด, ์บ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ๋๊ฒจ์ค๋ค.
3. ์๋ค๋ฉด, Root nameserver์๊ฒ www.google.com์ IP ์ฃผ์๋ฅผ ์์ฒญํ๋ค.
- ์ฌ๊ธฐ์๋ ์ฐพ์ง ๋ชปํ๋ค๋ฉด, Local DNS์๊ฒ ์ฐพ์ ์ ์๋ค๊ณ ์๋ตํ๋ค.
4. Local DNS๋ TLD nameserver์๊ฒ www.google.com์ IP ์ฃผ์๋ฅผ ์์ฒญํ๋ค.
- ์ฌ๊ธฐ์๋ ์ฐพ์ง ๋ชปํ๋ค๋ฉด, Local DNS์๊ฒ ์ฐพ์ ์ ์๋ค๊ณ ์๋ตํ๋ค.
5. Local DNS๋ SLD nameserver์๊ฒ www.google.com์ IP ์ฃผ์๋ฅผ ์์ฒญํ๋ค.
- ์ฌ๊ธฐ์ ์ฐพ์ ๊ฐ์ ์บ์ฑํ ๋ค์, IP ์ฃผ์๋ฅผ ์๋ตํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๊ณผ์ ์ ๋ณดํต Recursive Query๋ผ๊ณ ํ๋ค.
๐ฑ Root nameserver
ICANN (๊ตญ๊ฐ ์ธํฐ๋ท ์ฃผ์ ์์ ๊ด๋ฆฌ ๊ธฐ๊ตฌ)๊ฐ ์ง์ ๊ด๋ฆฌํ๋ ์๋ฒ์ด๋ค.
recursive DNS๊ฐ ๊ฐ์ฅ ๋จผ์ ๋ฐฉ๋ฌธํ๋ ๊ณณ์ด๋ฉฐ, ๋๋ฉ์ธ ์ด๋ฆ์ด ํฌํจ๋ DNS ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ ํด๋น ๋๋ฉ์ธ์ ํ์ฅ์๋ฅผ ๊ธฐ์ค์ผ๋ก (.com, .net ๋ฑ๋ฑ) recursive DNS๋ฅผ TLD๋ก ์๋ดํ์ฌ ์๋ตํ๋ค.
์ด 13๊ฐ๊ฐ ์์ง๋ง, ๊ฐ nameserver์ ๋ณต์ฌ๋ณธ์ด ์ ์ธ๊ณ์ ์ฌ๋ฌ ๊ฐ ์์ผ๋ฉฐ, anicasting์ ์งํํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๊ฒ ์๋ต์ด ๊ฐ๋ฅํ๋ค. (๋ค ํฉ์น๋ฉด ๊ฑฐ์ 600๊ฐ๊ฐ ๋๋๋ค๊ณ ํ๋ค...)
๋๋ www.google.com์ IP ์ฃผ์๋ ์์ด. ๋์ .com์ ์๋ ค์ค๊ฒ, ๊ฑํํ ๋ฌผ์ด๋ด.
๐ฑ Top Level Domain (TLD) nameserver
๋๋ฉ์ธ ๋ฑ๋ก ๊ธฐ๊ด์ด ๊ด๋ฆฌํ๋ ์๋ฒ์ด๋ค. ๋ณดํต URL์ ๋ง์ง๋ง ์ ๋ค์ ์ค๋ ๋ชจ๋ ๊ณตํต ๋๋ฉ์ธ ํ์ฅ์์ ๋ํ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค.
(ex. .com TLD์ ๊ฒฝ์ฐ .com์ผ๋ก ๋๋๋ ๋ชจ๋ ์ ๋ณด - google.com ๊ฐ์ ์ ๋ณด๋ค์ ํฌํจํ๊ณ ์๋ค)
TLD์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ฉด ๊ถํ์๋ ๋ค์์๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ ์๋ตํ๊ฒ ๋๋ค.
๋ณดํต 2๊ฐ์ง๋ก ๋๋๋ค.
- Generic top-level domain: ๊ตญ๊ฐ๋ณ๋ก ๊ตฌ๋ถํ์ง ์๋ ๋๋ฉ์ธ. ex) .com, .org, .net
- Country code top-level domain: ํน์ ๊ตญ๊ฐ๋ ์ฃผ์ ๋ฐ๋ฅธ ๋๋ฉ์ธ ex) .uk, .kr
๋๋ www.google.com์ IP ์ฃผ์๋ ์์ด. ๋์ .google.com์ ์๋ ค์ค๊ฒ, ๊ฑํํ ๋ฌผ์ด๋ด.
๐ฑ Second-Level Domain (SLD) = Authoritative nameserver
TLD๋ก๋ถํฐ ๋ฐ์ ์๋ต์ด ๋ง์ง๋ง์ผ๋ก ๋ค๋ฆฌ๋ ๊ณณ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก resolver๊ฐ ๋ง์ง๋ง์ผ๋ก IP ์ฃผ์๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ค๋ฆฌ๋ ๊ณณ์ด๋ค.
์๋น์คํ๋ ๋๋ฉ์ธ ์ด๋ฆ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ๋ฉฐ, recursive resolver์๊ฒ DNS A record์์ ์ฐพ์ IP ์ฃผ์๋ฅผ ์ ๊ณตํ๊ฑฐ๋, CNAME ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ ๊ณตํ ์ ์๋ค.
๋ณดํต ๋๋ฉ์ธ / ํธ์คํ ์ ์ฒด์ ๋ค์์๋ฒ๋ ๊ฐ์ธ DNS๊ฐ ์ฌ๊ธฐ ์ํ๋ค.
www.google.com์ IP ์ฃผ์๋ฅผ ์ค๊ฒ!
๐ฑ ๊ถํ ์๋ DNS ์๋ฒ (= DNS recursor, DNS resolver, recursive DNS)
๊ถํ ์๋ DNS ์๋ฒ์ ๊ฒฝ์ฐ ์ง์๋ฅผ ํตํด์ IP ์ฃผ์๋ฅผ ์์๋ธ๋ค.
(์ ํํ์ง๋ ์์ง๋ง) DNS ์ฟผ๋ฆฌ์ ์ฒซ ๋ฒ์งธ ์ข ์ฐฉ์ง๋ก, ํด๋ผ์ด์ธํธ์ DNS nameserver์ ์ค๊ฐ์ ์ญํ ์ ํ๋ค.
์น ํด๋ผ์ด์ธํธ๋ก๋ถํฐ DNS ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ ๋ค์, ์บ์๋ ๋ฐ์ดํฐ๋ก ์๋ตํ๊ฑฐ๋, ๋ฃจํธ์ ์์ฒญ์ ๋ณด๋ธ ๋ค์, TLD ์๋ฒ์ ๋ ๋ค๋ฅธ ์์ฒญ์ ๋ณด๋ด๊ณ , ๋ง์ง๋ง์ผ๋ก ๊ถํ ์๋ ๋ค์์๋ฒ์๊ฒ ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋ค. ๊ถํ ์๋ ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๋ฐ์์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ด๋ ค์ฃผ๋ ํํ์ด๋ค.
cf)
- Hostname: ์์ ๋กญ๊ฒ ์ ํํ ์ ์์ผ๋ฉฐ, www๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ค. (๋ญ mail, dev ๊ฐ์ ๊ฒ๋ ๋ค์ด๊ฐ๋ค.)
- Fully Qualified Domain Name (FQDN): ์ ์ฒด ๋๋ฉ์ธ์ ์ด๋ฆ์ ์๋ฏธํ๋ค.
์ ๋ฆฌํ์๋ฉด, ํ์์ ๋๋ฉ์ธ์ ๋ด๋นํ๋ DNS ์๋ฒ์ IP ์ฃผ์๋ฅผ ์์์ DNS ์๋ฒ์ ๋ฑ๋กํ๊ณ , ์์์ DNS ์์ ๋ ์์์ DNS ์๋ฒ๋ฅผ ๋ฑ๋กํ๋ ์์ผ๋ก ํ ๊ฒ์ด๋ค. ๊ทธ๋์ www.google.com์ DNS ์๋ฒ์ ๋ฑ๋ก -> google.com์ DNS ์๋ฒ๋ฅผ com ๋๋ฉ์ธ์ ๋ฑ๋ก... -> ...
์ด๋ ๊ฒ ํ๊ธฐ ๋๋ฌธ์ ์์์ DNS ์๋ฒ์ ๊ฐ๋ฉด ํ์์ DNS ์๋ฒ์ IP ์ฃผ์๋ฅผ ์ ์ ์๊ฒ ๋๊ณ , ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ผ ์ ์๊ฒ ๋๋ค.
ํ์ง๋ง ํ์์ DNS ์๋ฒ๋ฅผ ์์์ DNS ์๋ฒ๋ก ๋ฑ๋กํ๋ค๊ณ ๋๋์ง๋ ์๋๋ค.
๋ฃจํธ ๋๋ฉ์ธ์ DNS ์๋ฒ๋ฅผ ์ธํฐ๋ท์ ์กด์ฌํ๋ ๋ชจ๋ DNS ์๋ฒ์ ๋ฑ๋กํ์ฌ, ๋ชจ๋ ๊ณณ์์ ๋ฃจํธ ๋๋ฉ์ธ์ ์ฐธ์กฐํ ์ ์๋๋ก ํด์ผ ํ๋ค.
๊ทธ๋ผ ์ด๋ค ์์ฒญ์ด ์์ ์์ธ์ค๋ฅผ ํ๋๋ผ๋ ๋ฃจํธ ๋๋ฉ์ธ์ผ๋ก๋ถํฐ ์ฐพ์์ ๊ฐ ์๋ ์๊ฒ ๋๋ค.
์์ ๊ทธ๋ฆผ์ ์กฐ๊ธ ๋ ์ ํํ๊ฒ ํํํ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ค์ ๋ก๋ ์ด๋ฐ ์์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด DNS ์๋ฒ์๊ฒ ๋ฌผ์ด๋ณด๊ณ -> ๊ฐ์ฅ ๊ฐ๊น์ด DNS ์๋ฒ๋ ๋ฃจํธ ๋๋ฉ์ธ์ด ๋ฑ๋ก๋์ด ์๊ธฐ ๋๋ฌธ์, ๋ฃจํธ ๋๋ฉ์ธ์ผ๋ก๋ถํฐ ๋ฐ์ ์กฐํ ๋ฉ์ง๋ฅผ ์ ์กํ๋ค. ์ด๋, ๋ฃจํธ ๋๋ฉ์ธ์ด www.google.com์์ .com ๋๋ฉ์ธ์ DNS ์๋ฒ์ IP ์ฃผ์๋ฅผ ๋ฐ์กํ๊ณ , ๋ ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด DNS ์๋ฒ๋ com ๋๋ฉ์ธ์ DNS ์๋ฒ์๊ฒ ๋ ๋ค์ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค.
์ด๋ฐ ์์ผ๋ก ์์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค๊ฐ IP ์ฃผ์๋ฅผ ์๊ฒ ๋๋ฉด, ๊ฑฐ๊ธฐ์ ์ก์ธ์คํ๊ฒ ๋๋ค.
ํ์ง๋ง, ํ์ค์์๋ ๋ค์์ ๋๋ฉ์ธ์ด ํ ๊ฐ์ DNS ์๋ฒ์ ์กด์ฌํ ์๋ ์๋ค.
= ์์, ํ์์ ๋๋ฉ์ธ์ ๊ฐ์ DNS ์๋ฒ์ ๋ฑ๋กํ ์๋ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด ์์์ DNS ์๋ฒ์ ์กฐํํ์ ๋ ํ์ DNS ์๋ฒ๋ ๊ฑด๋๋ฐ๊ณ , ๋ค์ ๊ทธ ์๋์ DNS ์๋ฒ์ ๊ดํ ์ ๋ณด๊ฐ ๋์์ค๊ฒ ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก, DNS ์๋ฒ๋ ํ ๋ฒ ์กฐ์ฌํ ์ด๋ฆ์ ์บ์์ ๊ธฐ๋กํ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด ํด๋น ์์น๋ถํฐ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์๋๋ก ํฅํ์ฌ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฃจํธ๋ถํฐ ์ฐพ๋ ๊ฒ๋ณด๋ค ํธ๋ฆฌํด์ง๋ค.
ํ์ง๋ง, ์บ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ณด์ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ํญ์ ์ผ๋ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์บ์ ์ ๋ณด์ ๋ํ ์ ํจ ๊ธฐ๊ฐ์ ์ค์ ํ๊ณ , ์ ํจ ๊ธฐ๊ฐ์ด ์ง๋๋ฉด ์ญ์ ๋๋๋ก ๋ง๋ค์ด์ผ ํ๋ค.
๋ํ, ์กฐํ๋ ์ ๋ณด๊ฐ ์บ์์ ์ ์ฅ๋ ๊ฒ์ธ์ง, ํน์ DNS ์๋ฒ์์ ์๋ตํ ๊ฒ์ธ์ง๋ ๊ตฌ๋ถํด์ ์๋ ค์ค์ผ ํ๋ค.
โ๏ธ ์ ๋ฆฌ
DNS์ ๋์ ๊ตฌ์กฐ๋ฅผ ๋ด์ ๊ทธ๋ฆผ์ด๋ค :D