Monografias.com > Computación > Internet
Descargar Imprimir Comentar Ver trabajos relacionados

Identificar clientes por su IP: un mecanismo obsoleto



    Tomar la dirección IP de un cliente para
    tratar de individualizarlo es un método muy
    usado por la mayoría de los programas de
    Internet. Este
    método (que funcionó muy bien durante varios
    años), en el escenario actual de Internet ya no funciona,
    dando lugar a grandes confusiones.

    Este artículo describe detalladamente las razones
    de este cambio de
    escenario, y presenta las soluciones que
    pueden adoptar los programadores y webmasters para recobrar la
    exactitud perdida.

    Uno de los fundamentos técnicos de Internet
    consiste en que cada dispositivo u ordenador que se conecta a la
    red de redes debe poseer una
    única dirección IP (Internet Protocol) que lo
    identifique.

    Basados en esta afirmación, muchos programas en
    la web intentan
    identificar a sus visitantes usando la IP que éstos
    muestran en sus cabeceras de petición HTTP (lo que el
    explorador envía al servidor para
    indicarle: "quiero ver tal página"):

    • Muchos sistemas de
      encuestas
      (polls) no dejan votar más de una vez al día a
      una determinada IP, para evitar que un usuario pueda manipular
      los resultados votando muchas veces.
    • Muchos sistemas de estadísticas se basan en la IP del
      usuario para determinar si las visitas que recibe un sitio
      provienen de diferentes clientes, y cuántas visitas
      repetidas nos generan algunos clientes en
      particular.
    • Muchos sistemas de estadísticas usan nuestra
      propia IP para evitar contabilizar nuestros propios accesos a
      nuestro sitio web, y de esta forma mostrarnos sólo la
      actividad de los clientes reales.
    • Muchos sistemas de intercambio de tráfico
      (tops, CJs, ad-Servers y rotadores de banners) leen la IP del
      cliente para determinar si una visita es "unica" o "raw": es
      decir, si se trata de un cliente que nos visita por primera vez
      en el día, o si es un "click" repetido, ya sea de
      alguien que está entrando de nuevo a un link que ya
      visitó, o está recargando la página, o
      retrocediendo en el historial del navegador.
    • Todos estos "controles" basados en la IP del cliente
      están asumiendo ingenuamente que cada PC conectada a
      Internet tiene una IP única que lo identifica, tal como
      decían los libros hace
      unos pocos años.
      Pero esto ya no es así, desde que Internet
      comenzó su expansión masiva y las direcciones IP
      comenzaron a escasear. Hoy nos encontramos con un escenario
      algo cambiado: es posible encontrar cientos, e incluso miles de
      PCs que comparten una misma IP. Pero el software que no
      se ha adaptado a estos cambios seguirá considerando que
      todo ese enorme conjunto de máquinas
      es un solo cliente, aunque en realidad se trate de todo un
      pueblo o una pequeña ciudad…
    • Entonces el mecanismo de encuestas dejará
      votar a una sola persona de esa
      ciudad (al primero que se levante a votar ese día). Los
      demás vecinos no podrán votar en el sistema de
      encuesta,
      que les dará el mensaje: "usted ya ha votado
      hoy".
    • Los sistemas de estadísticas nos
      estarán marcando que tenemos una menor cantidad de
      visitantes individuales, pero a su vez nos indicará que
      los mismos mantienen una intensa actividad dentro de nuestro
      sitio web.
    • Si compartimos nuestra IP con otros vecinos, y
      configuramos nuestro sistema de estadísticas para que no
      registre nuestra propia actividad, entonces tampoco
      estará registrando las visitas provenientes de los
      demás usuarios con que compartimos nuestra IP. Y
      éstos pueden ser decenas, cientos, o miles.
    • Los sistemas de intercambio de tráfico
      estarán considerando que las visitas de un número
      creciente de personas son "raw", o repetidas. Y en algunos
      casos puede penalizarse un intercambio (y bajar su
      posición en el top o en las listas de enlaces) si se
      reciben muchas visitas desde las mismas ciudades o pueblos (o
      al menos desde clientes que se conecten mediante un mismo
      proveedor de Internet).

    Cómo y por qué se comparten las
    IP

    Cuando hace 10 años yo era consultor de una empresa que
    contrató un enlace permanente a Internet de 64 Kbps, el
    proveedor de Internet nos asignó un bloque de 32
    direcciones IP. "Una dirección IP por cada 2 Kbps" era la
    norma prácticamente en todo el mundo. En esa empresa
    había unos 25 puestos de trabajo para
    conectarse a Intenet. De forma que asigné una IP para cada
    máquina.

    El año pasado asesoré a otra empresa para
    conectar sus sistemas a Internet. Se contrató una
    línea de 2 Mbps, y el proveedor nos asignó 2
    direcciones IP (una IP por cada 1 Mbps) 500 veces menos que hace
    10 años! (en aquel entonces nos hubiesen asignado 1024
    direcciones IP). Esto es porque los anchos de banda (las
    velocidades de transmisión de datos) han
    aumentado, pero el número de posibles direcciones IP sigue
    siendo exactamente el mismo desde que se inventó Internet.
    Los investigadores han diseñado un nuevo protocolo llamado
    IPv6 (IP versión 6, a diferencia del que está
    actualmente en uso que es IP versión 4). Pero el IPv6
    aún está lejos de ser usado mundialmente, a pesar
    de que los sistemas
    operativos avanzados (como Linux) ya lo
    traen desde hace tiempo. Cuando
    el IPv6 esté en uso mundialmente, ya no existirán
    las situaciones problemáticas a que hago referencia en
    este artículo.

    Pero por el momento, los proveedores de
    acceso a la red están usando soluciones que posibilitan el
    acceso a mucha más gente al Intenet, pero por otro lado
    complican al webmaster y al administrador de
    servidores en
    la tarea de identificar a los clientes que acceden a los sitios
    web.

    NAT:
    la técnica más usada para compartir una
    IP

    El NAT (Network Address Translation) permite que muchos
    clientes usen una misma IP, y funciona de la siguiente forma: La
    red de clientes tiene en cada una de las computadoras
    una IP interna que no es válida en Internet (a estas IP se
    les llama direcciones de red privada, y son 192.168.x.x para la
    clase C;
    172.16.x.x para la clase B, y 10.x.x.x para la clase
    A).

    Todas las máquinas de la red privada están
    configuradas para usar como puerta de enlace (o gateway) a una
    máquina o router que
    sí tiene su propia IP real. Este dispositivo de enlace
    tiene entonces 2 direcciones IP: una interna, que es la que ven
    el resto de las máquinas cliente (y que a la vez la usan
    como puerta de enlace), y una IP externa real, que es la que se
    ve desde Internet.

    Cuando una máquina de la red interna quiere
    acceder a un sitio en Internet, entonces hace la solicitud a su
    puerta de enlace. Y la puerta de enlace (el router NAT) repite la
    solicitud desde su conexión a Internet, como si la
    estuviese generando él mismo. Cuando el NAT recibe la
    respuesta desde el sitio de Internet, la copia a la red interna,
    enviándola a la máquina que generó la
    petición inicialmente. Es entonces un "intermediario" para
    toda la actividad de sus clientes. Un router NAT, visto desde
    Internet, parece ser una máquina normal, pero con una
    actividad muy intensa.

    El NAT no es la única técnica de acceso a
    Internet que invalida el viejo concepto de "1
    cliente <–> 1 IP"
    que muchos programas pretenden usar
    como mecanismo de control.
    También exiten proxys anónimos, IPs
    dinámicas, etc. Pero a efectos de este artículo,
    trataremos el NAT como principal problema, sabiendo que las
    soluciones son las mismas para los diferentes escenarios
    técnicos.

    Esquema de una red conectada a Internet
    mediante NAT

    Posibles
    soluciones

    La reivindicación de las cookies: las cookies son
    parte del protocolo HTTP. Son un pequeño puñado de
    datos que el servidor es capaz de almacenar en la PC del cliente:
    un número de usuario o de sesión, preferencias de
    idioma, etc. Su uso es muy seguro tanto para
    el ciente como para el servidor. Pero el problema es que el
    usuario tiene la posibilidad de borrar las cookies de su PC (o
    directamente puede configurar su navegador para que no las
    acepte). Pero en más de un 95% de los clientes, las
    cookies harán su trabajo maravillosamente bien.

    La "huella" de la PC: es el método más
    nuevo y el menos conocido y usado, pero también el
    más exacto. Consiste en obtener un sumario de las
    caracterísitcas de la máquina del ciente que
    establece una conexión. A su IP se suma el tamaño
    de su pantalla, la profundidad de color de su
    tarjeta de video,
    la versión del sistema opertaivo, el modelo y
    versión del explorador, si tiene instalado flash, quicktime,
    shockwave, Real Player, etc, etc.

    Leyendo la "huella" de los usuarios, aunque los veamos
    conectarse desde una misma IP, sabremos por sus
    características que se trata de máquinas
    diferentes, y es posible identificarlas con gran
    precisión. Aún si todas las máquinas fueran
    iguales (dentro de una empresa, por ejemplo), pronto los usuarios
    les instalan plugins de software que modifican la huella de cada
    máquina. El sólo hecho de modificar el
    tamaño de pantalla modifica la huella también: de
    modo que en pocas horas, en un parque de máquinas
    e^xactamente iguales y que comparten una IP, se estaría en
    condiciones de individualizar la actividad que provenga de cada
    máquina.

    Conclusión

    En el estado
    actual de la tecnología, la
    combinación de cookies y "huella" del computador nos
    da una visión razonablemente precisa sobre la actividad de
    nuestros visitantes en los sitios web. Y la identificación
    de usuarios por su IP ya debería ser descartada por su
    inexactitud (que va en aumento).

    Por Ing. Eduardo González
    González

    www.eduardo-gonzalez.com

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter