Skip to content

Guías

IPv4 frente a IPv6

Por qué existen dos sistemas de direcciones, qué cambió realmente y cómo saber qué tienes.

A un protocolo se le acabaron los números

IPv4 da a cada dirección 32 bits, lo que permite unos 4300 millones de valores distintos. Era una cifra extraordinariamente generosa en 1981 y claramente insuficiente a mediados de los noventa. Los registros regionales empezaron a agotar sus reservas libres en 2011, y hoy una dirección IPv4 es un activo que se compra y se vende.

IPv6 usa 128 bits. El número de direcciones que eso produce no se expresa de forma útil en lenguaje corriente: son unos 340 sextillones, suficiente para asignar una dirección única a cada átomo de la superficie de la Tierra varias veces. El sentido de ese margen absurdo es que las asignaciones puedan ser generosas y jerárquicas sin que nadie tenga que volver a racionar.

Todo lo demás de IPv6 se deriva de tener direcciones de sobra. En cuanto dejas de racionarlas, un hogar puede tener miles de millones en lugar de una, la traducción de direcciones deja de ser necesaria y cada dispositivo puede llevar una dirección realmente enrutable a nivel global.

Las diferencias que se notan

IPv4 IPv6
Longitud de la dirección 32 bits 128 bits
Total de direcciones Unos 4300 millones Unos 340 sextillones
Notación Cuatro octetos decimales — 93.184.216.34 Ocho grupos hex — 2606:2800:220:1:248:1893:25c8:1946
Asignación doméstica típica Una dirección compartida Un /64 o mayor, direcciones por dispositivo
Traducción de direcciones Casi siempre (NAT) Normalmente ninguna
Difusión (broadcast) Ninguna: multicast en su lugar
Tamaño de cabecera 20 bytes, variable 40 bytes, fijo
Fragmentación Los routers pueden fragmentar Solo el emisor
Configuración de dirección DHCP, normalmente SLAAC o DHCPv6
Reservado para documentación 192.0.2.0/24 2001:db8::/32

Leer una dirección IPv6

La notación parece intimidante y no lo es. Una dirección son ocho grupos de cuatro dígitos hexadecimales separados por dos puntos. Dos reglas de abreviatura la hacen manejable: se pueden omitir los ceros a la izquierda dentro de un grupo, y exactamente una serie de grupos consecutivos todo a ceros puede reducirse a dos puntos dobles.

Así, 2001:0db8:0000:0000:0000:ff00:0042:8329 puede escribirse 2001:db8::ff00:42:8329. Los dos puntos dobles solo se permiten una vez por dirección, porque con dos no habría manera de saber cuántos grupos de ceros representaba cada uno.

La longitud del prefijo funciona igual que en la notación CIDR de IPv4. Un /64 es el tamaño estándar de un segmento de red, y no es una asignación pequeña: contiene 18 trillones de direcciones, y por eso la autoconfiguración sin estado puede generar una dirección sin riesgo real de colisión. A las conexiones domésticas se les suele delegar un /56 o un /48, lo que da cientos o miles de segmentos /64 separados.

La autoconfiguración sustituye a DHCP para la mayoría de dispositivos

En IPv4, un dispositivo pide una dirección a un servidor DHCP y este se la da de un rango. Los dispositivos IPv6 usan normalmente autoconfiguración sin estado: el router anuncia el prefijo de red y cada dispositivo genera su propia parte de host y comprueba que nadie más la esté usando. Ningún servidor lleva el registro de la asignación, algo posible solo porque el espacio de direcciones es tan grande que una elección aleatoria prácticamente nunca colisiona.

Direcciones de privacidad, y por qué la tuya cambia

Al principio, IPv6 derivaba la parte de host de la dirección física de la tarjeta de red. Eso producía un identificador estable y globalmente único que seguía a un portátil de casa a la oficina y a la cafetería: un identificador de seguimiento por accidente, y de los serios.

Las extensiones de privacidad lo corrigieron. Los sistemas operativos modernos generan una dirección temporal aleatoria para las conexiones salientes y la rotan, normalmente una vez al día, manteniendo una dirección estable para las conexiones entrantes. La consecuencia práctica es que la dirección IPv6 que un sitio ve hoy será distinta de la que vio la semana pasada, aunque nada de tu conexión haya cambiado. Funciona como debe.

Doble pila y Happy Eyeballs

Casi nadie usa un solo protocolo en exclusiva. Lo normal es la doble pila: ambos protocolos configurados en la misma conexión, y el sistema operativo eligiendo entre ellos según el destino. Cuando un nombre resuelve a un registro A y a un registro AAAA, el cliente tiene que decidir.

Los navegadores implementan un algoritmo llamado Happy Eyeballs justamente para eso. En vez de comprometerse con IPv6 y esperar a que expire el tiempo si está roto, el navegador inicia una conexión IPv6, le da una pequeña ventaja de decenas de milisegundos, luego inicia una conexión IPv4 en paralelo y usa la que se complete primero. El resultado es que una implantación defectuosa de IPv6 degrada a un retraso apenas perceptible en vez de a un fallo, lo que explica en buena parte que IPv6 haya podido desplegarse.

Lo que cuesta el NAT y lo que cambia quitarlo

La traducción de direcciones fue un apaño que se volvió permanente. Funciona lo bastante bien como para que casi nadie piense en ella, pero tiene costes reales: las conexiones entrantes necesitan redirección de puertos explícita, los protocolos entre pares necesitan trucos elaborados para atravesarla, cada conexión ocupa una entrada en una tabla de estado compartida, y los registros del otro lado no pueden distinguir dispositivos detrás de una misma dirección.

El CGNAT empeora todo eso al poner a muchos clientes detrás de una sola dirección. La redirección de puertos se vuelve imposible, un cliente abusivo puede conseguir que bloqueen la dirección de todos los que la comparten, y la geolocalización pierde precisión. IPv6 elimina la necesidad de todo ello, y ese es el beneficio más concreto del día a día.

Comprobar qué tienes de verdad

La prueba fiable no es lo que digan tus ajustes, sino lo que observe un servidor externo. Una sonda accesible solo por IPv4 y otra accesible solo por IPv6 responderán únicamente si ese protocolo funciona de extremo a extremo, que es la diferencia entre tener IPv6 configurado y tener IPv6 funcional.

Un estado habitual y confuso es tener una dirección IPv6 asignada localmente sin ninguna ruta IPv6 funcional a internet. Tu dispositivo informa de una dirección, los ajustes parecen correctos, y todos los destinos solo-IPv6 agotan el tiempo de espera. Probar contra un extremo externo real es la única manera de distinguirlo.

Preguntas frecuentes

¿Necesito IPv6?

Para navegar no: todo servicio solo-IPv6 que merezca la pena está también disponible por IPv4 mediante alguna forma de traducción, y lo seguirá estando durante años. Pero tenerlo es mejor que no tenerlo: elimina una capa de traducción de direcciones entre tú y los sitios que lo soportan, lo que mejora de forma medible el establecimiento de conexiones con los servicios grandes, y es el único camino que no depende de un suministro de direcciones IPv4 cada vez más tensionado. Si tu proveedor lo ofrece, no hay motivo para desactivarlo.

¿Por qué mi dirección IPv6 cambia tan a menudo?

Por diseño. Las extensiones de privacidad, definidas en el RFC 4941 y activadas por defecto en la mayoría de sistemas operativos, generan una dirección temporal para las conexiones salientes y la rotan con regularidad, a menudo a diario. Existen precisamente porque una dirección derivada de tu hardware te seguiría entre redes y actuaría como identificador de seguimiento. Tu dirección estable sigue existiendo para las conexiones entrantes; la que ven los sitios es la que cambia.

¿IPv6 es más rápido que IPv4?

No de forma intrínseca: los protocolos mueven bits a la misma velocidad. Lo que suele hacer que IPv6 parezca más rápido en la práctica es la ausencia de CGNAT en el camino, que elimina un paso de traducción y una tabla de estado compartida de cada conexión. Donde un ISP ha desplegado IPv6 bien, el establecimiento de conexiones con grandes servicios habilitados suele ser algo más rápido. Donde se ha añadido mal, puede ser más lento, y por eso los navegadores implementan Happy Eyeballs para lanzar ambos y usar el que responda primero.

¿Por qué las direcciones IPv6 llevan tantos dos puntos?

Porque 128 bits no caben cómodamente en decimal. La dirección se escribe como ocho grupos de cuatro dígitos hexadecimales separados por dos puntos, y dos reglas la acortan: se pueden omitir los ceros a la izquierda de un grupo, y una serie de grupos todo a ceros puede sustituirse por dos puntos dobles. Así, 2001:0db8:0000:0000:0000:0000:0000:0001 se convierte en 2001:db8::1. Los dos puntos dobles solo pueden aparecer una vez; de lo contrario la longitud sería ambigua.

¿Puede un dispositivo solo-IPv4 llegar a un sitio solo-IPv6?

Solo a través de un traductor, y tiene que existir uno en el camino. Mecanismos como NAT64 y DNS64 lo hacen posible y están muy desplegados en redes móviles: muchos teléfonos hoy son solo-IPv6 internamente y llegan a servicios IPv4 mediante el traductor del operador. No hay interoperabilidad directa entre ambos protocolos; son familias de direcciones separadas que comparten los mismos cables.

¿Tener IPv6 significa que ya no necesito IPv4?

Todavía no. Una parte considerable de internet sigue siendo solo-IPv4, y una conexión sin ninguna ruta IPv4 no llegaría a ella sin traducción. En la práctica casi todo el mundo usa doble pila: ambos protocolos configurados, con el navegador prefiriendo IPv6 cuando ambos están disponibles y recurriendo limpiamente al otro cuando no.

Herramientas relacionadas