¿Qué pasa con IPv4 y por qué nos cambiamos a IPv6?


Durante los últimos 10 años, este ha sido el año en el que IPv6 se generalizará. Aún no ha sucedido. En consecuencia, existe poco conocimiento generalizado sobre qué es IPv6, cómo usarlo o por qué es inevitable.

¿Qué pasa con IPv4?

Hemos estado usando IPv4 desde que se publicó RFC 791 en 1981. En ese momento, las computadoras eran grandes, caras y raras. IPv4 tenía provisión para 4 mil millones de direcciones IP , lo que parecía una cantidad enorme en comparación con la cantidad de computadoras. Desafortunadamente, las direcciones IP no se utilizan en consecuencia. Hay lagunas en el direccionamiento. Por ejemplo, una empresa puede tener un espacio de direcciones de 254 ( 2 ^ 8-2 ) direcciones y solo usar 25 de ellas. Los 229 restantes están reservados para futuras ampliaciones. Esas direcciones no pueden ser utilizadas por nadie más, debido a la forma en que las redes enrutan el tráfico. En consecuencia, lo que parecía una gran cantidad en 1981 es en realidad una pequeña cantidad en 2014.

El Grupo de trabajo de ingeniería de Internet ( IETF ) reconoció este problema a principios de la década de 1990 y propuso dos soluciones: enrutador de dominio de Internet sin clase ( CIDR ) y direcciones IP privadas. Antes de la invención de CIDR, podía obtener uno de tres tamaños de red: 24 bits (16.777.214 direcciones), 20 bits (1.048.574 direcciones) y 16 bits (65.534 direcciones). Una vez que se inventó CIDR, fue posible dividir las redes en subredes.

Entonces, por ejemplo, si necesita 5 direcciones IP , su ISP le proporcionará una red con un tamaño de 3 bits que le dará 6 direcciones IP . Eso le permitiría a su ISP usar direcciones de manera más eficiente. Las direcciones IP privadas le permiten crear una red en la que cada máquina de la red puede conectarse fácilmente a otra máquina en Internet, pero donde es muy difícil para una máquina en Internet volver a conectarse a su máquina. Tu red es privada, oculta. Su red puede ser muy grande, 16.777.214 direcciones, y puede dividir su red privada en redes más pequeñas, de modo que pueda administrar sus propias direcciones fácilmente.

Probablemente estés usando una dirección privada en este momento. Verifique su propia dirección IP: si está en el rango de 10.0.0.0 - 10.255.255.255 o 172.16.0.0 - 172.31.255.255 o 192.168.0.0 - 192.168.255.255 , entonces estás usando una dirección IP privada. Estas dos soluciones ayudaron a prevenir un desastre, pero eran medidas provisionales y ahora ha llegado el momento de ajustar cuentas.

Otro problema con IPv4 es que el encabezado de IPv4 era de longitud variable. Eso era aceptable cuando el enrutamiento se realizaba mediante software. Pero ahora los enrutadores se construyen con hardware y procesar los encabezados de longitud variable en hardware es difícil. Los grandes enrutadores que permiten que los paquetes viajen por todo el mundo tienen problemas para hacer frente a la carga. Claramente, se necesitaba un nuevo esquema con encabezados de longitud fija.

Otro problema más con IPv4 es que, cuando se asignaron las direcciones, Internet fue una invención estadounidense. Las direcciones IP del resto del mundo están fragmentadas. Se necesitaba un esquema para permitir que las direcciones se agreguen de alguna manera por geografía para que las tablas de enrutamiento se puedan hacer más pequeñas.

Todos estos problemas entraron en consideración de la próxima versión de Internet.

Acerca de IPv6 y sus características

El IETF dio a conocer la próxima generación de IP en diciembre de 1995. La nueva versión se llamó IPv6 porque el número 5 se había asignado a otra cosa por error. Algunas de las características de IPv6 incluidas.

  1. 128 bit addresses (3.402823669×10³⁸ addresses)
  2. A scheme for logically aggregating addresses
  3. Fixed length headers
  4. A protocol for automatically configuring and reconfiguring your network.

Veamos estas características una por una:

Lo primero que todos notan sobre IPv6 es que la cantidad de direcciones es enorme. ¿Porqué tantos? La respuesta es que los diseñadores estaban preocupados por la organización ineficiente de direcciones, por lo que hay tantas direcciones disponibles que podríamos asignar de manera ineficiente para lograr otros objetivos. Por lo tanto, si desea construir su propia red IPv6, lo más probable es que su ISP le dé una red de 64 bits (1.844674407 × 10¹⁹ direcciones) y le permita dividir en subredes ese espacio a su gusto.

Con tantas direcciones para usar, el espacio de direcciones se puede asignar escasamente para enrutar paquetes de manera eficiente. Entonces, su ISP obtiene un espacio de red de 80 bits . De esos 80 bits, 16 de ellos son para las subredes de ISP y 64 bits son para las redes del cliente. Entonces, el ISP puede tener 65,534 redes.

Sin embargo, esa asignación de direcciones no está grabada en piedra, y si el ISP quiere redes más pequeñas, puede hacerlo (aunque probablemente el ISP simplemente pediría otro espacio de 80 bits). Los 48 bits superiores se dividen aún más, de modo que los ISP que están " cercanos " entre sí tienen rangos de direcciones de red similares, para permitir que las redes se agreguen en las tablas de enrutamiento.

Un encabezado IPv4 tiene una longitud variable. Un encabezado IPv6 siempre tiene una longitud fija de 40 bytes. En IPv4, las opciones adicionales hicieron que el encabezado aumentara de tamaño. En IPv6, si se necesita información adicional, esa información adicional se almacena en encabezados de extensión, que siguen al encabezado de IPv6 y generalmente no son procesados u200bu200bpor los enrutadores, sino por el software en el destino.

Uno de los campos del encabezado de IPv6 es el flujo. Un flujo es un número de 20 bits que se crea de forma pseudoaleatoria y facilita a los enrutadores el enrutamiento de paquetes. Si un paquete tiene un flujo, entonces el enrutador puede usar ese número de flujo como un índice en una tabla, que es rápido, en lugar de una búsqueda de tabla, que es lenta. Esta función hace que IPv6 sea muy fácil de enrutar.

En IPv6 , cuando una máquina se inicia por primera vez, comprueba la red local para ver si alguna otra máquina está usando su dirección. Si la dirección no se utiliza, la máquina busca un enrutador IPv6 en la red local. Si encuentra el enrutador, le pide al enrutador una dirección IPv6 para usar. Ahora, la máquina está configurada y lista para comunicarse en Internet: tiene una dirección IP propia y tiene un enrutador predeterminado.

Si el enrutador se cae, las máquinas de la red detectarán el problema y repetirán el proceso de buscar un enrutador IPv6 para encontrar el enrutador de respaldo. Eso es realmente difícil de hacer en IPv4. De manera similar, si el enrutador desea cambiar el esquema de direccionamiento en su red, puede hacerlo. Las máquinas consultarán el enrutador de vez en cuando y cambiarán sus direcciones automáticamente. El enrutador admitirá tanto las direcciones antiguas como las nuevas hasta que todas las máquinas hayan cambiado a la nueva configuración.

La configuración automática de IPv6 no es una solución completa. Hay algunas otras cosas que una máquina necesita para usar Internet de manera efectiva: los servidores de nombres, un servidor de tiempo, quizás un servidor de archivos. Por tanto, existe dhcp6 que hace lo mismo que dhcp, solo que porque la máquina arranca en un estado enrutable, un demonio dhcp puede dar servicio a una gran cantidad de redes.

Entonces, si IPv6 es mucho mejor que IPv4, ¿por qué la adopción no se ha generalizado? (A mayo de 2014 , Google estima que su tráfico IPv6 es aproximadamente el 4% de su tráfico total)? El problema básico es ¿qué viene primero, el huevo o la gallina ? Alguien que ejecuta un servidor quiere que el servidor esté lo más ampliamente disponible posible, lo que significa que debe tener una dirección IPv4 .

También podría tener una dirección IPv6, pero pocas personas la usarían y tienes que cambiar un poco tu software para adaptarse a IPv6. Además, muchos enrutadores de redes domésticas no admiten IPv6. Muchos ISP no admiten IPv6. Le pregunté a mi ISP al respecto y me dijeron que lo proporcionarán cuando los clientes lo soliciten. Entonces pregunté cuántos clientes lo habían pedido. Uno, incluyéndome a mí.

Por el contrario, todos los principales sistemas operativos, Windows, OS X y Linux, admiten IPv6 " listo para usar " y lo han hecho durante años. Los sistemas operativos incluso tienen software que permitirá que los paquetes IPv6 "hagan un túnel " dentro de IPv4 hasta un punto en el que los paquetes IPv6 puedan eliminarse del paquete IPv4 circundante y enviarse en su camino.

Conclusión

IPv4 nos ha servido bien durante mucho tiempo. IPv4 tiene algunas limitaciones que van a presentar problemas insuperables en un futuro próximo. IPv6 resolverá esos problemas cambiando la estrategia para asignar direcciones, haciendo mejoras para facilitar el enrutamiento de paquetes y facilitando la configuración de una máquina cuando se une por primera vez a la red.

Sin embargo, la aceptación y el uso de IPv6 ha sido lento, porque el cambio es difícil y costoso. La buena noticia es que todos los sistemas operativos admiten IPv6, por lo que cuando esté listo para realizar el cambio, su computadora necesitará poco esfuerzo para realizar la conversión al nuevo esquema.