miércoles, 28 de mayo de 2008

¿Qué es IPv6?

Como todos sabemos, los nombres que usamos para conectarnos a Internet (www.google.es o www.yahoo.com) se traducen en unos números (193.110.128.200 y 216.239.55.100, en nuestro ejemplo anterior) que son los que realmente usa la Red. Es algo parecido a lo que nos pasa a nosotros con el DNI, cada uno tiene su nombre pero el identificativo único que usamos o nos piden, en nuestra vida diaria, es el número del NIF.

Las direcciones en IPv4 --esos número que vimos antes y que son los que conocemos en la Internet actual-- tienen 32 bits agrupados en 4 grupos de 8 bits, por lo que el conjunto global va de 0.0.0.0 a 255.255.255.255 (el real es más limitado por razones no vamos a explicar ahora, para no liarnos). Por tanto, idealmente se podrían asignar 4.294.967.296 direcciones. Con esto en mente, quienes diseñaron la IPv4 pensaron que esto sería más que suficiente.

El problema está en que las direcciones se asignan en bloques o subredes; o sea, se agrupan, se asignan a alguien (empresa, Universidad, etc.) y todas ellas se consideran ya ocupados (se usen o no).

Las agrupaciones clásicas son:

  • Clase A:donde se fija el primer octeto y se dejan los otros tres para que el usuario los maneje. Por ejemplo, se le asigna la subred "30.x.x.x". Las IPs asignadas al usuario son 256*256*256=16.777.216
  • Clase B: se fijan los dos primeros octetos y los dos restantes quedan para el usuario. Por ejemplo, "156.23.x.x". Las IPs asignadas al usuario son 256*256=65536
  • Clase C: se fijan los tres primeros octetos y el que resta queda para el usuario. Por ejemplo, "193.110.128.x". Las IPs asignadas al usuario son 256.

El problema, sobre todo en las primeras fases, fue que se asignaban con mucha facilidad y alegría Clases A y B, con lo que el espacio consumido y, sobre todo, el desperdiciado fue/es muy grande.

Actualmente nos enfrentamos al grave problema de que el direccionamiento IPv4 está cercano a agotarse y, por tanto, el crecimiento de Internet se pararía porque no podrían incorporarse nuevas máquina a la Red.

¿Qué es IPv6?

IPv6 es el siguiente paso a IPv4 y, entre otras muchas características, soluciona el problema de direccionamiento.

Sus características principales son:

Mayor espacio de direccionamiento (RFC 2373 o draft de 16/09/2002)

Las direcciones pasan de los 32 a 128 bits, o sea de 2^32 direcciones (4.294.967.296) a 2^128 direcciones (3.402823669 e38, o sea sobre 1.000 sixtillones).

Esto hace que:

  • Desaparezcan los problemas de direccionamiento del IPv4 actual.
  • No sean necesarias técnicas como el NAT para proporcionar conectividad a todos los ordenadores/dispositivos de nuestra red.

Por tanto, todos los dispositivos actuales o futuros (ordenadores, PDAs, teléfonos GPRS o UMTS, neveras, lavadoras, etc.) podrán tener conectividad completa a Internet.

Seguridad (RFC 2401 y RFC 2411)

Uno de los grandes problemas achacable a Internet es su falta de seguridad en su diseño base. Este es el motivo por el que han tenido que desarrollarse, por ejemplo, el SSH o SSL, protocolos a nivel de aplicación que añaden una capa de seguridad a las conexiones que pasan a través suyo.

IPv6 incluye IPsec, que permite autenticación y encriptación del propio protocolo base, de forma que todas las aplicaciones se pueden beneficiar de ello.

Autoconfiguración (RFC 2462, en español)

Al igual que ocurría con el punto anterior, en el actual IPv4 han tenido que desarrollarse protolos a nivel de aplicación que permitiesen a los ordenadores conectados a una red asignarles su datos de conectividad al vuelo. Ejemplos son el DHCP o BootP.

IPv6 incluye esta funcionalidad en el protocolo base, la propia pila intenta autoconfigurarse y descubrir el camino de conexión a Internet (router discovery)

Movilidad (RFC 3024)
Con la movilidad (o roaming) ocurre lo mismo que en los puntos anteriores, una de las características obligatorias de IPv6 es la posibilidad de conexión y desconexión de nuestro ordenador de redes IPv6 y, por tanto, el poder viajar con él sin necesitar otra aplicación que nos permita que ese enchufe/desenchufe se pueda hacer directamente.

¿Cómo son las direcciones?

Las representación de las direcciones cambia enormemente y pasan de estar representadas por 4 octetos separados por puntos a estar divididas en grupos de 16 bits (representadas como 4 dígitos hexadecimales) separados por el carácter dos puntos.

Un ejemplo:

  • la web de elmundo.es en IPv4 es 193.110.128.200
  • en IPv6 la IP deesta web es 2002:450:9:10::71, siendo su representación completa 2002:0450:0009:0010:0000:0000:0000:0071

El esquema usado de asignación es similar al anteriormente explicado para IPv4 (clases A, B y C) pero con los bloques y la capacidad de división mucho mayor.

Pongamos el ejemplo de una empresa media que necesita crear muchas subredes para sus delegaciones. Con IPv4 a lo máximo que podría aspirar --y eso teniendo mucha suerte-- sería a una Clase B (recordemos, se fijan los 16 primeros bits y los otros 16 quedarían para la empresa). En IPv6 lo común es que se asigne un /48, donde se fijan los primeros 48 bits, los 16 restantes para hacer subredes (por tanto, 65.535 posibles subredes) y los 64 restantes para la asignación de la máquina.