이름 서버(name server)는 인터넷의 두 가지 주요 이름공간 중 하나, 도메인 이름 시스템 (DNS)의 서버 구성 요소를 참조합니다. DNS 서버의 가장 중요한 기능은 사람이 기억할 수 있는 도메인 이름 (example.com)과 호스트이름을 인터넷의 두 번째 주요 이름 공간, 해당하는 숫자 인터넷 프로토콜 (IP) 주소 (93.184.216.34)로 변환 (해결)이며, IP 주소는 인터넷에서 컴퓨터 시스템과 자원을 식별하고 찾기 위해 사용됩니다.
비록 그것이 전형적으로 DNS에 대한 참조에서 사용되지만, 용어 이름 서버는 종종 인간적으로 의미있는, 텍스트-기반 식별자를 시스템 내부의 숫자 식별 또는 주소 지정 구성 요소로 변환하는 디렉터리 서비스에 대한 질의로의 응답을 제공하기 위해 네트워크 서비스를 구현하는 임의의 컴퓨터 응용 프로그램에도 사용될 수 있습니다. 이 서비스는 서비스 프로토콜 요청에 대한 응답으로 서버에 의해 수행됩니다.
Domain Name Server
인터넷은 둘의 주요 이름공간: 도메인 이름 계층과 IP 주소 시스템을 유지 관리합니다. 도메인 이름 시스템은 도메인 이름공간을 유지 관리하고 이들 두 이름공간 사이의 번환 서비스를 제공합니다. 인터넷 이름 서버는 도메인 이름 시스템을 구현합니다. 도메인 이름 시스템의 최상위 계층은 Internet Corporation for Assigned Names and Numbers (ICANN)에 의한 위임에 의해 유지 관리되는 루트 이름 서버에 의해 제공됩니다. 전 세계에 걸쳐 위치되어 있는 DNS 서버는 도메인 이름을 IP 주소로 변환하여, 주어진 도메인을 통해 접근할 수 있는 서버 (사용자)를 제어할 수 있습니다. 루트 아래에서, 인터넷 자원은 각각의 등록 기관과 도메인 이름 보유자에 의해 관리되는 도메인 계층 구조로 구성됩니다. DNS 이름 서버는 도메인 이름에 대해 주소 (A, AAAA) 레코드, 이름 서버 (NS) 레코드, 및 메일 교환기 (MX) 레코드와 같은 DNS 레코드를 저장하는 서버이고 (DNS 레코드 유형 목록 참조) 그것의 데이터베이스에 대한 질의로의 답변으로 응답합니다.
Authoritative name server
권한-있는 이름 서버는 구역에서 이름에 대한 요청된 질문으로의 응답을 제공하는 이름 서버입니다. 권한-있는-전용 이름 서버는 관리자에 의해 구체적으로 특별히 구성된 도메인 이름에 대한 질의에만 응답을 반환합니다. 이름 서버는 역시 일부 구역의 질의로의 권한-있는 응답을 제공하는 동시에 모든 다른 구역의 캐싱 이름 서버 역할을 하도록 구성될 수 있습니다.
권한-있는 이름 서버는 주요 서버 또는 보조 서버가 될 수 있습니다. 구역에 대해 주요 서버는 해당 구역에 있는 모든 레코드의 결정 버전을 저장하는 서버입니다. 그것은 권한-의-시작 (SOA) 자원 레코드에서 식별됩니다. 구역에 대해 보조 서버는 자동 업데이트 메커니즘을 구역에 대해 주요 서버 데이터베이스의 동일한 복사본을 유지 관리하기 위해 사용합니다. 그러한 메커니즘의 예제는 DNS 구역 전송과 파일 전송 프로토콜을 포함합니다. DNS는 구역의 콘텐츠가 변경될 때 구역에 대해 주요가 해당 구역에 대해 모든 알려진 보조에 알릴 수 있는 메커니즘을 제공합니다. 구역의 컨텐츠는 관리자에 의해 수동으로 구성되거나, 동적 DNS를 사용하여 관리됩니다.
모든 각 도메인 이름은 하나 이상의 권한-있는 이름 서버에 의해 제공되는 구역에 나타납니다. 구역의 권한-있는 이름 서버의 충분히 정규화된 도메인 이름은 해당 구역의 NS 레코드에 나열됩니다. 만약 구역에 대해 서버가 역시 그것의 부모 구역에 대해 권한-있는 것이면, 부모 구역에 대해 서버는 구역에 대해 위임으로 구성되어야 합니다.
도메인이 도메인 이름 등록 기관에 등록될 때, 구역 관리자는 그 도메인을 포함하는 구역에 대해 권한-있는 것인 이름 서버의 목록 (전형적으로 중복성에 대해 적어도 2개)을 제공합니다. 등록 기관은 구역을 포함하는 최-상위 도메인에 대해 도메인 등록에 이들 서버의 이름을 제공합니다. 도메인 등록은 차례로 그 구역에 대해 각 서버에 대한 위임을 통해 해당 최상위 도메인에 대한 권한-있는 이름 서버를 구성합니다. 만약 구역에 대해 임의의 이름 서버의 충분히 정규화된 도메인 이름이 해당 구역 내에 나타나면, 구역 관리자는 해당 이름 서버에 대해 IP 주소를 제공하며, 이 주소는 부모 구역에 글루 레코드로 설치됩니다; 그렇지 않으면, 위임은 해당 구역에 대해 NS 레코드 목록으로 구성됩니다.
Authoritative answer
이름 서버는 그것이 권한-있는 것인 이름에 대한 질의로의 응답에서 Authoritative Answer (AA) 비트를 설정함으로써 해당 응답이 권한 있음을 나타냅니다. 권한 없는 응답을 제공하는 이름 서버 (예를 들어, 부모 구역의 이름 서버)는 AA 비트를 설정하지 않습니다.
Recursive query
만약 이름 서버가 DNS 캐시에 호스트에 대해 엔트리를 포함하지 않기 때문에 질의에 응답할 수 없으면, 계층에서 상위에 있는 이름 서버에 재귀적으로 질의할 수 있습니다. 이것은 재귀 질의(recursive query) 또는 재귀 조회(recursive lookup)로 알려져 있습니다. 재귀 질의를 제공하는 서버는 재귀 이름 서버 또는 재귀 DNS로 알려져 있으며, 때때로 recdns로 축약되기도 합니다.
원칙적으로 권한-있는 이름 서버는 인터넷 운영에 충분합니다. 어쨌든, 권한-있는 이름 서버만 작동과 함께, 모든 각 DNS 질의는 Domain Name System의 루트 구역에서 재귀 질의로 시작해야 하고 각 사용자 시스템은 재귀 작업의 능력을 가진 리졸버 소프트웨어를 구현해야 합니다.
Caching name server
캐싱 이름 서버 (DNS 캐시)는 각 도메인-이름 레코드의 구성 (time-to-live)에서 결정된 기간 동안 DNS 질의 결과를 저장합니다. DNS 캐시는 인터넷에 걸쳐 DNS 트래픽을 줄이고, 권한-있는 이름 서버, 특히 루트 이름-서버에 대한 부하를 줄임으로써 DNS의 효율성을 향상시킵니다. 그것들이 질문에 더 빨리 답할 수 있기 때문에, 그것들은 역시 DNS를 사용하는 최종 사용자 응용 프로그램의 성능도 향상시킵니다. 재귀 이름 서버는, 질문에 대한 권한-있는 서버에 문의하여 질문에 대한 권한이 없는 경우에도 수신한 모든 질의를 해결합니다. 캐싱 이름 서버는 종종 재귀 이름 서버이기도 합니다–그것들은 수신하는 모든 DNS 질의에 응답하는 데 필요한 모든 단계를 수행합니다. 이를 위해 이름 서버는 DNS 루트 영역에서 시작하여 각 권한-있는 이름 서버를 차례로 질의합니다. 그것은 질의된 도메인 이름이 포함된 구역의 권한-있는 서버에 도달할 때까지 계속됩니다. 해당 서버는 질문에 대한 답변을 제공하거나, 확실하게 답변할 수 없다고 말하고, 캐싱 리졸버는 이 응답을 질문을 요청했던 클라이언트에게 반환합니다. 권한, 해결, 및 캐싱 기능은 모두 DNS 서버 구현에 존재할 수 있지만, 이것은 필수적인 것은 아닙니다: DNS 서버는 다른 기능을 구현하지 않고 이들 기능 중 하나만 구현할 수 있습니다. 인터넷 서비스 공급자는 전형적으로 그들의 고객을 위해 캐싱 리졸버를 제공합니다. 게다가, 많은 홈-네트워킹 라우터는 캐싱 리졸버를 로컬 네트워크에서 효율성을 향상시키기 위해 구현합니다. 일부 시스템은 "이름 서비스 캐싱 데몬"을 나타내는 nscd를 이용합니다.
External links
- Free and Public DNS Servers, article on about.com by Tim Fisher, retrieved on 2015-02-08 21-59 UTC
- DNS & BIND Resources