대부분의 DNS(Domain Name System) 조회에서 일반적으로 클라이언트는 호스트(A) 리소스 레코드에 저장된 다른 컴퓨터의 DNS 이름을 기반으로 검색하는 정방향 조회를 수행합니다. 이 쿼리 유형에서는 반환된 응답의 리소스 데이터로 IP 주소를 기대합니다.

DNS에서는 클라이언트가 알려진 IP 주소를 사용하고 이 주소를 기반으로 컴퓨터 이름을 조회하는 역방향 조회 프로세스도 제공합니다. 역방향 조회에서는 "IP 주소 192.168.1.20을 사용하는 컴퓨터의 DNS 이름을 알려주시겠습니까?"와 같은 질문 형식을 사용합니다.

DNS는 원래 이러한 쿼리 유형을 지원하도록 설계되지 않았습니다. 역방향 쿼리 프로세스를 지원하는 경우의 한 가지 문제점은 DNS 네임스페이스가 이름을 구성하고 인덱싱하는 방법과 IP 주소가 할당되는 방법에 차이가 있다는 것입니다. 위의 질문에 대답하는 유일한 방법이 DNS 네임스페이스의 모든 도메인을 검색하는 것이면 역방향 쿼리에 너무 많은 시간과 처리가 필요하므로 역방향 쿼리는 유용하지 않을 것입니다.

이 문제를 해결하기 위해 특수 도메인 in-addr.arpa가 DNS 표준에 정의되고 인터넷 DNS 네임스페이스에 예약되어 역방향 쿼리를 수행하기 위한 실제적이고 안정적인 방법을 제공합니다. 역방향 네임스페이스를 만들려면 점으로 구분된 십진수 IP 주소 표시에서 숫자의 순서를 역으로 정렬하여 in-addr.arpa 도메인 내에 하위 도메인을 구성합니다.

DNS 이름과 달리 IP 주소를 왼쪽에서 오른쪽으로 읽으면 반대로 해석되기 때문에 각 옥텟 값에 대해 도메인을 이렇게 역방향으로 정렬해야 합니다. IP 주소를 왼쪽에서 오른쪽으로 읽으면 주소 첫 부분의 가장 일반적인 정보(IP 네트워크 주소)부터 마지막 옥텟에 포함된 좀더 특정한 정보(IP 호스트 주소)까지 읽게 됩니다.

따라서 in-addr.arpa 도메인 트리를 만들 때는 IP 주소 옥텟의 순서를 역으로 바꾸어야 합니다. 인터넷에 정의되어 있는 주소 클래스 내의 제한된 또는 특정한 IP 주소 집합이 조직에 할당되면 해당 조직에 DNS in-addr.arpa 트리의 IP 주소가 위임될 수 있습니다.

마지막으로 DNS로 구성될 때 in-addr.arpa 도메인 트리에는 추가 리소스 레코드 종류인 포인터(PTR) 리소스 레코드가 정의되어야 합니다. 이 리소스 레코드는 정방향 조회 영역에서 주로 호스트의 DNS 컴퓨터 이름에 대해 명명된 호스트(A) 리소스 레코드에 해당하는 매핑을 역방향 조회 영역에 만드는 데 사용됩니다.

in-addr.arpa 도메인은 IPv4(인터넷 프로토콜 버전 4) 주소 지정을 기반으로 하는 모든 TCP/IP 네트워크에 적용됩니다. 새 영역 마법사에서는 새 역방향 조회 영역을 만들 때 이 도메인을 사용한다고 자동으로 가정합니다.

DNS를 설치하고 IPv6(인터넷 프로토콜 버전6) 네트워크에 대해 역방향 조회 영역을 구성하는 경우에는 새 영역 마법사에서 정확한 이름을 지정할 수 있습니다. 이렇게 하면 DNS 관리자에서 다른 특수 도메인 이름 ip6.arpa 도메인을 사용하는 IPv6 네트워크를 지원할 수 있는 역방향 조회 영역을 만들 수 있습니다.

ip6.arpa 도메인 이름을 만들고 사용하는 방법에 대한 예제를 비롯한 IPv6 및 DNS에 대한 추가 정보는 RFC(Request for Comments) 3596 "IP 버전 6을 지원하는 DNS 확장명"에 나와 있습니다. 자세한 내용은 RFC 편집자 웹 사이트(https://go.microsoft.com/fwlink/?LinkID=240(페이지는 영문일 수 있음))에서 찾을 수 있는 이 RFC를 직접 참조하십시오.

예: 역방향 쿼리(IPv4 네트워크의 경우)

다음 그림에서는 DNS 클라이언트가 IP 주소 192.168.1.20을 기반으로 다른 호스트의 이름(host-a)을 확인하기 위해 시작하는 역방향 쿼리의 예제를 보여 줍니다.

예제: DNS 역방향 조회

역방향 쿼리 프로세스는 다음 단계에 따라 수행됩니다.

  1. 클라이언트는 host-a의 IP 주소 192.168.1.20에 매핑되는 PTR(포인터) 리소스 레코드를 DNS 서버에 쿼리합니다.

    PTR(포인터) 리소스 레코드에 대한 쿼리이므로 확인자는 주소를 거꾸로 바꾸고 역방향 주소 끝에 in-addr.arpa 도메인을 추가합니다. 이렇게 하면 역방향 조회 영역에서 검색될 FQDN(정규화된 도메인 이름)(20.1.168.192.in-addr.arpa.)이 구성됩니다.

  2. 20.1.168.192.in-addr.arpa에 대한 권한이 있는 DNS 서버를 찾으면 이 서버가 PTR(포인터) 리소스 레코드 정보를 사용하여 응답할 수 있습니다. 여기에는 host-a의 DNS 도메인 이름이 포함되므로 역방향 조회 프로세스가 완료됩니다.

쿼리된 역방향 이름이 DNS 서버에서 응답을 받을 수 없으면 보통 DNS 확인(재귀 또는 반복)을 사용하여 역방향 조회 영역에 대한 권한이 있고 쿼리된 이름을 포함하는 DNS 서버를 찾을 수 있습니다. 이 점에서 역방향 조회에 사용되는 이름 확인 프로세스는 정방향 조회의 이름 확인 프로세스와 동일합니다.

역방향 쿼리

역방향 쿼리는 예전에 사용하던 쿼리로 원래는 IP 주소를 기반으로 호스트 이름을 조회하기 위한 DNS 표준의 일부로 제안되었습니다. 역방향 쿼리에서는 비표준 DNS 쿼리 작업을 사용하므로 DNS 서비스의 문제를 해결하고 테스트하는 명령줄 유틸리티인 Nslookup의 이전 버전 일부에만 사용할 수 있습니다.

DNS 서버 서비스는 역방향 쿼리 메시지를 인식하고 받아들여 모조 역방향 쿼리 응답을 사용하여 응답합니다. Windows NT® Server 4.0에서 실행되는 DNS 서버의 경우 서버 컴퓨터가 서비스 팩 4(SP4) 이상으로 업데이트되어 있으면 기본적으로 이 기능이 지원됩니다.

참고

역방향 쿼리로 호스트를 식별하기 위한 PTR(포인터) 리소스 레코드와 역방향 조회 영역의 구성은 전적으로 DNS 표준 구현의 선택적인 부분입니다. 일부 네트워크 응용 프로그램에서 보안 검사를 수행하는 데 역방향 조회 영역이 사용되기는 하지만 반드시 역방향 조회 영역을 사용해야 하는 것은 아닙니다.


목차