본문으로 건너뛰기

DNS

DNS(Domain Name System)은 도메인 이름을 IP 주소로 변환하는 분산 데이터베이스 시스템이다. 인터넷에 연결된 모든 장치들은 각자 고유한 IP 주소를 가지는데, 123.123.123.1과 같이 숫자로 구성된 IP주소를 일일이 외우고 다닐 수 없으니 일반적으로 www.google.com과 같은 도메인을 사용한다.

어떤 사이트에 접속하고자 하는 경우 해당 사이트의 서버에 데이터를 요청해야 하는데 도메인 이름을 가지고 요청하게 되면 컴퓨터는 알 수 없으니 DNS을 이용해 도메인 이름을 IP 주소로 변환한 뒤 이 IP 주소를 가지고 서버에 요청하게 된다.

DNS의 구조

DNS는 여러개의 DNS 서버(혹은 네임 서버)들로 구성된 분산 시스템이다. 애플리케이션 레이어에서 동작하는 프로토콜이며, UDP를 기반으로하고 포트는 53번을 사용한다.

하나의 DNS 서버가 모든 매핑 정보를 가지고 있는 대신, 여러 개의 서버들이 전 세계 곳곳에 위치하여 계층적인 구조를 형성합니다. DNS 계층은 다음과 같이 크게 3가지로 나눌 수 있다.

Root DNS 서버

root DNS 서버는 TLD DNS 서버의 IP 주소를 제공하는 역할을 한다. 전 세계에 12개의 기관에 의해 관리되는 13개의 루트 서버가 존재하며, 이 서버들의 인스턴스는 총 1000개가 넘는다. 루트 서버의 위치, 루트 서버 관리 기관등의 정보는 root-servers.org에서 볼 수 있다.

TLD(Top Level Domain) DNS 서버

.com, .net,.kr과 같은 top-level domain 별로 존재하는 서버이며, authoritative DNS 서버의 IP 주소를 제공하는 역할을 한다. TLD 목록은 tld-list.com에서 볼 수 있다.

Reference