WirelessBR |
WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade comercial, feito por voluntários, para divulgação de tecnologia em telecomunicações |
|
IPv6 (Internet Protocol
version 6) |
||
Autor: Wiliam Hiroshi Hisatugu (*) |
Em 1991, membros do IETF (Internet Engineering Task Force)
coletaram dados referentes ao crescimento da internet. O resultado concluía
que até 1994 os endereços de internet iriam se esgotar, uma vez que o espaço
de endereçamento é de 32 bits e as tabelas de roteamento estavam se tornando
grandes demais para serem gerenciadas de maneira satisfatória tornando,
assim, as redes mais lentas.
Com
a adoção de controle de costas de domínio esse prazo vem sendo prorrogado
para adoção de uma solução mais eficiente e eficaz, uma vez que a
capacidade de processamento dos computadores também cresce a altas taxas,
enquanto que a questão das tabelas de roteamento continuava.
As
aplicações para internet começaram a variar e apresentar novas
necessidades, as quais o IPv4 mostrou-se deficiente. Naquele momento a
internet já era acessível a uma parte considerável da população mundial,
novos nichos de mercado foram descobertos como o e-commerce e vídeo conferências.
Atualmente essas necessidades estão se tornaram mais essenciais, assim como
um novo mercado está se abrindo : a transmissão de dados via comunicação móvel
celular a partir da Terceira Geração de Telefonia Móvel Celular.
Em 1993 grupos sugeriram soluções que fosse compatíveis com o IP e que pudesse substituí-lo gradualmente. A proposta escolhida foi o SIPP – Simple Internet Protocol Plus – , porém as demais propostas não foram totalmente descartadas e algumas de suas características foram anexadas à nova tecnologia que passaria a ser denominada IPv6. Atualmente um novo protocolo está sendo estudado, chamado de IP Móvel
As principais características das redes IP são:
·
Baseadas em datagramas;
·
Não oferecem segurança;
·
Não garantem entrega dos datagramas e nem com a ordem em que esses
datagramas serão entregues;
·
Utiliza endereços para identificar origem e destino do datagrama.
O protocolo utilizado nessas redes é o protocolo IP que após os
estudos que resultaram nas especificações do IPv6 passou a ser denominado
IPv4. Que possui o seguinte formato de datagrama:
·
campo VERSION ( 4 bits) contém
a versão do IP que foi usado para criar o datagrama. Desta maneira checa-se a
versão antes de processá-lo, evitando-se que formato de pacotes diferentes
sejam usados.
·
campo IHL ( header
length ) possui quatro bits que indicam o comprimento do datagrama em
palavras de 32 bits. O seu valor mínimo é 5, o que indica um cabeçalho
variando de 20 octetos ( sem o campo OPTIONS que é opcional ) a 60 octetos.
·
TYPE
OF SERVICE ( 8 bits)
indica o tipo de serviço de rede que se deseja. Como pode ser visto na figura
4.2, o campo pode ser quebrado em 5 ( cinco) sub-campos. Os três primeiros
bits correspondem ao sub-campo PRECEDENCE
que diz a prioridade de cada datagrama àquele que enviará os dados. O
valor 1 indica prioridade normal, e 7 a mais alta prioridade que é utilizada
para pacotes de controle de rede. Os bits D, T e R especificam
respectivamente, o que é mais importante no envio do pacote: retardo, taxa de
envio e confiabilidade. Desta maneira pode-se escolher prioridades de tipos de
links diferentes de acordo com o desejado. Os dois últimos bits não são
utilizados. Na prática os roteadores ( equipamentos utilizados para
especificar rotas aos datagramas ) ignoram totalmente todas as opções do
campo TYPE OF SERVICE, pois é
necessário um conhecimento prévio da tecnologia dos links utilizados.
·
campo TOTAL LENGTH indica o
tamanho total do datagrama, incluindo cabeçalho e dados, em octetos. O valor
máximo que lhe é atribuído é de 65.535 bytes. Nas tecnologias de redes
existentes este valor é suficiente, porém, com a utilização de redes de
altíssima velocidade é um fator limitante.Antes de falar sobre os próximos
campos, seria interessante visualizar como os datagrama relacionam-se com os
quadros da sub-rede. Verificou-se anteriormente que o datagrama poderia ter um
tamanho de até 65.535 octetos, porém na prática, existem outros limites
fundamentais. Sabe-se que os datagramas, movem-se de uma máquina para outra,
e que estes devem ser transportados pela camada de sub-rede. Para fazer um
transporte eficiente é preciso que cada datagrama seja transportado em um
quadro distinto desta camada. Este processo denomina-se encapsulamento
representado pela figura 5.3. Ao tamanho máximo do quadro suportado por uma
camada de sub-rede denomina-se MTU ( maximum
transfer unit ).
·
campo IDENTICATION (16
bit's), permite no caso de uma fragmentação, o destino identificar a qual
datagrama pertence o fragmento, utilizando-se deste e do endereço daquele que
o originou.
·
bit DF indica que o Datagrama não deve ser fragmentado. Garantindo que
isto não ocorrerá, mesmo que se tenha um desempenho baixo se o mesmo for forçado
a passar por uma rede lenta.
·
bit MF indica que existem mais fragmentos a seguir. Todos os fragmentos
devem tê-los setados, menos o último.
·
campo FRAGMENT OFFSET indica
a que ponto do Datagrama original o fragmento pertence. Todos os fragmentos
devem ser múltiplos de 8 bytes.
·
campo TIME TO LIVE
representa o tempo de processamento dos pacotes em segundos. Cada roteador ao
processar o datagrama decrementa o tempo gasto para este processamento, se
alcançar zero o datagrama é descartado. Com a dificuldade dos roteadores
saberem detalhes do tempo de transmissão sub-redes, na prática ao passar
pelos mesmos, este campo é decrementado de 1. Garantindo, assim, que um
datagrama não trafegue indefinidamente pela rede caso haja uma rota em loop,
ou seja, um caminho que seja cíclico.
·
campo PROTOCOL especifica
qual protocolo de transporte foi utilizado para criar os dados transportados
pelo datagrama. É utilizado para entregar o dados diretamente ao tipo do
protocolo que o criou.
·
campo HEADER CHECKSUM
garante a integridade do cabeçalho. Este processo é feito considerando o
cabeçalho como uma seqüência de inteiros de 16 bits, onde soma-se eles
utilizando aritmética de complemento de 1 e depois calcula-se o complemento
de 1 do resultado. Se o valor der 0, não houve erro no cabeçalho.
·
Os campos SOURCE IP ADDRESS
e DESTINATION IP ADDRESS (32 bits),
contém respectivamente os endereços do host de origem e do host de destino.
·
campo OPTIONS não é
requerido em todos os datagramas. Foi criado inicialmente para permitir novas
implementações ao projeto original. O comprimento deste campo depende de
quais opções foram selecionadas. Algumas possuem somente 1 octeto, outras
possuem comprimentos variáveis. Quando presentes no datagrama, as opções
aparecem de forma contígua e sem separadores. Cada opção consiste de 1
octeto simples que representa o OPTION
CODE, que pode ser seguido de um outro octeto LENGTH
e um conjunto de octetos de dados.
·
OPTION
CODE é dividido em 3
sub-campos, como pode ser visto na figura 4.4. O primeiro campo, o COPY,
controla como os roteadores devem tratar as opções durante a fragmentação.
Quando tem o seu valor 1 especifica que a opção será copiada em todos os
fragmentos, quando 0, somente no primeiro. O OPTION
CLASS indica as várias classes de opções.
·
Crescimento da população utilizando a Internet – como a IP é o
protocolo que viabiliza a Internet e esta vem crescendo a passos largos, sua
capacidade de endereçamento está chegando ao seu limite
·
Novas aplicações para Internet – o aumento da utilização da
internet trouxe uma série de novas aplicações que necessitavam de novos
serviços que o IPv4 não pode fornecer. Um exemplo é a transmissão de vídeo
em tempo real.
·
Comércio eletrônico – Dentre as aplicações desenvolvidas para a
Internet podemos destacar o comércio eletrônico, mas para tanto é necessário
ter mecanismo de segurança e privacidade.
O IPv6 tem como principal característica o espaço de endereçamento
que é muito maior que o IPv4. Além disso, foram acrescentadas outras
características para suprir as necessidades descritas acima, da mesma forma
que foi lhe dado robustez para atender as novas tendências de mercado.
Conforme será mostrado adiante, uma
nova necessidade surgiu quando o IPv6 já estava definido, fazendo com que um
novo protocolo fosse concebido, o qual também é objeto de estudo deste
trabalho: o IP Móvel. Esta mobilidade não está simplesmente relacionada com
a mobilidade física do
equipamento portador de um endereço IP.
O IPv6 trouxe consigo uma série de vantagens sobre o protocolo IP
original, também chamado por IPv4.
·
Espaço de endereçamento de 128 bits – estima-se que seja suficiente
para os próximos 30 anos;
·
Propõe uma redução na tabela de rotemamento e por conseqüência uma
maior rapidez na rede;
·
Mecanismo para encapsulamento próprio e de outros protocolos;
·
Simplificação do cabeçalho;
·
Distinção de tipo de dado;
·
Segurança de dados, incluindo criptografia de dados
·
Suporte para roteamento multicast de maneira mais eficiente e ainda a
implementação do modelo anycast;
·
Métodos de transição e compatibilidade com o IPv4;
·
Mecanismo de autoconfiguação;
·
Suporte para hosts móveis, incluindo comunicação via rádio;
·
Permite que dados multimídia em tempo real trafegem com mais eficiência.
Com um cabeçalho base mais simples e opcionalmente um cabecalho
adicional, algumas informações contidas no cabeçalho do IPv4 se tornaram
opcionais para um melhor rendimento do roteamento. A figura 1 mostra a
estrutura do datagrama IPv6.
Version
– função idêntica a do IPv4
Pryority
– campo que identifica a prioridade do datagrama. Os valores de 0 a 7 dão
destinados a protocolos capazes de diminuir o fluxo de envio caso ocorra o
congestionamento. Para pacotes de aplicações em tempo real que são enviados
a taxa constante, valores de 8 a 15 dizem quais datagramas podem ser
descartados com prioridade maior para valores mais altos
Flow
label – identifica se um
datagrama precisa de um tratamento especial nos roteadores como datagramas de
Aplicações de vídeo em tempo real
Payload
Length – tamanho do
datagrama sem o cabeçalho.
Next
Header – identifica se há
cabeçalho de extensão após o cabeçalho base, se houver identifica que cabeçalho
é. Este campo tem dois propósitos: generalização e eficiência. A
generalização é conseguida com a inclusão de funções adicionais, como
fragmentação, roteamento na origem e autenticação. A eficiência é
conseguida a partir do momento que se não forem preciso estas características
os seus campos não necessitam estar presentes. Como a maioria dos valores são
provenientes do IPv4. Os cabeçalhos de extensão são classificados da
seguinte maneira.
·
Routing
- roteamento estendido (IPv4 possui roteamento livre).
·
Fragmentation
- Fragmentação e Remontagem.
·
Authentication
- Integridade e Autenticação. Segurança.
·
Encapsulation
- Confidencialidade.
·
Hop-by-Hop
Option - Opção especial
que requer processamento de hop
para hop.
·
Destination
Options - Informação
opcional a ser examinada pelo destino.
Hop
Limit – número máximo
de hops para um datagrama. Ele é decrementado a cada hop até chegar ao
destino ou se igualar a zero e então é descartado
Source
Address – endereço
origem do datagrama de tamanho 128
Destination
Address – endereço
destino do datagrama
(*)
O autor, Wiliam Hiroshi Hisatugu é mestrando em Telecomunicações pelo
INATEL (Instituto Nacional de
Telecomunicações); graduou-se pela Universidade Estadual de Londrina em
DEZ/2000 (Bacharel em Ciência da Computação); possui dois anos de experiência
profissional como Analista de Sistemas do Núcleo de Processamento de Dados da
Universidade Estadual de Londrina; suas áreas de interesse são
Comunicação de Dados via ondas de Rádio, IPv6 e Gerência de Redes.