O IPv6 - Campos de Cabeçalho

Olá, nesta postagem iremos continuar vendo o assunto sobre os campos do Cabeçalho IPv6.

Campos do Cabeçalho IPv6

cabecalho4
Conforme a observado na figura acima, o cabeçalho do IPv6 está dividido nos seguintes campos:
  • Versão (4 bits) - Identifica a versão do protocolo utilizado. No caso,  o valor desse campo é 6.
  • Classe de Tráfego (8 bits) – Identifica os pacotes por classes de serviços ou prioridade. Ele provê as mesmas funcionalidades e definições do campo “Tipo de Serviço do IPv4″.
  • Identificador de Fluxo (20 bits) – Identifica pacotes do mesmo fluxo de comunicação. Idealmente esse campo é configurado pelo endereço de destino para separar os fluxos de cada uma das aplicações e os nós intermediários de rede podem utiliza-lo de forma agregada com os endereços de origem e destino para realização de tratamento específico dos pacotes.
  • Tamanho do Dados (16 bits) – Indica o tamanho, em Bytes, apenas dos dados enviados junto ao cabeçalho IPv6. Substituiu o campo Tamanho Total do IPv4, que indicava o tamanho do cabeçalho mais o tamanho dos dados transmitidos. Contudo, o tamnho dos cabeçalhos de extensão também são somado nesse novo campo.
  • Próximo Cabeçalho (8 bits) – Identifica o cabeçalho de extensão que segue o atual. Ele foi renomeado (no IPv4 chamava-se Protocolo) para refletir a nova organização dos pacotes IPv6, uma vez que ele deixou de conter os valores referentes a outros protocolos, para indicar os tipos dos cabeçalhos de extensão.
  • Limite de Encaminhamento (8 bits) – Esse campo é decrementado a cada salto de roteamento e indica o número máximo de roteadores pelos quais o pacote pode passar antes de ser descartado. Ele padronizou o modo como o campo Tempo de Vida (TTL) do IPv4 vinha sendo utilizado, o qual diferia significativamente da descrição original que o definia como o tempo, em segundos, para o pacote ser descartado caso não chegasse à seu destino.
  • Endereço de origem (128 bits) – Indica o endereço de origem do pacote.
  • Endereço de Destino (128 bits) – Indica o endereço de destino do pacote.

Cabeçalhos de extensão

Diferente do IPv4, que inclui no cabeçalho base todas as informações opcionais, o IPv6 trata essas informações através de cabeçalhos de extensão. Estes, localizam-se entre o cabeçalho base e o cabeçalho da camada de imediatamente acima e, não possuem quantidade ou tamanho fixo. Caso existam múltiplos cabeçalhos de extensão no mesmo pacote, eles serão adicionados em série formando uma “cadeia de cabeçalhos”. A figura abaixo exemplifica essa situação.
cabecalho5
As especificações do IPv6 definem seis cabeçalhos de extensão: Hop-by-Hop Options, Destination Options, Routing, Fragmentation, Authentication Header e Encapsulating Security Payload.
A criação dos cabeçalhos de extensão do IPv6 teve a finalidade de aumentar a velocidade de processamento nos roteadores, visto que o único que deve ser processado em cada roteador é o Hop-by-Hop, enquanto que os demais são tratados apenas pelo nó de destino. Além disso, novos cabeçalhos podem ser definidos no protocolo sem a necessidade alterações no cabeçalho base. O esquema abaixo mostra o template de um cabeçalho de extensão.
cabecalho6

Hop-by-Hop

Identificado pelo valor 00 no campo Próximo Cabeçalho, o cabeçalho de extensão Hop-by-Hop deve ser colocado imediatamente após o cabeçalho base IPv6. Suas informações devem ser examinadas por todos os nós intermediários do caminho do pacote até o destino. E, em sua ausência, os roteadores não precisam processar nada além do cabeçalho base, o que agiliza o encaminhamento de pacotes.
Os seguintes campos estão presentes nesse cabeçalho:
  • Próximo Cabeçalho (1 Byte): Identifica o tipo de cabeçalho que segue ao Hop-by-Hop.
  • Tamanho do Cabeçalho (1 Byte): Indica o tamanho seu tamanho (em unidades de 8 Bytes) excluídos o oito primeiros bits.
  • Opções: Contem uma ou mais opções e seu tamanho é variável. Neste campo, o primeiro Byte contém informações sobre como estas opções devem ser tratadas caso o nó que as esteja processando, não as reconheça. Desse byte, o valor dos primeiros dois bits especifica qual das seguintes ações a devem ser tomadas:
    • 00: ignorar e continuar o processamento.
    • 01: descartar o pacote.
    • 10: descartar o pacote e enviar uma mensagem ICMP Parameter Problem para o endereço de origem do pacote.
    • 11: descartar o pacote e enviar uma mensagem ICMP Parameter Problem para o endereço de origem do pacote, apenas se o destino não for um endereço de multicast.
O terceiro bit indica se a informação opcional pode mudar de rota (valor 1) ou não (valor 0).
Até o momento existem dois tipos definidos para o cabeçalho Hop-by-Hop: Router Alert e Jumbogram:
  • Router Alert: Utilizado para informar aos nós intermediários que a mensagem a ser encaminhada exige tratamento especial. Está opção é utilizada pelos protocols MLD (Multicast Listener Discovery) e RSVP (Resource Reservation Protocol).
  • Jumbogram: Utilizado para informa que o tamanho do pacote IPv6 é maior do que 64KB.

Destination Options

Identificado pelo valor 60 no campo Próximo Cabeçalho, o cabeçalho de extensãoDestination Options deve ser processado apenas pelo nó de destino do pacote. A definição de seus campos é igual as do cabeçalho Hop-by-Hop.
Ele é utilizado no suporte ao mecanismo de mobilidade do IPv6 através da opção Home Address, que contém o Endereço de Origem do Nó Móvel quando este está em transito.

Routing

cabecalho7
Identificado pelo valor 43 no campo Próximo Cabeçalho, o cabeçalho de extensãoRouting foi desenvolvido inicialmente para listar um ou mais nós intermediários que deveriam ser visitados até o pacote chegar ao destino,  de forma semelhante às opçõesLoose Source e Record Route do IPv4. No entanto, esta função tornou-se obsoleta pela RFC5095 devido a problemas de segurança.
Um novo cabeçalho RoutingType 2, foi definido para ser utilizado como parte do mecanismo de suporte a mobilidade do IPv6. Segundo essa nova definição, ele deve  carregar o Endereço de Origem do Nó Móvel em pacotes enviados pelo Nó Correspondente.
As definições de cada campo desse cabeçalho são as seguintes:
  • Próximo Cabeçalho (1 Byte): Identifica o tipo de cabeçalho que segue ao cabeçalho Routing.
  • Tamanho do Cabeçalho (1 Byte): Indica o tamanho seu tamanho (em unidades de 8 Bytes) excluídos o oito primeiros bits.
  • Routing Type (1 Byte): Identifica o tipo de cabeçalho Routing. Atualmente apenas o Type 2 está especificado.
  • Saltos restantes: Definido para ser utilizado com o Routing Type 0, indica o número de saltos a serem visitados antes do pacote atingir seu destino final.
  • Endereço de Origem: Carrega o Endereço de Origem de um Nó Móvel.

Fragmentation

cabecalho8
Identificado pelo valor 44 no campo Próximo Cabeçalho, o cabeçalho de extensãoFragmentation é utilizado quando o pacote IPv6 a ser enviado é maior que o Path MTU.
As definições de cada campo do cabeçalho são as seguintes:
  • Próximo Cabeçalho (1 Byte): Identifica o tipo de cabeçalho que segue ao cabeçalhoFragmentation.
  • Deslocamento do Fragmento (13 bits): Indica, em unidades de oito Bytes, a posição dos dados transportados pelo fragmento atual em relação ao início do pacote original.
  • Flag M (1 bit): Se marcado com o valor 1, indica que há mais fragmentos. Se marcado com o valor 0, indica que é o fragmento final.
  • Identificação (4 Bytes): Valor único gerado pelo nó de origem, para identificar o pacote original. É utilizado para detectar os fragmentos de um mesmo pacote.
O processo de fragmentação é definido na seção de Funcionalidades Básicas.

Authentication Header e Encapsulating Security Payload

Os cabeçalhos de extensão Authentication Header (AH) e Encapsulating Security Payload (ESP), indicados respectivamente pelos valores 51 e 52 no campo Próximo Cabeçalho, fazem parte do cabeçalho IPSec.
Embora as funcionalidades do IPSec sejam idênticas tanto no IPv4 quanto no IPv6, sua utilização com IPv6 é facilitada pelo fato de seus principais elementos integrarem essa nova versão do protocolo. Outros aspectos que também facilitam sua utilização são a inexistência de NAT IPv6 e o detalhamento dos cabeçalhos AH e ESP.

Aspectos dos cabeçalhos de extensão

Alguns aspectos sobre os cabeçalhos de extensão devem ser observados. Primeiramente, estes cabeçalhos devem ser enviados segundo uma determinada ordem com o intuito de evitar que os nós intermediários tenham que processar toda a cadeia de cabeçalhos para decidir quais eles deverão tratar. Assim, os cabeçalhos importantes para todos os nós envolvidos no roteamento devem ser colocados em antes daqueles que são relevantes apenas para o destinatário final. A vantagem, é que um nó pode parar de analisar cabeçalhos assim que encontrar algum dedicado ao destino. Isso, melhora significativamente o desempenho dos roteadores pacotes, porque, em geral, apenas o processamento do cabeçalho base é necessário. Deste modo, a sequência a ser seguida é:
  • Hop-by-Hop Options
  • Routing
  • Fragmentation
  • Authentication Header
  • Encapsulating Security Payload
  • Destination Options
Vale também observar que, se um pacote for enviado para um endereço multicast, os cabeçalhos de extensão serão examinados por todos os nós do grupo.
Em relação à flexibilidade oferecida pelos cabeçalhos de extensão, merece destaque o desenvolvimento do cabeçalho Mobility, que é utilizado por nós com suporte ao mecanismo de mobilidade IPv6.

Outros links relacionados ao assunto IPv6:
http://admroot.blogspot.com.br/2013/02/o-ipv6-introducao.html
http://admroot.blogspot.com.br/2013/02/o-ipv6-solucoes.html
http://admroot.blogspot.com.br/2013/02/o-ipv6-solucoes.html


Fonte: http://ipv6.br

Comentários

Postagens mais visitadas deste blog

O IPv6 - Alocação de endereços

Característica do Protocolo FTP

A camada Aplicação - Modelo OSI