Cabeçalhos de extensão IPv6

Na versão 6 do protocolo IP (IPv6) as opções adicionais são abordadas através dos cabeçalhos de extensão , tais cabeçalhos, não possuem um tamanho fixo e também não há limite da quantidade exata destinada as extensões (diferente do cabeçalho base onde o tamanho é fixo). Outro ponto que temos que observar é a localização desses cabeçalhos que ficam entre o cabeçalho base e a camada de nível superior, como estamos falando do protocolo IP que encontra-se na camada de rede, obviamente entendemos que a camada de nível superior é a camada de transporte – no desenho abaixo exemplificamos como Upper Layer Header (em tradução livre, o cabeçalho da camada acima).

Ao existir uma situação em que ocorra mais de um cabeçalho de extensão dentro do mesmo pacote, eles serão acrescentados em série formando o que chamamos de cadeia de cabeçalhos.

Mas afinal quais seriam esses cabeçalhos?
No intuito de responder essa pergunta listamos abaixo os cabeçalhos de extensão:

Hop-by-Hop Options, , Routing, Fragmentation, Authentication Header
 , Encapsulating Security Payload por fim Destination Options.

Agora que sabemos os nomes dos cabeçalhos vamos entender qual é a real vantagem de usar cabeçalhos de extensão:

Ao usarmos esses cabeçalhos permitimos a comutação de pacotes (pelos roteadores) de uma forma mais eficaz, ou seja, mais rápida. Isso ocorre porque o Hop-by-Hop Options é o único cabeçalho previamente processado em cada roteador, já os outros, são processados pelo nó identificado no campo’Endereço de Destino’  dentro do cabeçalho base.

Vamos compreender um pouco mais de cada cabeçalho, iniciando pelo Hop-by-Hop Options:

Hop-by-Hop Options é o cabeçalho de extensão obrigatório após o cabeçalho base, suas informações serão levadas e examinadas pelos demais nós no decorrer do trajeto do pacote até que chegue ao destino. Caso haja uma inexistência do Hop-by-Hop Options  o roteador entende que deve encaminhar de forma instantânea o pacote ao final do seu destino.

Campos do cabeçalho de extensão Hop-by-Hop Options:

>  Próximo Cabeçalho: possui o tamanho de 8 bits e aponta o cabeçalho que vem a seguir;
> Tamanho de cabeçalho: possui o tamanho de 8 bits, com o nome já diz, esse campo é utilizado para definir em unidades de 8 bytes o tamanho do cabeçalho. (extinguindo os oito primeiros);
> Opções:  esse campo é de tamanho variável onde pode conter não apenas uma opção mas diversas opções. Vale ressaltar que o primeiro byte deste campo comporta informações de como essas opções deverão ser abordadas caso não haja um conhecimento pelo nó que esteja processando;
As ações são deliberadas pelo roteador baseando-se nos primeiros 2 bits:
00: é ignorado e acontece uma continuidade do processamento;
01: acontece um rejeição, ou seja, um descarte do pacote;
10: o endereço de origem é informado através de uma mensagem ICMP que o pacote foi descartado;
11: análogo ao anterior, porém apenas se o endereço de destino não for um endereço multicast.

A identificação do cabeçalho ocorre através do valor 0 no campo Próximo Cabeçalho

Routing:
O cabeçalho de extensão Routing foi desenvolvido com o objetivo de que  ele realizasse uma listagem dos nós intermediários que deveriam ser inspecionados até a chegada do pacote ao destino, equivalente as opções Loose Source e Record Route, ambas do IPv4. Porém de acordo com a RFC5095 por problemas de segurança essa função tornou-se obsoleta.

Portanto, ocorreu a criação de um novo protocolo chamado Routing Type 2 que é usado como elemento do mecanismo de suporte a mobilidade do IPv6, o Routing Type 2 tem o papel de levar em pacotes o Endereço de Origem do Nó Móvel  pelo Nó que a ele corresponde.

Campos do cabeçalho de extensão Routing:

>  Próximo Cabeçalho: possui o tamanho de 8 bits e aponta o cabeçalho que vem a seguir;
> Tamanho de cabeçalho: possui o tamanho de 8 bits, esse campo é utilizado para definir em unidades de 8 bytes o tamanho do cabeçalho. (extinguindo os oito primeiros);
> Tipo de Routing: possui o tamanho de 8 bits e é utilizado para apontar o tipo de cabeçalho Routing, neste caso, o Type 2;
>Saltos Restantes:  especifica o número de saltos que devem ser visitados antes que o pacotes chegue ao destino final, (definido para ser utilizado com o Routing Type 0);
> Reservado: campo reservado para uma utilização futura;
> Endereço de Origem:  responsável por levar o Endereço de Origem de um Nó Móvel.

A identificação do cabeçalho ocorre através do valor 43 no campo Próximo Cabeçalho

Fragmentation:
Fragmentation foi desenvolvido com o objetivo de ser utilizado quando o tamanho do pacote IPv6 enviado for maior que o Path MTU.

No IPv6 a fragmentação dos pacotes ocorre apenas na origem, isso faz com que haja uma redução no overhead do calculo dos cabeçalhos nos roteadores intermediários.

Campos do cabeçalho de extensão Fragmentation:
>  Próximo Cabeçalho: possui o tamanho de 8 bits e aponta o cabeçalho que vem a seguir;
> Reservado: campos reservado para uma utilização futura;
> Deslocamento do Fragmento: possui o tamanho de 13 bits, aponta o posicionamento dos dados transportados pelo fragmento atual;
> Flag M: possui o tamanho de 1 bit, caso o valor desse bit seja 0 ocorre um entendimento que este é o fragmento final, ao contrario disso, se o bit tiver o valor 1 é apontado que há mais fragmentos além do atual;
> Identificação: possui o tamanho de 32 bits com um valor único criado pelo nó de origem, para apontar o pacote original. Também é usado para descobrir os fragmentos que são do mesmo pacote.

A identificação do cabeçalho ocorre através do valor 44 no campo Próximo Cabeçalho.

Authentication Header:
O cabeçalho Authentication Header foi desenvolvido para ser usado dentro do serviço do IPSec com o intuito de garantir a integridade e autenticação dos pacotes IPv6.

Campos do cabeçalho Authentication Header:
>  Próximo Cabeçalho: possui o tamanho de 8 bits e aponta o cabeçalho que vem a seguir;
> Tamanho de cabeçalho: possui o tamanho de 8 bits, esse campo é utilizado para definir em unidades de 8 bytes o tamanho do cabeçalho  Authentication Header;
> Reservado: campo reservado para uma utilização futura;
> Parâmetros de Segurança> possui um tamanho de 32 bits e possui um associação de segurança;
> Autenticação de dados; possui um tamanho variável, o que este campo representará ira depender da forma de autenticação usada.

A identificação do cabeçalho ocorre através do valor 51 no campo Próximo Cabeçalho.

Encapsulating Security Payload:
O cabeçalho Encapsulating Security Payload análogo ao cabeçalho anterior foi desenvolvido para ser usado dentro do serviço do IPSec com o intuito de garantir a integridade e confiabilidade dos pacotes, sua identificação ocorre através do valor 52 no campo Próximo cabeçalho.

Destination Options:
As características desse cabeçalho são análogas ao Hop-by-Hop Options, no Destination Options,  obrigatoriamente o cabeçalho é processado exclusivamente pelo nó de destino, especificado no campo Endereço de Destino no cabeçalho base.
Outro ponto importante do  Destination Options e a flexibilidade que ele proporciona ao suporte do mecanismo de mobilidade do IPv6, através da opção Home Address.

A identificação do cabeçalho ocorre através do valor 60 no campo Próximo Cabeçalho.

Por fim,

 Esses cabeçalhos podem ser criados com a finalidade de oferecer informações extras para tornar o encaminhamento mais rápido e eficiente. Estes cabeçalhos extras permitem uma maior eficiência, devido ao tamanho do cabeçalho, que pode ser ajustado às necessidades. Os cabeçalhos devem ser utilizados de forma encadeada permitindo uma maior flexibilidade, porque podem ser sempre adicionados novos cabeçalhos para satisfazer novas especificações. As especificações atuais recomendam a seguinte ordem:

1.     Hop-By-Hop Options Header

2.     Destination Option Header

3.     Routing Header

4.     Fragment Header

5.     Authentication Security Payload Header

6.     Destination Options Header

Referência:
IPv6.br – publicação ceptro.br

Leave a Reply

Your email address will not be published. Required fields are marked *