Los tres tipos de direcciones IPv6

A diferencia de IPv4, que principalmente usa unicast y broadcast, IPv6 organiza las direcciones en tres categorías distintas, cada una optimizada para diferentes patrones de comunicación:

  • Unicast: Uno-a-uno (como una llamada telefónica)
  • Multicast: Uno-a-muchos (como una transmisión de radio)
  • Anycast: Uno-al-más-cercano (como GPS encontrando la gasolinera más cercana)

Cada tipo tiene propósitos específicos y rangos de direcciones dedicados. Entender cuándo y cómo usar cada uno te ayuda a diseñar redes eficientes y confiables.

Unicast: comunicación uno-a-uno

Las direcciones unicast son las más comunes—representan dispositivos individuales. Cuando envías datos a una dirección unicast, solo un dispositivo los recibe.

Tipos de direcciones unicast IPv6:

1. Global Unicast (2000::/3)

Equivalente a direcciones IP públicas en IPv4. Únicas en internet, enrutables globalmente.

Ejemplos:
2001:db8:85a3::8a2e:370:7334
2606:4700::6810:85e5 (Cloudflare)
2001:4860:4860::8888 (Google DNS)

2. Link-Local (fe80::/10)

Solo válidas en la red local. Cada interfaz IPv6 automáticamente obtiene una dirección link-local.

Ejemplos:
fe80::1%eth0
fe80::a00:27ff:fe4e:66a1
fe80::200:5eff:fe00:5301

3. Unique Local (fc00::/7)

Similares a direcciones privadas IPv4. No enrutables en internet, pero únicas globalmente.

Ejemplos:
fd12:3456:789a::1
fc00:dead:beef::1

4. Loopback (::1)

Equivalente a 127.0.0.1 en IPv4. El dispositivo se envía paquetes a sí mismo.

¿Cómo se asignan las direcciones unicast?

IPv6 soporta múltiples métodos de asignación:

  • DHCPv6: Asignación dinámica por servidor
  • SLAAC: Autoconfiguración sin estado usando Router Advertisement
  • Manual: Configuración estática
  • EUI-64: Generar ID de interfaz desde dirección MAC

Multicast: comunicación uno-a-muchos

Las direcciones multicast permiten que un dispositivo envíe datos a múltiples destinatarios simultáneamente. Es eficiente porque los enrutadores replican los paquetes solo donde es necesario.

Rango de direcciones multicast: ff00::/8

Todas las direcciones multicast IPv6 comienzan con "ff". La estructura es:

FF[flags][scope]:[group-id]

Ejemplo: ff02::1
- ff = multicast
- 0 = flags (reservado)
- 2 = link-local scope
- ::1 = all nodes group

Ámbitos (scopes) de multicast:

Scope Valor Descripción Ejemplo
Interface-local 1 Misma interfaz solamente ff01::1
Link-local 2 Mismo segmento de red ff02::1
Site-local 5 Dentro del sitio/organización ff05::1
Global e Internet ff0e::1

Direcciones multicast importantes:

  • ff02::1 - All Nodes (todos los dispositivos IPv6 en el link)
  • ff02::2 - All Routers (todos los routers en el link)
  • ff02::5 - All OSPF Routers (protocolo de routing OSPF)
  • ff02::9 - All RIP Routers (protocolo de routing RIP)
  • ff02::101 - All NTP Servers (servidores de tiempo)

Casos de uso de multicast:

1. Neighbor Discovery Protocol (NDP)

IPv6 usa multicast para encontrar dispositivos vecinos, reemplazando ARP de IPv4.

# Un dispositivo busca 2001:db8::100
# Envía a: ff02::1:ff00:100 (solicited-node multicast)
# Solo el dispositivo con esa dirección responde

2. Streaming de video/audio

Un servidor puede transmitir a múltiples clientes eficientemente sin duplicar tráfico innecesariamente.

3. Protocolos de routing

Los routers usan multicast para intercambiar información de routing sin afectar otros dispositivos.

4. Service discovery

Dispositivos pueden anunciar servicios disponibles a todos los interesados en el segmento de red.

Anycast: comunicación uno-al-más-cercano

Anycast es el concepto más nuevo. Múltiples dispositivos comparten la misma dirección IPv6, pero el tráfico se enruta automáticamente al "más cercano" (según métricas de routing).

¿Cómo funciona anycast?

Configuración típica:

  1. Múltiples servidores se configuran con la misma dirección anycast
  2. Cada servidor anuncia esta dirección a los routers
  3. Los routers aprenden múltiples rutas a la "misma" dirección
  4. Cuando un cliente se conecta, el routing automáticamente elige la ruta más corta
  5. El cliente se conecta al servidor más cercano sin saberlo

Ventajas de anycast:

  • Rendimiento mejorado: Los clientes automáticamente se conectan al servidor más cercano
  • Redundancia automática: Si un servidor falla, el tráfico se redirige automáticamente
  • Balanceamento de carga: El tráfico se distribuye geográficamente
  • Simplicidad: Los clientes solo necesitan conocer una dirección

Casos de uso de anycast:

1. DNS (Sistema de Nombres de Dominio)

Los servidores raíz DNS usan anycast. Cuando consultas un nombre de dominio, automáticamente te conectas al servidor DNS más cercano.

# Los servidores raíz DNS todos usan las mismas direcciones anycast:
# a.root-servers.net = 2001:503:ba3e::2:30
# Pero hay copias en docenas de ubicaciones mundialmente

2. CDNs (Content Delivery Networks)

Servicios como Cloudflare usan anycast para dirigir usuarios al servidor de contenido más cercano.

3. Servicios críticos

Servicios como NTP (tiempo) y syslog pueden usar anycast para alta disponibilidad.

4. Load balancing geográfico

Aplicaciones web pueden usar anycast para distribuir carga entre data centers.

Limitaciones de anycast:

  • Solo TCP/UDP cortos: Conexiones largas pueden romperse si cambia el routing
  • Configuración compleja: Requiere coordinación entre múltiples ubicaciones
  • Debugging difícil: Es difícil saber a cuál servidor te estás conectando
  • Estados inconsistentes: Servidores anycast deben ser stateless o sincronizar estado

Identificando tipos de direcciones por vista

Puedes identificar el tipo de dirección IPv6 mirando sus primeros dígitos:

Prefijo Tipo Ejemplo Uso
2001::/16 Global Unicast 2001:db8::1 Internet público
fe80::/10 Link-Local fe80::1 Comunicación local
fd00::/8 Unique Local fd12::1 Redes privadas
ff00::/8 Multicast ff02::1 Uno-a-muchos
::1 Loopback ::1 Bucle local

Herramientas para trabajar con tipos de direcciones

Comandos de línea útiles:

# Ver todas las direcciones IPv6 en una interfaz
ip -6 addr show

# Enviar ping a multicast all-nodes
ping6 ff02::1%eth0

# Verificar vecinos IPv6 (equivalente a tabla ARP)
ip -6 neigh show

# Rastrear ruta a una dirección anycast
traceroute6 2001:4860:4860::8888

En Windows:

# Ver configuración IPv6
ipconfig /all

# Ping a multicast
ping -6 ff02::1%12

# Ver tabla de vecinos
netsh interface ipv6 show neighbors

Configuración práctica por tipo de dirección

Configurando unicast global en Linux:

# Asignar dirección estática
ip -6 addr add 2001:db8::100/64 dev eth0

# Agregar ruta predeterminada
ip -6 route add default via 2001:db8::1 dev eth0

# Habilitar autoconfiguración
sysctl net.ipv6.conf.eth0.autoconf=1

Configurando servidor anycast:

# En múltiples servidores, configurar la misma dirección
ip -6 addr add 2001:db8::dns/128 dev lo

# Anunciar la ruta (usando BGP o protocolo de routing)
# Configuración específica depende del router/software

Escuchando multicast en una aplicación:

# Unirse a grupo multicast desde línea de comandos
socat UDP6-RECV:5353,ipv6-join-group=[ff02::fb]:eth0 -

# Enviar a grupo multicast
echo "hello" | socat - UDP6-SENDTO:[ff02::1]:1234

Casos de uso del mundo real

Escenario 1: Oficina corporativa

Necesidades:

  • 200 estaciones de trabajo
  • 10 servidores
  • Impresoras y dispositivos IoT
  • Acceso seguro desde sucursales

Solución con tipos de direcciones:

  • Global unicast: 2001:db8:1000::/48 para toda la red
  • Link-local: Autoconfiguración automática (fe80::)
  • Unique local: fd12:3456:789a::/48 para comunicación interna
  • Multicast: ff05::100 para actualizaciones de software

Escenario 2: Proveedor de contenido global

Necesidades:

  • Servidores en 20 países
  • Baja latencia para usuarios
  • Alta disponibilidad
  • Failover automático

Solución con anycast:

  • Anycast: 2001:db8::web para servicio web principal
  • Anycast: 2001:db8::api para API backend
  • Global unicast: Direcciones únicas por data center para gestión
  • Multicast: Para sincronización de contenido entre servidores

Escenario 3: Red IoT inteligente

Necesidades:

  • 1000+ sensores
  • Actualizaciones de firmware eficientes
  • Discovery automático de dispositivos
  • Comunicación local sin internet

Solución multicast-centrada:

  • Unique local: fd00:iot::/32 para todos los dispositivos
  • Multicast: ff05::firmware para actualizaciones
  • Multicast: ff05::discovery para encontrar dispositivos
  • Link-local: Para comunicación directa entre vecinos

Solución de problemas por tipo de dirección

Problemas comunes con unicast:

Síntoma: "No puedo conectar a 2001:db8::100"

Verificaciones:

  1. ¿Está la dirección asignada? (ip -6 addr show)
  2. ¿Hay una ruta válida? (ip -6 route show)
  3. ¿Responde el dispositivo? (ping6 2001:db8::100)
  4. ¿Hay reglas de firewall? (ip6tables -L)

Problemas comunes con multicast:

Síntoma: "Multicast no funciona entre VLANs"

Verificaciones:

  1. ¿Soporta el switch multicast snooping?
  2. ¿Está habilitado MLD (Multicast Listener Discovery)?
  3. ¿Hay un multicast router entre VLANs?
  4. ¿Son correctos los scopes multicast?

Problemas comunes con anycast:

Síntoma: "Conexiones anycast se rompen aleatoriamente"

Verificaciones:

  1. ¿Cambian las rutas de routing durante la conexión?
  2. ¿Están todos los servidores anycast sincronizados?
  3. ¿Es el servicio stateless o maneja handoff correctamente?
  4. ¿Hay oscilaciones en el protocolo de routing?

Mejores prácticas por tipo de dirección

Para unicast:

  • Usa global unicast para comunicación internet
  • Usa unique local para comunicación interna que no debe filtrarse
  • Siempre configura direcciones link-local como respaldo
  • Planifica jerarquías de direccionamiento lógicas

Para multicast:

  • Escoge el scope más pequeño que funcione
  • Usa direcciones well-known cuando sea posible
  • Configura MLD snooping en switches
  • Monitorea el tráfico multicast para prevenir tormentas

Para anycast:

  • Solo usa para servicios stateless o que manejen handoff
  • Mantén configuraciones idénticas entre instancias
  • Monitorea métricas de routing para detectar oscilaciones
  • Documenta todas las ubicaciones anycast

Herramientas de monitoreo y debugging

Para análisis de tráfico:

# Capturar tráfico IPv6 con tcpdump
tcpdump -i eth0 ip6

# Capturar solo multicast
tcpdump -i eth0 ip6 and dst net ff00::/8

# Analizar con Wireshark
wireshark -f "ipv6"

Para estadísticas de red:

# Ver estadísticas IPv6
cat /proc/net/snmp6

# Ver información multicast
cat /proc/net/igmp6

# Estadísticas detalladas de interfaz
ip -6 -s link show eth0

Puntos clave para recordar

  • Unicast es uno-a-uno: La comunicación más común, como IPv4 básico
  • Multicast reemplaza broadcast: Más eficiente que enviar a todos
  • Anycast es único de IPv6: Encuentra automáticamente el servidor más cercano
  • Los prefijos importan: 2xxx = global, fe80 = link-local, ffxx = multicast
  • Link-local siempre existe: Cada interfaz IPv6 tiene una dirección fe80
  • Multicast usa scopes: Link, site, o global según necesidades
  • Anycast requiere cuidado: Solo para servicios stateless o bien diseñados

Tu próximo paso

Para experimentar con tipos de direcciones IPv6:

  1. Explora tu configuración actual: ip -6 addr show para ver qué tipos tienes
  2. Prueba multicast básico: ping6 ff02::1%interfaz para ver todos los vecinos
  3. Configura unique local: Prueba comunicación interna sin internet
  4. Experimenta con anycast: Configura dos servidores con la misma dirección
  5. Usa herramientas de debugging: tcpdump o Wireshark para ver el tráfico

Una vez que entiendas los tipos básicos de direcciones, puedes explorar conceptos avanzados como Mobile IPv6, túneles, y optimizaciones de multicast para aplicaciones específicas.

Ejercicio práctico

Identifica los tipos: ¿Qué tipo de dirección IPv6 es cada una de estas?

  1. 2001:db8:85a3::8a2e:370:7334
  2. fe80::200:5eff:fe00:5301
  3. ff02::1
  4. fd12:3456:789a::1
  5. ::1
Mostrar respuestas
  1. Global Unicast - Comienza con 2001, enrutable en internet
  2. Link-Local Unicast - Comienza con fe80, solo válida en segmento local
  3. Multicast - Comienza con ff, scope link-local (ff02)
  4. Unique Local Unicast - Comienza con fd, como IP privada pero única
  5. Loopback - La dirección de bucle local, como 127.0.0.1 en IPv4

Entender tipos de direcciones IPv6 es fundamental para diseñar redes eficientes y seguras. Cada tipo tiene su lugar en redes modernas, desde comunicación básica hasta optimizaciones avanzadas de rendimiento.