Las tres lecciones anteriores cuentan, en el fondo, una misma historia: IPv4 se quedó pequeño y la industria lo mantuvo vivo con ingenio (CIDR, direcciones privadas, NAT). Esta lección presenta la solución de fondo: IPv6, la versión del protocolo IP diseñada para que las direcciones nunca vuelvan a escasear — y de paso, para eliminar el parche NAT y devolver a cada dispositivo su condición de extremo pleno de la red. IPv6 no es futurología: más de la mitad del tráfico hacia los grandes servicios de Internet ya viaja sobre él, tu móvil probablemente lo usa a diario, y los equipos de Meridiano ya tienen direcciones IPv6 aunque nadie las haya configurado. Aquí aprenderás a leer y abreviar sus direcciones, a reconocer sus tipos y a entender cómo se autoconfiguran y cómo convive con IPv4.

Contenido

  1. Por qué existe IPv6: el agotamiento real y los límites del parche
  2. Anatomía de una dirección IPv6: 128 bits en 8 grupos hexadecimales
  3. Reglas de abreviación: ceros a la izquierda y el operador ::
  4. Tipos de direcciones (y la muerte del broadcast)
  5. El prefijo /64 y el fin del subnetting doloroso
  6. Autoconfiguración: SLAAC frente a DHCPv6
  7. Convivencia con IPv4: doble pila (y qué son túneles y NAT64)
  8. IPv6 en Meridiano: lo que ya hay y lo que implicaría activarlo

Por qué existe IPv6: el agotamiento real y los límites del parche

Recapitulación del módulo: IPv4 ofrece 2³² ≈ 4.300 millones de direcciones; IANA repartió el último bloque libre en 2011 (lección 05-01) y hoy las IPv4 públicas se compran, alquilan y racionan. NAT (lección 05-03) permitió sobrevivir compartiendo direcciones, pero a un precio: conexiones entrantes rotas, capas de rodeos para P2P y videollamadas, CGNAT apilando traducciones, y la pérdida del principio extremo a extremo del módulo 4.

El IETF vio venir el problema en los años 90 y diseñó IPv6 con una decisión radical: direcciones de 128 bits. La cuenta resultante:

IPv4: 2^32  ≈ 4,3 × 10^9   (4.300 millones — menos que humanos)
IPv6: 2^128 ≈ 3,4 × 10^38  (340 sextillones — ~6,7 × 10^17 direcciones
                             por milímetro cuadrado de superficie terrestre)

El objetivo no es solo "que haya para todos", sino que sobren: con abundancia extrema, cada dispositivo recibe dirección pública propia, desaparece la necesidad de NAT, y el diseño de redes se simplifica (como verás con el /64). IPv6 mantiene la filosofía de IP que conoces — mejor esfuerzo, paquetes, TTL (renombrado Hop Limit), la misma capa 3 del modelo — pero cambia el formato de direcciones, simplifica la cabecera y reemplaza mecanismos auxiliares (ARP y el broadcast, entre ellos).

Anatomía de una dirección IPv6: 128 bits en 8 grupos hexadecimales

Con 128 bits, la notación decimal punteada sería inmanejable (16 números de 0 a 255). IPv6 usa hexadecimal: los 128 bits se parten en 8 grupos de 16 bits, cada grupo escrito como 4 dígitos hex (0–9, a–f), separados por dos puntos:

2001:0db8:0000:0000:0000:ff00:0042:8329
└──┘ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘
 8 grupos × 16 bits = 128 bits

Recordatorio rápido de hexadecimal: cada dígito hex equivale exactamente a 4 bits (0=0000, 9=1001, a=1010, f=1111). Por eso encaja tan bien: un grupo de 4 dígitos hex son 16 bits limpios, sin las conversiones con restos de IPv4. El prefijo se expresa igual que en CIDR: 2001:db8:acad:10::/64 significa "los primeros 64 bits identifican la red".

Convenciones que verás siempre:

  • Minúsculas (db8, no DB8) — es la forma canónica recomendada.
  • El rango 2001:db8::/32 está reservado para documentación (como los 203.0.113.x que usamos en NAT): todos los ejemplos de este curso lo usan.
  • En URLs, la dirección va entre corchetes por el conflicto con el : del puerto: https://[2001:db8::10]:443/api/proyectos.

Reglas de abreviación: ceros a la izquierda y el operador ::

Las direcciones IPv6 están llenas de ceros, y existen dos reglas para no escribirlos. Son las dos únicas reglas, y dominarlas es la habilidad básica de lectura de IPv6.

Regla 1 — Omitir ceros a la izquierda dentro de cada grupo (pero cada grupo conserva al menos un dígito):

0db8 → db8      0042 → 42      0000 → 0      ff00 → ff00 (no hay ceros a la IZQUIERDA)

Regla 2 — Comprimir UNA sola vez la tira más larga de grupos consecutivos que son todo ceros con :::

2001:0db8:0000:0000:0000:ff00:0042:8329
        │ regla 1 │
2001:db8:0:0:0:ff00:42:8329
        │ regla 2: tres grupos 0 seguidos → :: │
2001:db8::ff00:42:8329

La restricción de "una sola vez" no es capricho: si hubiera dos ::, sería imposible saber cuántos ceros esconde cada uno, y la dirección quedaría ambigua.

Ejemplo trabajado de compresión (dos tiras de ceros — se comprime la más larga):

Original:  2001:0db8:0000:0000:0001:0000:0000:0080
Regla 1:   2001:db8:0:0:1:0:0:80
Tiras de ceros: grupos 3-4 (longitud 2) y grupos 6-7 (longitud 2). Empate:
la convención (RFC 5952) manda comprimir la PRIMERA.
Regla 2:   2001:db8::1:0:0:80     ✔
(2001:db8:0:0:1::80 sería equivalente pero no canónica;
 2001:db8::1::80 sería ILEGAL: dos "::")

Ejemplo trabajado de expansión (el camino inverso, imprescindible para comparar direcciones):

Comprimida: fe80::1
Paso 1 — Contar grupos visibles: fe80 y 1 → 2 grupos.
Paso 2 — El :: esconde 8 − 2 = 6 grupos de ceros.
Paso 3 — Expandir:   fe80:0000:0000:0000:0000:0000:0000:0001
Comprimida: 2001:db8:20::7
Grupos visibles: 3 → el :: esconde 5 grupos.
Expandida: 2001:0db8:0020:0000:0000:0000:0000:0007
(¡ojo!: 20 expande a 0020, no a 2000 — los ceros omitidos van a la IZQUIERDA)

Ese último aviso es la trampa clásica: db8:20 significa 0db8:0020. Los ceros que se restauran al expandir van siempre delante del dígito, nunca detrás.

Tipos de direcciones (y la muerte del broadcast)

En IPv6 una interfaz no tiene una dirección: tiene varias a la vez, cada una con un ámbito. Los tipos que debes reconocer:

Tipo Prefijo Ámbito Equivalente mental en IPv4
Global unicast (GUA) 2000::/3 (hoy, las que empiezan por 2 o 3) Todo Internet, enrutable y única IP pública
Link-local fe80::/10 Solo el enlace local (no cruza routers) Prima de APIPA 169.254.x.x, pero siempre presente y de uso legítimo
Unique local (ULA) fc00::/7 (en la práctica fd00::/8) Interno de la organización, no enrutable en Internet RFC 1918 (192.168.x.x…)
Multicast ff00::/8 Grupos de interesados (ff02::1 = todos los nodos del enlace, ff02::2 = todos los routers) Sustituye al broadcast
Loopback ::1 La propia máquina 127.0.0.1
Sin especificar :: "Sin dirección / cualquiera" 0.0.0.0

Dos ideas importantes:

  • Toda interfaz IPv6 tiene una link-local fe80::… autogenerada, sin servidor ni configuración alguna. No es un síntoma de error como APIPA: es obligatoria por diseño y sobre ella funcionan los protocolos de vecindario y las rutas (el gateway IPv6 de un equipo suele ser la link-local del router).
  • El broadcast ha muerto. IPv6 no tiene dirección de difusión a todos: usa multicast dirigido a grupos específicos. Donde IPv4 gritaba a toda la red (el ARP del módulo 2 en capa 2, el DHCP DISCOVER a 255.255.255.255), IPv6 pregunta solo a los interesados: el protocolo NDP (Neighbor Discovery Protocol, sobre ICMPv6) sustituye a ARP usando multicast dirigido — cada nodo escucha un pequeño grupo derivado de su propia dirección, y el resto ni se despierta. Menos ruido en la red, mismo resultado.

El prefijo /64 y el fin del subnetting doloroso

La convención universal de IPv6: toda subred es un /64. Los 128 bits se reparten en dos mitades fijas:

┌──────────────── 64 bits ────────────────┬──────────────── 64 bits ────────────────┐
│    Prefijo de red (qué subred es)        │  Identificador de interfaz (qué equipo)  │
└──────────────────────────────────────────┴──────────────────────────────────────────┘

Consecuencias que cambian la vida respecto a la lección 05-02:

  • Cada subred tiene 2⁶⁴ direcciones (18 trillones). Nunca calcularás "cuántos hosts caben": caben todos. No hay 2^h − 2, no hay rango útil que dimensionar, no hay dirección de broadcast que reservar (ya no existe).
  • El subnetting no desaparece, pero deja de doler. El ISP entrega a una organización un prefijo grande — típicamente /48 o /56 — y subnetear es simplemente enumerar /64 dentro de él, sin cuentas de hosts ni saltos:
Prefijo asignado a Meridiano (ejemplo docu): 2001:db8:acad::/48
Bits para subredes: 64 − 48 = 16 → 65.536 subredes /64 posibles

2001:db8:acad:0010::/64   Valencia corporativa (VLAN 10)
2001:db8:acad:0020::/64   Valencia invitados   (VLAN 20)
2001:db8:acad:0030::/64   Valencia servidores
2001:db8:acad:0120::/64   Bilbao

Fíjate en el detalle de estilo: el grupo de subred puede hacerse coincidir con el número de VLAN o de sede, y como el hex se alinea con los bits de 4 en 4, las fronteras "bonitas" (por dígito) son lo natural. Comparado con calcular saltos de 32 y rangos útiles en el /24 de Valencia, el plan IPv6 se escribe en una servilleta. La habilidad de 05-02 no se pierde: la lógica prefijo/host es la misma; solo desaparecen la escasez y la aritmética fina.

Autoconfiguración: SLAAC frente a DHCPv6

En IPv4, un equipo sin configuración depende de DHCP y su intercambio DORA (módulo 2 — no lo repetimos aquí). IPv6 añade una alternativa que no existe en IPv4: que el equipo se configure solo escuchando al router.

SLAAC (StateLess Address AutoConfiguration):

  1. El router anuncia periódicamente (y bajo demanda) el prefijo de la subred mediante mensajes RA (Router Advertisement, parte de NDP): "esta red es 2001:db8:acad:10::/64 y yo soy la salida".
  2. El equipo toma el prefijo y se genera él mismo el identificador de interfaz de 64 bits (históricamente derivado de la MAC con el formato EUI-64; hoy, por privacidad, se prefieren identificadores aleatorios estables más direcciones temporales que rotan).
  3. El equipo verifica con NDP que nadie usa ya esa dirección (DAD, Duplicate Address Detection) y empieza a funcionar. Gateway incluido: la link-local del router que envió el RA.

Nadie mantiene una tabla de concesiones: por eso "stateless". Comparación con lo conocido:

Aspecto DHCP (IPv4) SLAAC (IPv6) DHCPv6
¿Quién elige la dirección? El servidor (tabla de concesiones) El propio equipo, a partir del prefijo del RA El servidor (con estado, como DHCP)
¿Servidor necesario? No (basta el router)
¿Registro central de quién tiene qué? No
¿Entrega DNS y otras opciones? El RA puede incluir DNS (RDNSS); históricamente cojeaba Sí, completo
Uso típico Toda red IPv4 Redes simples, clientes, invitados Empresas que exigen control/auditoría de direcciones

En la práctica conviven: el RA del router lleva unos flags que indican a los clientes "autoconfigúrate con SLAAC", "pide los detalles (p. ej. DNS) a un DHCPv6" o ambos. Para una red como la de Meridiano, SLAAC + DNS en el RA cubriría a los puestos de trabajo; DHCPv6 sería la opción si TI quisiera un registro central de direcciones como el que hoy le da DHCP.

Convivencia con IPv4: doble pila (y qué son túneles y NAT64)

IPv6 no es compatible hacia atrás con IPv4: un nodo solo-IPv6 no puede hablar con uno solo-IPv4. Como la transición dura décadas, existen estrategias de convivencia:

  • Doble pila (dual stack) — la estrategia recomendada y la que te encontrarás: cada equipo tiene a la vez direcciones IPv4 e IPv6, y cada conexión usa una u otra. ¿Quién decide? La resolución DNS: si el nombre tiene registro AAAA (dirección IPv6) y A (IPv4), el sistema prueba preferentemente IPv6 y cae a IPv4 si no responde (mecanismo happy eyeballs, que compite ambas para no penalizar al usuario). Coste: administras dos planos de direccionamiento en paralelo — doble configuración, doble firewall, doble diagnóstico.
  • Túneles (mención): encapsular paquetes IPv6 dentro de IPv4 para cruzar tramos que aún no hablan IPv6. Útiles históricamente (6in4, 6rd); hoy residuales.
  • NAT64/DNS64 (mención): permite a redes solo-IPv6 alcanzar servidores que siguen solo en IPv4, traduciendo protocolos en la frontera. Es como operan muchas redes móviles: tu móvil es solo-IPv6 y ni te enteras. Irónico pero transitorio: se despliega IPv6 y aparece otro NAT — hasta que el último servidor IPv4 migre.

IPv6 en Meridiano: lo que ya hay y lo que implicaría activarlo

Lo que ya hay, sin que nadie hiciera nada. Si Marta ejecuta hoy ip addr (o ipconfig) en su PC, junto a su IPv4 verá algo así:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    link/ether 5c:26:0a:4b:91:d3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.21/24 brd 192.168.10.255 scope global dynamic eth0
    inet6 fe80::5e26:aff:fe4b:91d3/64 scope link

Esa línea inet6 fe80::…/64 scope link es la link-local obligatoria: el sistema operativo la generó solo (en este caso a partir de la MAC 5c:26:0a:4b:91:d3 con el viejo método EUI-64 — de ahí el parecido; Windows y los Linux modernos suelen usar identificadores aleatorios). Jon vería el equivalente en Bilbao. Con ella, los equipos del mismo enlace ya podrían hablarse en IPv6 (ping fe80::…%eth0 — el %eth0 indica por qué interfaz, ya que las link-local se repiten en cada enlace). Lo que no tienen es dirección global ni salida IPv6 a Internet: no hay router anunciando prefijos.

Lo que implicaría activarlo de verdad (el día que Meridiano lo aborde):

  1. Prefijo del ISP: pedir/confirmar la delegación de un prefijo (un /48 o /56) en las conexiones de Valencia y Bilbao.
  2. Plan de direccionamiento: asignar un /64 por VLAN/subred, como el esquema 2001:db8:acad:0010::/64 que esbozamos — media hora de trabajo, sin aritmética.
  3. Routers: activar RA por subred (SLAAC, con DNS en el RA o DHCPv6 según la política de registro), y enrutar IPv6 entre VLANs y sedes (la VPN debe transportar también IPv6).
  4. Firewall en serio: este es EL punto crítico. En doble pila, el servidor de ficheros tendría una dirección global alcanzable en teoría desde todo Internet — ya no existe el "pseudo-firewall" de NAT (lección 05-03). La seguridad pasa a depender exclusivamente de reglas explícitas de firewall en el router: denegar entrante por defecto, permitir lo justo. Activar IPv6 sin revisar el firewall es el error de despliegue clásico.
  5. Doble diagnóstico: monitorización, DNS (registros AAAA para la intranet) y resolución de problemas por duplicado; un fallo que "solo pasa a veces" puede ser un fallo solo-IPv6 con fallback silencioso a IPv4.

La recompensa: Marta y Jon con conectividad extremo a extremo real (la VPN sigue teniendo sentido — cifra y autentica —, pero sin contorsiones de NAT), servicios publicables sin port forwarding y una red alineada con la dirección a la que Internet lleva dos décadas moviéndose.

Errores Comunes y Consejos

  • Expandir mal los ceros: db8:20 es 0db8:0020, no db80:2000. Los ceros restaurados van a la izquierda de cada grupo.
  • Usar :: dos veces: ilegal por ambigüedad. Solo la tira de ceros más larga (y si hay empate, la primera) se comprime.
  • Tratar la link-local fe80:: como un error: no es APIPA. Es obligatoria, legítima y necesaria; su presencia no indica fallo alguno. (Su ausencia sí sería rarísima.)
  • Buscar la dirección de broadcast: no existe en IPv6. Piensa en multicast (ff02::1 para "todos los del enlace").
  • Dimensionar subredes IPv6 "para ahorrar": no hagas /112 ni /120 para "no desperdiciar". La convención es /64 por subred; romperla rompe SLAAC y no ahorra nada que escasee.
  • Activar IPv6 (o dejarlo activado) sin firewall pensado para IPv6: con direcciones globales no hay NAT que tape los servicios internos. Regla entrante por defecto: denegar. Y ojo: aunque "no uses IPv6", tus equipos tienen link-local y muchos sistemas lo prefieren si un RA aparece — un RA falso en la red es un ataque conocido.
  • Consejo: para comparar dos direcciones IPv6 escritas distinto, expándelas a las 8 columnas y compara. Con práctica lo harás de cabeza; al principio, papel.
  • Consejo: en doble pila, cuando algo falle "a medias", pregunta siempre: ¿esto fue por IPv4 o por IPv6? (ping vs ping -6, registro A vs AAAA).

Ejercicios

Ejercicio 1: comprimir y expandir

a) Comprime al máximo (forma canónica): 2001:0db8:00a0:0000:0000:0000:0000:0d10 b) Comprime al máximo: 2001:0db8:0000:0000:0130:0000:0000:0007 (cuidado: dos tiras de ceros) c) Expande a los 8 grupos completos: 2001:db8:acad:120::20:7

Ejercicio 2: identificar tipos

Marta ejecuta ip addr en un equipo ya con IPv6 activado y ve estas direcciones. Clasifica cada una (tipo y ámbito) y explica su papel:

  • ::1
  • fe80::5e26:aff:fe4b:91d3
  • 2001:db8:acad:10:1c3a:9bf2:44d0:8a11
  • fd00:10::10

Ejercicio 3: mini-plan de direccionamiento

El ISP delega a Meridiano el prefijo 2001:db8:7a00::/48. Propón un /64 para cada subred del plan del módulo (Valencia corporativa, Valencia invitados, Valencia servidores, Bilbao), haciendo coincidir el grupo de subred con los números de VLAN/sede (10, 20, 30, 120), y responde: ¿cuántas subredes /64 caben en total en el /48? ¿Tiene sentido preguntarse cuántos hosts caben en cada una?

Soluciones

Solución 1

a)

2001:0db8:00a0:0000:0000:0000:0000:0d10
Regla 1 (ceros a la izquierda):  2001:db8:a0:0:0:0:0:d10
Regla 2 (tira más larga de ceros: grupos 4–7, longitud 4 → ::):
→ 2001:db8:a0::d10

b)

2001:0db8:0000:0000:0130:0000:0000:0007
Regla 1:  2001:db8:0:0:130:0:0:7
Tiras de ceros: grupos 3–4 (longitud 2) y grupos 6–7 (longitud 2).
Empate → se comprime la PRIMERA (RFC 5952):
→ 2001:db8::130:0:0:7
(2001:db8:0:0:130::7 es equivalente pero no canónica;
 2001:db8::130::7 es ILEGAL)

c)

2001:db8:acad:120::20:7
Grupos visibles: 2001, db8, acad, 120, 20, 7 → 6 grupos
El :: esconde 8 − 6 = 2 grupos de ceros.
Restaurar ceros a la izquierda de cada grupo:
→ 2001:0db8:acad:0120:0000:0000:0020:0007
(nota: 120 → 0120 y 20 → 0020)

Solución 2

  • ::1loopback, ámbito la propia máquina. Equivale al 127.0.0.1 de IPv4: probar la pila local.
  • fe80::5e26:aff:fe4b:91d3link-local (fe80::/10), ámbito el enlace: no cruza routers. Autogenerada (aquí con EUI-64 a partir de la MAC 5c:26:0a:4b:91:d3: se invierte el 7º bit del primer byte, 5c→5e, y se inserta ff:fe en medio). Soporta NDP y suele ser el gateway que anuncian los routers.
  • 2001:db8:acad:10:1c3a:9bf2:44d0:8a11global unicast (empieza por 2), enrutable en Internet. Prefijo de subred 2001:db8:acad:10::/64 (Valencia corporativa en nuestro plan); el identificador de interfaz aleatorio sugiere SLAAC con extensiones de privacidad.
  • fd00:10::10unique local (ULA), dentro de fd00::/8fc00::/7: el equivalente IPv6 de RFC 1918, para uso interno no enrutable en Internet. Aquí, plausiblemente, una dirección interna estable del servidor de ficheros/intranet.

Solución 3

Plan (los grupos de subred elegidos en hex, coincidiendo visualmente con VLAN/sede):

2001:db8:7a00:10::/64    Valencia corporativa (VLAN 10)
2001:db8:7a00:20::/64    Valencia invitados   (VLAN 20)
2001:db8:7a00:30::/64    Valencia servidores  (VLAN 30)
2001:db8:7a00:120::/64   Bilbao

Subredes /64 en un /48: los bits de subred son 64 − 48 = 16, luego 2¹⁶ = 65.536 subredes. Con 4 usadas, quedan 65.532 libres: la escasez ha dejado de ser una variable de diseño.

¿Hosts por subred? Cada /64 contiene 2⁶⁴ ≈ 1,8 × 10¹⁹ direcciones. La pregunta pierde el sentido que tenía en IPv4: no hay que dimensionar, no hay 2^h − 2, no hay broadcast que restar. En IPv6 se cuentan subredes, no hosts.

Conclusión

Con esta lección se cierra el círculo del direccionamiento: sabes por qué existe IPv6 (el agotamiento que NAT solo aplazó), lees y abrevias sus direcciones de 128 bits con las dos reglas (ceros a la izquierda y un único ::), distingues global unicast, link-local, ULA y multicast — y sabes que el broadcast ha muerto —, entiendes por qué el /64 universal convierte el subnetting en una enumeración sin aritmética, comparas SLAAC con el DHCP que ya conocías, y tienes claro que la transición real se llama doble pila. En Meridiano, además, has visto que IPv6 ya está en cada equipo en forma de link-local, y qué pasos (y qué firewall) exigiría activarlo de verdad.

Y con ello, el módulo 5 completo: anatomía de IPv4 y su binario, máscaras y subnetting con método, NAT y el mundo de las direcciones privadas, e IPv6 como destino. Ya sabes cómo se diseña el direccionamiento de una red como la de Meridiano de punta a punta. Lo que aún no hemos sistematizado es qué hacer cuando, con todo bien diseñado, algo falla: Marta no llega a la intranet, el ping se pierde a mitad de camino, el DNS resuelve raro. Convertir tus conocimientos en un método de diagnóstico — con las herramientas de siempre bien afiladas, captura de tráfico incluida — es el objetivo del módulo 6: Herramientas de Diagnóstico.

© Copyright 2026. Todos los derechos reservados