Skip to content

IPv6

Introdução

Primeiro rascunho de como seria a Internet

A concepção da Internet é um dos marcos tecnológicos mais contundentes da sociedade moderna, tendo propiciado mudanças significativas de paradigmas do “como fazer” nas mais diversas áreas incluindo educação,entretenimento, pesquisa, transporte, comércio, saúde, entre diversas outras. Essa repercussão tão intensa e bem sucedida deve-se, em grande parte, à simplicidade dos seus protocolos de comunicação, mais especificamente de seus dois protocolos principais: o TCP (Transmission ControlProtocol) e o IPv4 (Internet Protocol).

O IPv4 tem como função principal viabilizar a interconexão de redes, sendo responsável basicamente pelo endereçamento lógico neste ambiente, segmentação, priorização de pacotes e descarte de pacotes com problemas de roteamento. Considerando que a concepção da Internet data da década de 70 e que, de lá para cá, houve uma explosão inesperada do seu uso, o IPv4 mostrou-se inadequado para acompanhar esta evolução.

Uma das deficiências mais apontadas do IPv4 foi o espaço de endereçamento baseado num valor inteiro de 32bits, que é tipicamente representado por quatro octetos em decimal. Para contornar essa deficiência,inúmeras soluções paliativas foram propostas e adotadas, como por exemplo o NAT (Network Address Solution) e o CIDR (Classless Inter Domain Routing). Contudo, à medida que novas tecnologias de redes surgiram e o IP continuava sendo um dos protocolos chaves para sua operação,outras deficiências começaram a ser detectadas, especialmente aquelas referentes à segurança e ao suporte a parâmetros de QoS (Quality of Service) e mobilidade.

Como consequência, no inicio da década de 90 é publicada a proposta da nova geração do IP (IPng – IP next generation) ou IPv6. Este novo protocolo traz a solução para muitas das deficiências de seu predecessor,o IPv4, incluindo espaço de endereçamento de 128bits, suporte a roteamento e segmentação de pacotes na estação origem, suporte a mobilidade e mecanismos de segurança.Contudo, desde então, o IPv6 não foi amplamente adotado, apesar de esforço s e incentivos de diversos governos, como o americano e brasileiro.Os principais motivos para resistência à sua adoção são o grande parque de equipamentos instalados com IPv4 nativo, os custos de implantação de soluções de migração (como por exemplo, Dual Stack ou Pilha Dupla) do IPv4 para IPv6 e a própria curva de aprendizado.

Organismo que fazem o controle dos endereços IP no mundo

No Brasil e na América Latina já não temos mais IPs livres para conectar novos usuários. Por isso existe o IPv6. É uma nova versão do IP, com muito mais endereços, que foi projetada para substituir o IPv4 na rede. Só que o IPv6 é suficientemente diferente do IPv4 para que eles não sejam compatíveis, ou seja, eles não interoperam. Não dá para usar IPv4 numa parte da Internet e IPv6 em outra, porque esses diferentes pedaços, simplesmente, não poderiam se comunicar. Essa foi uma decisão de projeto necessária para acrescentar algumas características interessantes.

  No Brasil, e em toda a América Latina, a situação é similar.

  O LACNIC, RIR que atua na América Latina e Caribe, já alocou aproximadamente 230 blocos /32 IPv6, o que corresponde a aproximadamente 0,4% do total de blocos já alocados mundialmente. Destes, 35,3% estão alocados no Brasil, porém, apenas 30% estão sendo efetivamente utilizado.

Mais informações:

Os blocos atribuídos para o LACNIC correspondem a apenas 0,4% dos já atribuídos mundialmente;

Destes 0,4%, 35,3% estão alocados para o Brasil;

Porém, dos blocos alocados para o Brasil, apenas 30% estão sendo efetivamente utilizados.

Cabeçalho IPv6

  A partir desse ponto, iniciaremos o estudo das principais características do IPv6, começando pela análise das mudanças ocorridas na estrutura de seu cabeçalho, apresentando as diferenças entre os cabeçalhos IPv4 e IPv6, e de que forma essas mudanças aprimoraram o funcionamento do protocolo. Também será detalhado o funcionamento dos cabeçalhos de extensão, mostrando porque sua utilização pode melhorar o desempenho dos roteadores.

O cabeçalho IPv4 é composto por 12 campos fixos, podendo conter ou não opções, fazendo com que seu tamanho possa variar entre 20 e 60 Bytes.

O cabeçalho IPv4 é composto por 12 campos fixos, podendo conter ou não opções, fazendo com que seu tamanho possa variar entre 20 e 60 Bytes. Estes campos são destinados transmitir informações sobre:

  • a versão do protocolo;
  • o tamanho do cabeçalho e dos dados;
  • a fragmentação;
  • o tipo de dados;
  • o tempo de vida do pacote;
  • o protocolo da camada seguinte (TCP, UDP, ICMP);
  • a integridade dos dados;
  • a origem e o destino do pacote.

As mudanças realizadas no cabeçalho IPv6

Algumas mudanças foram realizadas no formato do cabeçalho base do IPv6 de modo a torná-lo mais simples, com apenas oito campos  e com tamanho fixo de 40 Bytes, além de mais flexível e eficiente, prevendo sua extensão por meio de cabeçalhos adicionais que não precisam ser processados por todos os roteadores intermediários. Estas alterações permitiram que,  mesmo com um espaço para endereçamento de 128 bits, quatro vezes maior que os 32 bits do IPv4, o tamanho total do cabeçalho IPv6 seja apenas duas vezes maior que o da versão anterior.

  • Mais simples
  • 40 Bytes (tamanho fixo).
  • Apenas duas vezes maior que o da versão anterior.
  • Mais flexível
  • Extensão por meio de cabeçalhos adicionais.
  • Mais eficiente
  • Minimiza o overhead nos cabeçalhos.
  • Reduz o custo do processamento dos pacotes.

 

Comparação entre os dois cabeçalhos

Entre essas mudanças, destaca-se a remoção de seis campos do cabeçalho IPv4, visto que suas funções não são mais necessárias ou são implementadas pelos cabeçalhos de extensão.

No IPv6, as opções adicionais agora fazem parte dos cabeçalhos de extensão do IPv6. Deste modo, os campos Opções e Complementos puderam ser removidos.

O campo Tamanho do Cabeçalho também foi removido, porque o tamanho do cabeçalho IPv6 é fixo.

Os campos Identificação, Flags e Deslocamento do Fragmento, foram removidos porque as informações referentes a fragmentação são indicadas agora em um cabeçalho de extensão apropriado.

Com o intuito de aumentar a velocidade do processamento dos roteadores, o campo Soma de Verificação foi retirado, pois esse cálculo já é realizado pelos protocolos das camadas superiores.

Quatro campos tiveram seus nomes alterados e seus posicionamentos modificados
O campo Identificador de Fluxo foi acrescentado

  Também foi adicionado um novo campo, o Identificador de Fluxo, acrescentado um mecanismo extra de suporte a QoS ao protocolo IP. Mais detalhes sobre este campo e de como o protocolo IPv6 trata a questão do QoS.

Três campos foram mantidos

Vamos conhecer um pouco sobre cada campo do cabeçalho base do IPv6:

  • Versão (4 bits) – Identifica a versão do protocolo IP utilizado. No caso do IPv6 o valor desse campo é 6.
  • Classe de Tráfego (8 bits) – Identifica e diferencia os pacotes por  classes de serviços ou prioridade. Ele continua provendo as mesmas funcionalidades e definições do campo Tipo de Serviço do IPv4.
  • Identificador de Fluxo (20 bits) – Identifica e diferencia pacotes do mesmo fluxo na camada de rede. Esse campo permite ao roteador identificar o tipo de fluxo de cada pacote, sem a necessidade de verificar sua aplicação.
  • 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 indica o tamanho do cabeçalho mais o tamanho dos dados transmitidos. Os cabeçalhos de extensão também são incluídos no calculo do tamanho.
  • Próximo Cabeçalho (8 bits) – Identifica cabeçalho que se segue ao cabeçalho IPv6. Este campo foi renomeado (no IPv4 chamava-se Protocolo) refletindo a nova organização dos pacotes IPv6, pois agora este campo não contém apenas valores referentes a outros protocolos, mas também indica os valores dos cabeçalhos de extensão.
  • Limite de Encaminhamento (8 bits) – Indica o número máximo de roteadores que o pacote IPv6 pode passar antes de ser descartado, sendo decrementado a cada salto. Padronizou o modo como o campo Tempo de Vida (TTL) do IPv4 tem sido utilizado, apesar da definição original do campo TTL, dizer que este deveria indicar, em segundos, quanto tempo o pacote levaria para ser descartado caso não chegasse ao 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çalho IPv6

 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 cabeçalhos localizam-se entre o cabeçalho base e o cabeçalho da camada imediatamente acima, não havendo nem quantidade, nem tamanho fixo para eles. 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”.

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 utilização dos cabeçalhos de extensão do IPv6, visa aumentar a velocidade de processamento nos roteadores, visto que, o único cabeçalho de extensão processado em cada roteador é o Hop-by-Hop; os demais são tratados apenas pelo nó identificado no campo Endereço de Destino do cabeçalho base. Além disso, novos cabeçalhos de extensão podem ser definidos e usados sem a necessidade de se alterar o cabeçalho base.

No IPv6, opções adicionais são tratadas por meio de cabeçalhos de extensão.

Localizam-se entre o cabeçalho base e o cabeçalho da camada de transporte.

Não há nem quantidade, nem tamanho fixo para estes cabeçalhos.

Cabeçalhos de Extensão

Alguns aspectos sobre os cabeçalhos de extensão devem ser observados.

Primeiramente é importante destacar que, para evitar que os nós existentes ao longo do caminho do pacote tenham que percorrer toda a cadeia de cabeçalhos de extensão para conhecer quais informações deverão tratar, estes cabeçalhos devem ser enviados respeitando um determinada ordem. Geralmente, os cabeçalhos importantes para todos os nós envolvidos no roteamento devem ser colocados em primeiro lugar, cabeçalhos importantes apenas para o destinatário final são colocados no final da cadeia. A vantagem desta sequência é que o nó pode parar de processar os cabeçalhos assim que encontrar algum cabeçalho de extensão dedicado ao destino final, tendo certeza de que não há mais cabeçalhos importantes a seguir. Com isso, é possível melhorar significativamente o processamento dos pacotes, porque, em muitos casos, apenas o processamento do cabeçalho base será suficiente para encaminhar o pacote. Deste modo, a sequência a ser seguida é:

  • Hop-by-Hop Options
  • Routing
  • Fragmentation
  • Authentication Header
  • Encapsulating Security Payload
  • Destination Options

Também é vale 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 desenvolvido o cabeçalho Mobility, utilizado pelos nós que possuem suporte a mobilidade IPv6.

Endereçamento IPv6

Endereços IPv6 possuem tamanho de 128 bits e são identificadores de interfaces individuais e blocos de interfaces. Todos os tipos de endereços IPv6 são associados a interfaces não a nós. Desde que cada interface pertença a um único nó, quaisquer dos endereços de unicast das interfaces pode ser usado como um identificador para o mesmo. Uma única interface pode ser associada a múltiplos endereços IPv6 de qualquer tipo.

Existem três tipos de endereços IPng:

  • Unicast – endereço que identifica uma única interface.
  • Anycast – identifica um bloco de interfaces, de tal forma que um pacote enviado a um endereço de anycast será entregue a um elemento do bloco.
  • Multicast – identifica um grupo de interfaces, tal que um pacote enviado a um endereço de multicast é entregue a todos elementos do grupo.

Não existe endereço de broadcast no IPv6, esta função foi substituída pelo endereço de multicast.

O IPng suporta endereços com número de bits 4 vezes maior que o endereço IPv4 (128 – [16 bytes] vs. 32 – [4 bytes]). Isto significa que o IPv6 é 4 bilhões (296) de vezes maior que o IPv4 (232), ou seja, a quantidade de endereços é de:

     340.282.366.920.938.463.463.374.607.431.768.211.456 

Esta é uma faixa de endereçamento  extremamente grande. Teoricamente, isto representa aproximadamente 665.570.793.348.866.943.898.599 endereços por metro quadrado da superfície do nosso planeta (assumindo que a superfície da Terra seja de  511.263.971.197.990 m2).

O tipo de endereço IPng é indicado pelos bit mais significativo do endereço. A variação do tamanhos deste bit  é chamado Prefixo de Formato (FP). A distribuição inicial destes prefixos é a seguinte:

 

Esta estrutura suporta  a distribuição direta para provedor de endereço, endereços de uso local e endereço de multicast . Existe espaço reservado para endereços NSAP, endereços IPX e neutral-interconect address. O espaço de endereço restante está reservado para uso futuro. Pode ser usado para expansão (por exemplo, provedor de endereço adicional, etc.) ou novos usos (por exemplo, identificadores). Observe que não foram tratados os endereços anycast . Isso porque eles são alocados fora do espaço de endereço de unicast .

Inicialmente será usado 15% do espaço do novo endereçamento, restando 85% para uso futuro.

Roteamento IPv6

O roteamento no IPng é semelhante ao roteamento no IPv4 com CIDR, a não ser pelo fato dos endereços do IPng serem de 128 bits em vez dos 32 bits do IPv4. Assim, com extensões muito simples, todos os algoritmos de roteamento do IPv4 (OSPF, RIP, IDRP, ISIS, etc.) podem ser usados para rotear pacotes IPng.

O IPng também inclui extensões simples de roteamento que permitem novas funcionalidades de roteamento poderosas, tais como:

  • Seleção de provedor (baseado em política, desempenho, custo, etc.);
  • Mobilidade de host (rotas para nova localização);
  • Auto-reendereçamento (rota para novo endereço).

A nova funcionalidade de roteamento é obtida criando-se sequências de endereços IPng usando as opções de roteamento do mesmo. As opções de roteamento são usadas pela origem do IPng para listar um ou vários nós intermediários (ou grupos de topologia) que devem ser “visitados” durante o transporte do pacote. Esta função é muito semelhante às opções do IPv4 Loose Source e Record Router.

Para tornar o endereçamento sequencial uma função geral, os hosts IPng são solicitados, em muitos casos, a fazer um roteamento reverso dos pacotes recebidos (se o pacote IPng for autenticado com sucesso usando a autenticação de cabeçalho), invertendo a sequência de endereços para devolver o pacote a seu originador. Esta é a chave que permite aos hosts trabalharem com as novas características como seleção de provedor ou endereços estendidos. 

Abaixo, três exemplos mostram como as sucessões de endereço podem ser usadas. Nestes exemplos, sequências de endereços são mostradas por uma lista de endereços individuais separados por vírgula. Por exemplo:

     SRC, I1, I2, I3, DST

O primeiro endereço é o endereço de fonte, o último é o endereço de destino, e os do meio são endereços intermediários.

Para estes exemplos, vamos assumir que dois hosts, (H1 e H2) desejam comunicar-se. Ambos estão conectados aos provedores P1 e P2. Um terceiro provedor PR (wireless), está conectado aos provedores P1 e P2 também.

O caso mais simples (sem o uso de sequência de endereços) é quando H1 quer enviar um pacote para H2 contendo os endereços:

     H1, H2

Quando H2 responder, este inverteria os endereços e construiria um pacote que contém os endereços:

     H2, H1

Neste exemplo, poderia ser usado qualquer provedor, e H1 ou H2 não poderiam selecionar por qual provedor os pacotes seriam enviados e recebidos.

No entanto, se H1 decide usar uma política obrigando que toda comunicação entre ele e H2 devam ser transportadas via provedor P1, ele construiria um pacote com sequência de:

     H1, P1, H2

Isto garante que quando H2 respostas para H1, inverterá a rota e a resposta também seria transportada via P1. Os endereços de resposta em H2 seriam:

     H2, P1, H1

Se H1 tornar-se móvel (um laptop) e mudasse para o provedor PR, poderia manter (sem quebrar qualquer conexão de transporte) a comunicação com H2, enviando pacotes que contêm a seqüência de endereço:

     H1, PR, P1, H2

Isto garante que, quando H2 responder, ele usará a política de H1. A seqüência de endereços invertida seria:

     H2, P1, PR, H1

A facilidade de sequenciamento de endereço do IPng pode ser usada para selecionar o provedor, prover mobilidade e reendereçamento. Trata-se de uma característica simples, mas poderosa

Qualidade de Serviço

A Etiqueta de Fluxo (Flow Label) e os campos de prioridade no cabeçalho IPng podem ser usados por um host para identificar quais pacotes pedem manipulação especial através do roteador. Esta capacidade é importante para dar suporte a aplicações que requerem algum grau de processamento consistente, retardo e/ou velocidade. Estes tipos de aplicações são comumente descritos como multimídia ou aplicações em tempo real.

ETIQUETA DE FLUXO (FLOW LABEL)

O campo flow label, presente no cabeçalho do IPv6, possui 24 bits e pode ser utilizado para identificar pacotes que requerem tratamento especial pelos roteadores IPv6, como qualidade de serviço fora do padrão ou serviços de tempo real.

Esta funcionalidade do IPv6 está sendo pesquisada e pode sofrer mudanças. Hosts e roteadores que não suportam a funcionalidade de flow label devem preencher o campo com zeros quando originarem o pacote e ignorar o campo quando receberem um pacote.

Um fluxo (flow) é uma sucessão de pacotes enviada de uma origem para um destino (unicast ou multicast), e onde a origem define que os roteadores intermediários devem tratar o pacote de maneira especial. A forma de tratamento especial poderia ser carregada no roteador através de um protocolo de controle, como um protocolo de reserva de recursos ou por informações contidas dentro dos pacotes do fluxo, por exemplo, uma opção de hop-by-hop.

Pode haver múltiplos fluxos ativos de uma fonte para um destino, como também tráfego que não é associado a qualquer fluxo. Um fluxo é identificado exclusivamente pela combinação de um endereço da fonte e uma etiqueta de fluxo (flow label) preenchido com valores diferente de zeros. Pacotes que não requerem tratamento especial, ou seja, que não pertencem a um fluxo possuem o campo flow label preenchido com zeros.

O campo flow label é preenchido pelo host que origina o fluxo. Devem ser escolhidas novas “etiquetas de fluxo” (randomicamente, entre 1 e FFFFFF). O propósito da alocação randômica é fazer com que qualquer conjunto de valores atribuídos dentro do campo flow label seja satisfatório para ser usado como uma chave hash pelo roteador, para verificar o estado associado ao fluxo.

Todos os pacotes que pertencem ao mesmo fluxo devem ser enviados com o mesmo endereço de origem, o mesmo endereço de destino e o mesmo flow label. Se algum pacote incluir em seu cabeçalho a opção de hop-by-hop, então todos os pacotes devem incluir a esta mesma opção em seus cabeçalhos (com exceção do próximo campo de hop-by-hop do cabeçalho). Se qualquer pacote incluir um cabeçalho de roteamento, então todos os pacotes devem incluir o mesmo cabeçalho (com exceção do campo próximo cabeçalho no cabeçalho de roteamento). A inclusão de roteador e destino é permitida, mas não requerida, para verificar se esta condição foi satisfeita. Se uma violação for detectada, a origem deverá ser informada através de um pacote de ICMP com o parâmetro de problema preenchido com o código 0, apontando o octeto de mais alta ordem do flow label (isto é, offset 1 dentro do pacote IPv6) [12].

Os roteadores são livres para “setar” um fluxo para qualquer estado, até mesmo quando não existir nenhum tipo de informação que explicitamente faça isto via um protocolo de controle, uma opção de hop-by-hop ou outro meio. Por exemplo, ao receber um pacote de uma fonte com um flow label desconhecido, um roteador pode processar seu cabeçalho IPv6 e qualquer cabeçalho de extensão como se o flow label fosse zero. Este processamento inclui determinar o próximo salto e outras ações como atualizar a opção de salto, avanço de ponteiro ou decidir como enfileirar os pacotes, baseado no campo prioridade. O roteador pode decidir, ainda, se vai armazenar estas informações em cache, usando o endereço de origem e o flow label como chave. Os pacotes seguintes como o mesmo endereço de origem e o mesmo flow label podem ser roteados a partir da informações armazenadas no cache sem a necessidade de nova análise do cabeçalho.

Prioridades

O campo prioridade, de 4 bits, permite que uma origem especifique a prioridade de entrega para determinados pacotes em relação a outros pacotes da mesma origem. Os valores do campo prioridade estão divididos em dois grupos: 

  • 0 a 7: são utilizados exclusivamente para definir a prioridade de tráfego para o qual a origem está provendo controle de congestionamento, ou seja, tráfego que volta devido ao congestionamento, como TCP.
  • 8 a 15: são utilizados para especificar a prioridade de tráfego que não possuem resposta de volta. Ex.: pacotes de aplicações em tempo real, que são enviados a uma taxa constante.

Para o controle do congestionamento do tráfego, os seguintes valores de prioridade são recomendados:

     0  Uncharacterized traffic;
     1  “Filler” traffic (Ex.: netnews);
     2  Unattended data transfer (Ex.: e-mail);
     3  (Reservado)
     4  Attended bulk transfer (Ex.: FTP, HTTP, NFS);
     5  (Reservado)
     6  Interactive traffic (Ex.: telnet, X);
     7  Internet control traffic (Ex.: protocolos de roteamento, SNMP).

Para tráfego que não possuem controle de congestionamento, a prioridade mais baixa (valor 8) deve ser usada para pacotes que serão descartados caso exista um congestionamento (Ex.: tráfego de vídeo de alta fidelidade), e um valor mais alto (15) deve ser usado para pacotes que serão descartados com menor facilidade (Ex.: tráfego de áudio de baixa fidelidade). Não existe nenhuma relação entre os valores das prioridades do tráfego controlado e aquele não controlado.

Segurança

Atualmente, a Internet enfrenta vários problemas de segurança. Falta um mecanismo que garanta a privacidade de forma efetiva, e os protocolos não possuem mecanismos de autenticação para as camadas que estão abaixo da de aplicação.

Com o IPng, estas falhas serão corrigidas através de duas opções que provêem segurança [13]. Elas podem ser usadas isoladamente ou em conjunto para oferecer diferentes níveis de segurança. Isto é muito importante porque diferentes comunidades de usuários possuem diferentes necessidades no que diz respeito a este assunto.

O primeiro mecanismo é o IPng Authentication Header, que se trata de uma extensão de cabeçalho que provê autenticação e integridade (sem confidencialidade) para datagramas IPng [14]. Enquanto a extensão é um algoritmo independente e suporta várias técnicas diferentes de autenticação, foi proposto o uso de chaves MD5 para garantir a “interoperabilidade” na Internet. Este mecanismo pode ser usado para eliminar vários tipos de ataques, inclusive spoof de IP. A inclusão de tal mecanismo na Rede pode ser útil para os protocolos das camadas superiores no processo de autenticação da origem. Este mecanismo pode ser exportado pelos E.U.A. e por outros países que possuem as mesmas restrições de exportação, uma vez que ele provê somente autenticação e integridade e não confidencialidade. Isto encoraja o desenvolvimento e divulgação do IPng Authentication Header.

A segunda opção de segurança disponível é o IPng Encapsulation Security Header [15]. Este mecanismo provê integridade e confidencialidade para os datagramas IPng. Ele é mais simples que alguns protocolos de segurança similares (Ex.: SP3D, ISO, NLSP), possui flexibilidade e independência de algoritmo. Para prover “interoperabilidade” na Internet, o algoritmo padrão utilizado é o DES CBC.

Mecanismos de Transição

O objetivo principal dos mecanismos de transição é permitir a interoperabilidade entre IPv6 e IPv4. Um segundo objetivo é a distribuição de hosts e roteadores IPv6 de forma rápida e com alguma interdependência. Um terceiro ponto está relacionado com a facilidade de transição, ela deve ser simples para os usuários finais, administradores de sistemas e operadores de rede entre outros.

Os mecanismos de transição para o IPng são compostos de um grupo de protocolos implementados em hosts e roteadores, juntamente com algumas diretrizes operacionais com o objetivo de minimizar os impactos decorrentes da transição [16].

Algumas das características dos mecanismos de transição são:

  • Pode-se migrar hosts e roteadores IPv4 para IPv6 sem a necessidade de migração de toda a rede, ou seja, um de cada vez. Da mesma forma, pode-se realizar a instalação de novos hosts e roteadores IPv6;
  • Requisitos mínimos para migração. A única condição prévia para migração de hosts é que o servidor de DNS deve ser adequado para IPv6 antes disso. Para a migração de roteadores não existem pré-requisitos;
  • Endereçamento fácil. Quando é realizada a migração de hosts e roteadores para IPv6, estes elementos podem continuar a utilizar seus antigos endereços IPv4. Eles não precisam ser configurados com os endereços novos;
  • O custo inicial de migração é baixo. Necessita-se de pouco ou nenhum trabalho de preparação para migração de sistemas IPv4 para IPv6;
  • Uma estrutura de endereçamento que encapsula os endereços IPv4 dentro do IPv6;
  • Um modelo onde hosts e roteadores terão as duas pilhas de protocolos, IPv4 e IPv6, durante a fase de transição;
  • Uma técnica de encapsulamento onde pacotes IPv6 serão embutidos dentro de cabeçalhos IPv4, permitindo o transporte dos pacotes por roteadores que ainda não migraram para IPv6.

Os mecanismos de transição, asseguram que hosts com IPv6 podem comunicar-se com hosts IPv4 a qualquer momento durante a fase de transição, e permite que, dentro de um âmbito limitado, o tempo de inter-operação seja indefinido. Esta característica protege os investimentos realizados em tecnologia IPv4 e garante que o mesmo não ficará obsoleto. Máquinas que utilizam conexões limitadas (por exemplo, impressoras) não precisam migrar para IPv6.

Este mecanismos permite que os fabricantes de hosts e roteadores implementem o IPng em suas linhas de produtos conforme suas prioridades. Permite também que usuários finais e administradores de redes implementem IPng conforme suas conveniências.