
DNS 이름 서버는 "host.example.com"에 대한 리소스 레코드를 이 이름 서버에 쿼리하면 캐싱 서버(재귀 예)와 권한 있는 서버("example.com" 영역의 영역 파일이 있음) 역할을 동시에 수행합니다. ,무슨 일이 일어날 것? A) 서버는 루트 영역-->com 영역> example.com 영역을 요청합니다. B) 서버는 영역 파일을 확인하고 이 영역 파일에 따라 응답합니다.
간단히 말해서, 어느 것이 우선합니까?
또 다른 비슷한 질문은 영역 파일과 DNS 캐시 중 어느 것이 우선합니까?
답변1
재귀가 활성화된 서버는 다음 중 하나를 수행하기 전에 자체 영역을 확인합니다.재귀적으로쿼리하거나전송다른 서버로(전달은 쿼리를 다른 서버로 전달하는 또 다른 방법입니다)
DNS 서버가 권한이 있는 로컬 영역을 확인하지 않은 경우 재귀 쿼리는 무한히 반복됩니다. 왜냐하면 쿼리는 DNS 서버로 루프백하기 때문입니다(해당 도메인에 대한 권한 있는 서버이기 때문입니다).
재귀는 캐싱과 아무 관련이 없습니다. 일부 DNS 서버는 자주 또는 최근에 쿼리되는 도메인의 검색 속도를 높이기 위해 캐싱을 구현하지만 이는 재귀 쿼리 프로세스 작동 방식에 필수적인 것은 아닙니다.
재귀가 작동하는 방식은 다음과 같습니다. 세 개의 빨간색 화살표는 위에서 아래로 순서대로 나타납니다. 루트에게 .com이 어디에 있는지 물어보고, .com에 contoso.com이 어디에 있는지 물어보고, contoso.com에 example.contoso.com이 어디에 있는지 물어보고, 해당 응답을 다시 클라이언트로 라우팅하세요.
한 가지 특별한 점은 여기에서 루트 및 gTLD 서버를 다루고 있으며 이들이 글로벌 인터넷 생태계에서 특별한 위치를 차지하고 있다는 것입니다. 로드가 엄청나기 때문에 재귀를 허용하지 않습니다.
결과적으로, 위 이미지에서 클라이언트는 로컬 DNS 서버로부터 단일 쿼리를 요청하고 있으며, 로컬 DNS 서버는 요청을 재귀적으로 처리하기로 결정합니다(주소를 확인하는 모든 작업을 수행하고 단일 응답을 다시 보냅니다). 그런 다음 서버는 루트 및 gTLD 서버에 반복적으로 쿼리합니다. 그러나 dns.contoso.com 서버 자체는 재귀를 활성화할 수 있으므로 example1.example.contoso.com(dns.example.contoso.com에 대해 권한 있음)과 같은 contoso.com의 다른 하위 도메인에 응답을 제공할 수 있습니다. 클라이언트 로컬 DNS 서버에 의한 추가 쿼리.