ICMPv6 explicado: El protocolo que hace funcionar IPv6
Comprende ICMPv6, el protocolo esencial para redes IPv6. Aprende sobre Neighbor Discovery, Router Advertisements y por qué bloquear ICMPv6 rompe tu red.
ICMPv6 no es opcional#
En IPv4, ICMP maneja diagnósticos. Puedes bloquearlo y la mayoría de las cosas siguen funcionando. IPv6 no funciona así.
ICMPv6 es el sistema nervioso de IPv6. Maneja informes de errores, diagnósticos, descubrimiento de vecinos, descubrimiento de routers y resolución de direcciones. Bloquea los tipos de mensajes ICMPv6 incorrectos y romperás la conectividad básica, evitarás que los hosts encuentren su puerta de enlace predeterminada y causarás bloqueos de conexión misteriosos que tardan horas en depurarse.
La especificación IPv6 no trata ICMPv6 como un complemento. Es un componente obligatorio e integral. Entender ICMPv6 es entender cómo funciona realmente IPv6.
TL;DR - Resumen rápido
Puntos clave:
- ICMPv6 es obligatorio (no opcional como ICMP IPv4); maneja NDP, descubrimiento de routers y PMTUD
- Neighbor Discovery Protocol (tipos 133-137) reemplaza ARP y habilita SLAAC
- Tipo 2 (Packet Too Big) es crítico para Path MTU Discovery — bloquearlo rompe conexiones
- Tipos esenciales a permitir: 1 (Unreachable), 2 (Too Big), 128-129 (Ping), 133-137 (NDP)
Ir a: Neighbor Discovery Protocol | Path MTU Discovery | Reglas de firewall
ICMPv6 vs ICMP (IPv4)#
ICMPv6 evolucionó del ICMP de IPv4 pero asumió significativamente más responsabilidad.
| Característica | ICMPv4 | ICMPv6 | Impacto |
|---|---|---|---|
| Número de protocolo | 1 | 58 | Valor de encabezado IP siguiente diferente |
| Mensajes de error | Destination Unreachable, Time Exceeded, etc. | Mismos errores, refinados | Funcionalidad similar |
| Diagnósticos | Echo Request/Reply (ping) | Echo Request/Reply (ping) | Propósito idéntico |
| Resolución de dirección | ARP (protocolo separado) | Neighbor Discovery (ICMPv6) | ICMPv6 reemplaza completamente a ARP |
| Descubrimiento de router | ICMP Router Discovery (opcional) | Router Advertisement (obligatorio) | Crítico para auto-configuración |
| Fragmentación | Manejada silenciosamente por routers | Mensajes Packet Too Big | Descubrimiento de Path MTU requerido |
| Gestión multicast | IGMP (protocolo separado) | Mensajes MLD (ICMPv6) | ICMPv6 reemplaza a IGMP |
La diferencia clave: ICMPv6 absorbió funcionalidad que usaba protocolos separados en IPv4. ARP funciona en capa 2 en IPv4. IPv6 no tiene ARP — Neighbor Discovery usa ICMPv6 en su lugar. IGMP gestionaba grupos multicast en IPv4. IPv6 usa mensajes Multicast Listener Discovery (MLD) dentro de ICMPv6.
Esta consolidación simplificó la pila de protocolos pero hizo a ICMPv6 absolutamente esencial. No puedes bloquearlo sin romper funcionalidad central.
Estructura del tipo de mensaje#
Los mensajes ICMPv6 tienen una estructura simple: tipo, código, checksum y datos específicos del mensaje. El campo de tipo determina la categoría del mensaje.
Rangos de números de tipo:
- 0-127: Mensajes de error
- 128-255: Mensajes informativos
Esta división hace el filtrado más fácil. Los mensajes de error reportan problemas con la entrega de paquetes. Los mensajes informativos manejan consultas, respuestas y descubrimiento de vecinos/routers.
Tipos de mensajes comunes#
| Tipo | Código | Nombre | Categoría | Propósito |
|---|---|---|---|---|
| 1 | 0-6 | Destination Unreachable | Error | Puerto cerrado, ruta no disponible, etc. |
| 2 | 0 | Packet Too Big | Error | MTU excedido en ruta |
| 3 | 0-1 | Time Exceeded | Error | Límite de saltos alcanzado o timeout de fragmento |
| 4 | 0-2 | Parameter Problem | Error | Encabezado de paquete malformado |
| 128 | 0 | Echo Request | Info | Solicitud ping |
| 129 | 0 | Echo Reply | Info | Respuesta ping |
| 133 | 0 | Router Solicitation | Info | Solicitar información del router |
| 134 | 0 | Router Advertisement | Info | Router anuncia presencia y configuración |
| 135 | 0 | Neighbor Solicitation | Info | Resolución de dirección y alcanzabilidad |
| 136 | 0 | Neighbor Advertisement | Info | Respuesta a solicitud |
| 137 | 0 | Redirect | Info | Existe mejor router de primer salto |
Los números de tipo importan
A diferencia de IPv4 donde los tipos ICMP usan números dispersos, el espacio de tipos organizado de ICMPv6 hace las reglas de firewall más claras. Los tipos 133-137 manejan Neighbor Discovery Protocol, facilitando permitir o bloquear NDP como grupo.
Protocolo Neighbor Discovery (NDP)#
El Protocolo Neighbor Discovery reemplaza al ARP de IPv4 y añade capacidades que IPv4 manejaba a través de múltiples protocolos. NDP funciona completamente sobre ICMPv6 y maneja cinco funciones críticas:
- Resolución de dirección — Mapear direcciones IPv6 a direcciones MAC (reemplaza ARP)
- Descubrimiento de router — Encontrar routers locales sin configuración
- Descubrimiento de prefijo — Aprender prefijos de red para auto-configuración
- Descubrimiento de parámetros — Obtener MTU, límite de saltos y otros parámetros
- Determinación de siguiente salto — Identificar el mejor router para un destino
Los cinco tipos de mensajes NDP#
Router Solicitation (Tipo 133)#
Enviado por hosts para solicitar a los routers que se anuncien inmediatamente en lugar de esperar el siguiente Router Advertisement programado.
Cuándo se envía:
- El host arranca
- La interfaz se activa
- El host quiere configuración rápida
Formato:
Source: Dirección link-local o ::
Destination: ff02::2 (multicast all-routers)
Hop Limit: 255Las Router Solicitations permiten a los hosts obtener configuración de red en segundos en lugar de esperar anuncios periódicos.
Router Advertisement (Tipo 134)#
Enviado por routers para anunciar su presencia, anunciar prefijos para SLAAC y proporcionar parámetros de configuración.
Cuándo se envía:
- Periódicamente (cada pocos minutos)
- En respuesta a Router Solicitation
- Cuando cambia la configuración del router
Qué contiene:
- Tiempo de vida del router (cuánto tiempo usar este router)
- Prefijo(s) de red y su validez
- Recomendación MTU
- Sugerencia de límite de saltos
- Flags para SLAAC y DHCPv6
Formato:
Source: Dirección link-local del router
Destination: ff02::1 (multicast all-nodes) o host solicitante
Hop Limit: 255Los Router Advertisements son cómo los hosts aprenden su configuración de red automáticamente. No se necesita DHCP — los routers transmiten todo lo que los hosts necesitan para configurarse.
SLAAC depende de Router Advertisements
La Autoconfiguración de Dirección Sin Estado (SLAAC) depende completamente de Router Advertisements. Bloquea el tipo 134 y los hosts no pueden auto-configurarse. Solo tendrán direcciones link-local, sin ruta predeterminada y sin direcciones enrutables globalmente.
Neighbor Solicitation (Tipo 135)#
El equivalente IPv6 de solicitudes ARP. Enviado para descubrir la dirección MAC de un vecino o verificar que un vecino sigue siendo alcanzable.
Cuándo se envía:
- Resolviendo una dirección IPv6 a dirección MAC
- Verificando que un vecino sigue siendo alcanzable
- Duplicate Address Detection (verificando si una dirección ya está en uso)
Formato:
Source: Dirección del remitente (o :: para DAD)
Destination: Dirección multicast solicited-node o dirección objetivo
Hop Limit: 255Los mensajes Neighbor Solicitation usan direcciones multicast solicited-node en lugar de broadcast. Esto reduce el procesamiento innecesario — solo el host objetivo y hosts con direcciones similares reciben el paquete.
Neighbor Advertisement (Tipo 136)#
Respuesta a Neighbor Solicitation. Proporciona la dirección MAC del remitente o confirma alcanzabilidad.
Cuándo se envía:
- Respuesta a Neighbor Solicitation
- Anuncio no solicitado de cambio de dirección
Formato:
Source: Dirección link-local o global del remitente
Destination: Dirección del solicitante o multicast all-nodes
Hop Limit: 255Redirect (Tipo 137)#
Enviado por routers para informar a los hosts que existe un mejor router de primer salto para un destino específico.
Cuándo se envía:
- El host envía paquete al router
- El router conoce mejor siguiente salto en el mismo enlace
- El router reenvía el paquete Y envía redirect
Formato:
Source: Dirección link-local del router
Destination: Remitente original
Hop Limit: 255Los Redirects optimizan el enrutamiento sin requerir que los hosts mantengan tablas de enrutamiento complejas.
Cómo funciona la resolución de dirección#
Cuando un host necesita enviar un paquete a otra dirección IPv6 en el enlace local:
- Verificar caché de vecinos — ¿Se conoce ya la dirección MAC?
- Enviar Neighbor Solicitation — Si no, enviar NS a dirección multicast solicited-node
- Recibir Neighbor Advertisement — El objetivo responde con dirección MAC
- Actualizar caché — Almacenar mapeo para uso futuro
- Enviar paquete — Entregar el paquete original
La dirección multicast solicited-node se calcula a partir de la dirección IPv6 del objetivo:
ff02::1:ff + últimos 24 bits de la dirección IPv6
Ejemplo:
IPv6: 2001:db8::a4b2:c3d4:e5f6:7890
Solicited-node: ff02::1:ff:f6:7890Este enfoque multicast reduce el tráfico de red comparado con el ARP basado en broadcast de IPv4.
Duplicate Address Detection
Antes de usar una dirección, los hosts envían una Neighbor Solicitation con source :: y target configurado a la dirección que quieren usar. Si otro host responde, la dirección ya está en uso. Esto previene conflictos de direcciones en SLAAC.
Descubrimiento de router en detalle#
Los routers anuncian ellos mismos y la configuración de red a través de mensajes Router Advertisement. Los hosts escuchan y se auto-configuran basándose en estos anuncios.
Contenidos de Router Advertisement#
Un RA típico contiene:
Información del router:
- Tiempo de vida del router (0-9000 segundos, 0 significa „no es router predeterminado")
- Tiempo de alcanzabilidad (cuánto tiempo considerar un vecino alcanzable)
- Temporizador de retransmisión (retraso entre solicitudes de vecinos)
Información de prefijo:
- Prefijo de red (ej. 2001:db8:1234::/64)
- Tiempo de vida válido (cuánto tiempo son válidas las direcciones)
- Tiempo de vida preferido (cuánto tiempo usar para nuevas conexiones)
- Flags:
- L (On-link): El prefijo está en enlace local
- A (Autonomous): Usar para SLAAC
Otras opciones:
- Recomendación MTU
- Servidores DNS (opción RDNSS)
- Dominios de búsqueda DNS (opción DNSSL)
Formación de dirección SLAAC#
Cuando un host recibe un RA con el flag A configurado:
- Tomar el prefijo — ej.
2001:db8:1234::/64 - Generar identificador de interfaz — 64 bits derivados de MAC o aleatorios
- Combinarlos —
2001:db8:1234::a4b2:c3d4:e5f6:7890 - Ejecutar Duplicate Address Detection — Asegurar que nadie más la usa
- Configurar la dirección — Añadir a la interfaz
- Establecer ruta predeterminada — Usar router como siguiente salto
Esto sucede automáticamente sin intervención del usuario o servidores DHCP.
Flags que controlan la configuración#
Los Router Advertisements incluyen flags que le dicen a los hosts cómo configurarse:
- M (Managed): Usar DHCPv6 para direcciones (no SLAAC)
- O (Other): Usar DHCPv6 para otra configuración (DNS, NTP, etc.)
Combinaciones comunes:
| M | O | Comportamiento |
|---|---|---|
| 0 | 0 | Solo SLAAC, sin DHCPv6 |
| 0 | 1 | SLAAC para direcciones, DHCPv6 para DNS/etc. |
| 1 | 0 | DHCPv6 para direcciones (inusual) |
| 1 | 1 | DHCPv6 para todo |
La mayoría de las redes usan M=0, O=0 (SLAAC puro) o M=0, O=1 (SLAAC + DHCPv6 para DNS).
Path MTU Discovery#
Los routers IPv6 no fragmentan paquetes. La fuente debe enviar paquetes lo suficientemente pequeños para caber en toda la ruta. Aquí es donde ICMPv6 tipo 2 se vuelve crítico.
Cómo funciona PMTUD#
- El host envía paquete — Usa MTU de interfaz (típicamente 1500 bytes)
- El router encuentra MTU más pequeño — No puede fragmentar en IPv6
- El router descarta paquete — Envía mensaje ICMPv6 Packet Too Big de vuelta
- El mensaje incluye MTU — Le dice al remitente el tamaño máximo permitido
- El host reduce tamaño de paquete — Retransmite con MTU más pequeño
- La conexión continúa — Usando tamaño de paquete apropiado
Formato de mensaje Packet Too Big:
Type: 2
Code: 0
MTU: 1280 (o lo que soporte el siguiente salto)
Paquete original: Primera porción del paquete descartadoEl MTU mínimo de IPv6 es 1280 bytes. Todos los enlaces deben soportar al menos este tamaño. Paquetes más grandes requieren que PMTUD funcione.
Qué sucede cuando bloqueas el Tipo 2#
Síntomas de conexión cuando los mensajes Packet Too Big están bloqueados:
- La conexión inicial funciona — Los paquetes SYN, SYN-ACK, ACK son pequeños
- La transferencia de datos se cuelga — Los paquetes grandes se descartan silenciosamente
- Sin mensajes de error — La conexión simplemente se estanca
- Timeout después de minutos — TCP eventualmente se rinde
Este es uno de los problemas más frustrantes para depurar porque la conexión se establece exitosamente antes de fallar.
Escenario del mundo real:
$ curl -6 https://example.com/
# La conexión se cuelga después del handshake TLS
# El navegador muestra „Cargando..." para siempre
# SSH conecta pero se cuelga durante intercambio de bannerTodo porque alguna middlebox bloqueó ICMPv6 tipo 2.
Nunca bloquees Packet Too Big
Bloquear ICMPv6 tipo 2 rompe conexiones de manera sutil y específica de la aplicación. Siempre permite este tipo de mensaje en ambas direcciones a través de firewalls y routers.
Echo Request y Echo Reply (Ping)#
Tipo 128 (Echo Request) y Tipo 129 (Echo Reply) funcionan exactamente como el ping IPv4.
Formato:
Type: 128 (request) o 129 (reply)
Code: 0
Identifier: Arbitrario (coincide request/reply)
Sequence: Se incrementa con cada ping
Data: Carga útil arbitrariaUsos diagnósticos#
Ping es la prueba de conectividad más simple:
# Ping básico
ping6 2001:4860:4860::8888
# Especificar dirección fuente
ping6 -I 2001:db8::10 2001:4860:4860::8888
# Paquetes grandes para probar PMTUD
ping6 -s 1400 google.com
# Flood ping (requiere root)
sudo ping6 -f 2001:4860:4860::8888Consideraciones de limitación de tasa#
Muchos administradores limitan la tasa de ping para prevenir reconocimiento y ataques DoS. Esto es razonable para servidores de producción, pero el bloqueo completo hace la resolución de problemas más difícil.
Enfoque recomendado:
- Permitir echo request/reply
- Limitar tasa para prevenir abuso
- Registrar intentos excesivos
Ejemplo Linux:
# Permitir ping pero limitar tasa
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 \
-m limit --limit 10/sec --limit-burst 20 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 -j DROPEsto permite 10 pings por segundo con ráfagas hasta 20, descartando tráfico excesivo.
Consideraciones de firewall#
El filtrado ICMPv6 requiere entender qué tipos son esenciales y cuáles son opcionales.
Debe permitir (rompe conectividad)#
Tipo 2: Packet Too Big
- Dirección: Entrante y saliente
- Razón: Path MTU Discovery se rompe sin él
- Ámbito: Todas las conexiones
Tipos 133-136: Neighbor Discovery
- Dirección: Solo link-local (hop limit 255)
- Razón: Resolución de dirección y descubrimiento de router fallan
- Ámbito: Solo red local
Tipo 1: Destination Unreachable
- Dirección: Entrante (respuestas a tu tráfico)
- Razón: TCP necesita saber cuándo puertos/rutas no existen
- Ámbito: Todas las conexiones
Debería permitir (rompe diagnósticos)#
Tipo 3: Time Exceeded
- Dirección: Entrante
- Razón: Traceroute falla sin él
- Impacto: No se pueden diagnosticar problemas de enrutamiento
Tipos 128-129: Echo Request/Reply
- Dirección: Ambas
- Razón: Ping es la prueba de conectividad primaria
- Impacto: No se puede verificar alcanzabilidad básica
Puede bloquear (solo informativo)#
Tipos 130-132: Multicast Listener Discovery
- Ámbito: Solo red local
- Impacto: Multicast podría no funcionar óptimamente
Tipo 137: Redirect
- Impacto: Enrutamiento subóptimo en red local
- Seguridad: Algunos admins bloquean para prevenir manipulación de rutas
Ejemplos de reglas iptables#
Firewall de host mínimo:
# ICMPv6 esencial
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 1 -j ACCEPT # Destination Unreachable
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 2 -j ACCEPT # Packet Too Big
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 3 -j ACCEPT # Time Exceeded
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 -j ACCEPT # Echo Request
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 129 -j ACCEPT # Echo Reply
# Neighbor discovery (solo link-local, hop limit 255)
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 133 -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 134 -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 135 -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 136 -m hl --hl-eq 255 -j ACCEPTLa verificación de hop limit (--hl-eq 255) asegura que los paquetes de neighbor discovery se originan del enlace local. NDP legítimo siempre usa hop limit 255. Los paquetes de routers tendrían valores decrementados.
Equivalente nftables:
# ICMPv6 esencial
nft add rule ip6 filter input icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, echo-request, echo-reply } accept
# Neighbor discovery con verificación de hop limit
nft add rule ip6 filter input icmpv6 type { nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } ip6 hoplimit 255 acceptError común: Bloquear todo ICMPv6
El error de firewall IPv6 más común es bloquear todo ICMPv6. Los administradores portan reglas IPv4 que bloquean todo ICMP y se preguntan por qué IPv6 se rompe. ICMPv6 no es opcional — permite los tipos esenciales o espera fallos de conectividad.
Resolución de problemas con ICMPv6#
Leer mensajes de error#
Cuando las conexiones fallan, verifica mensajes de error ICMPv6 con tcpdump:
# Capturar todo ICMPv6
sudo tcpdump -i eth0 -n ip6 and icmp6
# Tipos específicos
sudo tcpdump -i eth0 -n 'ip6 and icmp6 and ip6[40] == 1' # Tipo 1 (Destination Unreachable)
sudo tcpdump -i eth0 -n 'ip6 and icmp6 and ip6[40] == 2' # Tipo 2 (Packet Too Big)Escenarios de error comunes:
Tipo 1, Código 1: Communication administratively prohibited
# Firewall bloqueando tráfico
18:23:45.123456 IP6 2001:db8::1 > 2001:db8::10: ICMP6, destination unreachable,
administratively prohibited, length 68Firewall o lista de control de acceso bloqueando la conexión.
Tipo 1, Código 4: Port unreachable
# Servicio no ejecutándose
18:23:45.234567 IP6 2001:db8::10 > 2001:db8::1: ICMP6, destination unreachable,
port unreachable, length 68Nada escuchando en el puerto objetivo.
Tipo 2: Packet too big
# Problema MTU
18:23:45.345678 IP6 2001:db8:1234::1 > 2001:db8::10: ICMP6, packet too big,
mtu 1280, length 1240Path MTU es más pequeño de lo que el remitente asumió. El remitente debería reducir el tamaño del paquete a 1280 bytes.
Usar Wireshark para NDP#
Wireshark facilita el análisis NDP con filtros de visualización:
# Todo ICMPv6
icmpv6
# Solo Neighbor Discovery
icmpv6.type >= 133 && icmpv6.type <= 137
# Router Advertisements
icmpv6.type == 134
# Neighbor Solicitations para dirección específica
icmpv6.type == 135 && icmpv6.nd.ns.target_address == 2001:db8::10Observa Router Advertisements para ver qué configuración proporciona tu red:
# Filtrar RAs, expandir capa ICMPv6 en detalles de paquete
# Verificar:
# - Flags (M, O)
# - Información de prefijo
# - Servidores DNS (opción RDNSS)
# - Opción MTUProblemas comunes y soluciones#
Problema: El host no tiene dirección IPv6 global, solo fe80::*
Diagnóstico:
# Verificar Router Advertisements
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 134'Causas:
- Sin router en la red
- Router no enviando RAs
- Firewall bloqueando tipo 134
Solución: Habilitar IPv6 en router, verificar configuración RA, verificar reglas de firewall.
Problema: Ping funciona pero transferencias grandes se cuelgan
Diagnóstico:
# Probar con paquetes ping grandes
ping6 -s 1400 target.example.comCausas:
- ICMPv6 tipo 2 bloqueado en algún lugar
- Desajuste MTU en ruta
- Firewall filtrando Packet Too Big
Solución: Permitir tipo 2 a través de todos los firewalls, verificar configuración MTU.
Problema: No se pueden alcanzar vecinos en la misma subred
Diagnóstico:
# Verificar caché de vecinos
ip -6 neigh show
# Observar Neighbor Solicitations
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 135'Causas:
- Firewall bloqueando tipos 135/136
- Switch filtrando multicast
- IPv6 deshabilitado en objetivo
Solución: Permitir NDP a través de firewalls, verificar configuración multicast del switch.
Problema: Los hosts ignoran Router Advertisements
Diagnóstico:
# Verificar que RAs están llegando
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 134'
# Verificar configuración accept_ra (Linux)
sysctl net.ipv6.conf.eth0.accept_raCausas:
- accept_ra deshabilitado (Linux)
- Reenvío IPv6 habilitado en host (deshabilita procesamiento RA)
- RA tiene hop limit inválido (!= 255)
Solución: Habilitar accept_ra, deshabilitar reenvío en hosts finales, verificar configuración del router.
Artículos relacionados#
- Fundamentos de IPv6 — Aprende lo básico del direccionamiento IPv6 y por qué existe IPv6
- Configuración de firewall IPv6 — Configura tu firewall para permitir ICMPv6 esencial mientras mantienes la seguridad
- Cómo habilitar IPv6 — Pon IPv6 en funcionamiento en tus dispositivos y red con configuración NDP adecuada
Prueba tu red
Usa nuestra herramienta Ping para probar conectividad ICMPv6 y nuestra herramienta Traceroute para ver mensajes ICMPv6 Time Exceeded en acción.
Preguntas frecuentes#
¿Puedo bloquear el ping ICMPv6 como hago con ICMP IPv4?
Puedes limitar la tasa o bloquear Echo Request/Reply (tipos 128-129) sin romper conectividad, pero hace la resolución de problemas mucho más difícil. A diferencia de IPv4 donde ICMP es principalmente diagnóstico, ICMPv6 incluye funciones esenciales como Neighbor Discovery y Path MTU Discovery que nunca debes bloquear. Bloquea ping si quieres, pero nunca bloquees tipos 1, 2 o 133-136.
¿Por qué NDP usa multicast en lugar de broadcast como ARP?
Multicast es más eficiente. ARP IPv4 envía broadcasts que cada host en la red debe procesar, incluso si no son el objetivo. NDP IPv6 usa direcciones multicast solicited-node calculadas de la dirección IPv6 del objetivo. Solo los hosts con direcciones coincidentes procesan el paquete — todos los demás lo filtran en hardware. Esto reduce carga de CPU y ruido de red, especialmente en redes grandes.
¿Cuál es la diferencia entre Router Solicitation y Router Advertisement?
Router Solicitation (tipo 133) es una solicitud enviada por hosts pidiendo a los routers que se anuncien inmediatamente. Router Advertisement (tipo 134) es la respuesta enviada por routers, conteniendo prefijos de red, parámetros de configuración e información del router. Los routers también envían RAs periódicamente sin solicitud. RS permite a los hosts obtener configuración rápidamente al arrancar en lugar de esperar el siguiente RA periódico.
¿Con qué frecuencia deberían los routers enviar Router Advertisements?
RFC 4861 recomienda RAs entre 200-600 segundos (3,3-10 minutos) de separación. La mayoría de implementaciones usan 200 segundos por defecto. Los routers también responden inmediatamente a Router Solicitations. El intervalo equilibra configuración rápida para nuevos hosts con sobrecarga de red mínima. Demasiado frecuente desperdicia ancho de banda; demasiado infrecuente retrasa auto-configuración.
¿Por qué algunos mensajes ICMPv6 requieren hop limit 255?
El requisito de hop limit 255 previene que atacantes fuera del enlace envíen mensajes Neighbor Discovery falsificados. Los paquetes NDP legítimos se originan en el enlace local y siempre usan hop limit 255. Los paquetes de atacantes remotos pasarían por routers, decrementando el hop limit. Al rechazar paquetes con hop limit < 255, los hosts se protegen contra Router Advertisements y Neighbor Advertisements maliciosos desde fuera de la red local.