DNS의 정의
도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환하는 것이다.
DNS 주요 개념
- DNS(Domain Name System): 사람이 읽을수 있는 문자열과 Internet 프로토콜 기반 정보를 매칭시켜주는 시스템
- Internet Corporation for Assigned Nams and Numbers (ICANN) 에서 관리
- 도메인(Domain): 대상의 IP 주소등의 정보와 맵핑되는 사람이 알아볼 수 있는 문자열
- 서브도메인: 도메인 중 스트링 앞에 추가 문자열이 붙은 도메인
- APEX 도메인(Zone Apex, Root Domain): 도메인 중 앞에 추가문자열이 없는 순수한 최상위 도메인
- 레코드(DNS Record): 도메인이 어떤 방식으로 데이터와 매칭되는지 정의하는 기록
- 다양한 레코드 종류가 있으며 각각 다른 정보와 매칭
- 예: A 레코드는 IPv4주소, MX 레코드는 메일서버
- Domain Zone: 도메인의 정보를 담은 레코드의 집합
- 예:
www.example.kr
/ lecture.example.kr
등
- Zone File: Domain Zone 정보를 저장한 텍스트 파일 (일종의 데이터베이스를 파일화)
- DNS Query: 주어진 도메인에 해당하는 정보를 요청하는 쿼리
- 예:
example.kr
이 어떤 IP주소를 가지고있는지 요청하는 행동
- Name Server(NS): DNS Query를 Zone File을 기반으로 응답할 수 있는 서버
- Authoritative: DNS 정보의 원본을 가지고 있는 가장 최상위 NS 서버
- Non-Authoritative: Authoritative NS 서버를 조회하여 정보를 보관하고 있거나 응답하는 서버(캐시)
- DNS Resolver: 사용자와 NS 서버 사이에 위치한 서버로 실제 유저의 요청에 따라 IP주소 등의 정보를 확보하는 서버(DNS Query를 실질적으로 요청하는 역할 담당)
- 유저의 클라이언트가 제일 먼저 쿼리를 요청하는 대상이며 보통 ISP가 관리
DNS의 규모
- 2024년 기준 약 3억 6천만개의 도메인 존재
- 매우 큰 규모이며 이를 호스팅하기 위한 서버 구조에 큰 고민이 필요
DNS의 구성
-
DNS는 계층 구조
- 최상위 도메인부터 차례대로 계층 구조로 구성되어 있다.
- 실제 레코드는 가장 마지막 계층에서 보관 및 처리
-
도메인의 구조

- 도메인의 완전한 형식은 마지막에
.
이 붙는다. .
은 보통 생략을 하게된다.


- 도메인의 정보를 한 곳에 저장하는게 아니라 분산해서 저장하게 되며, 계층구조로 분산을 하여 트래픽을 효율적으로 관리하게 된다.