10 de novembro de 1999
Ademar Luiz Pastro
1.- Introdução
Criado
há aproximadamente 20 anos como um meio para interconectar computadores através
do mundo todo, o IP (Internet Protocol) está mostrando a sua idade. Nem
mesmo o maior visionário dentre os desenvolvedores do TCP/IP no início dos anos
80 poderia imaginar o dilema de escala enfrentado pela Internet para
interconectar bilhões de pessoas ao redor do planeta. Em 1987 as projeções
indicavam a necessidade de endereçamento de 100.000 redes em algum ponto vago
no futuro. Atualmente existem previsões de muitos milhões de redes
interconectadas em um futuro não muito distante.
A
cada dia, novos grupos interconectam suas redes e descobrem novos meios de usar
a tecnologia da Internet, o que força uma constante evolução da mesma.
O
IPng, sigla de Internet Protocol Next Generation, foi proposto pelo IETF
(Internet Engineering Task Force) na reunião de 25 de julho de 1994 em Toronto,
Canadá, e documentada através da RFC 1752. O nome formal deste novo protocolo é
IPv6(onde o “6” refere-se à versão de número 6), sendo que a versão
corrente do IP é a versão 4, referida como Ipv4.
O IPng não é simplesmente um upgrade do Ipv4. Trata-se de um novo protocolo, com esquema de endereçamento diferente, cabeçalhos mais especializados e mais simples, número maior de opções como controle de fluxo e segurança. Suporta novas funcionalidades de roteamento além de uma série de outras novas funções.
2.-
Razões para a mudança do TCP/IP
Se a tecnologia do TCP/IP funcionou muito bem durante mais de uma década, porque deveria mudar? A versão 4 do protocolo IP (Ipv4) fornece o mecanismo básico de comunicação da pilha TCP/IP. Esta versão permaneceu quase inalterada desde seu início, no final da década de 70. Esta longevidade mostra que o projeto é flexível e poderoso. Desde o projeto do Ipv4, o desempenho dos processadores, os tamanhos típicos de memória aumentaram 32 vezes, a largura de banda de rede do backbone cresceu 800 vezes, novas tecnologias de rede afloraram e o número de hosts cresceu de apenas um punhado para mais de 4 milhões.
Apesar
de ser um projeto sólido, o Ipv4 deve ser substituído. Algumas considerações
sobre a necessidade de mudança estão apresentadas a seguir:
O crescimento é a principal causa a ser considerada para o surgimento da nova geração do IP. O endereçamento e o roteamento devem ser capazes de contemplar cenários razoáveis de futuro crescimento.
O atual IPv4 serve ao que podemos chamar de mercado eletrônico, que tem sido o vetor principal de crescimento da Internet. Seu foco está direcionado à conexão de computadores para uso principalmente nas áreas de grandes negócios, governamental e universidades. Este é um mercado que tem crescido a taxas exponenciais. O número de redes está dobrando a cada doze meses. Os computadores utilizados na rede, que vão desde PC’s até supercomputadores, são na sua maioria equipamentos fixos que estão conectados em LANs.
Embora
o mercado eletrônico continue a crescer a taxas exponenciais e se expandir para
outras áreas de interesse tais como escolas e pequenos negócios, A próxima fase
de crescimento provavelmente não será dirigida pelo mercado eletrônico e sim
por outras áreas de utilização que têm como característica o uso intenso e cujos
requisitos não eram evidentes quando do desenvolvimento do IPv4. O desafio do
IPng é prover uma solução que atenda aos problemas atuais e que seja atrativo
também para estes mercados emergentes.
Os dispositivos para computação pessoal móvel estarão cada vez mais presentes, à medida que seu preço cai e sua capacidade aumenta. Estes dispositivos serão bens de consumo substituindo o telefone celular, pagers e assistentes pessoais digitais. Além da necessidade de um protocolo da internet que suporte roteamento e endereçamento em larga escala, outro requisito necessário é um protocolo que tenha baixo overhead e suporte a auto configuração bem como a mobilidade. A necessidade de reduzir o overhead vem do uso de redes sem fio, que tem como característica a baixa velocidade.
Outro mercado em crescimento é o do entretenimento. À medida que a tecnologia de televisão digital de alta definição avança, as diferenças entre o computador e a televisão diminuem. Do mesmo modo que o anterior, este mercado exigirá um protocolo que suporte roteamento e endereçamento em larga escala. O custo será o fator primordial na seleção da tecnologia apropriada.
Outro mercado que poderá fazer uso da próxima geração do IP é o controle de equipamentos, que consiste no controle de equipamentos utilizados no nosso dia a dia, tais como iluminação, aquecimento, refrigeração, motores e outros tipos de equipamentos que atualmente são controlados através de chaves analógicas. Este mercado é imenso e requer soluções simples, robustas, fácil de usar e de baixíssimo custo. O retorno potencial é que o controle de dispositivos poderá resultar em redução de custos em larga escala.
O
desafio encarado pela IETF na definição do IPv6 é chegar num
protocolo que atenda as necessidades atuais e que também contemple os
requisitos dos mercados emergentes. Este mercado surgirá com ou sem o IPv6.
Se o IPv6 atender a esse novo mercado ótimo, senão, o mercado encontrará seu
próprio protocolo.
3.-
Endereçamento no IPv4
Cada
interface de rede TCP/IP requer um endereço único, utilizado para o roteamento
dos pacotes através da rede.
Um
endereço IP(IPv4),
·
Consiste de um conjunto
de 32 bits (4 bytes)
·
Pode ser representado
em notação decimal (ex.: 183.165.120.72)
·
É composto das
identificações da rede e do host.
A
estrutura de endereços do IPv4 é capaz de acomodar milhões de endereços, mais
do que suficiente para as necessidades da comunidade de usuários do TCP/IP
vinte anos atrás. Entretanto, as redes de dezenas de milhares de computadores
de 20 anos atrás cresceu para centenas de milhões atualmente. Desta forma,
vagarosamente, porém inexoravelmente, o esquema de endereçamento do IPv4 está
se exaurindo.
Dentro dos 32 bits do campo de endereço, o IPv4 organiza a rede mundial em uma hierarquia de 3 níveis: rede, subrede e host. O IPv4 possui as seguintes classes de endereçamento:
·
Classe A: 125 redes, 224 ou ~16 milhões de
hosts/rede
·
Classe B: 16382 redes, 65534 hosts/rede
·
Classe C: ~2 milhões de redes, 254 hosts/rede
·
Classe D: endereço multicast
·
Classe E: reservado para uso futuro.
O
crescimento no número de usuários da Internet significa que a capacidade de
endereçamento do IPv4 está se esgotando. Num primeiro instante, pode-se
questionar como um endereçamento que matematicamente tem capacidade para 232
(acima de 4 bilhões) valores possíveis esteja se esgotando. O problema não está
no número de bits, mas sim na forma como o agrupamento destes bits é feito para
formar o endereço, causando dois tipos de problemas: desperdício de endereços e
overhead excessivo no roteamento.
O padrão de atribuição de endereços do IPv4 causa muito desperdício, pois uma organização que tenha mais de 256 computadores necessita de um endereço de classe B bloqueando assim mais de 64.000 possíveis valores. Pior do que isso, grandes organizações reivindicam o direito ao uso de endereço de classe A, bloqueando aproximadamente 16 milhões de possíveis endereços.
A classificação de milhões de computadores através de somente três níveis hierárquicos, resulta em tabelas de roteamento bastante amplas, o que significa muito overhead no processo.
4.- Características do
IPv6
O protocolo IPv6 proposto mantém muitas das características que contribuiram para o sucesso do IPv4. De fato, os projetistas dotaram o IPv6 basicamente com as mesmas características do IPv4, com algumas modificações. Por exemplo, o IPv6 ainda aceita entrega sem conexão (isto é, permite que cada datagrama seja roteado independentemente), permite que o transmissor escolha o tamanho de um datagrama e requer que o transmissor especifique o número máximo de passos da rota que um datagrama pode percorrer antes de ser concluído. O IPv6 também retém a maioria dos conceitos fornecidos pelas opções do IPv4, inclusive os recursos para fragmentação e roteamento de origem.
Apesar de muitas semelhanças conceituais, o IPv6 muda a maioria dos detalhes do protocolo. Por exemplo, o IPv6 usa endereços maiores e acrescenta algumas características novas. Há uma no formato do datagrama, substituindo o campo de opções substituindo o campo de opções de comprimento variável do IPv4 por uma série de cabeçalhos de formato fixo.
A alterações introduzidas pelo IPv6 podem ser agrupadas em cinco categorias:
· Endereços maiores. O novo tamanho de endereço é a mudança mais visível. O IPv6 quadruplica o tamanho de endereço do IPv4, de 32 para 128 bits. O espaço de endereço do IPv6 é tão grande que não pode ser esgotado em futuro previsível.
· Formato flexível de cabeçalho. O IPv6 usa um formato de datagrama inteiramente novo. Ao contrário do IPv4, que usa um cabeçalho de datagrama de formato fixo onde todos os campos, exceto o de opções, ocupam um número fixo de octetos com um deslocamento fixo, o IPv6 usa um conjunto de cabeçalhos opcionais.
· Opções aprimoradas. Tal como o IPv4, o IPv6 permite que um datagrama inclua informações de controle opcionais. O IPv6 inclui novas opções que oferecem recursos adicionais não disponíveis no IPv4.
· Suporte para alocação de recursos. O IPv6 substitui a especificação de tipo de serviço do IPv4 por um mecanismo que permite pré alocação de recursos de rede. Particularmente, o novo mecanismo aceita aplicativos tais como vídeo em tempo real, que requer garantias de largura de banda e retardo de transmissão.
· Provisão para extensão de protocolo. Talvez a mudança mais significativa no IPv6 seja uma transição de um protocolo que especifica inteiramente todos os detalhes, para um protocolo que pode permitir recursos adicionais. A capacidade de extensão tem o potencial para permitir que a IETF adapte o protocolo à mudanças no hardware de rede considerado ou à novos aplicativos.
5.- Endereçamento no IPv6
No IPv6, cada endereço ocupa 16 octetos, o que representa quatro vezes o tamanho de um endereço IPv4. O espaço grande de endereço garante que o IPv6 pode tolerar qualquer esquema razoável de atribuição de endereço. Se futuramente os projetistas decidirem mudar o esquema de endereçamento, o espaço de endereço será suficientemente grande para acomodar a nova atribuição.
5.1.- Notação do endereço
Embora solucione os problemas de capacidade, o tamanho grande do endereço cria um novo problema: as pessoas responsáveis pelas redes precisam ler, dar entrada e manipular tias endereços, o que torna a representação binária impraticável. Da mesma forma, a notação decimal pontuada também não torna tais endereços suficientemente compactos como podemos observar no exemplo abaixo, através de um número de 128 bits, expresso na notação decimal pontuada:
135.240.140.104.255.255.182.137.0.0.0.233.233.100.79.255
De modo a tornar a representação ligeiramente mais compacta pode-se utilizar a notação hexadecimal de dois pontos, na qual o valor de cada conjunto de 16 bits é representado em hexadecimal separado por dois pontos:
87F0:8C68:FFFF:B489:0:E9:E964:4FFF
A notação hexadecimal de dois pontos tem a vantagem de requerer um número menor de dígitos, além do que possibilita a compressão dos zeros. Por exemplo, o endereço:
8B5F:0:0:0:0:0:C582:FF06
pode ser escrito como:
8B5F::C582:FF06
Para assegurar que a compressão de zeros produz uma representação não ambígua, a proposta estabelece que ela pode ser aplicada apenas uma vez em um endereço.
5.2.-
Tipos básicos de endereços no Ipv6
Da mesma forma que o IPv4, o IPv6 associa um endereço a uma conexão de rede específica, e não a um determinado computador. Assim, atribuições de endereço são semelhantes ao IPv4: um roteador IPv6 tem dois ou mais endereços, e um host IPv6 com uma conexão de rede precisa de apenas um endereço. O IPv6 também retém a hierarquia de endereço do IPv4 em que um prefixo é atribuído a uma rede física.
Entretanto, para facilitar a atribuição e a modificação de endereço, o IPv6 permite que vários prefixos sejam atribuídos a determinada rede e permite que um computador tenha vários endereços simultâneos atribuídos a determinada interface.
Um endereço no IPv6 se enquadra em uma das três categorias:
Unicast O endereço de destino especifica um único computador (host ou roteador). O datagrama deverá ser roteado para o destino ao longo do caminho mais curto possível.
Existem várias formas de endereço unicast:
Os primeiros 3 bits de prefixo, identificam o endereço como tipo atribuído ao provedor. O campo seguinte(Provider ID) identifica o provedor. O campo Subscriber ID identifica o assinante dentro do espaço do provedor. O campo Subnet ID identifica uma subrede específica do assinante. O campo Node ID identifica uma interface especifica dentro da subrede do assinante.
Este é um endereço do tipo unicast que tem um escopo local dentro de uma subrede.
A
transição para o IPv6 inclui uma técnica para que pacotes IPv6 possam trafegar
sobre uma infraestrutura IPv4.
Cluster O endereço de destino
é um conjunto de computadores que dividem um único prefixo de endereço. O
datagrama deverá ser roteado para o grupo ao longo de um caminho (o mais curto
possível) e entregue a um membro do grupo.
Multicast O endereço de destino é um conjunto de computadores, possivelmente em diversos locais. Uma cópia do datagrama será entregue a cada membro do grupo.
6.- Formato geral de um
datagrama IPv6
O IPv6 muda completamente o formato do datagrama, que tem um cabeçalho básico de tamanho fixo seguido de zero, ou mais cabeçalhos de extensão seguidos dos dados.
6.1- Formato do cabeçalho
básico
O cabeçalho básico do IPv6 contém menos informações do que um cabeçalho de datagrama do IPv4. As opções e alguns campos fixos que aparecem em um cabeçalho do IPv4 foram removidos para cabeçalhos de extensão no IPv6.
Version: (4 bits) – indica a versão do IP (=6)
Flow label: (28 bits)
Payload length: (16 bits) – quantidade de bytes do pacote, após o
cabeçalho.
Next header: (8 bits) – identifica o tipo de cabeçalho que vem
após o cabeçalho básico.
Hop limit: (8 bits) – indica o limite de passos da rota. É
setado em um valor diferente de zero e decrementado cada vez que passa por um
nó da rede.
Source
address: (128 bits) – endereço de
origem do pacote.
Destination
address: (128 bits) – endereço de
destino do pacote.
O IPv6 trata as especificações de comprimento do datagrama de um modo novo. Visto que o tamanho do cabeçalho básico é fixado em 40 bytes, não existe um campo para o comprimento do cabeçalho.
O
campo de comprimento do datagrama do IPv4 foi substituído por um campo comprimento
de carga de 16 bits que especifica o número de bytes transportados em
um datagrama, excluindo o próprio cabeçalho. Assim, um datagrama do IPv6 pode
conter 64 kbytes de dados.
Um
novo mecanismo no IPv6 aceita a reserva de recursos e permite que um roteador
associe cada datagrama a uma dada alocação de recursos. A abstração
considerada, um fluxo, consiste em um caminho através de uma interligação em
redes, ao longo do qual os roteadores intermediários garantem uma qualidade
específica de serviço. Por exemplo, dois aplicativos que precisem enviar dados
de vídeo podem estabelecer um fluxo no qual o retardo da transmissão e a
largura de banda sejam garantidos. Reciprocamente, um provedor de rede pode
exigir que um assinante especifique a qualidade de serviços desejada e que, a
seguir, use um fluxo para limitar o tráfego que um computador ou aplicativo
específico envia. É importante observar que os fluxos podem também ser usados
dentro de determinada organização para gerenciar recursos de redes e assegurar
que todos os aplicativos recebam uma cota adequada.
O
campo rótulo de fluxo do cabeçalho básico contém informações que os
roteadores usam para associar um datagrama a um fluxo e prioridade específicos.
O campo está dividido em dois subcampos
4 bits 24
bits
Dentro
do rótulo de fluxo, o campo de 4 bits CLASSE especifica a classe de tráfego
para o datagrama. Valores de 0 a 7 são usados para especificar a sensibilidade
ao tempo do tráfego controlado por fluxo. Valores de 8 a 15 são usados para
especificar uma prioridade para tráfego não controlado por fluxo. O campo
restante, de 24 bits, contém um Identificador de fluxo.
7.- Segurança no IPv6
A Internet tem atualmente alguns problemas de segurança bem como algumas falhas no mecanismo de privacidade e autenticação abaixo da camada de aplicação. O IPv6 resolve essas falhas através de duas opções integradas que fornecem serviços de segurança. Essas opções poderão ser utilizadas individualmente ou em conjunto, fornecendo assim diferentes níveis de segurança para diferentes usuários. Isto é importante pois diferentes usuários têm diferentes necessidades em termos de segurança.
O primeiro mecanismo, chamado cabeçalho de autenticação do IPv6, é um cabeçalho de extensão provendo autenticação e integridade (sem confidencialidade) aos datagramas IPv6.
O
segundo cabeçalho de extensão de segurança previsto pelo IPv6 é o cabeçalho
de encapsulamento de segurança. Este mecanismo garante integridade e
confidencialidade aos datagramas IPv6. É simples e similar a alguns outros
protocolos de segurança, porém flexível e independente de algoritmo. Para
permitir interoperabilidade com a Internet global, é utilizado o DES CBC como
algoritmo padrão deste cabeçalho.
8.- Transição do IPv4
para o IPv6
Como deverá ocorrer a transição do IPv4 para o IPv6? O problema é como converter a Internet para o IPv6 sem bloquear a operação da rede IPv4 existente.
A
transição está sendo planejada em duas fases: No final da primeira fase haverá
hosts e roteadores no IPv4 e no IPv6. Ao final da segunda fase haverá somente
hosts e roteadores IPv6.
O
mecanismo de transição deverá suportar os seguintes pontos:
Os mecanismos de transição para o IPv6 garante a interoperabilidade de hosts e roteadores com o IPv4 em qualquer ligar da rede enquanto houver algum endereço IPv4. Isto garante o alto investimento fieto no IPv4 e assegura que o IPv6 não tornará o IPv4 obsoleto. Hosts que possuem um nível de conectividade limitada poderão nunca ser convertidos para o IPv6.
9.-Conclusão
Existem várias razões que justificam o desenvolvimento de uma nova geração do protocolo da Internet. Resolve o problema de escala (endereçamento), oferece flexibilidade no mecanismo de transição e está sendo projetado de modo a contemplar as necessidades dos novos mercados emergentes.
A
facilidade na transição é uma característica fundamental do IPv6, não por
acaso, e sim porque o mesmo foi planejado para interoperar com o IPv4,
permitindo que a transição seja gradual e com um mínimo de interdependências.
O
IPv6 suporta uma estrutura de endereçamento hierárquica bastante ampla
permitindo que a Internet continue a crescer, além de permitir novas
características de roteamento não existentes no IPv4.
A
estrutura de endereçamento foi planejada de modo a suportar endereços de outros
protocolos. Espaço no endereçamento foi reservado para endereços dos protocolos
IPX e NSAP. Isto foi feito para facilitar a migração destes protocolos para o
IPv6.
O
IPv6 oferece uma plataforma para novas funcionalidades da Internet, incluindo
fluxo em tempo real, seleção de provedor, mobilidade de hosts, segurança ponto
a ponto, auto configuração e auto reconfiguração.
Em
resumo, o IPv6 é a nova versão do IP. Pode ser instalado como um upgrade normal
de software nos equipamentos conectados à Internet. Foi projetado para operar
em redes de alta performance (por exemplo, ATM) e ao mesmo tempo ser eficiente
em redes de baixa velocidade. Além disso, oferece uma plataforma com a
funcionalidade necessária no futuro próximo.
Bibliografia:
Comer,
Douglas E., 1998, “Interligação em redes com TCP/IP”, Editora Campus,
Rio de Janeiro.
Robert M. Hinden – IP Next
Generation Overview
http://playground.sun.com/pub/ipng/html/INET-IPng-Paper.html
Miguel Forjan – Ipng:
Internet Protocol Next Generation
http://www.ee.siue.edu/~mforjan/projects/ee580.html#address
RFC 1752 – The recomendation
for the IP Next Generation Protocol
http://www.ietf.rnp.br/ftp/rfc/rfc1752.txt