2008-11-08 13 views
19

¿Qué IP se asignan a qué ISPs información pública? ¿Cómo obtienen los servicios geo IP esta información y mantienen esta información?¿Cómo funciona la búsqueda geográfica por IP?

¿Cómo puedo saber personalmente dónde pertenece una determinada IP sin utilizar uno de estos servicios?

+2

Puede que le interese el [mapa IP xkcd] (http://xkcd.com/195/). –

Respuesta

36

Por lo que vale, trabajé en un nivel superior en la industria de ISP durante más de una década, así que tengo bastante experiencia con esto.

Los intervalos de IP grandes se asignan según sea necesario por IANA a cada uno de los Regional Internet Registries.

Las regiones son generalmente de tamaño continental - las direcciones IP son no asignadas por país.

A su vez, los RIR asignan direcciones IP a los ISP, que a su vez los asignan a los usuarios finales.

Cada uno de los RIR tiene un servidor whois que se puede consultar para averiguar no solo a qué ISP se le ha asignado ningún bloque de red, sino hasta cierto punto qué usuario final y la dirección de ese usuario final.

Tenga en cuenta que muchos ISP no completan esta información para cada cliente. Por lo tanto, si usted es un suscriptor residencial de un servicio DSL, es probable que los registros geográficos den la dirección de su ISP, y no su propia dirección.

Los diversos proveedores de GeoLocation trabajan principalmente extrayendo estos registros whois. Tenga en cuenta que la legalidad de hacerlo es algo así como un área gris: la declaración de copyright de la base de datos de RIPE es here.

IANA también mantiene la zona raíz para el DNS, pero eso está completamente separado de cualquier función de asignación de IP. Es muy importante mantener la distinción entre las operaciones de nombre de dominio y las direcciones IP.

2

Tenga cuidado, los datos a menudo se actualizan lentamente, y aún más lento para replicar. Mi puesto de trabajo cambió los ISP hace varios años, y nos asignaron un bloque de direcciones IP canadienses (tenemos nuestra sede en los EE. UU.), Durante meses Google continuó dándonos google.ca como nuestro motor de búsqueda predeterminado. Alrededor de la mitad del tiempo, la dirección IP de mi casa proviene de mi ciudad, la otra 1/2 de una ciudad en otro estado.

Jason tiene razón en que el proceso es el mismo, pero las actualizaciones son aún más lentas y los datos menos precisos.

+0

Bueno, sí, a medida que se mueve hacia abajo en la pila de dominios, las cosas se vuelven cada vez más lentas y tarda más tiempo en propagarse ... –

+0

También hay problemas si su ISP tiene su sede en otro país. Joel escribió sobre esto con su anfitrión siendo canadiense. –

+0

Jason - eso es basura. No es "qué tan abajo en la pila" estás. Cualquier ISP puede hacer un cambio que sea visible en los datos de "whois" al instante. Lo que es lento es el rastreo (probablemente ilegal) de esos datos por parte de los proveedores de GeoLoc. – Alnitak

4

Hay una variedad de bibliotecas que tienen tablas de asignación, así como servicios que puede incorporar a su código.

Lo más importante para entender es que hay sin relación directa entre una dirección IP y cualquier parte del mundo. Las direcciones se asignan en bloques grandes a organizaciones que son aproximadamente geográficas, que a su vez asignan bloques más pequeños, esto puede suceder en varios niveles para cualquier dirección IP dada (Alnitak explica bien el proceso).

El hecho es que los datos de WHOIS no tienen que ser precisos. Si tengo un bloque de direcciones, puedo decir que está en Marte. E incluso si reduce la ubicación de la organización final (por ejemplo, un ISP muy pequeño en Alaska), es posible que el usuario esté usando acceso telefónico desde Hawai o que el servidor aloje una empresa de Guam.

Por lo tanto, siempre hay un elemento de riesgo/estimación al asignar una dirección IP (o un nombre de dominio) a una ubicación física. Esto no quiere decir que nunca deba hacerlo, hay muchas aplicaciones donde la información aproximada o imperfecta es muy útil.

1

La respuesta de Alnitak es bastante acertada.

Como nota al margen, si desea utilizar un .dll para determinar la ubicación del usuario, puede intentarlo con IPAddressExtension que se encuentra en CodePlex. Tiene una base de datos interna de los ISP a las ubicaciones. Como se mencionó anteriormente por Alnitak, cada ISP tiene bloques de IP ... por lo que esta información está enterrada dentro del .dll :)

Es realmente fácil de usar. Simplemente haga referencia al .dll y luego cree una instancia de un objeto System.Net.IpAddress! las extensiones están enlistadas en él.

También necesito declarar que soy el autor de ese proyecto o producto Codeplex.

favor comprobarlo :)

EDIT: información añadida de que yo era el autor de ese producto.

+3

Debe editar su respuesta para indicar que usted es, de hecho, el autor de IPAddressExtension. De lo contrario, las personas pueden pensar que estás abusando de los términos de uso de SO. – bzlm

4

Para responder a la pregunta específica sobre "cómo funciona": hay una gran cantidad de trabajo manual involucrado, y las bases de datos se mantienen en gran medida manualmente. Tal como lo señalan otras respuestas, no existe una correlación real entre los rangos de IP y los países, y mucho menos las regiones específicas. Recientemente, el sistema de distribución de espacio de direcciones IP ha sido aún más descentralizado, lo que significa que los pequeños proveedores privados pueden adquirir rangos de direcciones IPv4 independientemente de la región geográfica. Es por eso que Google accedió a Urchin para que pudieran usar sus servicios para Google Analytics, que proporciona muy información precisa de IP a región geográfica.

Si no desea utilizar un servicio como MaxMind (gratuito para uso personal, y la base de datos está abierta hasta cierto punto) o Google Analytics (gratuito para uso personal), no hay forma gratuita (y por lo tanto siempre un poco obsoleta) bases de datos flotando, a veces como archivos planos.

Cuestiones relacionadas