← Voltar ao blog

Precisão da geolocalização IPv6: por que ainda fica atrás do IPv4

Precisão da geolocalização IPv6: por que ainda fica atrás do IPv4

A precisão da geolocalização IPv6 é, em geral, menor e menos consistente que a do IPv4, porque os endereços IPv6 são alocados em prefixos muito grandes, mudam com frequência nos dispositivos cliente e tiveram muito menos tempo para acumular os dados de medição de que os bancos de dados de localização dependem.

Isso não significa que as consultas IPv6 sejam inúteis. As respostas em nível de país costumam ser confiáveis, e a propriedade da rede é exata porque vem de dados de registro. A parte mais fraca é a precisão em nível de cidade, que é onde os desenvolvedores costumam se surpreender. Este artigo explica as causas e o que fazer a respeito em um aplicativo.

Por que os dados de localização IPv6 são mais difíceis de construir

Um endereço IPv4 é um recurso escasso, então provedores e redes tendem a dividi-lo em blocos pequenos e geograficamente organizados, e projetos de medição tiveram décadas para mapeá-los. O IPv6 inverte essa economia. Um assinante residencial normalmente recebe um prefixo /56 ou /64, que por si só contém mais endereços do que toda a internet IPv4, e os ISPs detêm alocações grandes o bastante para cobrir um país inteiro em um único anúncio.

Várias consequências decorrem disso. Primeiro, um único bloco IPv6 grande pode atender clientes em muitas cidades, então um banco de dados que atribui uma localização ao bloco inteiro estará errado para a maioria deles. Segundo, as estratégias que inferem localização a partir de latência, de dados de roteamento ou de correções enviadas por usuários têm menos amostras por prefixo. Terceiro, a numeração dentro de um prefixo não está ligada à geografia de nenhuma forma confiável: dois blocos /48 vizinhos podem ser alocados a clientes em lados opostos de um país.

A própria escassez de observações também importa. No IPv4, é razoável esperar ter observado uma grande parte dos endereços ativos. No IPv6, quase todo endereço é único para um momento e um dispositivo, então os bancos de dados precisam generalizar a partir de prefixos em vez de hosts individuais.

Endereços de privacidade, redes móveis e túneis

Os dispositivos cliente geralmente alternam endereços IPv6 temporários por privacidade, então o mesmo celular pode aparecer sob muitos endereços dentro de um prefixo ao longo de um dia. Isso é bom para os usuários, mas significa que qualquer abordagem que tente lembrar um endereço específico é frágil. O que permanece estável é o prefixo, e uma boa consulta trabalha nesse nível.

As operadoras móveis acrescentam outra camada de incerteza. O tráfego de um celular frequentemente sai da rede da operadora em um gateway regional, de modo que o endereço que você vê corresponde à região do gateway e não à do aparelho. O mesmo vale para IPv4 atrás de CGNAT, mas os prefixos móveis IPv6 costumam ser grandes e compartilhados por áreas amplas. Redes corporativas, VPNs e brokers de túneis IPv6 também podem anunciar prefixos registrados em um país enquanto o tráfego se origina em outro. Nosso artigo sobre por que uma localização por IP descreve uma rede e não uma pessoa cobre esse raciocínio em detalhe.

Por fim, os dados de registro ficam defasados em relação à vida real. Um prefixo reatribuído entre empresas ou regiões pode manter por um tempo seu antigo país de registro, então trate o país de registro como uma forte indicação e não como prova de onde o usuário está.

O que é confiável no IPv6 e o que não é

Confiável: o AS de origem, a organização que detém o prefixo, o país registrado e se o prefixo é uma faixa reservada ou de documentação. Esses fatos vêm de dados de roteamento e de registro e não dependem de adivinhar onde está um dispositivo. Aproximado: cidade, região, fuso horário e quaisquer coordenadas. Trate-os como um indicativo da área atendida pela rede, não como um endereço de rua.

O ipto aceita IPv4 e IPv6 na consulta de IP e retorna os mesmos campos para ambos, incluindo país, cidade, ASN, organização e os indicadores is_vpn, is_tor, is_abuser, is_datacenter e bogon. O conjunto de dados de faixas e ASN para IPv6 é construído com base no melhor esforço, junto com o de IPv4, e atualizado diariamente, então a cobertura pode ser mais fraca para IPv6 do que para IPv4, e a ausência do campo de cidade é um resultado normal que você deve tratar. Não afirmamos uma porcentagem de precisão específica para nenhum dos protocolos, e você deve desconfiar de quem o faz sem descrever seu conjunto de testes.

Projetando em torno da incerteza

Regras práticas que funcionam bem em aplicativos dual-stack:

  • Use o país para decisões do tipo conformidade e a cidade apenas para personalização leve, como uma localização padrão de clima ou um campo de formulário pré-preenchido.
  • Prefira o ASN e a organização como sinal. A consulta de ASN mostra o proprietário e as faixas anunciadas de uma rede, o que é estável entre versões do protocolo.
  • Execute uma consulta whois via RDAP quando precisar da alocação registrada, do contato e das datas de um prefixo em vez de um palpite.
  • Verifique o DNS reverso quando existir um hostname, pois operadoras e empresas de hospedagem às vezes codificam nele uma cidade ou um código de aeroporto. Trate isso apenas como indicação.
  • Deixe os usuários corrigirem sua localização e armazene a correção na conta, e não no endereço.
  • Em IPv6, faça cache por prefixo em vez de por endereço individual, porque um /64 geralmente pertence a um único assinante ou site.

Teste com o seu próprio tráfego. Extraia de seus logs um dia de endereços IPv4 e IPv6 em que você conheça a localização real, como endereços de entrega em pedidos concluídos, e compare. A diferença que você medir é o número que importa para o seu produto, e ela variará por país e pela combinação de operadoras.

Respostas diretas

Os prefixos IPv6 são alocados em blocos muito grandes que podem abranger muitas cidades, os endereços de cliente mudam por privacidade, e os bancos de dados tiveram menos dados de medição por prefixo. País e propriedade da rede continuam confiáveis, enquanto a precisão de cidade sofre.
Sim. A consulta de IP aceita endereços IPv4 e IPv6 e retorna país, cidade, ASN, organização e indicadores como is_vpn e is_tor. A cobertura de cidade pode ser mais fraca para IPv6, então a ausência do campo de cidade deve ser tratada com elegância.
O ASN de origem, a organização que detém o prefixo e o país registrado vêm de dados de roteamento e de registro, por isso são os mais confiáveis. Cidade, região e coordenadas são aproximadas e só devem orientar decisões de baixo risco.
← Voltar ao blog