# DNS는 알지만 네임서버는 모른다구요?

DNS는 Domain Name을 IP로 변환해주는 시스템이다. 가령 브라우저에서 `google.com`을 검색하면 브라우저는 이를 DNS 서버에 보내고, `google.com` 도메인에 해당하는 IP를 받는다. 브라우저는 이 IP를 이용해 `google.com` 서버와 패킷을 주고 받는다.

`"아하! DNS는 도메인을 IP로 변환해주는 거구나!"` 라고 이해해도 문제는 없지만... 도메인을 등록하다 보면 _네임서버_, _ISP_, _TLD_ 등 생소한 단어들이 보인다. 이것들은 뭘까? 이들은 DNS를 구성하는 요소들로, 오늘 이야기 할 주제이다.

---

# 용어 정리

### TLD (Top-Level-Domain)

- 도메인 이름의 마지막 마침표 뒤에 오는 부분을 뜻함.

- 같은 맥락에서 2LD는 TLD 앞에 오는 부분을 말함.
- 

- 예를 들어 `google.co.uk`에서

    - TLD는 `uk`

    - 2LD는 `co`

    - 3LD는 `google`임

### ISP (Internet Service Provider)

- SKT, KT, LG U+ 등을 말한다.

- 일반적으로 DNS Resolver를 제공한다.

### ICANN (Internet Corporation for Assigned Names and Numbers)

- 이름 그대로 해석하면 국제 인터넷 주소 관리 기구다.

- 수많은 컴퓨터가 함께 통신하기 위해서는 고유한 식별자가 있어야 한다. ICANN은 이러한 식별자 시스템을 감독한다

---

# DNS가 동작하는 방식

![Image](https://upload.cafenono.com/image/slashpagePost/20240828/182844_gqu968jUzPMvHb1vGq?q=80&s=1280x180&t=outside&f=webp)

1. 클라이언트에서는 ISP가 제공하는 DNS Resolver로 요청을 보낸다.

2. DNS Resolver는 Root Server로 요청으로 보낸다.

- Root Server는 ICANN이 관리한다.

- 각 TLD에 해당하는 TLD Server 정보를 알고 있다.

- Root Server는 도메인의 TLD를 보고 해당하는 TLD Server를 알려준다.

3. DNS Resolver는 TLD Server로 요청을 보낸다.

- TLD Server는 IANA에서 관리한다.

- 특정 TLD를 가진 각 도메인들에 해당하는 Authoritative Server 정보를 알고 있다.

- TLD Server는 도메인에 해당하는 Authoritative Server를 알려준다.

4. DNS Resolver는 Authoritative  Server로 요청을 보낸다.

- Authoritative  Server는 해당 도메인의 IP 주소를 알려준다.

> **서버의 관리 주체**
> 물론 ICANN과 IANA가 모든 네임 서버를 관리하는 건 아니다. 대부분 다른 곳에 관리를 위임한다.

# Reference

- [cloudflare.com, 도메인 이름이란?](https://www.cloudflare.com/ko-kr/learning/dns/glossary/what-is-a-domain-name/)

- [cloudflare.com, 최상위 도메인이란?](https://www.cloudflare.com/ko-kr/learning/dns/top-level-domain/)

For the site tree, see the [root Markdown](https://slashpage.com/ddtc.md).
