Compartilhar via


NET: DNS: tempo limite de resolução de encaminhadores condicionais e encaminhadores condicionais

Este artigo descreve o comportamento de fallback e tempo limite que existem quando um ou mais IPs de servidores DNS são configurados como encaminhadores ou encaminhadores condicionais em um servidor DNS.

Aplica-se a: Windows Server 2012 R2
Número de KB original: 2834250

Resumo

Check NET: DNS: tempo limite de resolução do cliente DNS para obter mais informações sobre os tempos limite de resolução do cliente DNS.

Da mesma forma que os clientes DNS, configurar servidores DNS com mais de um encaminhador ou encaminhador condicional adiciona tolerância adicional a falhas à sua infraestrutura DNS. A adição de vários servidores DNS como encaminhadores ou encaminhadores condicionais permite que os nomes DNS continuem a ser resolvidos em caso de falhas do único Servidor configurado, do link de rede subjacente ou da infraestrutura de rede de suporte.

No entanto, adicionar tolerância a falhas em Servidores é ainda mais crítico porque há potencialmente uma operação transitiva que algum servidor está fazendo em nome de uma pluralidade de clientes que agora estão suspensos. Os recursos estão sendo consumidos por tempos incrementalmente mais longos.

Certifique-se de ajustar corretamente os parâmetros se você quiser usar três ou mais encaminhadores/encaminhadores condicionais, pois as configurações padrão podem não ser otimizadas para essa alta quantidade de servidores.

Qual é o comportamento padrão de um servidor DNS quando mais de dois servidores DNS são configurados como encaminhadores

Para entender como isso funciona, as principais variáveis são:

  • RecursionTimeout – quanto tempo o DNS (Sistema de Nomes de Domínio) aguarda para que os servidores remotos respondam a uma consulta de cliente recursiva antes de encerrar a pesquisa.

    Ele é salvo no registro HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\**RecursionTimeoutem , e configurável via dnscmd /config /RecursionTimeout <value>.

    O valor padrão é:

    • 15 segundos no Windows Server 2003

    • 8 segundos no Windows Server 2008, 2008 R2 e 2012

      O RecursionTimeout é definido no nível do servidor DNS e é independente da zona específica consultada.

  • ForwardingTimeout – quanto tempo o DNS (Sistema de Nomes de Domínio) aguarda por cada servidor na lista em Encaminhadores para responder a uma consulta.

    Ele é salvo no registro HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\**ForwardingTimeout em e configurável por meio de dnscmd /config /ForwardingTimeout <value>.

    O valor padrão é:

    • 5 segundos no Windows Server 2003

    • 3 segundos no Windows Server 2008, 2008R2 e 2012

      O ForwardingTimeout é definido no nível do servidor DNS e é independente da zona específica consultada.

Quando o servidor DNS recebe uma consulta para um registro em uma zona para a qual não é autoritativo e precisa usar encaminhadores, o comportamento padrão é o seguinte:

Tempo (segundos desde o início) Ação
0 O cliente consulta o servidor DNS. O servidor DNS encaminha imediatamente a consulta para seu primeiro encaminhador
<forwarding_timeout> Após <forwarding_timeout> segundos, se o primeiro encaminhador não respondeu, o servidor DNS consultará o segundo encaminhador.
2 * <forwarding_timeout> +1 Após <forwarding_timeout> +1 segundos a mais, se o segundo encaminhador não respondeu, o servidor DNS consultará o terceiro encaminhador.
... ...
N * <forwarding_timeout> +(N-1) Após <forwarding_timeout> + mais 1 segundos, se o encaminhador Nth não respondeu, o servidor DNS consultará o encaminhador (N+1)th.

Observação

Além do atraso configurado, pode haver um atraso adicional de meio segundo devido à sobrecarga do sistema.

O algoritmo para quando o tempo decorrido excedeu o valor RecursionTimeout

Se o RecursionTimeout expirar, o servidor DNS responderá ao cliente com uma Falha do Servidor.

Observação

Não enviamos a Falha do Servidor imediatamente após a expiração do RecursionTimeout, mas somente quando for a hora de tentar o próximo encaminhador.

Se o servidor conseguir contatar todos os encaminhadores antes que o RecursionTimeout expire sem obter respostas, ele tentará usar as dicas raiz para a resolução de nome (configuração padrão, a menos que a recursão tenha sido desabilitada no nível do servidor).

Isso significa que, com as configurações padrão, um servidor 2008R2 poderá consultar no máximo 3 encaminhadores. Não haverá tempo suficiente para chegar para usar o quarto encaminhador. Na verdade, com as configurações padrão em 2008R2, o servidor:

  • Consultar o primeiro encaminhador após 0 segundos
  • Consultar o segundo encaminhador após 3,5 segundos
  • Consultar o terceiro encaminhador após 3,5 + 4 = 7,5 segundos

No oitavo segundo, RecursionTimeout expira para que não cheguemos ao ponto em que o quarto encaminhador é consultado (o que teria acontecido após 3,5 + 4 + 4 = 11,5 segundos).

Enviaremos a resposta falha do servidor depois de 11,5 segundos.

Exemplo:

O servidor DNS com endereço IP 192.168.0.1 está configurado com cinco encaminhadores (10.0.0.1-10.0.0.5).

O cliente tem o endereço IP 10.0.0.31 e está consultando Microsoft.com

Em uma captura de rede, veríamos a seguinte saída do Monitor de Rede (a observação 10.0.0.4 e 10.0.0.5 nunca consultada):

Detalhes do destino de origem time time offset
6:33:51.7507293 0.2731738 0.0.000000 10.0.0.31 192.168.0.1 DNS:QueryId = 0xF03, QUERY (consulta padrão), Consulta para microsoft.com o tipo Suplemento de Host na classe Internet
6:33:51.7510021 0.2734466 0.0.0002728 192.168.0.1 10.0.0.1 DNS:QueryId = 0xBD57, QUERY (consulta padrão), Consulta do microsoft.com tipo Suplemento de Host na Classe Internet
6:33:55.2997074 3.8221519 3.5487053 192.168.0.1 10.0.0.2 DNS:QueryId = 0xBD57, QUERY (consulta padrão), Consulta para microsoft.com o tipo Suplemento de Host na classe Internet
6:33:59.2931644 7.8156089 3.9934570 192.168.0.1 10.0.0.3 DNS:QueryId = 0xBD57, QUERY (consulta padrão), Consulta do microsoft.com tipo Suplemento de Host na Classe Internet
6:34:03.3112753 11.8337198 4.0181109 192.168.0.1 10.0.0.31 DNS:QueryId = 0xF03, QUERY (consulta padrão), Resposta - Falha do servidor

Qual é o comportamento padrão de um servidor DNS quando mais de dois servidores DNS são configurados como encaminhadores condicionais

Semelhantes aos encaminhadores, há duas variáveis importantes para encaminhadores condicionais. Ainda temos o RecursionTimeout (que está operando no nível do servidor), mas nesse cenário estamos usando o ForwarderTimeout em vez de EncaminharTimeout. Observe especificamente que o ForwarderTimeout está operando em uma base de zona e tem valores padrão diferentes:

  • RecursionTimeout – quanto tempo o DNS (Sistema de Nomes de Domínio) aguarda para que os servidores remotos respondam a uma consulta de cliente recursiva antes de encerrar a pesquisa.

    Ele é salvo no registro em HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\RecursionTimeout

    É configurável por meio de dnscmd /config /RecursionTimeout <value>.

    O valor padrão é:

    • 15 segundos no Windows Server 2003

    • 8 segundos no Windows Server 2008 e 2008R2

      O RecursionTimeout é definido no nível do servidor DNS e é independente da zona específica consultada

  • ForwarderTimeout – quanto tempo o DNS (Sistema de Nomes de Domínio) aguarda por cada servidor na lista de Encaminhadores Condicionais para responder a uma consulta.

    Como os Encaminhadores Condicionais são configurados para zonas específicas, o ForwarderTimeout também é dependente de zona.

    Ele é salvo no registro HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\ <zone_name>\ForwarderTimeoutem .

    O valor padrão é de 5 segundos no Windows Server 2003, 2008, 2008R2 e 2012.

    Essa também é a configuração que você pode ver na GUI de Encaminhadores Condicionais.

Quando o servidor DNS recebe uma consulta para um registro em uma zona para a qual não é autoritativo e é configurado para usar encaminhadores condicionais para ele, o comportamento padrão é o seguinte:

Tempo (segundos desde o início) Ação
0 O cliente consulta o servidor DNS. O servidor DNS encaminha imediatamente a consulta para seu primeiro encaminhador condicional
<forwarder_timeout> Após <forwarder_timeout> segundos, se o primeiro encaminhador condicional não respondeu, o servidor DNS consultará o segundo encaminhador condicional
2 * <forwarder_timeout> +1 Após <forwarder_timeout> +1 segundos a mais, se o segundo encaminhador condicional não respondeu, o servidor DNS consultará o terceiro encaminhador condicional
... ...
N * <forwarder_timeout> +(N-1) Após <forwarder_timeout> +1 segundos a mais, se o encaminhador condicional Nth não respondeu, o servidor DNS consultará o encaminhador condicional (N+1)th

Observação

Além do atraso configurado, pode haver um atraso adicional de meio segundo devido à sobrecarga do sistema

O algoritmo para quando o tempo decorrido excedeu o valor RecursionTimeout

Se o RecursionTimeout expirar, o servidor DNS responderá ao cliente com uma Falha do Servidor.

Observação

Não enviamos a Falha do Servidor imediatamente após a expiração do RecursionTimeout , mas somente quando for a hora de tentar o próximo encaminhador condicional.

Isso significa que, com as configurações padrão, um servidor R2 de 2008 poderá consultar no máximo dois encaminhadores condicionais. Não haverá tempo suficiente para chegar para usar o terceiro encaminhador condicional. Na verdade, com as configurações padrão em 2008R2, o servidor:

  • Consultar o primeiro encaminhador após 0 segundos
  • Consultar o segundo encaminhador após 5,5 segundos

No oitavo segundo, RecursionTimeout expira para que não cheguemos ao ponto em que o terceiro encaminhador condicional é consultado (o que teria acontecido após 5,5 + 6 = 11,5 segundos).

Enviaremos a resposta falha do servidor depois de 11,5 segundos.

Exemplo:

O servidor DNS com endereço IP 192.168.0.1 está configurado com cinco encaminhadores condicionais (10.0.0.1-10.0.0.5) para a zona Microsoft.com.

O cliente tem o endereço IP 10.0.0.31 e está consultando por Microsoft.com.

Em uma captura de rede, veríamos a seguinte saída do Monitor de Rede (observação 10.0.0.3, 10.0.0.4 e 10.0.0.5 nunca consultadas):

Detalhes do destino de origem time time offset
6:50:32.5481816 0.4306857 0.0.000000 10.0.0.33 192.168.0.1 DNS:QueryId = 0x245A, QUERY (consulta padrão), Consulta do microsoft.com tipo Suplemento de Host na classe Internet
6:50:32.5484341 0.4309382 0.0002525 192.168.0.1 10.0.0.1 DNS:QueryId = 0x252B, QUERY (consulta padrão), Consulta do microsoft.com tipo Suplemento de Host na Classe Internet
6:50:38.1695163 6.0520204 5.6210822 192.168.0.1 10.0.0.2 DNS:QueryId = 0x252B, QUERY (consulta padrão), Consulta do microsoft.com tipo Suplemento de Host na Classe Internet
6:50:44.1856567 12.0681608 6.0161404 192.168.0.1 10.0.0.33 DNS:QueryId = 0x245A, QUERY (consulta padrão), Resposta - Falha do servidor

Referências