컴퓨터에는 추가 정보를 쿼리 할 수있는 DNS 서버 목록이 있습니다. 유닉스 나 리눅스 시스템에서는이 파일이에 저장됩니다 /etc/resolv.conf
. Windows에서는 네트워크 설정에서 구성 할 수 있습니다. 종종 DNS 서버는 기본 도메인, 프록시 서버 등과 같은 다른 설정과 함께 DHCP 서버에 의해 제공됩니다.
사용하는 DNS 서버의 위치는 중요하지 않습니다. 컴퓨터에 IP 주소와 기본 경로가 작동하는 한 (즉 ping
, DNS 서버 가능) DNS 쿼리를 수행 할 수 있어야합니다.
DNS 서버는 "모든"도메인을 알 필요가 없습니다. 그들은 "권한있는"사람 만 알면되고, "권한있는"서버 세트에서 배웁니다. 각 DNS 서버에는 "루트"서버 목록이 있으며이 목록은 자주 변경되지 않습니다. 내 DNS 서버 중 하나에 18 개의 루트 서버가 구성되어 있으며이 구성은 2 년 전에 DNS 서버를 설치했을 때 이루어졌으며 그 이후로 루트 서버 목록이 변경된 경우 액세스 할 수 없었을만큼 충분히 액세스 할 수 있습니다. 그것을 알아 차렸다.
내 DNS 서버는 모르는 도메인을 확인하라는 요청을 받으면 루트 서버에 쿼리하여 도메인에 대한 다른 DNS 서버의 권한을 확인합니다. 응답에 추가 "NS"레코드가 포함될 수 있으며 권한이없는 것으로 표시 될 수 있습니다.이 경우 DNS 서버는 "체인을 따라"새 서버에 새 쿼리를 작성해야한다는 것을 알고 있습니다. 결국 권한있는 정보를 제공하는 DNS 서버를 찾아 NS 레코드가 아닌 쿼리를 만들 수 있습니다. 물론 A (주소)와 MX (메일 교환)가 가장 일반적입니다.
COM, NET, ORG, CA, UK 등과 같은 각 TLD (최상위 도메인)는 자체 하위 도메인 레지스트리를 유지 관리합니다. ""하위 도메인 "은 다른 도메인 내의 도메인이므로"example.com "은"com "내의 하위 도메인이며"com "은". "("루트 ") 내의 하위 도메인 일 수도 있습니다. 각 레지스트리의 규칙 관리하는 TLD에만 적용됩니다. 즉, 각 국가 코드 TLD에 대해 완전히 다른 기준 세트가 있으며 "일반적인"TLD는 정책이 다른 여러 조직에서 관리합니다. 그러나 이들은 모두 TLD에 대한 DNS 서버를 유지 관리하며 명령 줄에서 기본 DNS 쿼리 도구를 사용하여 볼 수 있습니다.
[ghoti@pc ~]$ host -t ns ca.
ca name server c.ca-servers.ca.
ca name server e.ca-servers.ca.
ca name server z.ca-servers.ca.
ca name server a.ca-servers.ca.
ca name server f.ca-servers.ca.
ca name server sns-pb.isc.org.
ca name server j.ca-servers.ca.
ca name server k.ca-servers.ca.
ca name server tld.isc-sns.net.
ca name server l.ca-servers.ca.
[ghoti@pc ~]$ host -t ns info
info name server c0.info.afilias-nst.info.
info name server d0.info.afilias-nst.org.
info name server b2.info.afilias-nst.org.
info name server b0.info.afilias-nst.org.
info name server a2.info.afilias-nst.info.
info name server a0.info.afilias-nst.info.
[ghoti@pc ~]$
레지스트라 에서 도메인을 구입하면 ( 레지스트리 가 많은 경우) 레지스트라는 도메인에 대한 정보를 TLD 당 하나만 있는 레지스트리 에 제출합니다 . TLD 내에 등록 된 도메인 목록을 유지 관리하고이 정보를 다른 서버에 제공하는 DNS 서버를 유지 관리하는 것은 각 레지스트리의 책임입니다.