Formato do Cabeçalho IPv6
O Formato do Cabeçalho IPv6
O cabeçalho de um pacote IPv6 é uma versão simplificada do cabeçalho do pacote IPv4. Alguns campos foram eliminados, por serem desnecessários ou raramente usados, ao passo que alguns outros campos são acrescentados, por exemplo de modo a fornecer suporte melhorado a tráfego em tempo real.
Estrutura do Pacote IPv6
A seguir temos a estrutura de um pacote IPv6:
Note que existem três divisões principais em um pacote IPv6: seu cabeçalho, os cabeçalhos de extensão e o PDU (Protocol Data Unit) da camada superior; juntas, as extensões mais a PDU constituem o payload do pacote.
O PDU da camada superior corresponde ao cabeçalho do protocolo da camada superior (camada de transporte) com seus dados (payload), como por exemplo uma mensagem UDP ou um segmento TCP.
Já o payload de um pacote IPv6 é constituído pelo PDU da camada superior acrescido dos cabeçalhos de extensão, até um tamanho máximo padrão de 65535 bytes. Caso seja necessário enviar um payload maior do que esse tamanho, existe a possibilidade de se empregar um Payload Jumbo no cabeçalho de extensão Hop-by-Hop Options (Opções Salto-a-Salto).
Cabeçalho de um pacote IPv6
Um cabeçalho IPv6 possui um tamanho fixo de 40 bytes (320 bits), dos quais 32 bytes (256 bits) correspondem aos endereços IPv6 de origem e destino do pacote, com os demais campos ocupando os 64 bits restantes.
O cabeçalho IPv6, juntamente com os cabeçalhos de extensão, substituem o cabeçalho IPv4 e suas opções de cabeçalho. Os cabeçalhos de extensão IPv6 não possuem tamanho máximo (ao contrário do IPv4), e podem ser expandidos para acomodar quaisquer dados que sejam necessários para a comunicação usando o protocolo IPv6.
A ilustração a seguir mostra a estrutura de campos de um pacote IPv6:
A seguir, descrevemos cada um dos campos encontrados em um pacote IPv6.
Campos do Pacotes IPv6
- Versão: Indica a versão do protocolo IP em uso. Para o protocolo IPv6, o valor 6 é utilizado neste campo. Tamanho: 4 bits.
- Classe de Tráfego: Indica a classe ou prioridade do pacote IPv6, sendo um campo similar ao campo de serviços de um pacote IPv4. Este campo auxilia os roteadores a manipular tráfego baseado na prioridade do pacote. Quando ocorre congestionamento em um roteador, pacotes com menor prioridade são descartados. Tamanho: 8 bits.
- Rótulo de Fluxo: Empregado pela origem para rotular os pacotes que pertencem ao mesmo fluxo de dados, de modo a requisitar manipulação especial por roteadores IPv6 intermediários. Exemplos desse tratamento especial são o uso de QoS não padrão ou serviços de tempo real. Tamanho: 20 bits
- Tamanho do Conteúdo: Valor que indica o tamanho total da carga (payload), informando aos roteadores a quantidade de informação que um pacote contém, incluindo dados e cabeçalhos de extensão (se houver algum). Tamanho: 16 bits.
- Próximo Cabeçalho: Indica o tipo de cabeçalho de extensão (se houver) imediatamente após o cabeçalho IP básico. Pode indicar os protocolos contidos no pacote da camada superior, TCP ou UDP. Tamanho: 8 bits.
- Limite de Saltos: Similar ao campo TTL de um pacote IPv4, medido em saltos, que indica o número máximo de nós IPv6 intermediários que o pacote pode atravessar (ser roteado). Seu valor é decrementado de 1 a cada nó que o pacote atravessa. Caso esse valor chegar a 0 antes de atingir seu destino, o pacote é descartado. Tamanho: 8 bits.
- Endereço IP de Origem: Endereço IP do remetente original do pacote. Tamanho: 128 bits.
- Endereço IP de Destino: Endereço IP do destinatário final do pacote (no geral). Tamanho: 128 bits.
- Cabeçalhos de Extensão: Algumas vezes, informações adicionais precisam ser transportadas juntamente com o pacote. Estas informações, em um pacote IPv4, estariam no campo de Opções. Para tal, é empregado o campo de Cabeçalho de Extensão.
Um pacote IPv6 pode conter zero ou mais cabeçalhos de extensão, que devem aparecer em uma ordem recomendada. Vamos tratar mais a fundo das extensões IPv6 na próxima lição. - Dados: Payload do pacote (provenientes da camada de nível superior).
Diferenças entre os cabeçalhos IPv4 e IPv6
A tabela a seguir mostra uma comparação básica entre os campos constituintes do cabeçalho de um pacote IPv4 e de um pacote IPv6:
Campo no cabeçalho IPv4 | Campo no cabeçalho IPv6 |
Versão | Igual, mas com números diferentes para versão |
Comprimento do Cabeçalho IP | Campo removido no IPv6 – o cabeçalho IPv6 possui tamanho fixo de 40 bytes. |
Tipo de Serviço | Substituído pelo campo Classe de Tráfego |
Tamanho Total | Tamanho do Conteúdo (Payload Length), que mostra apenas o tamanho do payload. |
Identificação, Flags de Fragmentação, Offset de Fragmento | Removidos no IPv6. As informações sobre fragmentação estão em um cabeçalho de extensão. |
TTL (Time to Live) | Substituído pelo campo Limite de Salto |
Protocolo | Substituído pelo campo Próximo Cabeçalho |
Checksum do Cabeçalho | Removido no IPv6. Verificações de erro são realizadas na camada de link de dados. |
Endereço de Origem | Igual, mas contendo um endereço de 128 bits. |
Endereço de Destino | Igual, mas contendo um endereço de 128 bits. |
Opções | Removido no IPv6. As opções IPv4 foram substituídas pelos cabeçalhos de extensão. |
No próximo artigo vamos nos aprofundar nos cabeçalhos de extensão, mostrando os principais tipos de extensões que podem ser usadas no envio de mensagens usando o protocolo IPv6.
Colabore com a Bóson Treinamentos
Ajude o canal adquirindo meus cursos na Udemy:
- Bancos de Dados com MySQL Básico: https://bit.ly/35QdWE4
- Lógica de Programação com Português Estruturado: https://bit.ly/3QKPn22
- Programação em Python do Zero: https://bit.ly/python-boson
Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: https://www.amazon.com.br/shop/bosontreinamentos
Escreva um comentário