DNS 레코드가 전파되는 데 얼마나 걸립니까?


68

이것은 DNS 전파에 대한 정식 질문입니다

다양한 유형의 레코드가 전파되는 데 얼마나 걸립니까?
일부는 다른 것보다 빨리 전파됩니까?
DNS 레코드가 전파되는 데 왜 시간이 걸리고 어떻게 작동합니까?


1
참고 : 역사적으로 기록을 유지 한 사람에 따라 다른 유형의 기록을 업데이트하는 데 걸리는 시간에 현저하고 중요한 차이가있었습니다. 오늘날에는 더 이상 그렇지 않습니다.
Chris S

4
ppl이 DNS에 "propagate"라는 단어를 사용하면 DNS가 무엇인지, 어떻게 작동하는지 모른다는 것을 분명히 보여줍니다. 문서가 손가락을 충분히 빨리 "전파"하기를 바랍니다.
poige

3
@tonygil Poige의 의견을 참조하십시오. DNS 전파와 같은 것은 없습니다. 또한 ISP는 루트 서버를 제어하지 않습니다. 해당 ISP의 DNS 서버가 레코드의 TTL보다 오래 캐싱하는 경우 RFC를 위반 한 것입니다. DNS 작동 방식에 대해 몇 가지 오해가있는 것 같습니다. 그러나 RFC 위반은 일반적으로 작동 방식을 위반합니다. 이것은 미국이나 유럽과 아무 관련이 없습니다.
Chris S

1
@tonygil : "cyberpolice"는 "sysberpolice"를 업데이트하는 것으로 모든 sysadmins, 네트워크 관리자 등이며 나쁜 행위자에게 사회적 압력을가합니다. 인터넷은 우리 모두가 동의해야하기 때문에 작동합니다. 사용자, 네트워크 등의 최선의 이익은 인터넷의 "최상의 이익"에 있습니다. re : "사용자는 기술 전문가가 아닙니다"-이 사이트는 전문 시스템 관리자를위한 사이트이며 최종 사용자가 아닙니다. 솔직히 말해서, sysadmins는 일종의 "technoguru"(용어를 사용하기 위해) 일 것으로 기대합니다. Sysadmins 점령에 따라이 기능 어떻게 작동하는지 신경 써야합니다.
Evan Anderson

@EvanAnderson 나는 압력이 변화를 만든다는 것에 완전히 동의합니다. 반면에, 게 으르거나 무능한 시스템 관리자가 무리에 있다는 것이 현실입니다. 그리고 당신이 미국과 유럽에서 멀어 질수록 더 빈번해집니다. 귀하의 기대는 4 US는 좋지만 실제 시스템의 대부분에서는 실현할 수 없습니다. 준비되지 않은 sysadmins가 규칙입니다. 따라서 모든 것이 잘되기를 기대하면서 현실 세계를 다루어야합니다. 어쨌든 내 요점은 당신이 만든 것입니다. 동의하지 않을 것에 동의합시다.
tony gil

답변:


71

"DNS 전파"는 그 자체가 실제 현상이 아닙니다. 오히려 이는 DNS 프로토콜에 지정된 캐싱 기능의 명백한 효과입니다. DNS 서버 간의 "전파"변경은 DNS 프로토콜의 모든 세부 사항을 설명하는 것보다 기술이 아닌 사용자에게 설명하기 쉬운 편리한 허위 사실입니다. 그러나 실제로 프로토콜이 작동하는 방식은 아닙니다.

재귀 DNS 서버는 클라이언트를 대신하여 쿼리합니다. 일반적으로 ISP 또는 IT 부서에서 운영하는 재귀 DNS 서버는 클라이언트 컴퓨터에서 인터넷 리소스 이름을 확인하는 데 사용됩니다. 재귀 DNS 서버는 효율성을 높이기 위해 수행 한 쿼리 결과를 캐시합니다. 이미 캐시 된 정보에 대한 쿼리는 추가 쿼리 없이도 답변 할 수 있습니다. 지속 시간 (초), 캐시 결과가되는 것을 가정 구성 값을 기반으로하는 (TTL) 살 수있는 시간이라고합니다. 이 값은 쿼리 된 레코드에 대한 권한있는 DNS 서버에 의해 지정됩니다.

DNS는 분산 프로토콜이므로 모든 질문에 대한 답변은 없습니다. DNS의 동작은 주어진 레코드에 대한 권한있는 DNS 서버 구성, 클라이언트 컴퓨터 대신 쿼리를 만드는 재귀 DNS 서버 구성 및 클라이언트 컴퓨터 운영 체제에 내장 된 DNS 캐싱 기능에 따라 다릅니다.

DNS 레코드에 대한 일상적인 변경 사항을 수용 할 수있을 정도로 짧은 TTL 값을 지정하는 것이 좋지만 캐싱에서 "승리"를 만들 정도로 충분히 길어야합니다. 효율성 개선 제공). TTL 값으로 균형 잡힌 전략을 사용하면 모든 사람에게 "승리"가됩니다. 지정된 도메인, 루트 서버 및 TLD 서버에 대한 권한있는 DNS 서버의로드 및 대역폭 사용률을 모두 줄입니다. 재귀 DNS 서버 운영자의 업스트림 대역폭 사용을 줄입니다. 클라이언트 컴퓨터에 대한 쿼리 응답이 더 빠릅니다.

DNS 레코드의 TTL이 설정되면 재귀 DNS 서버가 결과를 오랫동안 캐시 할 수 없기 때문에 권한이있는 DNS 서버의로드 및 대역폭 활용도가 낮아집니다. 레코드의 TTL이 높을수록 클라이언트 컴퓨터는 재귀 적 DNS 서버에 저장된 캐시 된 결과를 계속 수신하기 때문에 레코드에 대한 변경 내용이 "효과"로 나타나지 않습니다. 최적의 TTL을 설정하면 사용률과 레코드를 빠르게 변경하는 기능 간의 균형을 맞추고 이러한 변경 사항이 클라이언트에 반영되는 것을 볼 수 있습니다.

일부 ISP는 모욕적이고 신뢰할 수있는 DNS 서버에 의해 지정된 TTL 값을 무시한다는 점에 주목할 가치가 있습니다 (RFC를 위반하는 자체 관리 재정의로 대체). 기술적 인 관점에서 이것에 대해 할 일은 없습니다. 악의적 인 DNS 서버의 운영자가 시스템에 불만을 제기 할 수있는 경우 관리자는 모범 사례를 구현할 수 있습니다 (아마도 DNS에 익숙한 모든 네트워크 엔지니어에게 상식적인 의미). 이러한 특정 유형의 남용은 기술적 인 문제가 아닙니다.

모든 사람이 "규칙에 따라 연주"하면 DNS 레코드의 변경 사항이 "빠르게 적용" 될 수 있습니다 . 예를 들어 "A"레코드에 할당 된 IP 주소를 변경하는 경우 TTL 값의 지수 백 오프가 수행되어 변경 시간이 발생합니다. 예를 들어, TTL은 하루에 시작하여 24 시간 동안 12 시간으로, 12 시간 동안 6 시간, 6 시간 동안 3 시간 등으로 약간 작은 간격으로 감소 될 수 있습니다. TTL이 백업되면 레코드를 변경하고 TTL을 일상 작업에 필요한 값으로 되돌릴 수 있습니다. (지수 적 백 오프를 사용할 필요는 없지만이 전략은 레코드의 TTL이 낮은 시간을 최소화하고 신뢰할 수있는 DNS 서버의로드를 줄입니다.)

DNS 레코드를 만든 후 이전 DNS 레코드의 결과로 액세스 시도가 이루어 졌는지 변경 로그를 모니터링해야합니다. 새 IP 주소를 참조하기 위해 "A"레코드를 변경하는 예에서 서버는 여전히 기존 "A"레코드를 사용하는 클라이언트 컴퓨터에서 발생하는 액세스 시도를 처리하기 위해 기존 IP 주소에 있어야합니다. 이전 레코드를 기반으로 한 액세스 시도가 허용 가능한 낮은 수준에 도달하면 이전 IP 주소가 사용되지 않을 수 있습니다. 이전 레코드와 관련된 요청이 빠르게 줄어들지 않으면 (위에서 설명한대로) 재귀 DNS 서버가 신뢰할 수있는 TTL을 무시하는 것일 수 있습니다. 그러나 액세스 시도의 소스 IP 주소를 아는 것은 이전 레코드를 제공하는 재귀 DNS 서버에 대한 직접적인 정보를 제공하지 않습니다.

개인적으로, 며칠 후에 변경 사항이 몇 시간 만에, 때로는 뇌 손상을 입은 특정 ISP의 경우 "효과를 취"하는 것을 보았습니다. TTL의 백 오프를 수행하고 프로세스 작동 방식을 염두에두면 성공에 대한 변경이 증가하지만 재귀 적 DNS 서버를 사용하여 어떤 의미있는 바보가 무엇을하는지 확신 할 수는 없습니다.


9
이것은 "OpenDNS"에 대한 답변이 아니라 DNS에 대한 답변입니다. 모든 재귀 DNS 공급자는 캐시 제거 등을 허용하려는 인터페이스를 구현할 수 있습니다. 우리는 공급 업체 API가 아니라 DNS에 대해 이야기하고 있습니다. 편집 내용 : 나는 해커 문화에서 오랫동안 사용 된 문구로 "뇌 손상됨"이라는 문구를 옹호하고 있으며 그 맥락에서 사용하고 있습니다 (Jargon File, Steven Levy의 "Hackers"등 참조) . "이디 오틱"이 진행되는 한, 합법적 인 코드 외에는 이것이 무능한 행동에 대한 구어 적 용어라는 것이 합리적으로 확립되었다고 생각합니다. 나도 참는다.
Evan Anderson

11
@tonygil-OpenDNS는 DNS가 아닙니다. 누군가가 제공하는 서비스 일뿐입니다. FooDNS가 내일 개장하고 흥미로운 새 캐시 지우기 API가있는 경우 어떻게해야합니까? 내 대답도 포함해야합니까? 어디서 멈춰요? 이것은 광기로 퇴화하고 있습니다. re : 시민의 권리-저는 보호 된 계층의 구성원에 대한 시민의 권리를 거부하는 고용 주나 정부 기관이 아닙니다. 그래, 가서 날 기소하려는 사람을 찾을 수 있는지 알아봐 그들은 오하이오 주 트로이의 PO Box 852에서 우편으로 연락 할 수 있습니다. (866) 569-9799, x801은 24x7 내 휴대폰으로 전달합니다. (이것은 저의 프로필, BTW를 살펴 보는 훌륭한 형사 연구입니다.)
Evan Anderson

1
당신은 또래의 압력이 변화를 가져 온다고 말했습니다 그것이 내가 한 일이었습니다. 나는 그들이 "공격"과 "두뇌 손상"을 사용하는 것에 동의하지 않는다는 것에주의를 기울였다. 누군가가 그것을 적절하게 사용한다는 사실 (즉, 해커)은 그것을 올바르게 만들지 않습니다. kkk는 n 단어를 풍부하게 사용했습니다. pls는 정신적으로 손상된 ppl을 돌보는 우리의 사람들을 존중합니다. 나는 당신이 형형색색의 스타일로 은유 적으로 용어를 통합한다는 것을 이해하지만, 나는 불쾌하고 불필요하다는 것을 믿습니다.
tony gil

TTL honouring에 관하여 : TTL은 캐시에 보관하는 최대 값이며, 캐싱 리졸버는 데이터를 이전에 버릴 수 있습니다. 따라서 원하는 경우 낮출 수 있습니다. 그러나 그들이 증가시키지 않아야한다는 것은 사실이며, 이는 프로토콜을 위반하는 것입니다. 그러나 TTL에 1 초를 넣는 사람들에게는 일부 캐시가이를 존중하지 않고 대신 5 분 안에 고정하여 스스로 방어합니다.
Patrick Mevzek

일반적으로 ISP는 또는 IT 부서에 의해 운영 재귀 DNS 서버는, 요즘 그들은 같은 개방형 재귀 네임 서버의 거대한 함대 (애니 캐스트 구름)이다 1.1.1.1하거나 8.8.8.8또는 9.9.9.980.80.80.80. 그것들은 애니 캐스트된다는 것을 이해하는 것이 중요합니다 : 소스 IP에 따라 응답이 완전히 다른 물리적 인스턴스에 충돌 할 수 있고 그들이 가지고있는 캐시가 모든 인스턴스에 대해 글로벌 일 수도 있고 그렇지 않을 수도 있기 때문에 응답이 변경 될 수 있습니다.
Patrick Mevzek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.