← Volver al blog

Geolocalización IPv6: por qué sigue por detrás de IPv4

Geolocalización IPv6: por qué sigue por detrás de IPv4

La precisión de la geolocalización IPv6 es, en general, menor y menos uniforme que la de IPv4, porque las direcciones IPv6 se asignan en prefijos muy grandes, cambian con frecuencia en los dispositivos cliente y han tenido mucho menos tiempo para acumular los datos de medición de los que dependen las bases de datos de ubicación.

Eso no significa que las consultas IPv6 sean inútiles. Las respuestas a nivel de país suelen ser fiables, y la titularidad de la red es exacta porque procede de datos de registro. La parte más débil es la precisión a nivel de ciudad, que es donde los desarrolladores suelen llevarse una sorpresa. Este artículo explica las causas y qué hacer al respecto en una aplicación.

Por qué es más difícil construir datos de ubicación IPv6

Una dirección IPv4 es un recurso escaso, por lo que los proveedores y las redes tienden a dividirla en bloques pequeños y ordenados geográficamente, y los proyectos de medición han tenido décadas para mapearlos. IPv6 invierte la economía. Un abonado doméstico suele recibir un prefijo /56 o /64, que por sí solo contiene más direcciones que todo internet IPv4, y los ISP tienen asignaciones lo bastante grandes como para cubrir un país entero con un único anuncio.

De ahí se derivan varias consecuencias. Primero, un único bloque IPv6 grande puede dar servicio a clientes de muchas ciudades, de modo que una base de datos que asigne una sola ubicación a todo el bloque se equivocará con la mayoría. Segundo, las estrategias que infieren la ubicación a partir de la latencia, de datos de enrutamiento o de correcciones enviadas por los usuarios disponen de menos muestras por prefijo. Tercero, la numeración dentro de un prefijo no está ligada a la geografía de forma fiable: dos bloques /48 contiguos pueden asignarse a clientes situados en lados opuestos de un país.

La enorme dispersión también influye. En IPv4 se puede esperar razonablemente haber observado una gran parte de las direcciones activas. En IPv6 casi cada dirección es única para un momento y un dispositivo, por lo que las bases de datos deben generalizar a partir de prefijos y no de hosts individuales.

Direcciones de privacidad, redes móviles y túneles

Los dispositivos cliente suelen rotar direcciones IPv6 temporales por privacidad, de modo que el mismo teléfono puede aparecer con muchas direcciones dentro de un mismo prefijo a lo largo de un día. Eso es bueno para los usuarios, pero implica que cualquier enfoque que intente recordar una dirección concreta es frágil. Lo que permanece estable es el prefijo, y una buena consulta trabaja a ese nivel.

Los operadores móviles añaden otra capa de incertidumbre. El tráfico de un teléfono suele salir de la red del operador por una pasarela regional, de modo que la dirección que ves se asigna a la región de la pasarela y no a la del terminal. Lo mismo ocurre con IPv4 detrás de CGNAT, pero los prefijos móviles IPv6 suelen ser grandes y compartidos en áreas amplias. Las redes corporativas, las VPN y los intermediarios de túneles IPv6 también pueden anunciar prefijos registrados en un país mientras el tráfico se origina en otro. Nuestro artículo sobre por qué la ubicación de una IP describe una red y no a una persona explica este razonamiento en detalle.

Por último, los datos de registro van por detrás de la realidad. Un prefijo reasignado entre empresas o regiones puede conservar durante un tiempo su antiguo país de registro, así que trata el país de registro como una pista sólida y no como una prueba de dónde está el usuario.

Qué es fiable en IPv6 y qué no

Fiable: el AS de origen, la organización que posee el prefijo, el país registrado y si el prefijo es un rango reservado o de documentación. Estos datos proceden de información de enrutamiento y de registro y no dependen de adivinar dónde está un dispositivo. Aproximado: la ciudad, la región, la zona horaria y cualquier coordenada. Trátalos como una indicación del área a la que da servicio la red, no como una dirección postal.

ipto acepta IPv4 e IPv6 en la consulta de IP y devuelve los mismos campos para ambas, incluidos país, ciudad, ASN, organización y los indicadores is_vpn, is_tor, is_abuser, is_datacenter y bogon. El conjunto de datos de rangos y ASN de IPv6 se construye con el mejor esfuerzo junto al de IPv4 y se actualiza a diario, por lo que la cobertura puede ser menor para IPv6 que para IPv4, y que falte el campo de ciudad es un resultado normal que debes gestionar. No afirmamos un porcentaje de precisión concreto para ninguno de los dos protocolos, y conviene desconfiar de quien lo haga sin describir su conjunto de pruebas.

Diseñar teniendo en cuenta la incertidumbre

Reglas prácticas que funcionan bien en aplicaciones de doble pila:

  • Usa el país para decisiones de tipo cumplimiento normativo y la ciudad solo para personalización suave, como una ubicación del tiempo por defecto o un campo de formulario rellenado de antemano.
  • Prefiere el ASN y la organización como señal. La consulta de ASN muestra el propietario y los rangos anunciados de una red, algo estable entre versiones del protocolo.
  • Ejecuta una consulta whois mediante RDAP cuando necesites la asignación registrada, el contacto y las fechas de un prefijo en lugar de una conjetura.
  • Comprueba el DNS inverso cuando exista un nombre de host, ya que los operadores y las empresas de alojamiento a veces codifican en él una ciudad o un código de aeropuerto. Tómalo solo como una pista.
  • Deja que los usuarios corrijan su ubicación y guarda la corrección asociada a la cuenta y no a la dirección.
  • En IPv6, almacena en caché por prefijo y no por dirección individual, porque un /64 suele pertenecer a un único abonado o sede.

Prueba con tu propio tráfico. Extrae de los registros un día de direcciones IPv4 e IPv6 de las que conozcas la ubicación real, como las direcciones de envío de pedidos completados, y compara. La diferencia que midas es la cifra que importa para tu producto, y variará según el país y la mezcla de operadores.

Respuestas claras

Los prefijos IPv6 se asignan en bloques muy grandes que pueden abarcar muchas ciudades, las direcciones de cliente rotan por privacidad y las bases de datos han tenido menos datos de medición por prefijo. El país y la titularidad de la red siguen siendo fiables, mientras que la precisión de ciudad se resiente.
Sí. La consulta de IP acepta direcciones IPv4 e IPv6 y devuelve país, ciudad, ASN, organización e indicadores como is_vpn e is_tor. La cobertura de ciudad puede ser menor en IPv6, por lo que conviene gestionar con elegancia que falte el campo de ciudad.
El ASN de origen, la organización que posee el prefijo y el país registrado proceden de datos de enrutamiento y de registro, por lo que son los más fiables. La ciudad, la región y las coordenadas son aproximadas y solo deberían guiar decisiones de bajo riesgo.
← Volver al blog