Como vimos, o cabeçalho IPv4 é composto por 12 campos fixos, responsáveis por fazer com que o tamanho varie de 20 a 60 Bytes. Nesta seção,
veremos as novas especificações do datagrama versão 6, que possui um total de apenas oito campos (incluindo source e destination address) e um
valor fixo de 40 bytes para o cabeçalho.
Sendo assim, ele ficou mais flexível e eficiente com a adição de cabeçalhos de extensão que não precisam ser processados por roteadores
intermediários. A nova versão do datagrama IPv6 ficou assim:
Assim, o cabeçalho IPv6 ficou dividido nos seguintes campos:
* O campo "Versão", possui 4 bits representando a versão do datagrama 0110.
- Traffic Class (4 bits) → Esse campo é responsável por distinguir os pacotes que podem ter o controle de fluxo alterado. Na prática,
funcionaria da seguinte forma: os campos com valores menores teriam a sua velocidade mais reduzida, ou seja, sofreriam um maior retardo diante
de um congestionamento do
que os datagramas com valores maiores que são destinados ao tráfego em tempo real. O áudio e video fazem parte dessa última categoria.
- Flow label (24 bits) → Permite com que se realize um fluxo de pacotes entre dois hosts com características especiais, utilizando um
identificador atribuído a ele. Em termos práticos, seria conseguir realizar uma pseudo-conexão baseada em circuitos virtuais.
- Payload Length (16 bits) → o campo Payload Length determina o número de bytes que se seguem ao cabeçalho no caso da versão 6 possui 40 bytes (fixo). O nome desse campo, na versão IPv4 era chamado de Total length, foi alterado devido à uma pequena modificação na qual: os 40 bytes do cabeçalho deixaram de ser contados como parte do tamanho do datagrama, sendo contado apenas o bloco de dados e os cabeçalhos de extensão (caso sejam utilizados).
- Next Header (8 bits) → Caso seja o último cabeçalho, identifica qual o protocolo da camada de transporte será utilizado para
transmissão dos pacotes (TCP/UDP e outros), caso contrário, qual dos seis cabeçalhos de extensão serão anexados ao datagrama.
- Hop Limit (8 bits) → Número máximo de saltos (roteadores) que um pacote pode ter para caso haja algum erro nas tabelas de
roteamento, por exemplo. A cada hop (salto), o valor desse campo vai ser subtraído por 1 bit, caso atinja o valor 0 (zero), será descartado.
- Source Address (128 bits) → Endereço de origem do datagrama.
- Destination Address (128 bits) → Endereço de destino do datagrama.
Gostaria de enfatizar algumas funcionalidades dos campos Traffic Class e Flow Label.
“ Os campos Priority (Traffic Class) e Flow Label, têm por finalidade, a facilitação de implementação de aplicações em tempo real e com Qualidade
de Serviço (QoS).
O primeiro determina a prioridade que um pacote ou grupo destes deve receber. Deve-se utilizar valores de 0 a 7 para aqueles que podem sofrer
atraso, como por exemplo, aplicações de FTP e HTTP; e valores de 8 a 15 para aqueles com tráfico em tempo real, que não devem ser atrasados,
como aplicações de vídeo e sons.
Já o segundo campo, ainda em fase experimental, permitirá que dois hosts estabeleçam uma pseudo-conexão (circuitos virtuais) com características
específicas. Esta conexão será unicamente identificada pelos endereços IP de envio e destino e pelo valor do campo Flow Label.
Deste modo, será possível prover tratamento diferenciado para diferentes fluxos, de acordo com as necessidades de cada um. ”
[Tanenbaum, 1997]
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 dos cabeçalhos de extensão.
As novas especificações do IPv6 definem seis cabeçalhos de extensão:
- Hop-by-Hop Options
- Destination Options
- Routing
- Fragmentation
- Authentication Header
- 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. De acordo com a
necessidade, novos tipos de cabeçalho de extensão podem ser criados, permitindo assim, maior flexibilidade na adição de mais opções no futuro.
Isto permitirá que o protocolo evolua, dentro de certos limites, à medida que haja necessidade.
Na próxima seção, veremos mais detalhes com relação aos cabeçalhos de extensão.