AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1785155
Accepted
Antonio23249
Antonio23249
Asked: 2023-05-21 15:16:21 +0800 CST2023-05-21 15:16:21 +0800 CST 2023-05-21 15:16:21 +0800 CST

Qual endereço IP um navegador usa se houver mais de um para o mesmo URL?

  • 772

Percebi que, quando faço ping em uma URL, mais de um endereço IP pode ser retornado pelo DNS: insira a descrição da imagem aqui acho que isso significa que há dois servidores da Web atendendo ao mesmo FQDN.

Eu me pergunto qual dos dois seria usado por um navegador. Existe alguma regra para isso?

Qualquer esclarecimento muito apreciado.

dns
  • 3 3 respostas
  • 4721 Views

3 respostas

  • Voted
  1. Best Answer
    u1686_grawity
    2023-05-21T15:47:24+08:002023-05-21T15:47:24+08:00

    Não existe uma regra rígida, pois todos os endereços são equivalentes e o programa pode utilizá-los em qualquer ordem. Normalmente, os programas tentam todos os endereços da lista até que um responda.

    Os valores no DNS não têm uma ordem inerente (e o próprio registro A não tem campo de prioridade), portanto, o servidor DNS pode retornar os registros A em qualquer ordem; a expectativa é que todos os endereços listados para um determinado nome estejam fornecendo serviços idênticos. Frequentemente, a resposta é deliberadamente embaralhada para fornecer algum balanceamento de carga básico¹. Isso pode ser feito pelo servidor autoritativo e/ou pelo resolvedor local.

    ¹ (Existem alguns motivos pelos quais até mesmo um único servidor com vários endereços pode ter um desempenho melhor do que exatamente a mesma configuração com apenas um endereço.)

    O programa geralmente usará qualquer ordem obtida do sistema operacional, mas o sistema operacional pode embaralhar a lista novamente antes de retorná-la (caso o servidor DNS não o tenha feito).

    Na verdade, existem duas listas no nível do DNS – uma para endereços IPv4 (registros A) e outra para IPv6 (AAAA). Alguns programas (principalmente navegadores da web) tentam ambos os tipos em paralelo, enquanto outros mesclam ambos em uma única lista que é classificada em categorias amplas (endereços IPv6 globais nativos, IPv4 nativo, IPv6 privado etc.).

    Programas muito antigos podem tentar apenas o "primeiro" endereço IPv4 (qual endereço é "primeiro" é imprevisível), pois as funções mais antigas de "pesquisa de nome de host" fornecidas pelo sistema operacional não podiam retornar mais de um. Esses programas geralmente não suportam nada além de IPv4.

    • 19
  2. harrymc
    2023-05-21T18:03:43+08:002023-05-21T18:03:43+08:00

    Em poucas palavras, existem dois mecanismos principais:

    • DNS Round Robin é o principal mecanismo para escolher um endereço IP da lista retornada por um servidor DNS, para que nem todos os clientes obtenham o mesmo endereço IP todas as vezes.
    • A ordem da máscara de rede é outro mecanismo para otimizar ainda mais qual endereço IP é para determinar o resultado mais próximo.

    Quando um servidor DNS retorna uma lista de endereços IP para uma consulta DNS, ele tenta um método round-robin para reordenar a lista em cada consulta sucessiva. Isso se baseia no fato de que a maioria das aplicações, ao receber uma lista de IPs, irá apenas pegar o primeiro, passando para o próximo apenas se o anterior falhar.

    O DNS round-robin é descrito em RFC 1794 - DNS Support for Load Balancing .

    Para IPv4, a seleção do endereço de destino é bastante simples e geralmente feita selecionando o primeiro endereço IP retornado pelo servidor DNS. Isso funciona bem com DNS Round Robin, pois permite que o servidor decida qual endereço o cliente usará, colocando-o no topo da lista.

    O IPv6 introduz uma mudança neste comportamento por RFC 3484 :

    O algoritmo de seleção de endereço de destino pega uma lista de endereços de destino e classifica os endereços para produzir uma nova lista. É especificado aqui em termos de comparação par a par dos endereços DA e DB, onde DA aparece antes de DB na lista original. O algoritmo classifica os endereços IPv6 e IPv4 juntos.

    A comparação par a par de endereços de destino consiste em dez regras que devem ser aplicadas em ordem. Se uma regra determinar um resultado, as regras restantes serão ignoradas, pois as regras subsequentes agem apenas como desempate para as regras anteriores.

    Existem 10 regras, mas a regra 9 deve ser considerada:

    Rule 9:  Use longest matching prefix.
    
    When DA and DB belong to the same address family (both are IPv6 or
    both are IPv4): If CommonPrefixLen(DA, Source(DA)) >
    CommonPrefixLen(DB, Source(DB)), then prefer DA.  Similarly, if
    CommonPrefixLen(DA, Source(DA)) < CommonPrefixLen(DB, Source(DB)),
    then prefer DB.
    

    A correspondência mais longa é usada, não apenas o primeiro endereço IP da lista. Há uma mudança no comportamento quando o IPv6 é instalado, portanto, o sistema operacional não extrai apenas o primeiro endereço IP da lista.

    Referência: DNS Round Robin avançado e seleção de endereço IP de destino em clientes Windows .

    • 14
  3. user1532080
    2023-05-23T16:59:45+08:002023-05-23T16:59:45+08:00

    Aqui está o que eu testei por volta de 2016:

    • Seu navegador pode fazer o que quiser e é provável que o comportamento deles seja diferente.
    • Seu navegador pode contar com o sistema operacional para fornecer um IP ("gethostbyname").
    • Em 2016, Linux e NetBSD retornariam um endereço escolhido aleatoriamente.
    • Em 2016, algumas, mas não todas, as máquinas Windows 10 retornariam um endereço escolhido aleatoriamente. Versões mais antigas do Windows retornariam a primeira da lista.

    Espero que agora todas as máquinas com Windows 10/11 escolham aleatoriamente um IP.

    • 1

relate perguntas

  • Como configuro DNS, AWS S3, AWS Cloudfront e AWS Certificate Manager para proteger vários sites

  • 5355 UDP svchost.exe DNScache

  • Bloqueie endereços IP internos com dnsmasq.conf

  • Precisa verificar um subdomínio firebaseapp.com

  • Migrando windows server 2008

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve