Internet Control Message Protocol para IPv6 - Internet Control Message Protocol for IPv6

Internet Control Message Protocol versão 6 ( ICMPv6 ) é a implementação do Internet Control Message Protocol (ICMP) para Internet Protocol versão 6 (IPv6). O ICMPv6 é parte integrante do IPv6 e executa relatórios de erros e funções de diagnóstico.

ICMPv6 tem uma estrutura para extensões para implementar novos recursos. Várias extensões foram publicadas, definindo novos tipos de mensagens ICMPv6, bem como novas opções para os tipos de mensagens ICMPv6 existentes. Por exemplo, Neighbour Discovery Protocol (NDP) é um protocolo de descoberta de nó baseado em ICMPv6 que substitui e melhora as funções do ARP . Secure Neighbor Discovery (SEND) é uma extensão do NDP com segurança extra. Multicast Listener Discovery (MLD) é usado por roteadores IPv6 para descobrir ouvintes multicast em um link conectado diretamente, da mesma forma que o Internet Group Management Protocol (IGMP) é usado no IPv4 . A descoberta de roteador multicast (MRD) permite a descoberta de roteadores multicast.

Tipos e formatos de mensagens

As mensagens ICMPv6 podem ser classificadas como mensagens de erro e mensagens informativas . As mensagens ICMPv6 são transportadas por pacotes IPv6 nos quais o valor do próximo cabeçalho IPv6 para ICMPv6 é definido como o valor 58.

A mensagem ICMPv6 consiste em um cabeçalho e na carga útil do protocolo. O cabeçalho contém apenas três campos: tipo (8 bits), código (8 bits) e soma de verificação (16 bits). tipo especifica o tipo da mensagem. Valores na faixa de 0 a 127 (o bit de alta ordem é 0) indicam uma mensagem de erro, enquanto valores na faixa de 128 a 255 (o bit de alta ordem é 1) indicam uma mensagem de informação. O valor do campo de código depende do tipo de mensagem e fornece um nível adicional de granularidade da mensagem. O campo de checksum fornece um nível mínimo de verificação de integridade para a mensagem ICMP.

Pacote ICMPv6
Deslocamento de bit 0–7 8-15 16-31
0 Modelo Código Checksum
32 Corpo da mensagem

Tipos

As mensagens de controle são identificadas pelo valor no campo tipo . O campo de código fornece informações de contexto adicionais para a mensagem. Algumas mensagens têm a mesma finalidade que os tipos de mensagens ICMP com os nomes correspondentes.

Modelo Código
Valor Significado Valor Significado
Mensagens de erro ICMPv6
1 Destino inalcançável 0 nenhuma rota para o destino
1 comunicação com destino proibida administrativamente
2 além do escopo do endereço de origem
3 endereço inacessível
4 porta inacessível
5 política de entrada / saída com falha no endereço de origem
6 rejeitar rota para o destino
7 Erro no cabeçalho de roteamento de origem
2 Pacote Muito Grande 0
3 Tempo excedido 0 limite de salto excedido em trânsito
1 tempo de remontagem do fragmento excedido
4 Problema de parâmetro 0 campo de cabeçalho errôneo encontrado
1 encontrado tipo não reconhecido de próximo cabeçalho
2 opção IPv6 não reconhecida encontrada
100 Experimentação privada
101 Experimentação privada
127 Reservado para expansão de mensagens de erro ICMPv6
Mensagens informativas ICMPv6
128 Pedido de Eco 0
129 Echo Reply 0
130 Consulta de escuta de multicast ( MLD ) 0

Existem dois subtipos de mensagens de consulta de ouvinte multicast:

  • Consulta geral, usada para aprender quais endereços multicast têm ouvintes em um link anexado.
  • Consulta específica de endereço de multicast, usada para saber se um endereço de multicast específico possui ouvintes em um link anexado.

Esses dois subtipos são diferenciados pelo conteúdo do campo Multicast Address, conforme descrito na seção 3.6 da RFC 2710

131 Relatório de escuta de multicast ( MLD ) 0
132 Ouvinte multicast concluído ( MLD ) 0
133 Solicitação de roteador ( NDP ) 0
134 Anúncio de roteador ( NDP ) 0
135 Solicitação de vizinho ( NDP ) 0
136 Anúncio de vizinho ( NDP ) 0
137 Mensagem de redirecionamento ( NDP ) 0
138 Renumeração de roteador 0 Comando de renumeração de roteador
1 Resultado da renumeração do roteador
255 Reinicialização do número de sequência
139 Consulta de Informações de Nó ICMP 0 O campo Dados contém um endereço IPv6 que é o Assunto desta Consulta.
1 O campo Dados contém um nome que é o Assunto desta Consulta, ou está vazio, como no caso de um NOOP.
2 O campo Dados contém um endereço IPv4 que é o Assunto desta Consulta.
140 Resposta de Informação do Nó ICMP 0 Uma resposta bem-sucedida. O campo Reply Data pode ou não estar vazio.
1 O Respondente se recusa a fornecer a resposta. O campo Reply Data estará vazio.
2 O Qtype da consulta é desconhecido para o respondente. O campo Reply Data estará vazio.
141 Mensagem de solicitação de descoberta de vizinho inverso 0
142 Mensagem de anúncio de descoberta de vizinho inverso 0
143 Relatórios de descoberta de ouvinte multicast ( MLDv2 ) (RFC 3810)
144 Mensagem de solicitação de descoberta de endereço de agente doméstico 0
145 Mensagem de resposta de descoberta de endereço de agente doméstico 0
146 Solicitação de prefixo móvel 0
147 Anúncio de prefixo móvel 0
148 Solicitação de Caminho de Certificação ( ENVIAR )
149 Anúncio do caminho de certificação (SEND)
151 Anúncio de roteador multicast ( MRD )
152 Solicitação de roteador multicast ( MRD )
153 Terminação de roteador multicast ( MRD )
155 Mensagem de controle RPL
200 Experimentação privada
201 Experimentação privada
255 Reservado para expansão de mensagens informativas ICMPv6

Observe que a tabela acima não é abrangente. A lista completa atual de tipos de ICMPv6 atribuídos pode ser encontrada neste link: IANA: Parâmetros de ICMPv6 .

Checksum

O ICMPv6 fornece um nível mínimo de verificação da integridade da mensagem pela inclusão de uma soma de verificação de 16 bits em seu cabeçalho. A soma de verificação é calculada a partir de um pseudo-cabeçalho de campos de cabeçalho IPv6 de acordo com o padrão IPv6, que consiste nos endereços de origem e destino, o comprimento do pacote e o próximo campo de cabeçalho, este último definido com o valor 58. A seguir Neste pseudo cabeçalho, a soma de verificação continua com a mensagem ICMPv6. O cálculo da soma de verificação é executado de acordo com os padrões de protocolo da Internet usando a soma de complemento de 16 bits , seguido por um complemento final da própria soma de verificação e inserindo-o no campo de soma de verificação. Observe que isso difere da forma como é calculado para IPv4 no ICMP , mas é semelhante ao cálculo feito no TCP .

Pseudo-cabeçalho ICMPv6
Deslocamento de bit 0 - 7 8-15 16-23 24-31
0 Endereço de Origem
32
64
96
128 Endereço de destino
160
192
224
256 Comprimento de ICMPv6
288 Zeros Próximo cabeçalho

Processamento de mensagens

Quando um nó ICMPv6 recebe um pacote, ele deve realizar ações que dependem do tipo de mensagem. O protocolo ICMPv6 deve limitar o número de mensagens de erro enviadas ao mesmo destino para evitar a sobrecarga da rede. Por exemplo, se um nó continuar a encaminhar pacotes errôneos, o ICMP sinalizará o erro para o primeiro pacote e o fará periodicamente, com um período mínimo fixo ou com uma carga máxima de rede fixa. Uma mensagem de erro ICMP nunca deve ser enviada em resposta a outra mensagem de erro ICMP.

Referências

links externos

  • IANA: Parâmetros ICMPv6
  • Renumeração de roteador para IPv6 . doi : 10.17487 / RFC2894 . RFC 2894 .