들어가며
142.250.196.14와 google.com 둘 중에 어떤 것이 더 쉽게 기억할 수 있을까요?
맞습니다, 보통 사람은 숫자보다는 문자로 된 것을 기억하는 것이 쉬운데요.
컴퓨터를 비롯한 네트워크 통신이 가능한 장치들은 장치들은 각각의 고유한 IP 주소를 갖습니다.
아까 보았던 142.250.196.14와 같은 형태로 구성되었는데요.
우리는 평소 사용하는 웹 사이트만 해도 최소 3~4개 이상은 될 것입니다.
이 웹 사이트의 IP 주소를 외우고 매번 이것을 브라우저 입력하여 접속을 한다는 것은 매우 불편한데요.
이런 우리의 불편함을 해결해 주는 시스템이 있는데요, 바로 DNS입니다!
DNS(Domain Name System)란?
DNS, 도메인 네임 시스템은 쉽게 말하면 도메인 네임(예: google.com)을 IP 주소(142.250.196.14)로 변경해 주는 시스템입니다.

웹 브라우저에 `google.com`을 입력하면 다음과 같은 과정을 거치게 됩니다.
- 도메인 주소 `google.com`을 브라우저에 입력하면, DNS 서버로 접속한다.
- `google.com` 도메인과 연결된 IP 주소를 찾아 브라우저에 응답을 보낸다.
- 브라우저는 전달받은 IP주소를 통해 해당 서버에 요청을 보내 원하는 응답을 받는다.
DNS가 하는 역할과 간략한 DNS 동작 원리를 살펴보았으니, 이제 전 세계에 수억 개의 도메인 주소가 어떻게 효율적으로 관리되는지 알아보겠습니다.
DNS 구조
현재는 2025년 기준으로 전 세계의 3억 5천 개의 도메인 주소가 존재한다고 합니다.
이 많은 도메인 주소를 효율적으로 관리하기 위해 DNS Server는 계층적이고 분산적인 구조로 되어있습니다.

Root DNS 서버
- DNS 계층의 최상위에 위치하며, 모든 DNS 질의의 시작점입니다.
- 전 세계에 (논리적인 단위로) 13개의 루트 서버가 존재합니다.
- TLD(Top-Level-DNS)의 정보를 가지고 있습니다.
TLD 서버
- 최상위 도메인을 관리합니다.
- 최상위 도메인에는 일반 도메인, 국가 도메인이 있습니다.
- 일반 도메인:. com,. org,. net 등
- 국가 도메인:. kr ,. jp,. uk 등
- Authoritative DNS의 정보를 가지고 있습니다.
Authoritative DNS 서버
- 실제 DNS 코드를 보유하며, 도메인 실제 IP 주소 정보를 가지고 있습니다.
- 보통 도메인 소유자가 직접 관리하거나 DNS 서비스 업체에서 운영합니다.
Local DNS 서버
- 클라이언트의 DNS 질의를 대신해 줍니다.
- ISP나 공개 DNS 서비스(구글 DNS: 8.8.8.8)에서 제공해 줍니다.
- 캐싱 기능으로 응답 속도를 향상합니다.
위에 구조를 보았듯이 DNS 서버는 여러 단계로 계층적으로 구성되어 있고, 도메인 주소의 IP를 받아오기 위해서 여러 단계를 거쳐야 합니다.
그럼 매번 도메인 주소로 요청을 할 때마다 여러 계층을 거쳐 IP 주소를 가져와야 하는데, 과연 효율적인 방법일까요?
상당히 비효율적입니다. 매번 Root DNS 서버부터 시작해서 TLD 서버, Authoritative DNS 서버까지 순차적으로 질의하는 것은 시간과 네트워크 자원을 많이 소모하게 됩니다.
그래서 더 효율적으로 IP 주소를 조회해 오기 위해 다음과 같은 방법을 사용합니다.
DNS의 효율적 관리 방법
효율적이고 빠르게 조회해 오기 위해 대표적으로 두 가지 방식을 통해 IP 주소를 관리하고 사용합니다.
1. hosts 파일로 저장
- 정적 매핑 방식으로, 자주 사용하는 도메인이나 중요한 서비스의 IP 주소를 미리 시스템에 직접 저장해 둡니다.
- DNS 조회보다 우선순위가 높아 가장 빠른 응답을 제공하며, 네트워크 연결 없이도 동작합니다.
Mac/Linux 같은 경우, /etc/hosts 경로에 있는 파일에 IP 주소를 등록할 수 있습니다.

2. Local DNS 서버 캐시 저장
- 동적 캐시 방식으로, 한번 조회된 DNS 결과를 TTL(Time To Live) 시간 동안 로컬에 저장합니다.
- 같은 도메인에 대한 반복 요청 시 저장된 캐시를 사용하여 빠른 응답을 제공합니다.
이러한 방법들을 통해 DNS 계층 구조를 거치지 않고 로컬에서 즉시 IP 주소 확인이 가능합니다.
그럼 한번 전체적인 개념인 살펴봤으니, 어떤 식으로 DNS가 동작하는지 상세히 살펴보겠습니다.
DNS 질의 처리 순서
예를 브라우저에서 google.com을 검색한다고 과정 했을 때

1. Local DNS 서버(재귀 리졸버)에서의 처리
- 브라우저부터 받은 쿼리를 우선 자신의 캐시와 hosts 파일에서 한 번 google.com의 정보가 있는지 확인합니다.
- 캐시에 없고 hosts 파일에 없다면, DNS 시스템의 계층 구조에 따라 외부 DNS 서버들에 질의를 시작합니다.
2. Root DNS 서버 질의
- Local DNS 서버는 Root DNS 서버에 쿼리를 보냅니다.
- Root DNS 서버는 google.com의 최상위 도메인이. com임을 파악하고,. com TLD DNS 서버의 IP 주소 목록을 반환합니다.
3. TLD DNS 서버 질의
- Local DNS 서버는 Root DNS 서버로부터 받은. com TLD DNS 서버 중 하나에 쿼리를 보냅니다.
- TLD DNS 서버는 google.com 도메인을 관리하는 Authoritative DNS 서버의 IP 주소를 반환합니다.
4. Authoritative DNS 서버 질의
- Local DNS 서버는 TLD DNS 서버로부터 받은 Authoritative DNS 서버에 쿼리를 보냅니다.
- Authoritative DNS 서버는 google.com에 대한 최종 IP 주소를 반환합니다.
5. Local DNS 서버의 캐싱 및 응답
- Local DNS 서버는 받은 IP 주소를 자신의 캐시에 저장합니다(일정 시간 동안 재사용 가능).
- 그리고 이 IP 주소를 브라우저(요청한 컴퓨터)에게 전달합니다.
6. 클라이언트의 캐싱 및 웹사이트 접속
- 클라이언트도 받은 IP 주소를 자신의 캐시에 저장합니다.
- 이제 웹 브라우저는 이 IP 주소를 사용해 google.com 서버에 직접 접속합니다.
흐름 간단 요약
- 브라우저/애플리케이션 → OS 캐시 → hosts 파일 → DNS 리졸버 → 로컬 DNS 서버
- 로컬 DNS 서버 캐시 확인 → 없으면 Root DNS 서버 → TLD DNS 서버 → Authoritative DNS 서버 순으로 질의
- 최종 IP 주소를 받아 로컬 DNS 서버와 클라이언트에 캐싱
- 클라이언트는 받은 IP로 실제 서버에 접속
마무리하며
지금까지 살펴본 것처럼, 단순히 웹사이트에 접속하는 것 같지만 그 내부에는 복잡한 DNS 시스템이 작동하고 있습니다. DNS는 인터넷의 주소록 역할을 하며, 우리가 원하는 정보에 빠르고 안정적으로 도달할 수 있게 해주는 핵심 기술입니다!
참고자료
🌐 DNS 개념 & 동작 ★ 알기 쉽게 정리
DNS (Domain Name System) 란? 도메인 네임 시스템 (Domain Name System, DNS) 은 호스트의 도메인네임 (www.example.com)을 네트워크주소(192.168.1.0)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다. 예를 들
inpa.tistory.com
How DNS works. What is DNS? Learn how step by step.
What is DNS? Introduction how DNS works and how DNS server enhances website speed, security, and reliability with our webcomic.
howdns.works