Infelizmente, a resposta aqui é "depende". Os fatores de que depende variam com o domínio e com a configuração dos servidores proprietários e com a configuração do DNS local.
Primeiro, por exemplo, em relação aos registros NS retornados: é perfeitamente permitido aleatoriamente a ordem em que esses registros são retornados, portanto, a ordem pode diferir cada vez que você solicita. Por outro lado, isso não é feito em todas as implementações de DNS, portanto é possível obter uma lista ordenada estaticamente. O ponto é que você não pode ter certeza.
Em seguida, algumas implementações de DNS consultarão cada NS em paralelo e usarão o que responder primeiro. Outros irão acertar cada um, determinar o mais rápido em alguns pedidos e usar esse. Ou poderia apenas rodopiar.
Existem várias RFCs para DNS, duas das mais úteis que encontrei são:
http://www.faqs.org/rfcs/rfc1912.html
http://www.faqs.org/rfcs/rfc1033.html
Sei que isso não é uma resposta, sem nada definitivo para você tirar, mas, considerando o exposto acima, a única maneira verdadeira de determinar o comportamento de um determinado domínio é testar.
A implementação mais comum que eu já vi no nível do cliente, como os ISPs em todo o mundo, é a seguinte:
Esse processo é repetido para TODAS as consultas de registro. No entanto, apenas a primeira consulta faz todo o trabalho; os IPs do servidor de nomes serão armazenados em cache depois disso e as consultas subsequentes ao servidor DNS de cache do ISP poderão rapidamente saltar para a etapa 8.
Agora, quanto à randomização da etapa 8, ela funciona em nível de registro. Digamos que o assinante de banda larga desse ISP tenha perguntado sobre os seguintes registros:
Cada registro será tratado como sua própria "entidade" separada, armazenada em cache e pesquisada independentemente. Então, digamos que o assinante e o ISP nunca tenham encontrado o domínio antes e ambos tenham zero registros em cache completamente. As pesquisas podem ser as seguintes:
Sempre que os registros em cache expiram com facilidade, o processo é repetido, para que você nem saiba que solicitações subsequentes para esse registro usarão o mesmo servidor novamente.
Portanto, é seu maior objetivo absoluto garantir que todos os seus servidores DNS estejam completamente sincronizados, espelhando perfeitamente todos os registros DNS em todos os servidores. Você nunca sabe em qual servidor um cliente DNS estará acessando e não poderá confiar em nenhum pedido. Não existe tal coisa.
Além disso, como mencionado por Adam C, os próprios servidores DNS no nível do servidor (exemplo.com) podem retornar registros NS e aleatoriamente a ordem deles. É muito comum que servidores DNS regulares randomizem seus registros NS com a pequena chance de uma implementação DNS ruim sempre escolher o primeiro servidor de nomes retornado. No entanto, os servidores de nomes ROOT TLD (mencionados anteriormente) nunca randomizarão a lista, e a lista deles é o que realmente importa quando se trata de resolver o domínio. É por isso que a maioria das implementações seleciona um servidor aleatório nas listas de servidores de nomes, para evitar sempre atingir o mesmo servidor e sobrecarregá-lo.
Tudo bem, essa é a sua cartilha sobre como o DNS funciona e o que você deve se lembrar.
Isenção de responsabilidade: objetivos mais altos na vida do que gerenciar o DNS podem estar disponíveis, mas são vendidos separadamente, use sua imaginação. ;-)
fonte