Visão geral do processamento baseado em fluxo IPv6
Saiba mais sobre como os firewalls da Série SRX processam pacotes IPv6, cabeçalhos de extensão IPv6 e pacotes ICMPv6.
O cabeçalho de pacotes IPv6 e a visão geral da Série SRX
Cada pacote IPv6 tem um cabeçalho de pacote básico de no mínimo 40 bytes (320 bits). O cabeçalho do pacote IPv6 opcionalmente tem cabeçalhos de extensão, que contêm as informações suplementares sobre os dispositivos de rede.
Para pacotes IPv6, o processamento de fluxo analisa os cabeçalhos de extensão e os cabeçalhos da camada de transporte da seguinte maneira:
Se o software encontrar um cabeçalho TCP, UDP, ESP, AH ou ICMPv6, ele analisa o cabeçalho e assume que a carga útil do pacote corresponde ao tipo de protocolo especificado.
Se o software encontrar um cabeçalho salto a salto, um cabeçalho de roteamento e destino ou um cabeçalho de fragmento, ele continuará a analisar o próximo cabeçalho de extensão.
Se encontrar o cabeçalho de extensão no-next-header, o software detectará que o pacote é de um protocolo desconhecido (protocolo igual a 0).
Para outros cabeçalhos de extensão, o software analisa o cabeçalho e identifica o pacote como pertencente ao protocolo indicado pelo cabeçalho de extensão.
Entender as extensões de cabeçalho de pacote IPv6
Os cabeçalhos de extensão IPv6 contêm informações suplementares usadas por dispositivos de rede (como roteadores, switches e hosts de endpoint) para decidir como direcionar ou processar um pacote IPv6. O comprimento de cada cabeçalho de extensão é um múltiplo inteiro de 8 octetos. Isso permite que cabeçalhos de extensão subsequentes usem estruturas de 8 octetos.
Qualquer cabeçalho seguido por um cabeçalho de extensão contém um valor Next Header que identifica o tipo de cabeçalho de extensão. Os cabeçalhos de extensão podem ser colocados entre o cabeçalho IPv6 e o cabeçalho da camada superior em um pacote. A Figura 1 mostra um pacote IPv6 com o cabeçalho de opções salto a salto. Da mesma forma, um cabeçalho IPv6 pode transportar zero, um ou mais cabeçalhos de extensão, cada um identificado pelo campo Próximo Cabeçalho do cabeçalho anterior. Os cabeçalhos de extensão sempre seguem o cabeçalho IPv6 básico na ordem, conforme mostrado na Tabela 1:
de extensão IPv6
| Nome do cabeçalho |
Finalidade |
Próximo valor de cabeçalho |
|---|---|---|
| Opções salto a salto |
Especifica os parâmetros de entrega em cada salto no caminho para o host de destino. Uma opção salto a salto só pode aparecer após o cabeçalho básico do IPv6. Se for usado, deve ser o primeiro cabeçalho de extensão. Ele não pode aparecer após outro cabeçalho de extensão. |
0 |
| Opções de destino |
Especifica os parâmetros de entrega de pacotes para dispositivos de destino intermediários ou para o host de destino final. Quando um pacote usa esse cabeçalho. |
60 |
| Roteamento |
Define o roteamento de origem estrito e o roteamento de origem flexível para o pacote. (Com o roteamento de origem rigoroso, cada dispositivo de destino intermediário deve estar a um único salto de distância. Com o roteamento de origem frouxo, os dispositivos de destino intermediários podem estar a um ou mais saltos de distância) |
43 |
| Fragmento |
Especifica como executar serviços de fragmentação e remontagem de IPv6. Um nó de origem usa o cabeçalho de extensão de fragmento para informar ao nó de destino o tamanho do pacote que foi fragmentado para que o nó de destino possa remontar o pacote. |
44 |
| Autenticação |
Oferece autenticação, integridade de dados e proteção anti-repetição. |
51 |
| Encapsulando o Payload de Segurança |
Fornece confidencialidade de dados, autenticação de dados e proteção anti-reprodução para pacotes de Payload de Segurança Encapsulada (ESP). |
50 |
| Endereço IP de destino |
Identifica o dispositivo host ou a interface em um nó para o qual o pacote IPv6 deve ser enviado. O endereço de destino pode aparecer duas vezes, a primeira instância após o limite de salto após o endereço IP de origem e a segunda instância após o cabeçalho de extensão final. |
60 |
Para obter informações sobre IPv6, consulte RFC2460.
Veja também
Entendendo como os firewalls da Série SRX lidam com pacotes ICMPv6
Este tópico explica o Internet Control Message Protocol (ICMP), as mensagens ICMP e como o Junos OS para firewalls da Série SRX as utiliza.
O ICMP fornece uma estrutura para relatar erros de processamento de pacotes, para fins de diagnóstico e para funções específicas de implementação. As mensagens de erro ICMP possibilitam que um nó informe a outro nó que algo deu errado durante a transferência de dados. Quando o IP versão 6 (IPv6) foi definido, as diferenças entre o IP versão 4 (IPv4) e ele eram significativas o suficiente para exigir uma nova versão do ICMP.
Cada mensagem ICMPv6 é precedida por um cabeçalho IPv6 e zero ou mais cabeçalhos de extensão IPv6. O cabeçalho ICMPv6 é identificado por um valor Next Header de 58 no cabeçalho imediatamente anterior. Isso é diferente do valor usado para identificar o ICMP para IPv4. Todas as mensagens de erro ICMPv6 têm 32 bits de dados específicos do tipo para ajudar o destinatário do pacote a localizar o pacote de invocação incorporado.
A maioria dos pacotes ICMPv6 tem as mesmas características e comportamento que os pacotes IPv6 normais, e o módulo de fluxo do Junos OS os processa por meio do processamento de primeiro caminho e caminho rápido da mesma maneira que faz com pacotes IPv6 normais. A Tabela 2 mostra os tipos de pacotes integrados ICMPv6 que o módulo de fluxo lida de forma diferente dos pacotes ICMPv6 normais.
Para esses pacotes, o módulo de fluxo usa uma tupla que ele cria a partir do pacote ICMPv6 incorporado para procurar uma sessão correspondente. Ele continua a processar o pacote sem modificar a unidade máxima de transmissão (MTU) até encontrar uma sessão correspondente, a menos que receba uma mensagem ICMPv6 Packet Too Big para a interface. Nesse caso, ele modifica o tamanho da MTU para essa interface. Se o módulo de fluxo não encontrar uma sessão correspondente ou se não puder obter um cabeçalho IPv6 válido da carga incorporada, ele descartará o pacote.
Uma mensagem Packet Too Big é o único tipo de pacote ICMPv6 que fará com que o módulo de fluxo modifique uma interface.
Mensagem |
Significado |
|---|---|
01-Destino inacessível |
Quando um pacote não pode ser entregue devido a um problema com a maneira como ele está sendo enviado, é útil ter um mecanismo de feedback que possa informar a fonte sobre o problema, incluindo o motivo pelo qual a entrega do pacote falhou. Para IPv6, a mensagem Destino Inacessível serve a essa finalidade. Cada mensagem inclui um código que indica a natureza do problema que causou a falha na entrega do pacote. Ela também inclui todo ou parte do pacote que não pôde ser entregue, para ajudar o dispositivo de origem a resolver o problema. Quando o módulo de fluxo encontra um pacote ICMP de destino inacessível cujos dados de cabeçalho de pacote incorporados correspondem aos dados de 5 tuplas de uma sessão, o software encerra a sessão. |
02-Pacote muito grande |
Quando o módulo de fluxo recebe uma mensagem ICMPv6 Packet Too Big destinada a ele, o módulo de fluxo envia o pacote para a pilha de protocolo ICMP no Mecanismo de Roteamento para envolver o processo de descoberta da unidade de transmissão máxima do caminho (caminho MTU). Se a mensagem Packet Too Big não pertencer ao dispositivo, mas for um pacote de trânsito, o dispositivo tentará corresponder os dados de 5 tuplas incorporados a uma sessão.
Observação:
Uma mensagem Packet Too Big é o único tipo de pacote ICMPv6 que fará com que o módulo de fluxo modifique uma interface. |
03 vezes excedido |
Quando o módulo de fluxo recebe um pacote que não pode ser entregue porque excedeu a contagem de saltos especificada no campo salto a salto do cabeçalho básico, ele envia essa mensagem para informar ao nó de origem do pacote que o pacote foi descartado por esse motivo. |
Problema de 04 parâmetros |
Quando o dispositivo encontra um problema com um campo no cabeçalho IPv6 ou nos cabeçalhos de extensão que impossibilita o processamento do pacote, o software o descarta e envia essa mensagem ICMPv6 para o nó de origem do pacote, indicando o tipo e a localização do problema. |