현재 영역에 대한 영역 파일의 NS 레코드는 어떻게 작동합니까? 아래와 같이 작동하는 것 같아요. 그렇죠?
예를 들어 example.com 영역에 대한 재귀적 이름 serverA가 있고 example.com.의 하위 도메인인 sub.example.com 영역에 대한 이름 serverB가 있으며 호스트 host1.sub.example.com은 sub.example.com에 있습니다. .
1、클라이언트에서 dig @ServerA host1.sub.example.com을 실행합니다.
2、ServerA가 영역 파일(또는 캐시)을 확인하고 sub.example.com의 NS 레코드와 A 레코드를 찾습니다.
3、ServerA가 "처음" 쿼리합니다. ServerB는 자체 영역 파일의 NS 레코드가 ServerB를 가리키기 때문입니다.
4、ServerB는 해당 영역 파일의 NS 레코드를 ServerA에 반환하여 ServerA에게 "이것은 내 도메인의 NS 레코드입니다. 정확하다고 약속했습니다. 공식입니다. 올바른 것, 가지고 있는 것과 다르면 휴지통에 넣으십시오."
5、ServerA는 마지막 단계에서 하나의 이름 서버를 선택합니다(아마도 선택한 것은 ServerB일 것입니다).ServerB가 선택되면 ServerA는 "두 번째" 쿼리가 필요합니다 ServerB는 "host1.sub.example.com의 A 레코드가 무엇입니까"라고 묻습니다.
ServerA가 ServerB를 선택하더라도 여전히 두 번째 쿼리를 수행해야 합니다. 맞나요?
답변1
DNS는 전체 DNS에 대해 관심을 두지 않고 쿼리되는 항목에만 관심을 갖습니다.
sub.example.com에 대해 DNS 요청을 하면 sub.example.com에 대한 NS 레코드를 얻게 되며 서버는 해당 요청을 처리합니다.
sub.example.com에 접근하는 전체 추론의 어딘가에 example.com 자체에서 정보를 요청하는 내용이 있지 않는 한 example.com 자체를 쿼리할 필요는 없습니다.
예를 들어, sub.example.com에 다음을 확인하는 웹스크립트가 있다면https://example.com/test.php존재하는 경우 example.com과 연결되지만 그렇지 않으면 연결되지 않습니다.
DNS의 주요 기능은 이름을 주소로 변환하는 것입니다. 따라서 도메인 이름을 입력하면 IP 주소와 텍스트 레코드와 같은 도메인에 대한 일부 정보를 얻을 수 있습니다.
이 때문에 DNS가 확인해야 하는 정보가 적을수록 속도는 빨라집니다. 이것이 강점이자 약점입니다.