도메인 이름 시스템 (DNS) 은
사람이 읽을 수 있는 도메인 이름(www.amazon.com)을
머신이 읽을 수 있는 IP 주소(192.0.2.44)로 변환해준다.
도메인 이름을 사용했을 때, 입력한 도메인을 실제 네트워크 상에서 사용하는
IP 주소로 바꾸고 해당 IP 주소로 접속하는 과정이 필요하다.
이러한 과정, 전체 시스템이 DNS다.
상위 기관에서,
인증된 기관에게 도메인을 생성하거나
IP 주소로 변경할 수 있는 권한을 부여한다.
DNS는 ‘계층 구조’를 가지는 분산 데이터베이스 구조를 가지고 있다.
1. 도메인 네임 스페이스
2. 네임 서버 = 권한 있는 DNS
3. 리졸버 = 권한 없는 DNS
DNS는 전세계적인 거대한 분산 시스템
DNS가 저장 관리하는 계층적 구조를 의미
도메인 네임 스페이스의 트리 구조는 최상위 레벨부터 순차적으로 계층적 소속 관계를 나타낸다.
FQDN 전체 도메인 이름 (Fully Qualified Domain Name)
: 도메인의 전체 이름을 표기하는 방식
도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 IP 주소로 변환시키기 위해서는
도메인 네임 스페이스의 트리 구조에 대한 정보가 필요한데
이러한 정보를 가지고 있는 서버가 네임 서버
데이터베이스 역할(저장 및 관리), 찾아주는 역할, 요청 처리 응답 구현
전 세계에 13개의 Root DNS 서버가 구축돼있음
( DNS 서버를 복사하여 같은 기능을 담당하는 미러서버도 있음 )
구조순서 >
1. Root DNS 서버
2. Top-Level Domain(TLD) DNS 서버
3. Second-Level Domain(SLD) DNS 서버 (Authoritative DNS 서버)
4. 권한 없는 DNS 서버 (리졸버 서버, 리컬시브 서버, 리커서)
웹 브라우저와 같은 DNS 클라이언트의 요청을 네임 서버로 전달하고
네임 서버로부터 정보(도메인 이름과 IP 주소)를 받아 클라이언트에게 제공하는 기능을 수행
리졸버는 하나의 네임 서버에게 DNS 요청을 전달하고
해당 서버에 정보가 없으면 다른 네임 서버에게 요청을 보내 정보를 받아온다.
수많은 네임서버에 접근하여 사용자로부터 요청 받은 도메인의 IP 정보를 조회하는 기능 수행