2009-07-22 15 views
18

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

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

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

+0

¿Puede decirme qué parte de las especificaciones de IPv6 le ha llevado a creer que existe alguna correspondencia entre la dirección IPv6 y la ubicación geográfica? –

+0

Es posible que desee ver lo siguiente, al menos con respecto a Mobile IPv6: http://www.rfc-editor.org/rfc/rfc4882.txt –

+0

Hmmmmmmmm ... Bueno, no hay nada inherente en la especificación IPv4 que implique cualquier información sobre la ubicación geográfica. Es una coincidencia conveniente (o un inconveniente, si no desea que la gente sepa en qué ciudad se encuentra) que la geolocalización se puede lograr con IPv4, basándose únicamente en el hecho de que los bloques de direcciones IP tienden a asignarse a los ISP regionales. Y en realidad, no estaba preguntando acerca de una función de geolocalización inherente en IPv6, solo para alguna transformación de una dirección IPv6 a los primeros tres octetos equivalentes de una dirección IPv4, si tal mapeo existe. – benjismith

Respuesta

16

El typical IPv6 allocation es un/32 (cuatro octetos) a un proveedor de Internet (que puede ser una multinacional), entonces /48 (six octets) a un sitio final (típicamente una organización del cliente). Puede obtener un punto de inicio de en el IANA list of delegated blocks.

Esto es solo para registros que se encuentran en las bases de datos del RIR. Asignación al final usuarios generalmente no se registra así que, mi dirección actual, 2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b le dirá solamente que la oficina central de mi proveedor está en París (ya que es una compañía nacional, los clientes pueden estar en cualquier lugar de Francia).

Otra excepción son las asignaciones PI (Provider-Independent), que son típicamente/48.

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

Al resumen: más trabajo de lo que aparentemente cree.

+2

Exactamente la información que necesito. La solución a mi problema, entonces, es esta: no implementar geolocalización para direcciones IPv6. – benjismith

0

Dado que no parece ser una manera fácil de hacer esto, sin embargo, tal vez tienen la oportunidad de hacer algo que no se hizo en el caso de IPv4 (*)

podíamos parar y preguntarnos si esta es una buena idea


(*) O si lo hizo, ¡no funcionó!

1

Los servicios y bibliotecas de geolocalización de maxmind.com manejan IPv6 OK. Quizás sus cosas sean una opción para ti. (No tengo ninguna afiliación con ellos.)

+0

el enlace a MaxMind ipv6 es [aquí] (http://www.maxmind.com/app/faq#ipv6) – Jehiah

2

corrección amistoso al comentario de Noé (jun 3 en el 7:57) -

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

+3

[MaxMind] (http://www.maxmind.com/app/faq#ipv6) no es compatible ipv6 ahora – Jehiah

1

geolocalización es malo, mmkay? el internet es independiente de la ubicación, y tengo nunca geolocalización utilizada para algo no trivial-no-malo. es decir, las únicas buenas aplicaciones que he visto (selección de idioma) fueron triviales (podría ser simplemente un menú desplegable). existen muchas aplicaciones malvadas (este video no está disponible en tu país, apuntando a mi ubicación física para anuncios y rastreo) no podemos evitar que algo como esto exista, pero debemos presionar para que sea ilegal o al menos socialmente inaceptable de usar.

+10

Estoy completamente en desacuerdo. La geolocalización es extremadamente valiosa para las empresas por muchas razones. Un ejemplo fácil es la prevención del fraude. – snurre

+4

Uso la geolocalización para precentrar un mapa de Google más cerca de donde está realmente el usuario. Hace que la aplicación sea más intuitiva y fácil de usar. ¿Cual es el problema? – thoughtpunch

+2

Geolocalización siempre elige mi casa como en un lugar a unas 100 millas de donde vivo en realidad. Y cuando voy a sitios web que lo utilizan desde el trabajo, todos piensan que estoy en Nueva York cuando estoy en Londres. Es peor que inútil en mi caso. – jcoder

2

IPv6 utiliza un esquema de direccionamiento completamente diferente en comparación con IPv4.No hay forma de que pueda asignar direcciones IPv6 a direcciones IPv4, con una excepción. Si ve direcciones IPv6 que comienzan en 2002: entonces la dirección es una dirección 6to4. Probablemente no verá muchos de esos en uso y están en desuso, pero esos son 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 en 2002: y los siguientes dos números hexadecimales son la dirección IPv4. Así 2002: 5389: 1164: corresponde a la dirección de mi propio servidor web IPv4 (83.137.17.100):

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

Pero todas las direcciones IPv6 'normales' son completamente ajenos a ninguna de las direcciones IPv4. Al menos de una manera estándar. Un ISP podría definir una relación entre las direcciones IPv4 e IPv6 al desplegar IPv6 a sus clientes. Pero no sabrá nada de esa relación, así que será inútil para usted ...

0

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

Yo no contaría con estos esquemas que ser lo suficientemente popular para hacer los informes habituales geo, protección contra el fraude, o la detección de incidentes, pero sin duda dar prioridad a una búsqueda de geo IPv4 para tales direcciones ipv4 inferidas sobre una búsqueda geográfica ipv6 (suponiendo que el db ipv4 es más completo).

Mi preocupación con la información geográfica de ipv6 es el número increíblemente grande de subredes. Las bases de datos se harán más grandes (más rangos de IP), pero para la misma cantidad de información geo terminal, las bases de datos serán más dispersas y el árbol más profundo también será más largo para iterar (para implementación que usa árboles binarios o radix) lo que implica costo de rendimiento Las bases de datos geográficas que usan tablas sql con rangos de IP probablemente también sufrirán, ya que no tenemos big-bigint de 128 bits, que yo sepa, para usar 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 de celulares y mantener tu IP. tal vez incluso al cambiar de ciudad, región o país. De alguna manera, dudo que una afinidad de dirección fuerte sea el propósito de una dirección MAC. Las direcciones Ip existen precisamente para el propósito del enrutamiento, pero creo que es justo mencionar que podrían invariablemente invadir la precisión de la ubicación geográfica, obviamente.

Creo que la colaboración de los agentes de usuario/navegadores en la capa de aplicación (algunos encabezado de ubicación geográfica, por ejemplo) es probable en el futuro, incluso si esto puede ser engañado por personas traviesas.

0

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: nena: d57: 15c8: 97b: 60c9 pertenece a Hurricane Electric en los EE. UU. El servidor real donde termina el túnel IPv4-IPv6 que utilizo está en Suiza, pero estoy en Austria. publica todo esto, así que si usted entra en el IP en una herramienta de apoyo RWhois como this, encontrará los datos de contacto de HE y somwhere cerca de la parte inferior se ve

de contacto: Nombre: Cliente Privado - El huracán eléctrica

de contacto: Calle Dirección: Residencia privada

contacto: País-Código: AT

que es mi lugar.

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 IP (de los que admiten IPv6, algunos aún no) colocan esta IP en Suiza, algunos incluso en los EE. UU.