ICMPv6 Explicado: O Protocolo Que Faz o IPv6 Funcionar
Entenda ICMPv6, o protocolo essencial para redes IPv6. Aprenda sobre Descoberta de Vizinhos, Anúncios de Roteador e por que bloquear ICMPv6 quebra sua rede.
ICMPv6 Não É Opcional#
No IPv4, ICMP lida com diagnósticos. Você pode bloqueá-lo e a maioria das coisas ainda funciona. IPv6 não funciona assim.
TL;DR - Resumo rápido
Pontos-chave:
- ICMPv6 é obrigatório (não opcional como ICMP IPv4); lida com NDP, descoberta de roteador e PMTUD
- Neighbor Discovery Protocol (tipos 133-137) substitui ARP e habilita SLAAC
- Tipo 2 (Packet Too Big) é crítico para Path MTU Discovery—bloqueá-lo quebra conexões
- Tipos essenciais para permitir: 1 (Unreachable), 2 (Too Big), 128-129 (Ping), 133-137 (NDP)
Ir para: Neighbor Discovery Protocol | Path MTU Discovery | Regras de Firewall
ICMPv6 é o sistema nervoso do IPv6. Ele lida com relatório de erros, diagnósticos, descoberta de vizinhos, descoberta de roteador e resolução de endereços. Bloqueie os tipos de mensagem ICMPv6 errados e você quebrará conectividade básica, impedirá hosts de encontrar seu gateway padrão e causará travamentos de conexão misteriosos que levam horas para depurar.
A especificação IPv6 não trata ICMPv6 como um complemento. É um componente obrigatório e integral. Entender ICMPv6 é entender como IPv6 realmente funciona.
ICMPv6 vs ICMP (IPv4)#
ICMPv6 evoluiu do ICMP do IPv4, mas assumiu significativamente mais responsabilidade.
| Recurso | ICMPv4 | ICMPv6 | Impacto |
|---|---|---|---|
| Número de Protocolo | 1 | 58 | Valor de próximo cabeçalho IP diferente |
| Mensagens de Erro | Destination Unreachable, Time Exceeded, etc. | Mesmos erros, refinados | Funcionalidade similar |
| Diagnósticos | Echo Request/Reply (ping) | Echo Request/Reply (ping) | Propósito idêntico |
| Resolução de Endereço | ARP (protocolo separado) | Descoberta de Vizinhos (ICMPv6) | ICMPv6 substitui ARP inteiramente |
| Descoberta de Roteador | ICMP Router Discovery (opcional) | Router Advertisement (obrigatório) | Crítico para autoconfiguração |
| Fragmentação | Lidado silenciosamente por roteadores | Mensagens Packet Too Big | Descoberta de MTU de caminho necessária |
| Gerenciamento de Multicast | IGMP (protocolo separado) | Mensagens MLD (ICMPv6) | ICMPv6 substitui IGMP |
A diferença chave: ICMPv6 absorveu funcionalidade que usava protocolos separados no IPv4. ARP opera na camada 2 no IPv4. IPv6 não tem ARP—Descoberta de Vizinhos usa ICMPv6. IGMP gerenciava grupos multicast no IPv4. IPv6 usa mensagens Multicast Listener Discovery (MLD) dentro do ICMPv6.
Essa consolidação simplificou a pilha de protocolos, mas tornou ICMPv6 absolutamente essencial. Você não pode bloqueá-lo sem quebrar funcionalidade central.
Estrutura de Tipo de Mensagem#
Mensagens ICMPv6 têm uma estrutura simples: tipo, código, checksum e dados específicos da mensagem. O campo tipo determina a categoria da mensagem.
Intervalos de número de tipo:
- 0-127: Mensagens de erro
- 128-255: Mensagens informativas
Essa divisão facilita filtragem. Mensagens de erro reportam problemas com entrega de pacotes. Mensagens informativas lidam com consultas, respostas e descoberta de vizinho/roteador.
Tipos de Mensagem Comuns#
| Tipo | Código | Nome | Categoria | Propósito |
|---|---|---|---|---|
| 1 | 0-6 | Destination Unreachable | Erro | Porta fechada, rota indisponível, etc. |
| 2 | 0 | Packet Too Big | Erro | MTU excedido no caminho |
| 3 | 0-1 | Time Exceeded | Erro | Limite de saltos alcançado ou timeout de fragmento |
| 4 | 0-2 | Parameter Problem | Erro | Cabeçalho de pacote malformado |
| 128 | 0 | Echo Request | Info | Requisição de ping |
| 129 | 0 | Echo Reply | Info | Resposta de ping |
| 133 | 0 | Router Solicitation | Info | Solicitar informação de roteador |
| 134 | 0 | Router Advertisement | Info | Roteador anuncia presença e config |
| 135 | 0 | Neighbor Solicitation | Info | Resolução de endereço e acessibilidade |
| 136 | 0 | Neighbor Advertisement | Info | Resposta à solicitação |
| 137 | 0 | Redirect | Info | Roteador de primeiro salto melhor existe |
Números de Tipo Importam
Diferente do IPv4 onde tipos ICMP usam números dispersos, o espaço de tipo organizado do ICMPv6 torna regras de firewall mais claras. Tipos 133-137 lidam com Protocolo de Descoberta de Vizinhos, facilitando permitir ou bloquear NDP como um grupo.
Protocolo de Descoberta de Vizinhos (NDP)#
Protocolo de Descoberta de Vizinhos substitui o ARP do IPv4 e adiciona capacidades que IPv4 lidava através de múltiplos protocolos. NDP opera inteiramente sobre ICMPv6 e lida com cinco funções críticas:
- Resolução de endereço - Mapear endereços IPv6 para endereços MAC (substitui ARP)
- Descoberta de roteador - Encontrar roteadores locais sem configuração
- Descoberta de prefixo - Aprender prefixos de rede para autoconfiguração
- Descoberta de parâmetro - Obter MTU, limite de saltos e outros parâmetros
- Determinação de próximo salto - Identificar o melhor roteador para um destino
Os Cinco Tipos de Mensagem NDP#
Router Solicitation (Tipo 133)#
Enviado por hosts para solicitar que roteadores se anunciem imediatamente em vez de esperar pelo próximo Router Advertisement agendado.
Quando é enviado:
- Host inicializa
- Interface fica online
- Host quer configuração rapidamente
Formato:
Origem: Endereço link-local ou ::
Destino: ff02::2 (multicast all-routers)
Hop Limit: 255Router Solicitations permitem que hosts obtenham configuração de rede em segundos em vez de esperar por anúncios periódicos.
Router Advertisement (Tipo 134)#
Enviado por roteadores para anunciar sua presença, divulgar prefixos para SLAAC e fornecer parâmetros de configuração.
Quando é enviado:
- Periodicamente (a cada poucos minutos)
- Em resposta a Router Solicitation
- Quando configuração do roteador muda
O que contém:
- Tempo de vida do roteador (quanto tempo usar este roteador)
- Prefixo(s) de rede e sua validade
- Recomendação de MTU
- Sugestão de limite de saltos
- Flags para SLAAC e DHCPv6
Formato:
Origem: Endereço link-local do roteador
Destino: ff02::1 (multicast all-nodes) ou host solicitante
Hop Limit: 255Router Advertisements são como hosts aprendem sua configuração de rede automaticamente. Sem necessidade de DHCP—roteadores transmitem tudo que hosts precisam para se configurarem.
SLAAC Depende de Router Advertisements
Stateless Address Autoconfiguration (SLAAC) depende completamente de Router Advertisements. Bloqueie tipo 134 e hosts não podem se autoconfigurar. Eles terão apenas endereços link-local, sem rota padrão e sem endereços globalmente roteáveis.
Neighbor Solicitation (Tipo 135)#
O equivalente IPv6 de requisições ARP. Enviado para descobrir o endereço MAC de um vizinho ou verificar se um vizinho ainda está acessível.
Quando é enviado:
- Resolvendo um endereço IPv6 para endereço MAC
- Verificando se um vizinho ainda está acessível
- Duplicate Address Detection (verificando se um endereço já está em uso)
Formato:
Origem: Endereço do remetente (ou :: para DAD)
Destino: Endereço multicast solicited-node ou endereço alvo
Hop Limit: 255Mensagens Neighbor Solicitation usam endereços multicast solicited-node em vez de broadcast. Isso reduz processamento desnecessário—apenas o host alvo e hosts com endereços similares recebem o pacote.
Neighbor Advertisement (Tipo 136)#
Resposta a Neighbor Solicitation. Fornece o endereço MAC do remetente ou confirma acessibilidade.
Quando é enviado:
- Resposta a Neighbor Solicitation
- Anúncio não solicitado de mudança de endereço
Formato:
Origem: Endereço link-local ou global do remetente
Destino: Endereço do solicitante ou multicast all-nodes
Hop Limit: 255Redirect (Tipo 137)#
Enviado por roteadores para informar hosts que um roteador de primeiro salto melhor existe para um destino específico.
Quando é enviado:
- Host envia pacote para roteador
- Roteador conhece um próximo salto melhor no mesmo link
- Roteador encaminha o pacote E envia redirect
Formato:
Origem: Endereço link-local do roteador
Destino: Remetente original
Hop Limit: 255Redirects otimizam roteamento sem exigir que hosts mantenham tabelas de roteamento complexas.
Como Resolução de Endereço Funciona#
Quando um host precisa enviar um pacote para outro endereço IPv6 no link local:
- Verificar cache de vizinho - O endereço MAC já é conhecido?
- Enviar Neighbor Solicitation - Se não, enviar NS para endereço multicast solicited-node
- Receber Neighbor Advertisement - Alvo responde com endereço MAC
- Atualizar cache - Armazenar mapeamento para uso futuro
- Enviar pacote - Entregar o pacote original
O endereço multicast solicited-node é computado do endereço IPv6 do alvo:
ff02::1:ff + últimos 24 bits do endereço IPv6
Exemplo:
IPv6: 2001:db8::a4b2:c3d4:e5f6:7890
Solicited-node: ff02::1:ff:f6:7890Essa abordagem multicast reduz tráfego de rede comparado ao ARP baseado em broadcast do IPv4.
Duplicate Address Detection
Antes de usar um endereço, hosts enviam uma Neighbor Solicitation com origem :: e alvo definido para o endereço que querem usar. Se outro host responder, o endereço já está em uso. Isso previne conflitos de endereço em SLAAC.
Descoberta de Roteador em Detalhe#
Roteadores divulgam a si mesmos e configuração de rede através de mensagens Router Advertisement. Hosts escutam e se autoconfiguram baseado nesses anúncios.
Conteúdo de Router Advertisement#
Um RA típico contém:
Informação do Roteador:
- Tempo de vida do roteador (0-9000 segundos, 0 significa « não é um roteador padrão »)
- Tempo de acessibilidade (quanto tempo considerar um vizinho acessível)
- Timer de retransmissão (atraso entre solicitações de vizinho)
Informação de Prefixo:
- Prefixo de rede (ex., 2001:db8:1234::/64)
- Tempo de vida válido (quanto tempo endereços são válidos)
- Tempo de vida preferido (quanto tempo usar para novas conexões)
- Flags:
- L (On-link): Prefixo está no link local
- A (Autonomous): Usar para SLAAC
Outras Opções:
- Recomendação de MTU
- Servidores DNS (opção RDNSS)
- Domínios de busca DNS (opção DNSSL)
Formação de Endereço SLAAC#
Quando um host recebe um RA com flag A definida:
- Pegar o prefixo - ex.,
2001:db8:1234::/64 - Gerar identificador de interface - 64 bits derivados de MAC ou aleatório
- Combiná-los -
2001:db8:1234::a4b2:c3d4:e5f6:7890 - Executar Duplicate Address Detection - Garantir que ninguém mais o usa
- Configurar o endereço - Adicionar à interface
- Definir rota padrão - Usar roteador como próximo salto
Isso acontece automaticamente sem intervenção do usuário ou servidores DHCP.
Flags Que Controlam Configuração#
Router Advertisements incluem flags que dizem aos hosts como se configurar:
- M (Managed): Usar DHCPv6 para endereços (não SLAAC)
- O (Other): Usar DHCPv6 para outra configuração (DNS, NTP, etc.)
Combinações comuns:
| M | O | Comportamento |
|---|---|---|
| 0 | 0 | Apenas SLAAC, sem DHCPv6 |
| 0 | 1 | SLAAC para endereços, DHCPv6 para DNS/etc. |
| 1 | 0 | DHCPv6 para endereços (incomum) |
| 1 | 1 | DHCPv6 para tudo |
A maioria das redes usa M=0, O=0 (SLAAC puro) ou M=0, O=1 (SLAAC + DHCPv6 para DNS).
Descoberta de MTU de Caminho#
Roteadores IPv6 não fragmentam pacotes. A origem deve enviar pacotes pequenos o suficiente para caber em todo o caminho. É aqui que ICMPv6 tipo 2 se torna crítico.
Como PMTUD Funciona#
- Host envia pacote - Usa MTU de interface (tipicamente 1500 bytes)
- Roteador encontra MTU menor - Não pode fragmentar em IPv6
- Roteador descarta pacote - Envia mensagem ICMPv6 Packet Too Big de volta
- Mensagem inclui MTU - Diz ao remetente o tamanho máximo permitido
- Host reduz tamanho do pacote - Retransmite com MTU menor
- Conexão continua - Usando tamanho de pacote apropriado
Formato de mensagem Packet Too Big:
Tipo: 2
Código: 0
MTU: 1280 (ou o que o próximo salto suporta)
Pacote original: Primeira porção do pacote descartadoO MTU mínimo IPv6 é 1280 bytes. Todos os links devem suportar pelo menos este tamanho. Pacotes maiores requerem que PMTUD funcione.
O Que Acontece Quando Você Bloqueia Tipo 2#
Sintomas de conexão quando mensagens Packet Too Big são bloqueadas:
- Conexão inicial funciona - Pacotes SYN, SYN-ACK, ACK são pequenos
- Transferência de dados trava - Pacotes grandes são descartados silenciosamente
- Sem mensagens de erro - Conexão apenas congela
- Timeout após minutos - TCP eventualmente desiste
Este é um dos problemas mais frustrantes de depurar porque a conexão estabelece com sucesso antes de falhar.
Cenário do mundo real:
$ curl -6 https://example.com/
# Conexão trava após handshake TLS
# Navegador mostra "Carregando..." para sempre
# SSH conecta mas trava durante troca de bannerTudo porque algum middlebox bloqueou ICMPv6 tipo 2.
Nunca Bloqueie Packet Too Big
Bloquear ICMPv6 tipo 2 quebra conexões de maneiras sutis, específicas de aplicação. Sempre permita este tipo de mensagem em ambas direções através de firewalls e roteadores.
Echo Request e Echo Reply (Ping)#
Tipo 128 (Echo Request) e Tipo 129 (Echo Reply) funcionam exatamente como ping IPv4.
Formato:
Tipo: 128 (requisição) ou 129 (resposta)
Código: 0
Identificador: Arbitrário (combina requisição/resposta)
Sequência: Incrementa a cada ping
Dados: Payload arbitrárioUsos Diagnósticos#
Ping é o teste de conectividade mais simples:
# Ping básico
ping6 2001:4860:4860::8888
# Especificar endereço de origem
ping6 -I 2001:db8::10 2001:4860:4860::8888
# Pacotes grandes para testar PMTUD
ping6 -s 1400 google.com
# Flood ping (requer root)
sudo ping6 -f 2001:4860:4860::8888Considerações de Limitação de Taxa#
Muitos administradores limitam taxa de ping para prevenir reconhecimento e ataques DoS. Isso é razoável para servidores de produção, mas bloqueio completo torna solução de problemas mais difícil.
Abordagem recomendada:
- Permitir echo request/reply
- Limitar taxa para prevenir abuso
- Registrar tentativas excessivas
Exemplo Linux:
# Permitir ping mas limitar taxa
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 DROPIsso permite 10 pings por segundo com rajadas até 20, descartando tráfego excessivo.
Considerações de Firewall#
Filtragem ICMPv6 requer entender quais tipos são essenciais e quais são opcionais.
Deve Permitir (Quebra Conectividade)#
Tipo 2: Packet Too Big
- Direção: Entrada e saída
- Razão: Descoberta de MTU de caminho quebra sem ele
- Escopo: Todas as conexões
Tipos 133-136: Descoberta de Vizinhos
- Direção: Apenas link-local (hop limit 255)
- Razão: Resolução de endereço e descoberta de roteador falham
- Escopo: Apenas rede local
Tipo 1: Destination Unreachable
- Direção: Entrada (respostas ao seu tráfego)
- Razão: TCP precisa saber quando portas/rotas não existem
- Escopo: Todas as conexões
Deve Permitir (Quebra Diagnósticos)#
Tipo 3: Time Exceeded
- Direção: Entrada
- Razão: Traceroute falha sem ele
- Impacto: Não pode diagnosticar problemas de roteamento
Tipos 128-129: Echo Request/Reply
- Direção: Ambas
- Razão: Ping é o teste de conectividade primário
- Impacto: Não pode verificar acessibilidade básica
Pode Bloquear (Apenas Informativo)#
Tipos 130-132: Multicast Listener Discovery
- Escopo: Apenas rede local
- Impacto: Multicast pode não funcionar de forma ideal
Tipo 137: Redirect
- Impacto: Roteamento subótimo em rede local
- Segurança: Alguns admins bloqueiam para prevenir manipulação de rota
Exemplo de Regras iptables#
Firewall mínimo de host:
# ICMPv6 essencial
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
# Descoberta de vizinhos (apenas 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 ACCEPTA verificação de hop limit (--hl-eq 255) garante que pacotes de descoberta de vizinhos se originem do link local. NDP legítimo sempre usa hop limit 255. Pacotes de roteadores teriam valores decrementados.
Equivalente nftables:
# ICMPv6 essencial
nft add rule ip6 filter input icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, echo-request, echo-reply } accept
# Descoberta de vizinhos com verificação 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 acceptErro Comum: Bloquear Todo ICMPv6
O erro de firewall IPv6 mais comum é bloquear todo ICMPv6. Administradores portam regras IPv4 que bloqueiam todo ICMP e se perguntam por que IPv6 quebra. ICMPv6 não é opcional—permita os tipos essenciais ou espere falhas de conectividade.
Solução de Problemas com ICMPv6#
Lendo Mensagens de Erro#
Quando conexões falham, verifique mensagens de erro ICMPv6 com 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)Cenários de erro comuns:
Tipo 1, Código 1: Communication administratively prohibited
# Firewall bloqueando tráfego
18:23:45.123456 IP6 2001:db8::1 > 2001:db8::10: ICMP6, destination unreachable,
administratively prohibited, length 68Firewall ou lista de controle de acesso bloqueando a conexão.
Tipo 1, Código 4: Port unreachable
# Serviço não executando
18:23:45.234567 IP6 2001:db8::10 > 2001:db8::1: ICMP6, destination unreachable,
port unreachable, length 68Nada escutando na porta alvo.
Tipo 2: Packet too big
# Problema de MTU
18:23:45.345678 IP6 2001:db8:1234::1 > 2001:db8::10: ICMP6, packet too big,
mtu 1280, length 1240MTU de caminho é menor que o remetente assumiu. Remetente deve reduzir tamanho do pacote para 1280 bytes.
Usando Wireshark para NDP#
Wireshark facilita análise NDP com filtros de exibição:
# Todo ICMPv6
icmpv6
# Apenas Descoberta de Vizinhos
icmpv6.type >= 133 && icmpv6.type <= 137
# Router Advertisements
icmpv6.type == 134
# Neighbor Solicitations para um endereço específico
icmpv6.type == 135 && icmpv6.nd.ns.target_address == 2001:db8::10Observe Router Advertisements para ver que configuração sua rede fornece:
# Filtrar RAs, expandir camada ICMPv6 em detalhes do pacote
# Verificar:
# - Flags (M, O)
# - Informação de prefixo
# - Servidores DNS (opção RDNSS)
# - Opção MTUProblemas Comuns e Soluções#
*Problema: Host não tem endereço IPv6 global, apenas fe80::
Diagnóstico:
# Verificar Router Advertisements
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 134'Causas:
- Sem roteador na rede
- Roteador não enviando RAs
- Firewall bloqueando tipo 134
Solução: Habilite IPv6 no roteador, verifique configuração RA, verifique regras de firewall.
Problema: Ping funciona mas transferências grandes travam
Diagnóstico:
# Testar com pacotes ping grandes
ping6 -s 1400 target.example.comCausas:
- ICMPv6 tipo 2 bloqueado em algum lugar
- Incompatibilidade de MTU no caminho
- Firewall filtrando Packet Too Big
Solução: Permitir tipo 2 através de todos os firewalls, verificar configuração de MTU.
Problema: Não consegue alcançar vizinhos na mesma sub-rede
Diagnóstico:
# Verificar cache de vizinho
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 desabilitado no alvo
Solução: Permitir NDP através de firewalls, verificar configuração multicast do switch.
Problema: Hosts ignoram Router Advertisements
Diagnóstico:
# Verificar se RAs estão chegando
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 134'
# Verificar configuração accept_ra (Linux)
sysctl net.ipv6.conf.eth0.accept_raCausas:
- accept_ra desabilitado (Linux)
- Encaminhamento IPv6 habilitado no host (desabilita processamento RA)
- RA tem hop limit inválido (!= 255)
Solução: Habilitar accept_ra, desabilitar encaminhamento em hosts finais, verificar configuração do roteador.
Artigos Relacionados#
- Fundamentos do IPv6 - Aprenda o básico de endereçamento IPv6 e por que IPv6 existe.
- Configuração de Firewall IPv6 - Configure seu firewall para permitir ICMPv6 essencial mantendo segurança.
- Solução de Problemas IPv6 - Diagnostique e corrija problemas comuns de conectividade IPv6 usando ICMPv6.
Teste Sua Rede
Use nossa ferramenta Ping para testar conectividade ICMPv6 e nossa ferramenta Traceroute para ver mensagens ICMPv6 Time Exceeded em ação.
Perguntas Frequentes#
Posso bloquear ping ICMPv6 como faço com ICMP IPv4?
Você pode limitar taxa ou bloquear Echo Request/Reply (tipos 128-129) sem quebrar conectividade, mas torna solução de problemas muito mais difícil. Diferente do IPv4 onde ICMP é principalmente diagnóstico, ICMPv6 inclui funções essenciais como Descoberta de Vizinhos e Descoberta de MTU de Caminho que você nunca deve bloquear. Bloqueie ping se quiser, mas nunca bloqueie tipos 1, 2 ou 133-136.
Por que NDP usa multicast em vez de broadcast como ARP?
Multicast é mais eficiente. ARP IPv4 envia broadcasts que todo host na rede deve processar, mesmo que não sejam o alvo. NDP IPv6 usa endereços multicast solicited-node computados do endereço IPv6 do alvo. Apenas hosts com endereços correspondentes processam o pacote—todos os outros o filtram em hardware. Isso reduz carga de CPU e ruído de rede, especialmente em redes grandes.
Qual a diferença entre Router Solicitation e Router Advertisement?
Router Solicitation (tipo 133) é uma requisição enviada por hosts pedindo que roteadores se anunciem imediatamente. Router Advertisement (tipo 134) é a resposta enviada por roteadores, contendo prefixos de rede, parâmetros de configuração e informação do roteador. Roteadores também enviam RAs periodicamente sem solicitação. RS permite que hosts obtenham configuração rapidamente na inicialização em vez de esperar pelo próximo RA periódico.
Com que frequência roteadores devem enviar Router Advertisements?
RFC 4861 recomenda RAs entre 200-600 segundos (3.3-10 minutos) de intervalo. A maioria das implementações usa padrão de 200 segundos. Roteadores também respondem imediatamente a Router Solicitations. O intervalo equilibra configuração rápida para novos hosts com overhead mínimo de rede. Muito frequente desperdiça largura de banda; muito infrequente atrasa autoconfiguração.
Por que algumas mensagens ICMPv6 requerem hop limit 255?
O requisito de hop limit 255 previne que atacantes fora do link enviem mensagens de Descoberta de Vizinhos falsificadas. Pacotes NDP legítimos se originam no link local e sempre usam hop limit 255. Pacotes de atacantes remotos passariam através de roteadores, decrementando o hop limit. Ao rejeitar pacotes com hop limit < 255, hosts se protegem contra Router Advertisements e Neighbor Advertisements maliciosos de fora da rede local.