geolocation ipv6 ipv4

geolocation - ¿Geolocalización con IPv6?



ip geolocation (8)

Como no parece haber una forma fácil de hacer esto todavía, tal vez tengamos la oportunidad de hacer algo que no se hizo en el caso de IPv4 (*)

Podríamos detenernos y preguntarnos si es una buena idea.

(*) O si se hizo, no funcionó!

Estoy trabajando en una biblioteca de geolocalización de IP que utiliza los primeros tres octetos de una dirección IPv4 para determinar el país, la ciudad, el lat, el lon, el etc. de un usuario. Funciona como un encanto.

Pero no maneja direcciones IPv6, y me gustaría que lo hiciera.

¿Hay alguna forma de transformar una dirección IPv6 para obtener el equivalente de los primeros tres octetos de una dirección IPv4, o están en un esquema de numeración completamente diferente, que requiere un mapeo ipgeo completamente diferente?


Corrección amistosa al comentario de Noah (3 de junio a las 7:57) -

Según el departamento de servicios al cliente de MaxMind (énfasis mío): "IPv6 actualmente NO es compatible. En algún momento en el futuro, planeamos implementarlo pero no tenemos una fecha en este momento".


Existe un protocolo llamado Referral Whois que permite a los proveedores publicar información de geolocalización de IP y otros para recuperarla.

Por ejemplo, mi IP actual 2001: 470: b4ea: babe: d57: 15c8: 97b: 60c9 pertenece a Hurricane Electric en los Estados Unidos. El servidor real donde termina el túnel IPv4-IPv6 que uso está en Suiza, pero estoy en Austria. HE publica todo esto, así que si ingresa la IP en una herramienta que soporta RWhois como this , encontrará los datos de contacto de HE y en algún lugar cerca de la parte inferior que ve

contacto: Nombre: Cliente Privado - Hurricane Electric

Contacto: Calle-Dirección: Residencia privada.

contacto: Código del país: AT

cual es mi ubicacion

No muchos proveedores publican eso, y no muchas herramientas de geolocalización lo admiten, pero al menos existe.

La mayoría de los proveedores de geolocalización de IP (de los que admiten IPv6, algunos aún no) ponen esta IP en Suiza, algunos incluso en los EE. UU.


IPv6 utiliza un esquema de direccionamiento completamente diferente en comparación con IPv4. No hay forma de asignar direcciones IPv6 a direcciones IPv4, con una excepción. Si ve direcciones IPv6 que comienzan con 2002: entonces la dirección es una dirección 6to4. Es probable que no veas muchos de los que están en uso y que estén en desuso, pero que sean asignables a IPv4.

Cada usuario de una dirección IPv4 pública puede usar un / 48 (65536 subredes) de espacio IPv6. Esas direcciones siempre comienzan con 2002: y los siguientes dos números hexadecimales son la dirección IPv4. Por lo tanto, 2002: 5389: 1164: corresponde a la dirección IPv4 de mi propio servidor web (83.137.17.100):

0x53 = 83 0x89 = 137 0x11 = 17 0x64 = 100

Pero todas las direcciones IPv6 "normales" no están relacionadas con ninguna dirección IPv4. Al menos de forma estándar. Un ISP podría definir una relación entre las direcciones IPv4 e IPv6 al implementar IPv6 para sus clientes. Pero no sabrás sobre esa relación, por lo que será inútil para ti ...


La asignación típica de IPv6 es un / 32 (cuatro octetos) a un proveedor de Internet (que puede ser una empresa multinacional), luego / 48 (seis octetos) a un sitio final (generalmente una organización cliente). Puede obtener un punto de partida en la lista de bloques delegados de la IANA .

Esto es solo para los registros que se encuentran en las bases de datos del RIR. La asignación a los usuarios finales generalmente no se registra, por lo que mi dirección actual, 2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b le informará solo que la sede de mi proveedor está en París (ya que es una empresa nacional, los clientes puede estar en cualquier lugar en Francia).

Otra excepción son las asignaciones de PI (proveedor independiente), que suelen ser / 48.

Además, existen muchas bases de datos de geolocalización para IPv4 y, que yo sepa, ninguna para IPv6. Tendrás que hacer todo tú mismo.

Para resumir: más trabajo del que aparentemente crees.


La geolocalización es mala, mmkay? Internet es independiente de la ubicación, y nunca he visto la geolocalización utilizada para algo no trivial-no-maligno. es decir, las únicas aplicaciones buenas que he visto (selección de idioma) fueron triviales (podrían ser fácilmente un menú desplegable). existen muchas aplicaciones maliciosas (este video no está disponible en su país, está orientado a mi ubicación física para los anuncios y el seguimiento). No podemos desalentar algo como esto, pero debemos presionar para que sea ilegal o al menos socialmente inaceptable de usar.


Los servicios de geolocalización y las bibliotecas de maxmind.com manejan IPv6 OK. Tal vez sus cosas son una opción para ti. (No tengo ninguna afiliación con ellos.)


Si lees un número de ipv6, dirección y mecanismo de transición en wiki, encontrarás algunos patrones de direcciones IPv6 que pueden inferir un ipv4 (siit, ipv4-mapped ipv6, nat64, la cosa 2002: * escrita anteriormente, etc.). Uno de ellos para comenzar: http://en.wikipedia.org/wiki/IPv6_transition_mechanisms

No contaría con que estos esquemas sean lo suficientemente populares como para hacer los informes geográficos habituales, la protección contra fraudes o la detección de incidentes, pero definitivamente daría prioridad a una búsqueda geográfica ipv4 para dichas direcciones ipv4 inferidas sobre una búsqueda geográfica ipv6 (asumiendo que ipv4 db es más completa).

Mi preocupación con la información geo de ipv6 es la cantidad increíblemente grande de subredes. Las bases de datos se harán más grandes (más rangos de IP), lo que se espera, pero para la misma cantidad de información geográfica del terminal, las bases de datos serán más dispersas y el árbol más profundo también es más largo de iterar (para la implementación que utiliza árboles binarios o radios), lo que implica cierta costo de rendimiento. Las bases de datos Geo que usan tablas de SQL con rangos de IP probablemente también se verán afectadas, ya que no tenemos big-bigint de 128 bits, que yo sepa, para usar la aritmética.

Otra preocupación son los móviles: ipv6 está diseñado para facilitar el roaming, si no me equivoco. Podrías cambiar las torres celulares y mantener tu IP. Tal vez incluso al cambiar de ciudad, región o país. Dudo un poco que desde entonces una afinidad de dirección fuerte fue el propósito de una dirección MAC. Las direcciones IP existen precisamente para propósitos de enrutamiento, pero creo que es justo mencionar que podrían volverse lo suficientemente invariables para paralizar la precisión de la ubicación geográfica, obviamente.

Siento que la colaboración de los usuarios / navegadores en la capa de la aplicación (por ejemplo, un encabezado de ubicación geográfica) es el futuro, incluso si las personas malintencionadas pueden falsificarlo.