웹사이트에 접속할 때 외우기 어려운 IP주소 대신 도메인 이름을 사용한다. 도메인 이름을 사용하면 입력한 도메인을 실제 네트워크 상에서 사용하는 IP주소로 바꾸고 해당 IP주소로 접속하는 과정이 필요한데 이러한 전체 과정, 시스템을 DNS라고 한다.
DNS는 전세계적으로 약속된 규칙을 공유하고 상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP주소로 변경할 수 있는 권한을 부여한다. DNS는 이처럼 상위 기관과 하위 기관과 같은 계층 구조를 가지는 분산 데이터베이스 구조를 가진다.
도메인 네임 스페이스 (Domain Name Space)
도메인 이름 저장을 분산
네임 서버 (Name Server) = 권한 있는 DNS 서버
해당 도메인 이름의 IP주소를 찾는다
리졸버 (Resolver) = 권한 없는 DNS 서버
DNS클라이언트 요청을 네임 서버로 전달하고 찾은 정보를 사용에게 제공
도메인 네임 스페이스
DNS는 전세계적인 거대한 분산 시스템이다. 도메인 네임 스페이스는 이러한 DNS가 저장 관리하는 계층적 구조를 의미한다. 도메인 네임 스페이스는 최상위에 루트 DNS 서버가 존재하고 그 하위로 연결된 모든 노드가 연속해서 이어진 계층 구조로 되어있다.
네임 서버
문자열로 표현된 도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 IP 주소로 변환시키기 위해서는 도메인 네임 스페이스의 트리 구조에 대한 정보가 필요한데 이러한 정보를 가지고 있는 서버를 네임 서버라고 한다.
데이터베이스 역할(저장, 관리), 찾아주는 역할, 요청 처리 응답 구현전 세계에 13개의 Root DNS 서버가 구축되어 있다. (패킷의 실질적인 크기 제한으로 인해 루트 DNS 서버 수를 13개 서버 주소로 제한하도록 결정되었다고한다.)