• 03. 전 세계의 DNS 서버가 연대한다

    2021. 9. 25.

    by. ahntree

    728x90

    1. DNS 서버의 기본 동작

    DNS 서버의 기본 동작은 (1) 클라이언트에서 조회 메시지를 받고, (2) 조회의 내용에 응답하는 형태로 정보를 회답한다.

     

     

    1-1. 클라이언트 조회 메시지

    다음의 세 가지 정보로 구성된다.

     

    이름

    서버나 메일 배송 목적지(메일 주소의 @ 뒷부분의 이름)와 같은 이름

     

    클래스

    처음에 DNS 서버가 고안되었을 때 인터넷 이외의 네트워크에서도 사용될 것을 고려했다. 그래서 클래스를 통해 네트워크를 구별하고자 했는데, 현재는 인터넷밖에 사용되지 않으므로 항상 IN 값을 가진다.

     

    타입

    이름의 타입을 나타낸다. A(Address)이면 IP 주소, MX(Mail eXchange)이면 메일 배송 목적지를 뜻한다. 타입에 따라 응답의 내용이 달라진다.

     

     

    1-2. 정보 조회 & 응답

    조회 메시지를 받은 DNS 서버는 이름, 클래스, 타입을 조합해 등록 정보를 조회하고 응답한다. 등록 정보는 설정 파일 등에 입력되어 있으며, 하나의 조합에 해당하는 정보를 리소스 레코드라고 부른다.

     

    타입이 A인 경우에는 IP 주소를, MX인 경우에는 메일 서버의 우선 순위, 이름, IP 주소를 응답한다. 이 밖에도 PTR, CNAME, NS, SOA 등의 타입이 존재한다.

     

     

     

    2. 도메인의 계층

    각 도메인은 계층적 구조를 가진 도메인명을 가진다. 뒤에 있을수록 높고 앞에 있을수록 낮은 위치라고 보면 된다.

     

    www.ahntree.example.com 이라는 도메인이 있다고 하면, com > example > ahntree > www 이런 식으로 계층이 형성된다. 각 계층을 분리해서 서버에 저장하는 것은 할 수 없고 하나의 도메인명은 하나의 DNS 서버에 저장된다.

     

     

     

    3. 담당 DNS 서버를 찾아 IP 주소를 가져온다

    도메인명처럼 DNS 서버에도 계층이 존재한다. 가장 상위에 루트 도메인의 DNS 서버가 있고 그 밑에 com, kr 등의 DNS 서버가 존재한다.

     

    www.ahntree.example.com 도메인의 IP 주소를 조회한다고 하면, 먼저 루트 도메인에서 com 계층의 DNS 서버 IP 주소를 받는다. com 계층의 DNS 서버에서는 example 계층의 DNS 서버 IP 주소를 받고 요런 식이다. 가장 하위 계층의 DNS 서버에서 최종적으로 IP 주소를 가져온다.

     

    루트 도메인의 DNS 서버의 경우 전 세계에 단 13개의 IP 주소만이 존재한다. 바뀔 일도 거의 없고 개수도 적기 때문에 모든 DNS 서버는 루트 도메인의 DNS 서버의 IP 주소를 가지고 있다.

     

     

     

    4. DNS 서버는 캐시 기능으로 빠르게 회답할 수 있다

    반드시 한 계층씩 DNS 서버를 조회하는 것은 아니다. 때로는 복수의 계층이 하나의 DNS 서버에 있을 수 있다. 이런 경우엔 복수의 계층을 건너뛴 하위 계층의 DNS 서버를 바로 조회한다.

     

    DNS 서버는 한 번 조회했던 도메인을 캐싱한다. 해당 도메인을 요청할 경우엔 바로 회답할 수 있고 하위 도메인을 요청할 경우엔 루트 도메인을 거치지 않고 바로 해당 DNS 서버에 요청을 보낼 수 있다.

     

    캐시된 데이터는 유효 기한을 두고 저장하여 만료되면 삭제한다. 일반적으로 정보를 회답할 때는 캐시 여부도 함께 보낸다.

     

    728x90

    댓글