라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
IPv6 프로토콜을 지원하는 리졸버(resolver)?
IPv6 지원 확장 : DNS 리졸버 SW의 IPv6 스택(stack) 지원
DNS 리졸버(resolver)는 2가지로 구분됩니다.
원래 IETF RFC 문서에서의 리졸버(resolver)는 루트 네임서버로부터 시작하여
전체 도메인 트리를 검색할 수 있는 리졸루션(resolution) 전체 루틴을 가진 SW를
지칭하는 용어입니다.
Ref Docs:RFC1034 "DOMAIN NAMES - CONCEPTS AND FACILITIES", 5. RESOLVERS
DNS 네임서버에는 기본적으로 이 리졸버(resolver) 전 루틴이 완전하게 구현되어 있습니다.
네임서버의 루트 네임서버 IP 주소 정보를 갖는 root.hint와 같은 파일은 리졸버가
루트 네임서버를 파악할 수 있도록 하기 위한 것입니다.
리졸버 SW 루틴 역시 IPv6 스택을 지원해야 합니다.
만일 리졸버 SW 루틴이 IPv6 스택을 지원하지 못하는 경우, IPv6 주소로만 구성된
DNS 네임서버에 대해 접근이 불가능하여, 도메인네임 리졸루션을 충분히 수행할 수
없기 때문입니다.
단말 호스트인 경우, 이 전체 리졸버(resolver) 루틴을 구현하는 것은 경제적으로
문제가 있습니다.
단말 호스트의 경우에는 리졸버 루틴을 간략화하여 구현한 스터브 리졸버(stub resolver)를
적용합니다.
스터브 리졸버는 리졸루션이 필요한 경우, 지정된 리커시브 네임서버의 IP 주소로 DNS 질의
요청만 합니다.
이때, 요청을 받은 리커시브 네임서버가 단말 호스트의 스터브 리졸버를 대신하여
전체 인터넷 네임서버를 조회합니다.
리커시브 네임서버는 요청된 질의의 응답 정보를 단말 호스트의 스터브 리졸버로 응답합니다.
Local Hosts                     |  Foreign                                                   |    +---------+                                    |    |         | responses                          |    | Stub    |<--------------------+              |    | Resolver|                     |              |    |         |----------------+    |              |    +---------+ recursive      |    |              |                queries        |    |              |                               V    |              |    +---------+ recursive     +----------+         |  +--------+    |         | queries       |          |queries  |  |        |    | Stub    |-------------->| Recursive|---------|->|Foreign |    | Resolver|               | Server   |         |  |  Name  |    |         |<--------------|          |<--------|--| Server |    +---------+ responses     |          |responses|  |        |                              +----------+         |  +--------+                              |  Central |         |                              |   cache  |         |                              +----------+         |
Source:RFC1035 "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION",
2.2. Common configurations 
스터브 리졸버의 경우, IPv4만을 지원해도 큰 문제는 발생하지 않습니다.
이 경우 지정된 리커시브 네임서버가 IPv4/IPv6를 모두 지원한다는 조건을 만족해야 합니다.
만일 IPv6 지원이 불가능한 IPv4 only 리커시브 네임서버인 경우, 스터브 리졸버는
IPv6 주소로만 설정된 DNS 네임서버의 도메인 정보에 대해서는 리졸루션을 할 수 없는 상황이
발생하게 됩니다.
IPv4 스택 기반의 단말 호스트 스터브 리졸버인 경우, 가능한 한 IPv4/IPv6 듀얼 스택
리커시브 네임서버를 단말 호스트에서 네임서버로 지정하는 것이 IPv4/IPv6 인터넷 환경에서는
바람직한 설정이라 할 수 있습니다.
IPv6 스택을 지원하는 스터브 리졸버 여부는 호스트 시스템 OS에 따라 다릅니다.
이에 대한 정보는 OS의 버전별 구현 기능항목을 검토하여 파악할 수 있습니다.  
 
  Comments,     Trackbacks