Domain Name์ ๊ณต๋ถํ๋ค๋ฉด
๋ฐ๋ก ๊ทธ๋ค์์ DNS๋ค
์ด ์ ์ ์์ฑํ ๊ธ ์ค SMTP๋ฅผ ๊ณต๋ถํ์ ๋
์ ๊น ์ธ์ฉ๋ง ํ์๋๋ฐ ์ค๋ ๋ค์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค ํ๋ค
https://mutpp.tistory.com/entry/SMTP%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90
Cloudflare์์ DNS์ ๋ํด ์ ์ค๋ช ์ ํด๋ฌ์
์๋์ ์ฒจ๋ถํ ๋งํฌ์ ์๋ ์ฌ์ดํธ๋ฅผ ๊ณต๋ถํด์ ์ ๋ฆฌํ๋ ค ํ๋ค
1. DNS (Domain Name System)
DNS๋ ํธ์คํธ์ ๋๋ฉ์ธ ์ด๋ฆ (Domain Name)์
ํธ์คํธ์ ๋คํธ์ํฌ ์ฃผ์๋ก ๋ฐ๊พธ๊ฑฐ๋
๊ทธ ๋ฐ๋์ ๋ณํ์ ์ํํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ์์คํ ์ด๋ค
(๋๋ฉ์ธ ์ด๋ฆ์ ์ด์ ๊ธ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋)
๋ค๋ฅธ ๋๊ตฐ๊ฐ์ ์ปดํจํฐ๋ ๋คํธ์ํฌ ์ฅ์น์ ์ฃผ์๋ฅผ ์ฐพ๊ธฐ ์ํด์
๋๋ฉ์ธ ์ด๋ฆ์ → ์ซ์ ์๋ณ ๋ฒํธ (IP ์ฃผ์)
๋ก ๋ณํํด์ค๋ค
์ด๋ฐ ๋ณํ ๊ณผ์ ๋๋ฌธ์ DNS๋ ์ ํ๋ฒํธ๋ถ์ ํํ ๋น์ ๋๋ค
www.example.com ๊ฐ์ ๋๋ฉ์ธ ์ด๋ฆ์
192.123.456.789 ๊ฐ์ IP ์ฃผ์๋ก ๋ณํํด์ ๋ผ์ฐํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ด๋ค
(๋ถ์ฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ด๋ค)
2. DNS ๋์
(1) DNS LookUp
DNS ํ์ธ ํ๋ก์ธ์ค์๋ HostName์ IP ์ฃผ์๋ก ๋ณํํ๋ ์์ ์ด ํฌํจ๋๋ค
์๋ฅผ ๋ค์ด, www.example.com → 192.123.456.789 ์ด๋ ๊ฒ
์ค์ํ์ ์๋ก ๋ค๋ฉด,
์ง์ ์ฐพ์ ๋ ์ฃผ์๋ฅผ ์๊ณ ์์ด์ผ ์ฐพ์๊ฐ ์ ์๋ฏ์ด
IP ์ฃผ์๋ ์ธํฐ๋ท์ ์ ์ํ๋ ๊ฐ Device์ ์ฃผ์๋ฅผ ์ฐพ๋๋ฐ ํ์ํ๋ค
์ง ์ฃผ์๋ฅผ ์ฐพ์๊ฐ๋ฏ์ด,
์ฌ์ฉ์๊ฐ ์น ํ์ด์ง์ ์ฃผ์๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด ํ์ํ๊ณ
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ก๋ํ๋ ค๊ณ ํ ๋
www.example.com ↔ IP ์ฃผ์๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ณผ์ ์ด ์๋ค
๊ทธ ๊ณผ์ ์ด ๋ฐ๋ก DNS Lookup์ด๋ค
Backend๋ก ๋์ํ๋ฉฐ ์ฒ์ ์ฌ์ฉ์์ Request ์ธ์๋ ์ฌ์ฉ์ ์ปดํจํฐ์ ์ํธ์์ฉ์ ํ์ ์๋ค
(2) DNS Servers
์น ํ์ด์ง ๋ก๋์ ํ์ํ 4๊ฐ์ DNS ์๋ฒ๊ฐ ์๋ค
DNS Recursor
์๋ ๋์๊ด์ ์ฌ์์ ๊ฐ์ ์ญํ ์ ํ๋ค
์น ๋ธ๋ผ์ฐ์ ๋ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ํด๋ผ์ด์ธํธ ์ปดํจํฐ๋ก๋ถํฐ DNS Query๋ฅผ ๋ฐ๋ ์๋ฒ์ด๋ค
๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ์ DNS ์ฟผ๋ฆฌ๋ฅผ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ์ถ๊ฐ์ ์ธ Request๋ฅผ ์ํํ๋ค
Root Nameserver
์๊น ์์์ Host Name์ IP ์ฃผ์๋ก ๋ณํํ๋ ๋จ๊ณ๊ฐ ์๋ค๊ณ ํ์๋ค
์๋ ๊ทธ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์ด๋ค
๋์๊ด ์ฑ ์ฅ์ ์์ธ ์ญํ ์ ํ๋ค
TLD Nameserver
TLD ์๋ฒ๋ ๋์๊ด ์ฑ ์ฅ ์ญํ ์ ํ๋ ๋ ์์ด๋ค
DNS lookup์ ๋ ๋ฒ์งธ ๋จ๊ณ๋ก Host Name์ ๋ง์ง๋ง ๋ถ๋ถ์ Hosting ํ๋ค
example.com์์ "com"์ ํด๋น๋๋ค
Authoritative Nameserver
๊ฐ์ฅ ๋ง์ง๋ง ๋จ๊ณ์ ์๋ ์๋ฒ๋ก, ์ฑ ์ฅ์ ์ฌ์ ์ด๋ค
์ด ์๋ฒ๊ฐ ์์ฒญํ ๋ ์ฝ๋์ ๋ํ ์ ๊ทผ ๊ถํ์ด ์๋ค๋ฉด
Request๋ฅผ ๋ณด๋ธ Host Name์ IP ์ฃผ์๋ฅผ
์ฒซ ๋ฒ์งธ ๋จ๊ณ์ DNS Recursor (์ฌ์ ์ ์๋)์๊ฒ ๋๋ ค์ค๋ค
(3) Recursive DNS Resolver
์๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋ตํ๊ณ
DNS Record๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ปดํจํฐ์ด๋ค
๐ DNS Record : URL์ IP ์ฃผ์์ ๋งคํํ๋ ๋ฐ ์ฌ์ฉ๋๋ Database Record
ํด๋ผ์ด์ธํธ์ ์์ฒญํ Record๋
๋ง์ง๋ง ๊ณผ์ ์ธ Authoritative DNS ์๋ฒ์ ๋์ฐฉํ ๋๊น์ง
์ฌ ์์ฒญํ๊ฑฐ๋ ์ค๋ฅ๋ฅผ ๋ฐํ์์ผ์ค๋ค
๋ค์ ๋ง์ฝ ์์ฒญ์ ํ ๋๋ ์บ์ฑ์ ์ฌ์ฉํด์ ํ๊ธฐ๋ ํ๋ค
์๋? ์์ ์ ์ฝ ๊ทธ๋ฆฌ๊ณ ๋น ๋ฅด๋๊น.
(4) Authoritative DNS Server
์๋ (์ด๋ฆ์ด ๋๋ฌด ๊ธธ๋ค) ์ค์ DNS Resource Record๋ฅผ ๋ณด์ ํ๊ณ ๋ด๋นํ๋ ์๋ฒ๋ค
์์์ ๋งํ ๊ฒ์ฒ๋ผ DNS Query์ ๊ฐ์ฅ ๋ง์ง๋ง ๋จ๊ณ์ด๋ค
์ด๋ฆ์์๋ ์ ์ถํ ์ ์๋ฏ์ด
์น ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์ฌ์ดํธ/์น ์์ ๋ฑ์ ์ ๊ทผํ ๋
ํ์ํ IP ์ฃผ์์ ๋์ฐฉํ ์ ์๋๋ก ์์ฒญํ ์ ์๊ฒ ํ๋ค
์๋ ๋ง์ง๋ง ๋ ์๋ต๊ฒ ๋ค๋ฅธ ์๋ฒ์ Query๋ฅผ ๋ฐ๋ก ํ์ง ์๊ณ
์์ฒด ์ฟผ๋ฆฌ๋ฅผ ์ํํ ์ ์๋ค
๐ ํ์ ๋๋ฉ์ธ Query ๋์
Authoritative ์๋ฒ์์
ํ์ ๋๋ฉ์ธ์ Record ์ ๋ณด(CNAME Record)๋ฅผ ์ป๊ธฐ ์ํด
์ถ๊ฐ์ ์ธ Nameserver์ ์ฟผ๋ฆฌ ํด์ ๊ฐ์ ธ์จ๋น
3. DNS ์ง์ง ์ ์ฒด ๋์
DNS ๋์์ ์๋ ๊ทธ๋ฆผ์ ํตํด ์์๋ณด๊ฒ ๋ค
์์๋ณด๊ธฐ ์ ์~~
์ ์๋ ๊ทธ๋ฆผ์ ํ์ดํ๋ฅผ ๋ณด๋ฉด ๋ ๊ฐ์ง์ ์์ผ๋ก ๊ตฌ์ฑ๋์ด์๋๋ฐ
์งง๊ฒ ์ ๋ฆฌ๋ง ํ๊ณ ๋ค์ ์ค๋ช ์ ํ๊ฒ ๋ค
โณ Recursive Query
๋ง ๊ทธ๋๋ก ์ฌ๊ท ๋ฐฉ์์ผ๋ก,
์ฟผ๋ฆฌ ์์ฒญ์ด ์ค์ ๋๋ฉ์ธ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๋ ์๋ฒ๊น์ง
์ฟผ๋ฆฌ๊ฐ ์ด๋ํ๋ฉด์ IP ์ฃผ์๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ด๋ค
โ Iterative Query
์๋ ๋ง ๊ทธ๋๋ก ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋ณตํ๋ ๋ฐฉ์์ธ๋ฐ, ์๋ฒ์ IP ์ฃผ์๋ฅผ ์ป์ด์ค๊ธฐ ์ํด
์์ฒญ-์๋ต, ์์ฒญ-์๋ต์ ์ฌ๋ฌ ์๋ฒ์ ์์ฒญํ๋ฉด์ ์ป์ด์ค๋ ๋ฐฉ์์ด๋ค
1) ์ฌ์ฉ์ → DNS Resolver
์ฌ์ฉ์๊ฐ ์น ๋ธ๋ผ์ฐ์ ์ example.com ์ด๋ ์ฃผ์๋ฅผ ์ ๋ ฅํจ
๊ทธ๋ฌ๋ฉด Recursive Query์ ์ํด ์ธํฐ๋ท์ผ๋ก ์ด๋ํจ
DNS Resolver์ ์์ ๋๋ค
2) DNS Resolver → Root Server
๊ทธ๋ฌ๋ฉด DNS Resolver์์ DNS ๋ฃจํธ ์ด๋ฆ ์๋ฒ๋ฅผ ์ฟผ๋ฆฌ ํ๋ค
์ฌ๊ธฐ์ Root Name์
๊ทธ๋ฆผ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์๋ ์ Root๋ฅผ ์๋ฏธํ๋ค
3) Root Server → DNS Resolver
๊ทธ๋ฌ๋ฉด ๋ค์ ์๋ต์ ์ฃผ๋๋ฐ
์ด๋ TLD (. com์ด๋. net ๊ฐ์) DNS ์๋ฒ์ ์ฃผ์๋ฅผ
์๋ต์ ๋ด์์ ์ค๋ค
4) DNS Resolver → TLD Server
๊ทธ๋ฌ๋ฉด Root Server๊ฐ ์ค ์ฃผ์์ TLD ์๋ฒ์๊ฒ ๋ค์ ์์ฒญํ๋ค
5) TLD Server → DNS Resolver
TLD ์๋ฒ๋ Domain Name ์๋ฒ์ IP ์ฃผ์๋ก ์๋ต์ ๋ค์ ๋ด๋ ค์ค๋ค
์ด๋ ๋ด๋ ค์ฃผ๋ ์ฃผ์๊ฐ example.com์ ํด๋น๋๋ ๊ฒ์ด๋ค
6) DNS Resolver → DNS (Domain Name Server)
๋ง์ง๋ง์ผ๋ก DNS์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ธ๋ค
7) DNS → DNS Resolver
๊ทธ๋ฌ๋ฉด DNS์์ ๋ฌด์์ ์ฃผ๋๋
example.com์ ํด๋นํ๋ IP ์ฃผ์๊ฐ ๋ฐํ๋๊ฒ ๋๋ค
8) DNS Resolver → ์น ๋ธ๋ผ์ฐ์
์น ๋ธ๋ผ์ฐ์ ์์ ์์ฒญํ ๋๋ฉ์ธ์ IP ์ฃผ์๋ก ์๋ต์ ๋ด๋ ค์ค๋ค
๊ทธ๋ฌ๋ฉด ์น ๋ธ๋ผ์ฐ์ ๋ IP ์ฃผ์๋ฅผ ์๊ฒ ๋๊ณ
์ํ๋ ์น ํ์ด์ง์ ์์ฒญ์ ํ ์ ์๋ค
9) ์น ๋ธ๋ผ์ฐ์ → Server
IP ์ฃผ์์ HTTP ์์ฒญ์ ๋ณด๋ธ๋ค
10) Server → ์น ๋ธ๋ผ์ฐ์
IP ์ฃผ์์ ํด๋นํ๋ ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋ง ํ ์นํ์ด์ง๋ฅผ ๋ฐํ์ ํด์ค๋ค
4. DNS Queries
์๊น ๊ทธ๋ฆผ ์ค๋ช ํ๊ธฐ ์ ์ ์ ๊น ์ง์๋ ์ฟผ๋ฆฌ ์ข ๋ฅ๊ฐ ์๋๋ฐ
๋ค์ ํ๋ฒ ์ ๋ฆฌํ๊ณ ์ง๋๊ฐ๊ฒ ๋ค ํ ๊ฐ์ง ๊ทธ๋ฆฌ๊ณ ๋ ์์
1) Recursive Query
Local Host๊ฐ example.com์ ๋ํ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ฉด
local DNS Server → Root DNS ์๋ฒ → TLD ์๋ฒ๊น์ง
์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด์ ์์ฒญํ๋ ๋ฐฉ์์ด๋ค
Root DNS ์๋ฒ๋ ์์ ์ ์๋ฒ์ ๋ฑ๋ก๋์ด ์๋์ง ๊ฒ์ฌํ๊ณ
๋ค์์ด ์์ผ๋ฉด TLD ์๋ฒ์ ์์ฒญ์ ํ๋ค
์ค์ Domain Name์ ๊ฐ์ง๊ณ ์๋ ์๋ฒ๊น์ง ์ฟผ๋ฆฌ๊ฐ ์ด๋ํ๋ฉด์
IP ์ฃผ์๋ฅผ ์ป๋ ๋ฐฉ์์ด์ด์ ์ฌ๊ท ์ฟผ๋ฆฌ๋ผ๊ณ ํ๋ค
2) Iterative Query
local Host์์ example.com์ ๋ํด ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ฉด
local DNS Server → Root DNS Server
local DNS Server → TLD DNS Server
์๋ฐ ์์ผ๋ก ์ต์ข IP ์ฃผ์๋ฅผ ๋ฐ์ ๋๊น์ง
์์ฒญ-์๋ต์ locam DNS Server๊ฐ ๋ฐ๋ณตํ๋ ๋ฐฉ๋ฒ์ด๋ค
๐ ์ค์ DNS Server ๋์ ๋ฐฉ์์ ์ ์ฒด ๋์์์ ์ค๋ช ํ๋ ๊ทธ๋ฆผ์ฒ๋ผ Recursive, Iterative Query๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด์ ํจ์จ์ฑ์ ๋์ด๋ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ ์๋ค
์น ๋ธ๋ผ์ฐ์ ์์ Local Name Server์ ์ฟผ๋ฆฌ๋ฅผ ์์ฒญํ ๋ Recursive ํ๊ฒ ํ๋ฉด ์์ฒญํ ํด๋ผ์ด์ธํธ Host์ ์์์ ๋ ์ฐ๊ฒ ๋ ์ ์๋ค
3) Non-Recursive Query
์๋ ์ผ๋ฐ์ ์ผ๋ก DNS Resolver ํด๋ผ์ด์ธํธ๊ฐ
Record์ ๋ํ ๊ถํ์ด ์๊ฑฐ๋, ํด๋น Record๊ฐ ์บ์์ ์ด๋ฏธ ์์ด์
๋ฐ๋ก~~ ์ก์ธ์ค ๊ถํ์ด ์๋ DNS ์๋ฒ๋ฅผ ์ฟผ๋ฆฌ ํ ๋์ด๋ค
์ผ๋ฐ์ ์ผ๋ก DNS ์๋ฒ๋ ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ด๊ณ , ์์์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด
DNS Record๋ฅผ ์บ์ ํด์ ์ฌ์ฉํ๋ค
5. DNS Caching
์บ์ฑ ์์ฒด์ ๋ชฉ์ ์ ๋ฐ์ดํฐ ์์ฒญ์ ๋ํด ์ฑ๋ฅ↑ ์์ ์ฑ↑ํฅ์ํ๊ธฐ ์ํด
๋ฐ์ดํฐ๋ฅผ ์์๋ก ์ ์ฅํด์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค
๋ฐ๋ผ์ DNS ์บ์ฑ์ ํด๋ผ์ด์ธํธ์ ์์ฒญ ์ ๋ณด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด์
์ด์ ์ ์ํํ DNS ์ฟผ๋ฆฌ์ ๋ํด์ ๋ ์์ฒญํ์ ๋
๋ ์ผ์ฐ ์ํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํ๋ค
๊ทธ๋ฌ๋ฉด ๋ก๋ ์๊ฐ์ด ํฅ์๋๊ณ ~
๋์ญํญ/CPU ์๋น๊ฐ ์ค์ด๋ค๊ณ ~ ๋๋ฌด ์ข๊ณ ~
DNS ๋ฐ์ดํฐ๋ ๋ค์ํ ์์น์์ ์บ์๊ฐ ๊ฐ๋ฅํ๊ณ
์ ํด์ง ์๊ฐ ๋์ DNS Record๊ฐ ์ ์ฅ๋๋ค
๊ทผ๋ฐ DNS ์บ์ฑ์ ์ ์ฉํด์ ํดํนํ ์๋ ์๊ธฐ ๋๋ฌธ์
์ผ๋ถ๋ฌ ์๋ชป๋ ์ฟผ๋ฆฌ๋ฅผ ์บ์ฑํด๋๊ธฐ๋ ํ๋ค๊ณ ํ๋ค (Negative Caching)
์ฐ๋ฆฌ๊ฐ ์ดํดํ ๋ฐฉ์์ Positive Caching์ด๋ผ๊ณ ํ๋ค
์ฐธ๊ณ ๋งํฌ
https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/
์ง์ ์๋๋ฐ ์ง์ ๊ฐ๊ณ ์ถ๋ค
'๐บ๏ธ Backend Developer Road-Map' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3. Domain Name ๋๋ด (0) | 2022.04.20 |
---|---|
2. ๋ธ๋ผ์ฐ๋ ๋ง๊ณ ๋ธ๋ผ์ฐ์ (0) | 2022.04.09 |
1. Internet ๋์ ์๋ฆฌ (0) | 2022.03.24 |