O que determina se o FQDN é interpretado como IPv6 ou IPv4?

9

Quando digito um FQDN (nome de domínio totalmente qualificado) na minha barra de URL, o navegador se conecta a alguma tabela de mapeamento (onde esta tabela é armazenada? Com ​​o provedor de serviços?) Que determina onde o arquivo solicitado está hospedado.

Portanto, depende do provedor de serviços (que suponho que tenha a tabela de conversão) se os endereços IPv6 são suportados ou não. Isso é verdade?

lazer
fonte

Respostas:

7

Como isso está marcado como iptables, presumo que essa seja uma pergunta do Linux.

No Linux, cabe à glibc decidir se um programa, para um determinado nome de host, procura primeiro o endereço IPv6 (AAAA) ou o endereço IPv4 (A). O programa usando glibc usa a função getaddrinfo (). O comportamento de getaddrinfo () está configurado no /etc/gai.conf.

No seu sistema, provavelmente tudo no /etc/gai.conf está comentado. Descomentando a entrada:

label :: / 0 1

, para mim, levou à ativação da primeira pesquisa AAAA, para que os endereços IPv6 sejam procurados preferencialmente. Então, isso pode ser o que você deseja.

Atualize para adicionar : A maneira correta parece ser descomentar todo o bloco "label" no gai.conf com os valores de 0 a 7:

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7
unixtippse
fonte
4

Os endereços IPv4 são mapeados para um nome de domínio por um registro A (Endereço) no DNS (Sistema de Nomes de Domínio). Os endereços IPv6 são mapeados usando os registros AAAA. Parece estranho? Endereços IPv4 são 32 bits, IPv6 são 128 bits. 128/32 = 4, então AAAA / A = 4 também. Truque inteligente de quem criou a entrada do IPv6 no DNS.

O DNS é um sistema hierárquico distribuído em toda a Internet. Seu navegador fará uma chamada para uma biblioteca do sistema, que inicia a cadeia de pesquisa. Ele verificará seu cache local primeiro, geralmente armazenado na memória. Em seguida, ele procura em disco e examina o arquivo HOSTS (/ etc / hosts na maioria dos UNIXes / Linux e C: \ Windows \ System32 \ drivers \ etc \ HOSTS no Windows). Se ainda não conseguir encontrar uma resposta, fará uma chamada para o servidor DNS atribuído, de acordo com a configuração da sua rede.

Esse servidor DNS verifica seu cache, que é muito maior. Se houver uma correspondência, ela retornará uma resposta. Se não conseguir encontrar uma resposta, ele se vira e pergunta a um servidor DNS de nível ainda mais alto executado pelo ISP do ISP. Este processo continua até que você bata os servidores de nomes de raiz, a.root-servers.netatravés m.root-servers.net. A maioria das consultas DNS é resolvida LONGO antes de chegarem tão longe, mas às vezes uma ou duas chegam lá. Mas quando uma resposta é encontrada, ela é passada de volta para o navegador.

Mas como o seu navegador sabe qual tipo de registro solicitar? Isso depende das configurações do seu sistema. Se você definiu como sua pilha IPv4 como prioridade, seu navegador solicitará apenas registros A em suas consultas DNS. Se for IPv6, ele solicitará um registro AAAA primeiro e depois voltará para um registro A segundo.

Existem outros tipos de registro também. Os registros MX definem onde está o servidor de correio para um domínio. Os registros NS definem os servidores de nomes para um domínio. Os registros SRV informam onde está um serviço específico (SSH ou Web, por exemplo).

DNS é realmente a lista telefônica literal da internet.

Kumba
fonte
2

A pesquisa seria realizada pelo seu DNS (e possivelmente pelo arquivo de hosts locais). Se um nome específico é resolvido como um endereço IPv6 ou IPv4 depende das configurações do seu navegador (ele suporta IPv6 e envia solicitações IPv6 AAAA, seu sistema operacional (se você tem uma pilha IPv6 entre outras coisas) e Provedor de DNS (eles suportam solicitações AAAA (IPv6) ou não).

A questão do navegador é complicada ainda mais pelo fato de alguns navegadores (mais antigos) nunca emitirem solicitações de pesquisa AAAA e alguns podem ser configurados para não enviá-los (o Firefox possui uma configuração para isso), mas os navegadores mais modernos enviam uma solicitação AAAA primeiro e seguem com uma solicitação.

Helvick
fonte
Onde posso encontrar meu arquivo de hosts locais no Windows Vista?
Lazer
Ok, encontrou-o aqui: C:\Windows\System32\drivers\etc. Mas está vazio.
Lazer
% SYSTEMROOT% \ system32 \ drivers \ etc - em geral, que será C: \ Windows \ System32 \ drivers \ etc
Helvick
2
Geralmente está vazio - adicione entradas, se for absolutamente necessário, você realmente deseja deixar a resolução de nomes IPv6 no DNS.
Helvick