DNS 클라이언트는 여러 답변을받을 때 IP 주소를 어떻게 선택합니까?


25

DNS 서버가 클라이언트의 IP 주소를 검색 할 때 쿼리 할 여러 DNS 서버 목록을 받으면 어떻게 선택합니까? 마찬가지로 DNS 클라이언트가 FQDN에 대한 여러 IP 주소 목록을 받으면 어떻게 선택합니까? 구현이 구체적입니까, 아니면 RFC에 포함되어 있습니까?

답변:


18

쿼리를 해결하는 DNS 서버는 내역 응답 시간 데이터를 기반으로 나열된 서버를 사용하는 순서를 우선 순위로 지정할 수 있습니다 (RFC1035 섹션 7.2). 또한 더 가까운 서브넷으로 우선 순위를 지정할 수도 있습니다 (RFC에서이 내용을 보았지만 어느 것을 기억하지는 않습니다). 사용 가능한 기록 또는 서브넷 우선 순위가없는 경우 임의로 선택하거나 첫 번째 것을 선택할 수 있습니다. DNS 서버 구현이 위의 다양한 조합을 수행하는 것을 보았습니다.

A / AAAA 레코드 목록에서 IP 주소를 선택하는 클라이언트 프로그램은 일반적으로 DNS 서버 (라운드 로빈)가 반환 한 순서대로 주소를 시도합니다. 클라이언트가 반환 된 첫 번째 IP 주소에 연결할 수 없으면 두 번째 IP 주소 등을 시도해야합니다. 예를 들어 모든 주요 브라우저에서이 작업을 수행하지만 다른 많은 인터넷 클라이언트 프로그램은이 단계를 "잊어"첫 번째 IP 주소에 연결할 수 없으면 실패합니다.


4

RFC 1794 요청하신 라운드 로빈 문제를 다룹니다.

답이 나오면 대부분의 DNS 클라이언트는 목록의 첫 번째 IP 주소를 사용하고, 일부는 서브넷 계산을 통해 더 가까운 것을 알아 내고, 다른 서버는 임의로 선택하지만, 대부분 DNS 서버에 의존하여 목록을 보냅니다.


3

클라이언트에 따라 다릅니다-Windows 상점을 운영하는 사람에게는 특히 관련성이 있습니다. Vista \ Windows Server 2008은 첫 번째 주소를 선택하는 이전 Windows 버전과 다른 메커니즘 (ipv6 스택이 설치된 경우)을 사용하여 주소를 선택한다는 사실입니다 . 많은 경우에 이것은 항상 같은 것을 선택한다는 것을 의미합니다. 즉, 이전 버전과 같은 방식으로 DNS 라운드 로빈 응답을 "명예롭게하지"않습니다. 이 technet 블로그 기사 에서 이에 대한 자세한 설명이 있습니다.

링크 된 기사는 Windows 7 및 Server 2008 R2 가이 기본 동작을 다시 변경하지만 백업 할 항목을 찾을 수 없음을 나타냅니다.

또한 이것이 내가 알 수있는 한 ipv6의 표준 준수 동작이라는 것을 지적 할 가치가 있지만, 내가 틀렸다는 것을 알게되어 매우 기쁩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.