ping6.net
Fundamentos

Tipos de direcciones IPv6: Global, Link-Local, Multicast explicados

Aprende los diferentes tipos de direcciones IPv6: unicast global para Internet, link-local para LANs, multicast para grupos y más.

ping6.net20 de enero de 20249 min read
IPv6tipos de direcciónunicastmulticastlink-localanycast

Las direcciones IPv6 funcionan de manera diferente a IPv4 en cómo entregan paquetes. Entender estas diferencias importa cuando estás depurando problemas de red o diseñando sistemas.

TL;DR - Resumen rápido

Puntos clave:

  • IPv6 usa unicast (uno a uno), multicast (uno a muchos) y anycast (uno al más cercano) — sin broadcast
  • Unicast global (2xxx/3xxx) para Internet, link-local (fe80::) para segmentos locales, ULA (fd00::) para redes privadas
  • Multicast (ffxx::) reemplaza broadcast; multicast de nodo solicitado hace que el descubrimiento de vecinos sea eficiente
  • Las direcciones link-local requieren Zone IDs como fe80::1%eth0 para especificar la interfaz

Ir a: Unicast global | Multicast | Referencia rápida

Tres métodos de entrega#

IPv6 utiliza tres modelos fundamentales de entrega:

  • Unicast: Un emisor a un receptor. La forma estándar de comunicarse con un host específico.
  • Multicast: Un emisor a múltiples receptores. Eficiente para comunicación en grupo.
  • Anycast: Un emisor al receptor más cercano en un grupo. Usado para balanceo de carga y redundancia.

Sin broadcast en IPv6

IPv6 elimina completamente el broadcast. Donde IPv4 haría broadcast a todos los hosts (como solicitudes ARP inundando tu red), IPv6 usa multicast dirigido. Esto reduce el tráfico innecesario y mejora la eficiencia de la red.

Direcciones Unicast#

Cada dirección unicast identifica exactamente una interfaz de red. Envía un paquete a esa dirección y exactamente un host lo recibe.

Direcciones unicast globales (2000::/3)#

Estas son tus direcciones IPv6 públicas, enrutables a través de toda Internet. Si una dirección comienza con 2 o 3, es una dirección unicast global.

2001:0db8:85a3:0000:0000:8a2e:0370:7334
│         │         │              │
│         │         │              └─ ID de interfaz (64 bits)
│         │         └──────────────── ID de subred (16 bits)
│         └────────────────────────── Prefijo de sitio (48 bits)
└──────────────────────────────────── Prefijo de enrutamiento global

La estructura típica divide una asignación /48 así:

BitsComponentePropósito
0-47Prefijo de enrutamiento globalTu asignación de tu ISP o RIR
48-63ID de subred65,536 subredes por sitio
64-127ID de interfazGenerado desde dirección MAC o aleatorizado

Los proveedores reales típicamente asignan un /48 a sitios, un /56 a pequeñas empresas o un /64 a usuarios residenciales. Cada subred /64 contiene 18 trillones de direcciones, por lo que subdivides en límites /64.

Direcciones de documentación

El prefijo 2001:db8::/32 existe solo para documentación y ejemplos. No uses estas direcciones en producción. Cada ejemplo en RFCs usa 2001:db8 por una razón—no entrarán en conflicto con redes reales.

Cada interfaz IPv6 genera automáticamente una dirección link-local cuando habilitas IPv6. Estas direcciones funcionan solo en el segmento de red local y nunca se enrutan.

fe80::1
fe80::a1b2:c3d4:e5f6:7890

Las direcciones link-local son obligatorias para que IPv6 funcione. Descubrimiento de vecinos, solicitud de router y otros protocolos centrales las requieren. Tu interfaz podría no tener una dirección global, pero siempre tendrá una dirección link-local.

Zone IDs: Especificar la interfaz#

Como fe80::1 podría existir en cada interfaz, necesitas especificar qué interfaz quieres decir:

ping6 fe80::1%eth0      # Linux
ping6 fe80::1%en0       # macOS
ping fe80::1%12         # Windows (usa índice de interfaz)

El símbolo % precede al Zone ID. En Linux y macOS, usa el nombre de interfaz. En Windows, usa el índice de interfaz de netsh interface ipv6 show interface.

Direcciones locales únicas (fc00::/7)#

Piensa en estas como la versión IPv6 de las direcciones privadas RFC 1918. No son enrutables globalmente, haciéndolas adecuadas para redes internas.

En la práctica, verás direcciones fd00::/8 porque el rango fc00::/8 requiere asignación central que nunca se implementó. Genera el ID global de 40 bits aleatoriamente:

fd 3a:c7b1:29f4 :0001:0000:0000:0000:0001
│  └──────────┘  │    └──────────────────┘
│       │        │             │
│       │        │             └─ ID de interfaz (64 bits)
│       │        └─────────────── ID de subred (16 bits)
│       └──────────────────────── ID global aleatorio (40 bits)
└──────────────────────────────── Prefijo ULA (fd = asignado localmente)

Cuando generas ese identificador de 40 bits aleatoriamente, minimizas el riesgo de colisión si dos redes se fusionan más tarde. No uses simplemente fd00::1 en todas partes.


Direcciones especiales#

Dos direcciones tienen propósitos únicos:

Loopback (::1): Envía paquetes a ti mismo. El equivalente IPv6 de 127.0.0.1. El tráfico a ::1 nunca sale del host.

No especificada (::): Representa la ausencia de una dirección. Los hosts usan :: como dirección de origen durante DHCPv6 o cuando no han configurado una dirección todavía. No puedes enviar paquetes a ::.


Direcciones Multicast (ff00::/8)#

Cada dirección que comienza con ff es multicast. El paquete va a cada interfaz que se unió a ese grupo multicast.

Estructura de dirección#

ff 0 2 : 0000:0000:0000:0000:0001
│  │ │   └──────────────────────┘
│  │ │              │
│  │ │              └─ ID de grupo (112 bits)
│  │ └──────────────── Alcance (4 bits)
│  └─────────────────── Flags (4 bits)
└────────────────────── Prefijo multicast

El campo de alcance determina qué tan lejos viaja el paquete multicast:

AlcanceValorRango
Interface-local1Solo esta interfaz
Link-local2Segmento de red local
Admin-local4Límite administrativo
Site-local5Sitio de organización
Organization-local8Múltiples sitios en org
GlobaleInternet completa

Grupos multicast esenciales#

Varias direcciones multicast sirven funciones críticas:

DirecciónPropósito
ff02::1Todos los nodos en el enlace (reemplaza broadcast IPv4)
ff02::2Todos los routers en el enlace
ff02::5Todos los routers OSPF
ff02::6Todos los routers designados OSPF
ff02::9Todos los routers RIP
ff02::1:2Todos los servidores/relays DHCPv6
ff02::fbmDNSv6 (DNS multicast)

Multicast de nodo solicitado#

Este mecanismo hace que el descubrimiento de vecinos sea eficiente. En lugar de preguntar a cada host «¿quién tiene esta IP?» (como ARP), IPv6 pregunta a un pequeño grupo multicast.

Cada dirección unicast genera automáticamente una dirección multicast de nodo solicitado correspondiente:

Unicast:        2001:db8:1234:5678::abcd:ef12:3456
                                      └────┬─────┘

                                     (últimos 24 bits)

Nodo solicitado: ff02::1:ff12:3456 ────────┘

Cuando un host necesita resolver 2001:db8:1234:5678::abcd:ef12:3456, envía una solicitud de vecino a ff02::1:ff12:3456. Solo los hosts con direcciones que terminan en 12:3456 procesan la solicitud. Esto reduce dramáticamente la sobrecarga multicast en comparación con hacer broadcast a cada host.


Direcciones Anycast#

Las direcciones anycast se ven idénticas a las direcciones unicast—no hay prefijo especial. La diferencia está en la configuración: asignas la misma dirección a múltiples interfaces, y el enrutamiento entrega paquetes a la topológicamente más cercana.

Casos de uso comunes#

Servidores raíz DNS: Las 13 letras de servidor raíz (a.root-servers.net hasta m.root-servers.net) usan anycast. Las mismas direcciones IP existen en cientos de ubicaciones en todo el mundo. Tu consulta llega al servidor raíz más cercano.

Servidores edge de CDN: Las redes de entrega de contenido usan anycast para enrutar usuarios a servidores de caché cercanos. Misma dirección, diferentes ubicaciones geográficas.

Routers relay 6to4: La dirección 192.88.99.1 (IPv4) y 2002:c058:6301:: (IPv6) son direcciones anycast para relays 6to4.

Anycast de subred-router#

Cada subred tiene automáticamente una dirección anycast reservada con el identificador de interfaz establecido en cero:

Subred:         2001:db8:1234:5678::/64
Subred-Router:  2001:db8:1234:5678::

Los routers en esa subred deberían responder a esta dirección. En la práctica, rara vez se usa.


Referencia rápida: Identificar tipos de direcciones#

Mira los primeros caracteres para identificar cualquier dirección IPv6:

Comienza conTipoAlcance
::1LoopbackHost-local
::No especificadaN/A
fe80:Unicast link-localLink-local
fc00: o fd00:Unicast local únicaPrivado
ff00: a ffff:MulticastVaría (verifica 2do dígito)
2... o 3...Unicast globalInternet

Todo lo demás está reservado o aún no asignado.

Verificar tus direcciones#

Ve qué direcciones tiene configuradas tu sistema:

Linux:

ip -6 addr show

macOS:

ifconfig | grep inet6

Windows:

netsh interface ipv6 show addresses

Típicamente verás:

  • Múltiples direcciones link-local (fe80::), una por interfaz
  • Una o más direcciones unicast globales si tienes conectividad IPv6
  • La dirección loopback ::1 en la interfaz loopback
  • Varias membresías de grupo multicast (generalmente no mostradas por defecto)

Probar multicast#

Envía una solicitud de eco ICMPv6 a todos los nodos en tu enlace local:

# Reemplaza eth0 con el nombre de tu interfaz
ping6 ff02::1%eth0

Recibirás respuestas de cada dispositivo habilitado para IPv6 en ese segmento de red. Esto es útil para descubrimiento pero puede ser ruidoso en redes grandes.

Verifica si hay routers presentes:

ping6 ff02::2%eth0

Solo los routers deberían responder.


Validar tipos de direcciones

Usa el Validador IPv6 para verificar cualquier dirección. Ingresa una dirección y ve instantáneamente su tipo, alcance y si es válida. Útil al solucionar problemas de configuraciones.

Implicaciones prácticas#

Los diferentes tipos de direcciones afectan cómo diseñas redes y solucionas problemas:

Políticas de seguridad: Filtra unicast global en tu firewall, pero link-local debe pasar para el descubrimiento de vecinos. Bloquear fe80::/10 rompe IPv6 completamente.

Vinculación de aplicaciones: Los servidores que se vinculan a :: escuchan en todas las direcciones (como 0.0.0.0 en IPv4). Vincularse a ::1 restringe solo a localhost.

Tablas de enrutamiento: Las direcciones link-local aparecen como next-hops en tablas de enrutamiento, lo que confunde a las personas acostumbradas a IPv4. Esto es normal—los routers usan direcciones link-local para estabilidad ya que nunca cambian.

DNS: Solo publica direcciones unicast globales en DNS. Nunca publiques direcciones link-local o locales únicas en zonas DNS públicas.

Entender estos tipos de direcciones no es académico—es necesario para configurar firewalls, depurar conectividad y diseñar redes que realmente funcionan.

Artículos relacionados#

Valida tipos de direcciones

Usa el Validador IPv6 para verificar cualquier dirección. Ingresa una dirección y ve instantáneamente su tipo, alcance y si es válida. Útil al solucionar problemas de configuraciones.