Entretanto, observa-se que as próximas fases de crescimento em Redes não serão conduzidas pelo mercado de computadores. Outros tipos de mercado deverão ser desenvolvidos, os quais necessitarão de novos requisitos do IP (Protocol Internet), não disponíveis na atual versão do protocolo (IPv4). Como os novos mercados provavelmente acontecerão em paralelo com o de computadores, o desafio do novo protocolo IP (IPv6) é oferecer soluções para problemas de hoje que sejam atrativas para estes mercados emergentes.
A computação móvel está por toda parte, incentivada pelos baixos preços e elevada capacidade de seus dispositivos. Uma característica essencial é que eles estejam conectados em rede, suportando uma vários tipos de ligações (tecnologia de infravermelho ou de radiofrequência). Estes dispositivos necessitam de um protocolo comum para trabalhar sobre uma variedade de redes físicas.
Um outro mercado, são as redes de entretenimento. É provável que toda televisão torne-se um host internet, já que a diferença entre televisão e host diminuirá bastante com o aparecimento da televisão digital de alta definição.
O controle de dispositivos, tais como equipamentos de iluminação, de aquecimento e refrigeração ligados em rede reduz custos, tornando-o cada vez mais atrativo. Estes equipamentos são atualmente controlados por interruptores analógicos e consomem uma quantidade considerável de energia elétrica.
Considerando todos esses mercados, o novo IP deverá suportar grande escala de roteamento, endereçamento e autoconfiguração, além de impor um mínimo overhead e suportar mobilidade.
Neste artigo é apresentado uma visão
geral da proposta para a nova versão do protocolo IP, levando-se
em consideração as principais mudanças relativas à
versão clássica do protocolo e os recursos que atenderão
a novos requisitos funcionais.
IPng é a nova versão do Protocolo da Internet, projetado como sucessor da versão 4. Ao IPng é atriubído o número de versão 6 e é formalmente chamado de IPv6.
O protocolo proposto mantém grande parte das característica que contribuíram para o sucesso do IPv4. Apesar das muitas semelhanças conceituais, o IPv6 muda a maioria dos detalhes do protocolo.
A principais mudancas são:
O IPv6 muda em grande parte o formato do datagrama. Como é mostrado abaixo, um datagrama IPv6 tem um cabeçalho básico de tamanho fixo, zero ou mais cabeçalhos de extensão seguidos de dados.
Abaixo é apresentado o novo formato do cabeçalho IP que consiste de duas partes, o cabeçalho IP básico e o os cabeçalhos de extensão IP. O cabeçalho básico consiste de um cabeçalho de 64 bits, seguido por dois endereços IP de 128 bits de origem e destino, num total de 40 bytes.
4.1 Comparando os cabeçalhos IPv4 e IPv6
O novo cabeçalho IP é muito mais simples do que o clássico IP. Ele apresenta apenas 6 campos e dois endereços, enquanto a versão anterior tem 10 campos fixos de cabeçalho, dois endereços e algumas opções.
Os primeiros 4 bits dos cabeçalhos foram os únicos que permaneceram com o mesmo significado e na mesma posição, representando o número da versão.
Seis campos foram suprimidos: O campo de tamanho do cabeçalho (IHL), o tipo do serviço, o campo de identificação, o campo de flags, o deslocamento do fragmento, e o campo de verificação de soma do cabeçalho. Três campos foram renomeados, e em alguns casos redefinidos: o tamanho, o tipo do protocolo e o tempo de vida. O mecanismo de opções foi totalmente revisado, e dois novos campos foram adicionados: o de prioridade e o de rótulo de fluxos.
4.2 Simplificações
Cabeçalhos IPv6 não apresentam nenhum tipo de elemento opcional. As opções para tratamento de pacotes especiais são expressas após o cabeçalho principal, nos cabeçalhos de extensão. Logo, não há mais necessidade para o campo de tamanho do cabeçalho (IHL).
Para diminuir o custo do processamento do cabeçalho, o campo de verificação da soma do cabeçalho foi removido, dessa forma não é preciso checar e atualizar o "checksum" em cada retransmissão. O risco é que a não detecção de erros pode resultar na perda de pacotes.
O IPv4 inclui um procedimento de fragmentação de forma que os emissores possam enviar pacotes sem se preocupar com a capacidade dos retransmissores. Já no IPv6, os hosts devem aprender o tamanho máximo do pacote aceitável através de uma chamada de procedimento "path MTU discovery". Caso eles tentem enviar pacotes maiores, tais pacotes serão rejeitados pela rede. Dessa forma não há necessidade dos campos: identificação do pacote, flags de controle da segmentação e deslocamento do fragmento. O campo de tipo do serviço foi removido, este campo era configurado para indicar preferências por caminhos mais curtos, mais baratos, mais seguros, etc. Entretanto este campo não era freqüentemente usado pelas aplicações. O tratamento de tais preferências é feito de outras formas no IPv6, como apresentado depois.
4.3 Revisão dos Parâmetros Clássicos
O campo de tamanho total do IPv4 foi na nova versão substituído pelo tamanho do payload (dados carregados após o cabeçalho). Com relação ao campo tipo do protocolo, foi renomeado para tipo do próximo cabeçalho para refletir a nova organização dos pacotes IP.
O campo tipo do próximo cabeçalho será configurado para conter o tipo do primeiro cabeçalho de extensão. Enquanto que o campo tempo de vida foi renomeado para limite de passos da rota. No IPv4, o tempo de vida foi expresso como o número de segundos, indicando quanto tempo os pacotes permaneceriam na rede antes de serem destruídos.
No IPv6 esse campo é decrementado a cada retransmissão. Nesse caso, ele conta o número de passos e não o número de segundos que um pacote fica na rede.
4.4 Novos Campos
Há dois campos novos no IPv6 , o rótulo de fluxos e o de prioridade. Ambos foram projetados para tratar tráfego de tempo real. O campo prioridade tem 16 valores possíveis, e funciona da mesma forma que o campo preferência do IPv4.
O campo rótulo de fluxo é usado para diferenciar pacotes que necessitam de tratamento especial, isto é, que são enviados por uma dada origem para um dado destino com um dado conjunto de opções.
O mecanismo de cabeçalhos de extensão foi incluído no IPng para aceitar funções como fragmentação, roteamento de origem e autenticação. Este mecanismo funciona de maneira semelhante as opções do IPv4. No IPv6 é possível inserir um arbitrário número de cabeçalhos de extensão entre o cabeçalho Internet e o payload. Cada cabeçalho é identificado por um tipo e especifica o tipo do cabeçalho seguinte na cadeia, de acordo com os recursos que o datagrama usa, fornecendo flexibilidade máxima.
Exemplo:
Os endereços IPng têm 128 bits e não identificam nós, e sim interfaces e conjuntos de interfaces. Como cada interface pertence a um único nó, qualquer endereço unicast de uma interface pode ser usado para identificar o nó.
Ao contrário da Internet atual, que usa uma hierarquia de dois níveis (prefixo de rede + sufixo de host), o grande espaço de endereço do IPv6 permite uma hierarquia de vários níveis ou várias hierarquias.
Essa nova hierarquia está organizada de forma que um único endereço é atribuído a cada provedor de acesso à rede pela autoridade da Internet, o provedor, por sua vez, atribui a cada assinante um único identificador e o assinante atribui um único identificador a cada subrede e a cada nó (interface).
Existem três tipos de endereços IPv6: unicast, anycast e multicast. Endereços unicast identificam uma única interface. Endereços anycast identificam um conjunto de interfaces tais que um pacote enviado para um endereço anycast será entregue para um membro do conjunto. Endereços multicast identificam um grupo de interfaces tais que um pacote enviado para um endereço multicast é entregue para todos as interfaces no grupo. Não há endereçamento broadcast no IPv6, sua função foi suprida pelo endereçamento multicast.
Os bits de mais alta ordem do endereço indicam
o tipo específico do endereçamento IPv6. O campo de tamanho
variável que compreende estes bits condutores é chamado de
Prefixo do Formato (FP – Format Prefix). Abaixo é apresentado a
proposta de divisão de endereços do IPv6:
Alocação de Espaço | Prefixo (binário) | Fração de endereços |
Reservado (compatível com IPv4) | 0000 0000 | 1/256 |
Reservado | 0000 0001 | 1/256 |
Endereços NSAP | 0000 001 | 1/128 |
Endereços IPX | 0000 010 | 1/128 |
Reservado | 0000 011 | 1/128 |
Reservado | 0000 100 | 1/128 |
Reservado | 0000 101 | 1/128 |
Reservado | 0000 110 | 1/128 |
Reservado | 0000 111 | 1/128 |
Reservado | 0001 | 1/16 |
Reservado | 001 | 1/8 |
Provedor – Unicast atribuído | 010 | 1/8 |
Reservado | 011 | 1/8 |
Reservado para Geográfico | 100 | 1/8 |
Reservado | 101 | 1/8 |
Reservado | 110 | 1/8 |
Reservado | 1110 | 1/16 |
Reservado | 1111 0 | 1/32 |
Reservado | 1111 10 | 1/64 |
Reservado | 1111 110 | 1/128 |
Disponível para uso local | 1111 1110 | 1/256 |
Usado para multicast | 1111 1111 | 1/256 |
6.1 Endereços Unicast
Há várias formas de atribuição de endereços unicast no IPv6. Existe o endereço unicast baseado em provedores globais, endereços para uso geográfico, endereços NSAP, endereços hierárquicos IPX, endereços de uso local e os endereços de hosts IPv4. Há ainda a possibilidade de definições futuras de endereços.
Endereços unicast baseados em provedores são usados para comunicação global. Um endereço de uso local é um endereço unicast que tem apenas escopo de roteamento local. A intenção é usá-los dentro de sites para comunicação local "plug and play" e em bootstrapping para uso de endereços globais.
Nos endereços de uso local há um identificador que deve ser único no domínio em que esta sendo usado. A combinação de identificador de subrede e de interface para formar um endereço local permite que uma internet privada (intranet) seja construída sem qualquer outra alocação de endereços.
Endereços de uso local permitem ainda que organizações que não estão conectadas a Internet global operem sem a necessidade de requisitar um prefixo do espaço de endereços global da Internet. Se a organização depois se conectar a Internet global, ela pode usar seus identificadores de subrede e de interface em combinação com o prefixo global para formar seu endereço global.
O mecanismo de transição IPv6 inclui uma técnica para hosts e roteadores processarem dinamicamente pacotes IPv6 sobre a infra-estrutura de roteamento IPv4. Nós IPv6 que utilizam esta técnica têm um endereço IPv6 unicast especial que leva um endereço IPv4 nos 32 bits de mais baixa ordem.
Existe um segundo tipo de endereços IPv6 que armazena um endereço IPv4 embutido. Este endereço é usado para representar os endereços de nós apenas IPv4 como endereços IPv6
6.2 Endereços Anycast
Um endereço IPv6 anycast é um endereço que é atribuído para mais que uma interface (tipicamente pertencentes a diferentes nós), com a propriedade de que um pacote enviado para um endereço anycast é roteado para a interface mais próxima que tem aquele endereço, de acordo com a medida de distância do protocolo de roteamento.
Endereços anycast, quando usados como parte de uma seqüência de rotas, permitem que nós selecionem por quais dos vários provedores de serviço internet eles querem mandar seu tráfego. Isto pode se implementado configurando endereços anycast para identificar o conjunto de roteadores pertencentes a provedores de serviço internet (por exemplo, um endereço anycast por provedor de serviço internet). Estes endereços internet podem ser usados como endereços intermediários no cabeçalho de roteamento IPv6, para que um pacote seja entregue via um particular provedor ou sequência de provedores. Outra possibilidade de uso de endereços anycast é para identificar um conjunto de roteadores ligados a uma particular subrede, ou um conjunto de roteadores que provêem entrada num domínio de roteamento particular.
Endereços anycast são alocados do espaço de endereços unicast, usando qualquer uma das formas de endereços unicast definidas. Portanto, endereços anycast são sintaticamente idênticos aos endereços unicast. Quando um endereço unicast é atribuído a mais de uma interface, ele torna-se um endereço anycast, os nós aos quais ele é atribuído devem ser explicitamente configurados para saber que ele é um endereço anycast.
6.3. Endereços Multicast
Um endereço IPv6 multicast é um identificador para um grupo de interfaces. Uma interface pode pertencer a qualquer número de grupos multicast.
6.4. Roteamento IPv6
Roteamento em IPv6 é idêntico ao roteamento IPv4 sob a técnica CIDR, exceto que os endereços IPv6 são de 128 bits ao invés dos 32 bits IPv4. Com poucas extensões, todos os algoritmos de roteamento IPv4 (OSPF, RIP, IDRP, ISIS, etc.) podem ser usados para rotear IPv6.
IPv6 também inclui extensões de roteamento simples, mas que suportam poderosas novas funcionalidades. Estas capacidades são:
Afim de tornar o sequenciamento de endereços uma função geral, hosts IPv6 requerem em muitos casos roteamento inverso do pacote que eles recebem contendo seqüências de endereços a fim de retornar o pacote para o seu emissor inicial (se o pacote foi autenticado com sucesso usando o cabeçalho de autenticação IPv6). Esta é a chave para permitir que eles funcionem com hosts que implementam as novas características tais como seleção de provedores ou extensão de endereços.
Quando todos os computadores na Internet tiverem rodando a nova versão do protocolo IP, nós teremos terminado a fase de transição. O objetivo chave da transição é permitir a interoperabilidade entre hosts IPv4 e IPv6. Um segundo objetivo é permitir que hosts e roteadores IPv6 sejam adicionados na Internet de forma altamente incremental e difusa. Um terceiro objetivo é que o entendimento e a execução da transição deve ser tão fácil quanto possível para os usuários finais, administradores de sistema e operadores de rede.
Características do mecanismo de transição IPv6:
A Internet de hoje apresenta problemas de segurança e falta de mecanismos de privacidade e autenticação efetivos abaixo do nível de aplicação. IPv6 tem integrada duas opções que provêem segurança. Como diferentes comunidades de usuários têm diferentes necessidades de segurança, estas duas opções podem ser usadas de forma separada ou combinada para provê diferentes níveis de segurança.
O primeiro mecanismo é o "cabeçalho
de autenticação IPv6" , que é um cabeçalho
de extensão que provê autenticação e integridade,
mas não garante confidencialidade, para datagramas IPv6. O segundo
é o "cabeçalho de encapsulamento de segurança". Este
mecanismo oferece integridade e confidencialidade aos datagramas IPv6.
Autoconfiguração permite que um host obtenha todos os parâmetros necessários à comunicação sem intervenção manual. A alocação dinâmica é necessária para ambientes , como uma rede sem fio, nos quais os computadores podem conectar-se ou desconectar-se rapidamente.
Com um endereço de 128 bits, o novo IP tem a vantagem de oferecer duas vezes o tamanho que os procedimentos de roteamento requerem, portanto ele tem disponibilidade para implementações apropriadas de procedimentos de autoconfiguração .
Acionar a maquina uma vez e esquecê-la não é suficiente. Há necessidade de mudar endereços dinamicamente para efetuar mudanças de provedores e para obter vários endereços simultaneamente quando a rede estiver conectada a vários provedores. Requerimentos de segurança e gerenciamento devem ser considerados. Portanto, configuração de endereços é parte integral de qualquer implementação IP. Dois modos de autoconfiguração são prováveis: stateless e stateful.
Na autoconfiguração stateless, nós IPv6 iniciam suas atividades agrupando todos os nós em grupos multicast. Isto é feito programando as suas interfaces para receber todos os pacotes enviados ao correspondente endereço multicast . Eles então enviarão uma solicitação de mensagem aos roteadores no link, usando o endereço de todos os roteadores, como destino e o próprio endereço local como fonte. Esta configuração possui muitas vantagens, ela é muito simples e não requer nenhum servidor. Entretanto, ela tem dois inconvenientes, uso relativamente ineficiente do espaço de endereço e falta de controle de acesso a rede.
O protocolo de configuração stateful
é uma versão IPv6 do DHCP IPv4. Este protocolo será
atualizado para distribuir tanto endereços IPv6 quanto endereços
IPv4. O endereço multicast está sendo reservado para o grupo
de todos os servidores DHCP e deve ser usado para descobrir o servidor
local.
O IPv6 resolve o problema de escala da Internet, fornece um mecanismo de transição e foi projetado para suprir as necessidades de novos mercados, tais como computação móvel, redes de entretenimento e controle de dispositivos.
O suporte para uma maior hierarquia de endereços no IPv6, permite que a Internet continue a crescer e fornece novas capacidades de roteamento. Sua estrutura de endereços suporta outros protocolos internet .
Assim, o IPv6 é a nova versão de IP
que pode ser instalada como um software de atualização nos
equipamentos internet, sendo interoperável com o IPv4. Sua estratégia
de implantação foi projetada para reduzir os riscos de problemas
arquiteturais. O IPv6 está projetado para rodar bem em redes de
alta velocidade (ATM) e ao mesmo tempo é ainda eficiente para redes
de baixa largura de banda (wireless). Além disso, ele prover
uma plataforma para suportar novas funcionalidades IP que serão
requeridas num futuro próximo.
Upper Saddle River, New Jersey 07458; 1996.
Hinden, Robert M. IP Next Generation Overview. May 14, 1995.
S. Deering & R. Hinden. ‘Internet Protocol, Version 6 (IPv6) Specification’ Internet Network Working Group RFC 1883, December, 1995.