Tutoriales

IPv4 vs IPv6 – Qué es y para qué se utiliza en redes

Internet y el mundo de las redes no sería tal y como lo conocemos, e incluso no existiría si no fuera por el direccionamiento IPv4. Un protocolo de suma importancia en las conexiones entre dispositivos a través de la red tanto por medio físicos como inalámbrico. Hoy veremos todo lo que tiene que ver con las IP y analizaremos las diferencias entre IPv4 vs IPv6 explicando sus principales características.

IPv4 y el modelo OSI

Habrá que empezar por la básico, que es definir y entender qué es y para qué sirve una dirección IP sea IPv4 o IPv6.

Este tutorial forma parte de nuestras guías de fundamentos de redes.

Modelo OSI el estándar de redes

Y para ello debemos hacer una rápida referencia al modelo OSI (Open System Interconection). Se trata de un modelo de referencia y no una arquitectura de red, para los diferentes protocolos de red que intervienen en las comunicaciones a través de equipos informáticos. El modelo divide en 7 niveles los sistemas de telecomunicaciones para diferenciar las distintas etapas de recorrido de los datos desde un punto a otro así como los protocolos que intervienen en cada una.

Ya sabemos que hay un modelo que clasifica por así decirlo los protocolos de red, y precisamente IPv4 e IPv6 son dos de estos protocolos de red. En este caso operan en uno de los niveles más bajos del modelo, la capa de red o capa 3. Esta capa se encarga del enrutamiento de paquetes entre dos redes conectadas. Hará que los datos puedan llegar desde el transmisor al receptor mediante conmutaciones y encaminamientos necesarios desde un punto a otro.

Por debajo de ella tenemos la capa de enlace de datos (capa 2) en la que trabajan los switch, y por encima la capa 4 o capa de transporte en la que interviene el protocolo TCP que transporta los paquetes mediante datagramas.

Que es una dirección IP

Hablamos de dirección IP como un conjunto numérico en decimal o hexadecimal (ya lo veremos) que identifica de manera lógica y atendiendo a una jerarquía una interfaz de red. A todo dispositivo conectado a una red se le debe asignar una dirección IP, un identificador temporal como puede ser nuestro DNI mientras estemos en este mundo o un número de teléfono mientras tengamos contratado un servicio telefónico. Gracias a la IP los distintos equipos se pueden comunicar entre ellos haciendo que los paquetes viajen por la red hasta encontrar su destinatario.

La dirección IP puede ser fija (IP fija) o dinámica (DHCP o Dynamic Host Configuration Protocol), siempre asignada por un servidor o un enrutador que trabaje en la capa de red. Cuando hablamos de IP fija quiere decir que host siempre tendrá la misma dirección IP, aunque se apague y se vuelva a encender. Mientras que en DHCP la IP se asigna de forma dinámica al host cuando se encienda, claro que a los nodos de una red se les suele entregar la misma dirección IP siempre tras asociarse la primera vez al enrutador.

En la arquitectura de red debemos diferenciar entre red pública, que sería Internet, y la red privada, la que hay detrás de nuestro router en la que están nuestros equipos y Smartphone o Tablets si nos conectamos a una Wi-Fi. En el primer caso hablamos de IP externa, que sería la dirección que es asignada al router para comunicarse con Internet, una dinámica casi siempre que nos entrega nuestro ISP. En el segundo hablamos de IP interna, a la dirección que el router da a los equipos de nuestra red, que casi siempre es del tipo 192.168.x.x.

No debemos confundir IP con dirección MAC, que es otra dirección esta vez fija y unívoca que identifica cada equipo en la red. Esta viene puesta de fábrica, como el IMEI de un teléfono, aunque es posible modificarla identifica al host en la capa de transporte del modelo OSI. De hecho el switch o el router es que el relaciona la MAC con la IP. Una MAC es un código de 48 bits expresado en notación hexadecimal en 6 bloques de dos caracteres.

Protocolo IP

La dirección IP es el identificador perteneciente al protocolo IP (Internet Protocol), el cual es el sistema de direccionamiento IPv4 e IPv6 como versión más nueva y preparada para el futuro. Es un protocolo que opera en la capa de red y no orientado a la conexión, esto significa que la comunicación entre dos extremos de una red e intercambio de datos se puede hacer si un acuerdo previo. Es decir, el receptor transmite datos sin saber si el recetor está disponible, así que a este le llegaran cuando se encienda y esté conectado.

IPv4 e IPv6 transfieren paquetes de datos conmutados a través de las redes físicas que operan según el modelo OSI. Esto se hace gracias al enrutamiento, una técnica que permite al paquete buscar la ruta más rápida hacia el destino aunque sin garantías de que llegue, claro que esta garantía la da la capa de transporte de datos con TCP, UDP, u otro protocolo.

Los datos que maneja el protocolo IP se dividen en paquetes llamados datagramas, los cuales no cuentan con ningún tipo de protección o control de errores para su envío. Si un datagrama se enviará solo con IP podría o no llegar, roto o completo, y en un orden aleatorio. Solamente lleva información sobre la dirección IP de origen y de destino junto a los datos. Desde luego esto no parece muy fiable, así que en la capa de transporte se coge este datagrama y se envuelve en un segmento TCP o UDP que añade control de errores y mucha más información.

IPv4

Ahora centrémonos en el protocolo IPv4, el cual lleva operando en redes desde 1983 cuando se creó la primera red de intercambio de paquetes ARPANET el cual está definido por la norma RFC 791. Y como dice su denominación es el protocolo IP en versión 4, pero es que no tenemos versiones previas implementadas y este fue el primero de todos.

IPv4 utiliza una dirección de 32 bits (32 unos y ceros en binario) dispuestos en 4 octetos (números de 8 bits) separados por puntos en notación decimal. Trasladando esto a la práctica será un número tal que así:

192.168.0.102

De esta forma podremos tener direcciones que van desde la 0.0.0.0 hasta la 255.255.255.255. si traducimos la IP anterior a su código binario tendremos:

192.168.0.102 = 11000000.10101000.00000000.01100110

Es decir 32 bits, así que con IPv4 seremos capaces de direccionar un total de:

232 = 4 294 967 296 hosts

Podrán parecer muchos pero en la actualidad las direcciones IPv4 están prácticamente agotadas, ya que 4 mil millones de ordenadores es una cifra bastante normal a día de hoy. De hecho ya en 2011 empezaron a escasear, cuando el organismo encargado de dar direcciones IP en china dio uso al ultimo paquete, así que apareció al rescate el protocolo IPv6. Llevamos ya casi 40 años utilizando este direccionamiento, así que como tiempo de vida no está nada mal.

Debemos tener en cuenta que las direcciones IP internas serán siempre las mismas en redes LAN, y no se verán influidas por las IP externas. Esto quiere decir que en una red interna podremos tener un host que tenga la 192.168.0.2, y esta también la utilizara otros hosts de otra red interna, pudiéndose replicar todas las veces que queramos. Pero las direcciones IP externas son vistas por toda la red de Internet, y estas no se pueden repetir en ningún caso.

Cabecera IPv4

Por ello conviene darle un repaso a la estructura de una cabecera IPv4 la cual tiene un tamaño mínimo de 20 Bytes y máximo de 40 Bytes.

Cabecera IPv4

Vamos a explicar de forma rápida cada apartado, ya que luego algunos serán extensibles a IPv6

  • Versión (4 bits): identifica la versión del protocolo, siendo 0100 para v4 y 0110 para v6.
  • IHL (4 bits): es el tamaño de la cabecera, que puede ser de 20 bytes hasta 60 bytes o lo qu es lo mismo desde 160 bits a 480 bits.
  • Tiempo de servicio (8 bits): un identificador en caso de que el paquete sea especial, por ejemplo más importante en cuenta a urgencia de entrega.
  • Longitud total (16 bits): refleja el tamaño total que tenga el datagrama o del fragmento en octetos.
  • Identificador (16 bits): se usa si el datagrama es fragmentado para que luego pueda unirse
  • Flags (3 bits) y Offset o posición del fragmento (13 bits): 1º bit será 0, 2º bit (0=divisible, 1 no divisible), 3º bit (0=ultimo fragmento, 1=fragmento intermedio)
  • TTL (8 bits): tiempo de vida del paquete IPv4. Refleja la cantidad de saltos en enrutadores que puede dar, siendo de 64 o 128. Cuando se agota el paquete se elimina.
  • Protocolo: indica el protocolo al que debe entregarse el datagrama en capas superiores, por ejemplo TCP, UDP, ICMP, etc.
  • MD5 Checksum: para controlar la integridad del paquee recalculándose cada vez que algún valor anterior cambie.

IPv6 y diferencias con IPv4

Aunque explicar de forma completa uno de estos protocolos es un mundo, no podemos hacer esto eterno, así que vamos a seguir ahora con IPv6 o protocolo de Internet versión 6. ¿Y dónde está la versión 5? Pues en ningún lado, solo fue experimental, así que veamos qué es y cuáles son las diferencias con IPv4.

Absolutamente todos habremos visto alguna vez una dirección IP de las anteriores, pero seguramente una de estas muchas menos veces, o ni siquiera nos hemos fijado. IPv6 se implementó en el año 2016 con la definición de su norma RFC 2460, y básicamente está destinado a sustituir cuando sea el caso, a IPv4 de forma definitiva. Este estándar nació de la necesidad de darle a los asiáticos más direcciones IP. Las direcciones IP se reservan por así decirlo, y el último paquete se reservó en 2011 como se ha comentado antes. Esto no quiere decir que ya estén todas utilizadas, ya que las compañías las van utilizando cuando se suman más nodos a la red.

IPv6 también está pensado para proporcionar IP fijas a todo tipo de dispositivos. Pero ¿Cuántas direcciones IP más podremos dar con esta nueva versión? Pues van a ser unas cuantas, ya que esta dirección utiliza 128 bits con una mecánica similar a la anterior. Pero en esta ocasión se hace mediante notación hexadecimal para que ocupe menos espacio, ya que representar 128 bits en octetos desembocaría en una dirección enormemente larga. Así que en este caso se compone de 8 secciones, cada una de ellas de 16 bits.

Trasladando de nuevo esto a la práctica será un número alfanumérico que se verá así:

fe80 : 1a7a : 80f4 : 3d0a : 66b0 : b24b : 1b7a : 4d6b

De esta forma podremos tener direcciones que van desde la 0:0:0:0:0:0:0:0 hasta la ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. Esta vez no vamos a traducir en código binario esta dirección simplemente para no caer en depresión, pero tendría 128 ceros y unos. Cuando veamos alguna de estas direcciones en nuestro equipo o cualquier otro host es posible que se represente con menos grupos, y es que si tenemos grupos con solamente ceros estos se podrán omitir siempre que estén a la derecha.

Ahora con IPv6 y estos 128 bits seremos capaces de direccionar un total de:

2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 hosts

De esta forma los chinos podrán instalar todos los servidores que quieran sin limitación alguna, ya que su capacidad es una verdadera barbaridad. Aunque en la actualidad aún no está funcionando en solitario, nuestros equipos ya disponen de una dirección IPv6 en su tarjeta de red.

Cabecera IPv6 vs IPv4 y otras novedades

Lo importante de implementar un nuevo direccionamiento es hacerlo retrocompatible con los protocolos anteriores y que operando en otras capas. El uso de IPv6 se puede utilizar con los demás protocolos de las capas de aplicación y transporte sin apenas hacer modificaciones en las cabeceras, excepto FTP o NTP por integrar en ellos las direcciones de la capa de red.

También se ha estudiado la forma de simplificar la cabecera del protocolo, haciéndola más sencilla que en IPv4 y de longitud fija, lo que ayuda mucha a la velocidad de su procesado e identificación del datagrama. Esto quiere decir que debemos enviar la información con IPv4 o IPv6 pero no con ambos mezclados. Veamos esta cabecera:

Cabecera IPv6

Ahora la cabecera se simplifica a pesar de ser el doble más larga que la de IPv4 si no añadimos opciones en forma de cabeceras de extensión.

  • Versión (4 bits)
  • Clase de tráfico (8 bits): es igual que el control de prioridad del paquete
  • Etiqueta de flujo (20 bits): gestiona el QoS
  • Longitud de datos (16 bits): obviamente es cuanto mide el espacio para datos siendo de 64 KB como tamaño estándar y determinado por los jumboframes
  • Cabecera siguiente (8bits): corresponde al apartado de protocolo de IPv4
  • Límite de saltos (8 bits): sustituye a TTL
  • Cabeceras de extensión: añaden opciones extras para fragmentación, para cifrado, etc. Hay 8 tipos de cabeceras de extensión en IPv6

Entre las novedades que incluye este protocolo se puede destacar una mayor capacidad de direccionamiento incluso en subredes o redes internas y de una forma más simplificada. Ahora podremos tener hasta 264 host en una subred con solo cambiar unos cuantos identificadores de nodos.

A esto se le suma la posibilidad de que cada nodo se pueda autoconfigurar cuando se incluye en una res IPv6. En este caso no se solicitará una IP al enrutador, sino una solicitud pidiendo los parámetros de configuración por ND, a esto se le llama autoconfiguración de direcciones libres de estado (SLAAC). Aunque también se puede utilizar DHCPv6 si no es posible hacerlo.

IPsec en este caso no es opcional, sino obligatorio e implementado directamente en IPv6 para los routers que operan ya con este protocolo. A esto le añadimos soporte para Jumbogramas, es decir, datagramas Jumbo mucho más grandes que los de IPv4 que eran máximo de 64KB, pudiendo llegar ahora hasta los 4 GB.

En resumen aquí os dejamos las dos tables para hacer notar la diferencia entre ambas cabeceras IPv4 vs IPv6.

Cabecera IPv4 vs IPv6

  • Azul: campos comunes en ambas cabeceras
  • Rojo: campos que se han suprimido
  • Verde: campos que han sido renombrados
  • Amarillo: campos nuevos

Cómo saber nuestra dirección IP privada, pública e IPv6

Antes de terminar, nos enseñamos cómo conocer nuestras direcciones IP, la de nuestro equipo y la de nuestro router.

Para saber la dirección IPv4 e IPv6 local en Windows 10 existen varios métodos, pero la forma más rápida es con el símbolo del sistema. Así que abrimos Inicio, escribimos CMD y pulsamos Enter. Hay escribiremos

ipconfig

Y recibiremos el resultado.

Y para saber la dirección IP pública tendremos que recurrir a nuestro navegador o router. podemos hacer en la página:

Cual-es-mi-IP

Y finalmente podremos comprobar si nosotros tenemos una dirección IPv6 pública de la siguiente forma:

Test-IPv6

Os dejamos con algunos tutoriales de redes relacionados con el tema

¿Sabías que tu PC tiene IPv6, sabías que existía? Ti tienes alguna duda o quieres puntualizar algo estaremos encantados de ayudarte desde los comentarios.

José Antonio Castillo

Graduado en Ingeniería en Tecnologías Industriales. Amante de la informática, el gaming y casi cualquier deporte de motor.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba