O IPv6

Faça uma pergunta
Julho 2018

O que é o protocolo IP

O protocolo IP em sua forma atual (IPv4) está acabando. A rede internet foi muito utilizada pelas universidades, indústrias de alta tecnologia e governos desde os meados dos anos 90, mas ela interessa cada vez mais as empresas e os comércios e será utilizada por um grande número de indivíduos e sistemas que exprimem necessidades diferentes. Por exemplo, com a convergência iminente do computador, das redes, da indústria audiovisual e de entretenimento, todo aparelho de televisão tornar-se-á um dispositivo de acesso à internet que permite a bilhões de pessoas praticar, por exemplo, vídeo-on demande, televendas ou e-commerce. Nessas circunstâncias, o protocoloIPv6 (também conhecido como IPng para nova geração de IP) deve oferecer mais flexibilidade e eficácia, resolver uma variedade de novos problemas e nunca deveria entrar em ruptura de endereços.

Os objetivos principais deste novo protocolo eram:


Suportar bilhões de computadores, liberando-se da ineficácia do espaço dos endereços IP atuais;
Reduzir o tamanho das tabelas de roteamento;
Simplificar o protocolo para permitir que os roteadores encaminhem os datagramas mais rapidamente;
Fornecer uma melhor segurança (autenticação e confidencialidade) do que o atual protocolo IP;
Atribuir mais atenção ao tipo de serviço e, principalmente, aos serviços associados ao tráfego em tempo real;
Facilitar a divulgação para vários destinatários, especificando o escopo;
Dar a possibilidade a um computador para mover sem alterar seu endereço;
Permitir ao protocolo uma evolução futura;
Atribuir ao antigo e ao novo protocolo uma coexistência pacífica.

O protocolo IPv6

O protocolo IPv6 responde, na medida do possível, aos objetivos estabelecidos. Ele mantém as melhores funções de IPv4, afasta ou minimiza as más e acrescenta novas, em caso de necessidade.

Em geral, o IPv6 não é compatível com o IPv4, mas é compatível com todos os outros protocolos Internet, como TCP, UDP, ICMP, IGMP, OSPF, BGP e DNS; às vezes, ligeiras modificações são necessárias (principalmente para funcionar com endereços compridos).

Os principais recursos do IPv6

A principal novidade de IPv6 é o uso de endereços mais compridos do que o IPv4. Eles são codificados em 16 bytes e permitem resolver o problema que pôs o IPv6 na ordem do dia, ou seja, oferecer um conjunto de endereços da internet quase ilimitado.


O IPv4 permite enviar 2^32=4,29.10^9 endereços enquanto o IPv6 permite 2^128=3,4.10^38.

A grande melhoria do IPv6 é a simplificação do cabeçalho dos datagramas. O cabeçalho básico do datagrama IPv6 compreende apenas 7 campos (14 no IPv4). Esta mudança permite que os roteadores processem os datagramas mais rapidamente e melhorem sua taxa de transferência.

A terceira melhoria consiste em oferecer mais flexibilidade às opções. Esta alteração é essencial com o novo cabeçalho, porque os campos obrigatórios da antiga versão agora se tornaram opcionais. Além disso, a maneira como as opções são representadas é diferente; ela permite que os roteadores ignorem as opções que não lhes são destinadas. Esta função acelera o tempo de processamento de datagramas.

Por outro lado, o IPv6 traz maior segurança. A autenticação e a privacidade são os principais recursos de segurança essenciais do IPv6. Finalmente, foi dada mais atenção aos tipos de serviços. Embora o campo Tipo de serviço do datagrama IPv4 seja raramente usado, o crescimento esperado do futuro tráfego de multimídia requer atenção.

Cabeçalho básico dos datagramas

Veja com que se parece um datagrama IPv6:


<--------------------------- 32 bits --------------------------->
Versão Classe de tráfego Identificador de fluxo
Comprimento dos dados <td width="160"> Cabeçalho seguinte<td width="160"> Número de quebras

<td width="480" style="text-align:center">Endereço IP fonte

<td width="480" style="text-align:center">Endereço IP destino

<td width="480" style="text-align:center" > Dado

Veja o significado dos diferentes campos:

O campo versão é sempre igual a 4 bits no IPv6. Durante o período de transição do IPv4 para o IPv6, os roteadores deverão examinar este campo para saber que tipo de datagrama eles roteiam.

O campo classe de tráfego (codificado em 8 bits) é utilizado para distinguir as fontes que devem beneficiar do controle de fluxos dos outros. Prioridades de 0 a 7 são atribuídas a fontes que podem retardar seu fluxo em caso de congestionamento. Os valores 8 a 15 são atribuídos ao tráfego em tempo real (os dados de áudio e vídeo fazem parte deste grupo), cujo fluxo é constante. Esta distinção de fluxos permite que os roteadores reajam melhor em caso de congestionamento. Em cada grupo de prioridade, o nível mais fraco corresponde aos datagramas menos importantes.

O campo identificador de fluxos contém um número único escolhido pela fonte que visa facilitar o trabalho dos roteadores e permitir a implementação das funções de qualidade de serviços como RSVP (Resource reSerVation setup Protocol). Este indicador pode ser considerado como uma marca para um contexto no roteador. Este pode então fazer um tratamento específico: a escolha de uma rota, processamento em tempo real da informação, etc. O campo identificador de fluxos pode ser preenchido com um valor aleatório que será usado para referenciar o contexto. A fonte manterá este valor para todos os pacotes que serão emitidos para este aplicativo e esse destino. O processamento é otimizado, pois o roteador só precisa consultar cinco campos para determinar a quem pertence um pacote. Além disso, se uma extensão de confidencialidade for utilizada, as informações relativas aos números de portas são ocultas para os roteadores intermédios.

O campo comprimento dos dados úteis (payload) sobre dois bytes, contém apenas o tamanho dos dados úteis, sem levar em conta o comprimento do cabeçalho. Para pacotes cujo tamanho de dados seria superior a 65536, este campo vale 0 e a opção de jumbograma da extensão near-to-close é utilizada.

O campo cabeçalho seguinte tem uma função similar ao campo protocolo do pacote IPv4, ele simplesmente identifica o próxima cabeçalho (no mesmo datagrama IPv6). Pode ser um protocolo (nível superior ICMP, UDP, TCP, etc.) ou uma extensão.

O campo número de quebras substitui o campo TTL (Time-to-Live) no IPv4. O seu valor (em 8 bits) é diminuído em cada nó percorrido. Se esse valor atingir 0 enquanto o pacote IPv6 passa por um roteador, ele será rejeitado com a emissão de uma mensagem de erro ICMPv6. Ele é usado para impedir que datagramas circulem indefinidamente. Ele desempenha o mesmo papel que o campo de Duração de vida do IPv4, ou seja, contém um valor que representa o número de quebras ou etapas que são subtraídas a cada passagem de um roteador. Em teoria, no IPv4, há uma noção de tempos em segundo, mas como nenhum roteador o utiliza como tal, o nome foi alterado para refletir o uso atual.

Em seguida, veem os camposendereço de origem e endereço de destino. Após numerosas discussões, decidiu-se que os endereços de comprimento fixo de 16 bytes eram o melhor compromisso.

Os primeiros bits do endereço - o prefixo - definem o tipo de endereço. Os endereços que começam por 8 zeros são reservados para os endereços IPv4. Duas variantes são suportadas, elas se distinguem de acordo com os 16 bits seguintes (16 bits a 0 ou 1).

Endereços globais unicast: recorte geográfico graças aos prefixos

O uso de prefixos separados para os endereços atribuídos a um provedor e os endereços atribuídos a uma zona geográfica é um compromisso entre duas visões diferentes da futura rede da internet. Cada um desses provedores tem uma fração reservada do espaço de endereço (endereços unicast = 1/8 desse espaço). Os 5 primeiros bits após o prefixo 010 são utilizados para indicar em que registro se encontra o provedor de acesso. Atualmente, três registros estão operacionais para a América do Norte, Europa e Ásia. Até 29 novos registros podem ser acrescentados posteriormente.

Cada registrador está livre para dividir os 15 bytes restantes como achar melhor. Outra possibilidade é usar um byte para indicar a nacionalidade do provedor e deixar os próximos bytes livres para definir uma estrutura de endereço específica.

O modelo geográfico é o mesmo da rede internet atual, na qual os provedores de acesso não desempenham um papel importante. Nesse quadro, o IPv6 pode gerenciar 2 tipos de endereços.

Os endereços Unicast Locales (ULA) usam o prefixo FC00::/7, eles são destinados ao equivalente de endereços IP privados IPV4 (RFC1918). Eles podem ser reutilizados por outras organizações sem que haja conflito. Eles não podem ser propagados fora dos limites das organizações, o que os torna bem adaptados aos que utilizam guarda-barreiras para proteger a sua rede privada da rede Internet.

Se eles forem gerados corretamente (sorteio aleatório dos 40 bits de acordo com o prefixo FD00::/8), eles possibilitarão a interconexão de redes por VPN com uma chance em trilhões de conflitos.

Os endereços de links locais (prefixo FE80::/10) possuem apenas uma especificação local na interface. Se todos esses endereços usarem o procedimento de criação automática, normalmente eles terão 8 bytes representando a rede e 8 bytes representando a interface nessa rede.

Endereço multicast

Os endereços de divulgação multi destinatários dispõem de um campo bandeira (4 bits) e de um campo envergadura (4 bits) na sequência do prefixo, seguido de um campo identificador de grupo (112 bits). Um dos bits da bandeira distingue os grupos permanentes dos grupos transitórios.

O campo envergadura permite uma divulgação limitada numa zona.

Endereço anycast

Além de suportar o endereçamento ponto a ponto tradicional (unicast) e o endereçamento de divulgação multi destinatário (multicast), o IPv6 suporta um novo tipo de endereçamento de divulgação (anycast). Esta técnica é semelhante à difusão multi destinatária no sentido em que o endereço de destino é um grupo de endereços, mas em vez de enviar o datagrama a todos os membros do grupo, tenta enviá-lo para apenas um membro do grupo, o mais próximo.

A notação IPv6

Uma nova notação foi definida para descrever os endereços IPv6 de 16 bytes. Ela consiste em 8 grupos de 4 dígitos hexadecimais separados por dois pontos. Por exemplo:


8000:0000:0000:0000:0123:4567:89AB:CDEF

Já que vários endereços têm inúmeros zeros em seu título, 3 otimizações foram definidas. Em primeiro lugar, os primeiros zeros de um grupo podem ser omitidos como, por exemplo, 0123 que pode se escrever 123. Em seguida, um ou vários grupos de 4 zeros consecutivos, que podem ser substituídos por um duplo dois pontos. Assim, o endereço visto acima passa a ser:

8000::::123:4567:89AB:CDEF

Por último, os endereços IPv4 podem ser escritos utilizando a representação do endereço em notação decimal apontada, precedida de um duplo dois pontos, como por exemplo:

::192.31.254.46

O campo protocolo é excluído porque o campo cabeçalho seguinte do último cabeçalho IP de um datagrama determina o tipo de protocolo (por exemplo, UDP ou TCP).

Todos os campos relativos à fragmentação foram retirados, porque o IPv6 tem uma abordagem diferente da fragmentação.

Para começar, todos os computadores e roteadores conformes ao IPv6 devem suportar os datagramas de 576 bytes. Esta regra coloca a fragmentação num papel secundário. Além disso, quando um computador envia muitos datagramas IPv6, ao contrário do que se passa com a fragmentação, o roteador que não pode transmiti-los envia uma mensagem de erro para a fonte. Esta mensagem diz ao computador fonte para interromper o envio de novos datagramas para este destino. Ter um computador que transmite imediatamente datagramas de bom tamanho é bem mais eficaz do que ver os roteadores fragmentá-los.

Por último, o campo controle total já não existe porque o seu cálculo reduz o desempenho. A fiabilidade das redes atuais, junto ao fato de que as camadas de ligações de dados e transporte efetuam o seu próprio controle, fazem com que o ganho em qualidade de um total de controle adicional não valha o preço a ser pago para calculá-lo.

Cabeçalho de extensão

Este cabeçalho fornece uma informação adicional de maneira eficaz. Todas são opcionais. Se houver mais do que um cabeçalho, eles devem aparecer imediatamente após cabeçalho fixo, de preferência na ordem da lista.


Alguns cabeçalhos têm um formato fixo, outros têm um número variável de campos variáveis. Por isso, cada item é codificado sob a forma de um trio (Tipo, Comprimento e Valor). O Tipo é um campo de um byte que especifica a natureza da opção. Os diferentes tipos foram escolhidos de modo a que os 2 primeiros bits dissessem o que fazer aos roteadores que não sabem executar a opção.

As escolhas são: pular a opção, destruir o datagrama, retornar uma mensagem ICMP para a fonte e destruir o datagrama sem reenviar uma mensagem ICMP, caso se trate de um datagrama multi destinatário (para evitar um número importante de relatórios ICMP em retorno).

O Comprimento é um campo de um byte. Ele indica o tamanho do campo Valor (de 0,255) que contém uma informação qualquer endereçada ao destinatário.

Cabeçalho de passo a passo

O cabeçalho de Passo a passo contém informações destinadas a todos os roteadores encontrados no caminho.

Cabeçalho de encaminhamento

O cabeçalho de Encaminhamento dá a lista de um ou vários roteadores que devem ser visitados no caminho para o destino. Existem duas formas de encaminhamento aplicadas de maneira combinada: o encaminhamento estrito (a rota integral é definida) e o encaminhamento impreciso, onde só os roteadores obrigatórios são definidos.

Os 4 primeiros campos do cabeçalho de extensão de encaminhamento contêm 4 inteiros de um byte: o tipo de cabeçalho seguinte; o tipo de encaminhamento (habitualmente 0); o número de endereços presentes no cabeçalho (de 1 a 24); um endereço que dá o próximo endereço a ser visitado. Este último campo começa com o valor 0, ele é incrementado a cada endereço visitado.

Cabeçalho de fragmentação

O cabeçalho de Fragmentação trata-a de maneira semelhante ao IPv4. O cabeçalho contém o identificador de datagrama, o número de fragmento e um bit especificando se outros fragmentos se seguem. Já no IPv6, ao contrário do IPv4, só o computador de origem pode fragmentar o datagrama. Roteadores no caminho não podem. Isto permite que o computador de origem fragmente o datagrama em partes e use o cabeçalho de fragmentação para transmitir as partes.

Autenticação

O cabeçalho de Autenticação fornece um mecanismo que permite ao destinatário de um datagrama certificar-se da identidade da fonte. No IPv4, nenhuma garantia semelhante é oferecida.

O uso da codificação dos dados do datagrama (sua carga útil) reforça a sua segurança; só o verdadeiro destinatário pode lê-lo.

Quando um emissor e um receptor querem se comunicar com segurança, eles devem, em primeiro lugar, concordar com uma ou várias chaves secretas conhecidas apenas por eles. Um número chave de 32 bits é atribuído a cada uma das 2 chaves.

Os números chave são globais, de modo que, por exemplo, se A usa a chave 4 para se comunicar com B; A não pode usar essa chave para se comunicar com C. Outros parâmetros estão associados a cada número de chave, como a sua duração de vida, etc.

Para enviar uma mensagem autenticada, o computador de origem primeiro constrói um datagrama que contém todas os cabeçalhos IP e a carga útil e, em seguida, substitui os campos que podem ser alterados por zeros (ex: o campo ‘número máximo de saltos’). O datagrama é completado com zeros para se tornar um múltiplo de 16 bytes. Da mesma maneira, a chave secreta utilizada também é concluída com zero para ser um múltiplo de 16 bytes. Em seguida, uma soma de verificação codificada é calculada após a concatenação da chave secreta concluída, o datagrama concluído e, novamente, a chave secreta concluída.

O cabeçalho de autenticação contém 3 partes. O primeiro conta com 4 bytes que especificam o número do cabeçalho seguinte, o comprimento do cabeçalho de autenticação e 16 bits a zero. O segundo define o número chave em 32 bits. O terceiro contém o total de controle codificado (com o algoritmo MD5 ou outro).

O destinatário usa o número chave para encontrar a chave secreta. O valor completo da chave secreta é adicionado antes e depois da conclusão da carga útil, os campos variáveis do cabeçalho são limpos de seus zeros e, em seguida, a soma de verificação criptografada é calculada. Se o resultado do cálculo for igual à soma de verificação criptografada contida no cabeçalho de Autenticação, o destinatário tem certeza de que o datagrama é da origem com a qual ele compartilha a chave secreta. Também é certo que o datagrama não foi falsificado sem o seu consentimento, em segundo plano.

Para os datagramas que devem ser enviados secretamente, use o cabeçalho de extensão com carga útil criptografada. Este cabeçalho começa com um número chave de 32 bits, seguido pela carga útil criptografada.

Opção de destino

O cabeçalho da Opção de destino é usado para campos que têm necessidade de ser interpretados e compreendidos apenas pelo computador destinatário. Na versão original de IPv6, a única opção de destino que foi definida foi a opção nula. Ela permite completar este cabeçalho com zero para obter um múltiplo de 8 bytes. Este cabeçalho não será usado inicialmente. Ele foi definido para garantir que os novos softwares de encaminhamento possam levá-lo em conta, no caso de alguém considerar uma opção de destino.

Para mais informações sobre o protocolo IPv6, consulte o RFC 2460 que explica de maneira detalhada o protocolo: RFC 2460 traduzido para o português e RFC 1661 original.

Última modificação: 26 de março de 2018 às 10:17 por pintuda.

Este documento, intitulado '', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (https://br.ccm.net/) ao utilizar este artigo.

IPv6 protocol
IPv6 protocol
Protocolo IPv6
Protocolo IPv6
Le protocole IPv6
Le protocole IPv6
Il protocollo IPv6
Il protocollo IPv6

Endereço IP
LDAP