[응용계층] DNS 정의와 역할
2025-06-17 14:11
![[응용계층] DNS 정의와 역할](/images/posts/post6/dns.png)
1. 시작하기
우리가 네이버에 접속할 때, 인터넷 주소창에 www.naver.com
과 같은 주소를 입력하면 쉽게 접속할 수 있다.
이처럼 네이버의 IP 주소를 외우지 않아도 도메인 주소만으로 접근할 수 있는 이유는, 사람이 기억하기 쉽게 만든 도메인 이름을 실제 서버의 IP 주소로 변환해주는 시스템이 있기 때문이다.
이 시스템을 DNS(Domain Name System) 이라고 한다.
DNS가 무엇이고, 어떻게 동작하는지, 그리고 왜 필요한지를 간단히 알아보자.
2. DNS 정의
📌 IP 주소
- 네트워크 상의 호스트(컴퓨터, 서버 등)를 식별하기 위해 사용되는 고유한 숫자 주소
- 예)
223.123.123.123
📌 도메인 네임 (domain name)
- 사람이 이해하기 쉽게 만든 문자 형태의 주소
- 예)
www.google.com
📚 DNS 란?

📖 DNS 는 전화번호부와 같은 역할을 한다.
DNS (Domain Name System) 는 도메인 네임을 IP 주소로 변환해주는 시스템이다.
전화번호부가 사람 이름을 전화번호로 찾아주듯이, DNS는 도메인 이름을 해당 서버의 IP 주소로 변환해준다.
단순히 IP 주소만 사용할 경우,
- 기억하기 어렵고
- 특정 서비스와 연결되어 있는지 알기 힘들며
- IP 주소는 변경될 수도 있기 때문에 불편하다.
이런 불편함을 해결하기 위해 사용하는 것이 도메인 네임(Domain Name) 이다.
도메인 네임은 예를 들어 www.google.com
, www.naver.com
처럼 사람이 이해하기 쉬운 문자열이며, 각각 특정 IP 주소와 대응된다.
이 매핑 정보를 관리하는 시스템이 바로 DNS 서버(DNS Server) 이며,
도메인 이름과 IP 주소의 정보를 저장하고 응답해주는 서버를 네임 서버(Name Server) 라고 부른다.
이러한 네임 서버는 전 세계에 분산되어 존재한다.
3. DNS 역사 및 배경

📜 hosts.txt 파일의 한계
초창기 인터넷에서는 각 컴퓨터에 hosts.txt
라는 파일이 존재했고,
이 파일에 도메인 이름과 IP 주소를 수동으로 기록해서 사용했다.
하지만 네트워크가 점점 커지면서 다음과 같은 문제가 생겼다.
- 모든 사용자가 동일한 파일을 복사해서 사용해야 했고
- 도메인이 많아질수록 관리가 어려워졌으며
- 정보 변경이 느리고 충돌이 잦아지는 문제가 생겼다.
이러한 문제를 해결하기 위해 자동화되고, 분산된 방식으로 주소를 조회할 수 있는 시스템이 필요했고,
그 결과 탄생한 것이 바로 DNS이다.
4. DNS 동작 흐름

브라우저의 주소창에 www.naver.com
을 입력하면, 어떤 과정을 거쳐 네이버 사이트에 접속하게 되는 것일까?
간단히 말하면 다음과 같은 순서로 진행된다.
- 사용자가 브라우저에
www.naver.com
입력 - 컴퓨터(운영체제 또는 브라우저)는 DNS 서버에 도메인 이름에 대한 IP 주소를 질의(DNS Lookup)
- DNS 서버가 해당 도메인의 IP 주소를 응답
- 브라우저는 응답받은 IP 주소로 접속
DNS 서버는 도메인 이름에 해당하는 IP 주소를 찾아 응답해주는 역할을 하며,
이 과정은 마치 간단한 API 요청처럼 동작한다.
실제로는 대부분의 요청이 운영체제나 브라우저 캐시, 또는 로컬 DNS 서버(ISP 제공) 에 저장되어 있어 빠르게 처리된다.
5. DNS가 갖춰야 할 조건
1) 확장성 (Scalable)
- 인터넷에 수많은 호스트와 도메인이 있고,
- 조회와 업데이트 요청이 매우 많아서 이를 감당해 낼 수 있어야 한다.
2) 고가용성 (Highly Available)
- 어느 한 곳에 장애가 나도 DNS 전체가 멈추면 안 된다.
- 따라서 전 세계에 분산된 여러 개의 네임 서버가 필요하다.
3) 경량 / 속도 (Lightweight and Fast)
- 인터넷 연결 시 항상 DNS 조회부터 시작하기 때문에,
- DNS가 느리면 모든 연결이 느려지게 된다.
- 최대한 빠르게 이름을 IP로 변환해야 한다.
6. 요약
- DNS는 사람이 이해하기 쉬운 도메인 이름을 실제 서버의 IP 주소로 변환해주는 인터넷의 필수 시스템이다.
- DNS 덕분에 우리는 복잡한 숫자 주소(IP)를 외우지 않고도 원하는 웹사이트에 접속할 수 있다.
- 초기에는
hosts.txt
같은 정적 방식이었지만, 현재는 자동화되고 분산된 DNS 시스템 덕분에 수많은 도메인과 서비스를 효율적으로 연결할 수 있게 되었다.
DNS가 어떻게 구성되어있고, 더 자세한 조회 과정은 다음 포스팅에 올릴 예정이다.