UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria nº 57/2000 – MEC, de 03/05/2000 BACHARELADO EM SISTEMAS DE INFORMAÇÃO O PROTOCOLO IPv6 E SUA TRANSIÇÃO SÉRGIO CARNEIRO DA SILVA Uberlândia - MG 2005
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria nº 57/2000 – MEC, de 03/05/2000 BACHARELADO EM SISTEMAS DE INFORMAÇÃO
O PROTOCOLO IPv6 E SUA TRANSIÇÃO
SÉRGIO CARNEIRO DA SILVA
Uberlândia - MG
2005
SÉRGIO CARNEIRO DA SILVA
O PROTOCOLO IPv6
E SUA TRANSIÇÃO
Trabalho de Final de curso submetido à
UNIMINAS como parte dos requisitos para
a obtenção do grau de Bacharel em
Sistemas de Informação.
Co-orientadora: Profª. Dra. Kátia Lopes
Silva
Orientador: Prof. Esp. Flamaryon Guerin
Gomes Borges
Uberlândia - MG
2005
SÉRGIO CARNEIRO DA SILVA
O PROTOCOLO IPv6
E SUA TRANSIÇÃO
Trabalho de Final de curso submetido à
UNIMINAS como parte dos requisitos para
a obtenção do grau de Bacharel em
Sistemas de Informação.
Co-orientadora: Profª. Dra. Kátia Lopes
Silva
Orientador: Prof. Esp. Flamaryon Guerin
Gomes Borges
Banca Examinadora:
Uberlândia, 02 de Julho de 2005.
Prof. Esp. Flamaryon Guerin Gomes Borges (Orientador)
Profª. Dra. Kátia Lopes Silva (Co-orientadora)
Prof. Esp. Alexandre Campos
Uberlândia - MG
2005
AGRADECIMENTOS
Agradeço à minha esposa Maria Elza e às minhas filhas Thaís e Júlia que
ao longo destes 4 anos, abriram mão de uma grande parcela de nosso convívio familiar
para que na faculdade eu pudesse me preparar para enfrentar uma nova realidade
profissional vivida por mim.
A todos os professores da Faculdade de Ciências Aplicadas de Minas -
UNIMINAS, por compartilharem seus vastos conhecimentos e em especial à Profª. Dra.
Kátia Lopes Silva e ao Prof. Esp. Flamaryon Guerin Gomes Borges, por aceitarem,
acreditarem e orientarem este trabalho, e aos colegas de curso pela amizade e
companheirismo.
RESUMO
O Internet Protocol Version 6 (IPv6), além de solucionar o problemas de
endereçamento IP, suporta novas funcionalidades, tais como: mobilidade, mecanismos
de segurança, suporte a aplicações multimídia em tempo real. Este trabalho divulga os
aspectos básicos do IPv6, diferenciando-o do Internet Protocol Version 4 (IPv4) e
destacando-se pelas características que são próprias desta versão; faz-se ainda uma
discussão sobre hierarquia, arquitetura e modos de endereçamento e questões referentes
a roteamento; a formatação do novo protocolo, descrevendo o formato do datagrama e
o cabeçalho. É enfocado o problema de interação das redes atuais baseadas em IPv4
com novas redes baseadas em IPv6, inclusive as técnicas que são utilizadas de acordo
com os possíveis cenários em que se dará essa interação. Este trabalho mostra ainda, a
importância do estudo da estrutura do IPv6 no país, considerando que existem várias
instituições realizam projetos que utilizam protocolo IPv6, porém, como este ainda não
está efetivamente em uso, normalmente são aplicados em ambientes de testes de
instituições que desejam estudar sobre o protocolo. A maioria dos testes é realizada no
meio acadêmica, por instituições de ensino. O trabalho faz uma pesquisa do atual estado
de implementação do protocolo IPv6 no Brasil e nos Pontos de Presença (PoP)
distribuídos pelo país.
ABSTRACT
The Internet Protocol Version 6 (IPv6), besides solving the problem of IP
addressing, also supports new functionalities, such as: mobility, security mechanisms
and real time multimedia applications support. This paper presents the basic aspects of
IPv6, pointing its differences compared to Internet Protocol Version 4 (IPv4) and
emphasizing the new characteristics of that version. Hierarchy, architecture, addressing
modes, routing matters and the new protocol formatting are discussed. It’s also given a
description of the header and the datagram format. A special focus is directed to the
problem of interaction among IPv6 and IPv4 networks, including the techniques
regarding the possible environments in which this interaction will take place. Its also
shown the importance of studying the structure of the IPv6 in our country, considering
that many Brazilian institutions develop projects using the IPv6 protocol, although,
considering the fact that this technology is not effectively in use, these projects are
usually implemented in test environments of research institutions which are studying the
protocol. Most of the tests take place in the academic field, supported by educational
institutions. This material is based on a research of recent IPv6 protocol implementation
status in Brazil and in the Points of Presence (PoP) distributed all over the country.
LISTA DE FIGURAS
Figura 1: Classes de endereços IP (COMER, 2001)........................................... ........... 15
Figura 2: Cabeçalho do protocolo IPv4 (SILVA, 2004)................................................. 19
Figura 3: Serviço Anycast (JUNIOR, 2000)................................................................... 23
Figura 4: Serviço Unicast (JUNIOR, 2000)................................................................... 23
Figura 5: Serviço Multicast (JUNIOR, 2000)................................................................. 23
Figura 6: Cabeçalho do protocolo IPv6 (SILVA, 2004)................................................. 27
Figura 7: Cabeçalhos de extensão (GUARDIA, 2004)................................................... 28
Figura 8: Cabeçalhos de extensão (TAROUCO, 2003).................................................. 29
Figura 9: Mecanismo de transição Pilha Dupla (SANTOS, E. 2004)............................. 33
Figura 10: Mecanismo de transição Pilha Dupla (JAMHUOR, 2004)........................... 33
Figura 11: Mecanismo de transição Tunelamento (SANTOS, 2004)............................. 34
Figura 12: Mecanismo de transição Tunnel Broker (SANTOS, 2004)........................... 35
Figura 13: Mecanismo de transição ISATAP (WILLIAMS; OKAJIMA, 2002)........... 36
Figura 14: Mecanismo de transição TEREDO (DOYLE, 2003).................................... 36
Figura 15: Mecanismo de transição DSTM (SANTOS, 2004)....................................... 37
Figura 16: Mecanismo de transição NAT-PT (SANTOS, 2004).................................... 39
Figura 17: Mecanismo de transição BIS (SANTOS, E., 2004)...................................... 40
Figura 18: Mecanismo de transição BIA (SANTOS, 2004)........................................... 42
Figura 19: Especificação formal para o DNS-ALG (COSTA; FIALHO, 2003)............ 43
Figura 20: Mecanismo de transição TRT (SANTOS, 2004).......................................... 45
Figura 21: Mapa da Rede Clara (RNP, 2005)................................................................ 48
Figura 22: Mapa do backbone RNP2 (RNP, 2005)........................................................ 49
LISTA DE TABELAS
Tabela 1: Tabela binária de identificação das sub-redes da rede 192.168.0.0 (CAPELA,
O protocolo IP (Internet Protocol) é o responsável pela conexão entre os
computadores de uma rede. Basicamente este protocolo se relaciona com a camada de
rede (camada 3) do modelo ISO/OSI. É nesta camada de protocolo que a informação é
fragmentada no sistema de origem e reagrupada no sistema de destino.
Desde que a primeira versão do protocolo IP foi desenvolvida, o poder de
processamento das máquinas cresceu muito e o número de máquinas conectadas à rede
cresceu de algumas centenas a milhões. A versão 4 do IP foi a que conseguiu acomodar
todas as mudanças da Internet e vem se tornando cada vez mais um padrão para redes de
computadores, embora não tenha sido originalmente projetada para dar suporte a uma
rede de escala universal ou que permitisse aplicações multimídia.
Os datagramas IP são as unidades fundamentais de comunicação na
Internet. Ele também define um conjunto de endereços que permite a aplicativos e
protocolos de camadas mais altas se comunicarem através de redes heterogêneas sem
conhecer as diferenças entre seus endereços de camadas inferiores.
Essa versão conviveu com várias mudanças de tecnologias de hardware.
Embora tenha sido definido antes mesmo da popularização das redes locais, seu projeto
original funciona bem através das gerações de tecnologias de hardware.
Com a explosão da Internet, vê-se claramente a necessidade de se criar
alternativas para a solução de problemas que começaram a acontecer. A falta de
endereçamento IP para alguns continentes, a necessidade urgente de atendimentos a
serviços em tempo real e aspectos ligados à segurança, fizeram com que os órgãos
internacionais ligados ao assunto e responsáveis pela elaboração das especificações do
protocolo IPv4 tivessem suas atenções voltadas para um novo estudo.
Em 1993, o IESG (Internet Engineering Steering Group) criou um grupo
de trabalho para uma nova versão do protocolo IP, o IPngWG (IP Next Generation
Working Group), com base em alguns objetivos que deveriam ser alcançados. O grupo
de trabalho, então, selecionou três protocolos para a camada de rede da arquitetura
TCP/IP. O protocolo indicado pelo grupo foi o SIPP (Simple Internet Protocol Plus),
por ser o mais próximo do IPv4, e por ter um plano de transição melhor.
14
Posteriormente, uma combinação de aspectos positivos dos três
protocolos foi proposta e gerou-se a recomendação para a versão 6 do IP em novembro
de 1994.
A base do IPv6 é o IPv4, isto é, foi criado sobre uma plataforma
comprovadamente eficaz, o que é importante tanto para a transição entre a versão 4 e a
6, quanto para a excelência do IPv6. Porém a transição para o IPv6 não ocorrerá
rapidamente. Inclusive essa é uma estratégia da nova versão do protocolo, onde se
espera uma coexistência das duas versões por alguns anos.
As motivações para este trabalho apareceram, pois o IPv6 passa a ser de
grande importância para empresas, organizações e instituições que trabalham com
serviços de Internet.
Será abordada neste trabalho, uma visão geral do protocolo IPv6,
apresentando as suas principais características, benefícios, funcionalidades, diferenças
entre o IPv4, a estrutura do cabeçalho, endereçamento, aspectos ligados à segurança, a
implementação do IPv6 no Brasil e nos PoP’s e a transição entre o IPv4 e o IPv6.
Este trabalho está estruturado da seguinte forma:
- O capítulo 2 descreve as principais características do IPv4;
- O capítulo 3 aborda as características e a arquitetura do protocolo IPv6;
- O capítulo 4 apresenta a transição das redes IPv4 para as redes IPv6;
- O capítulo 5 enfoca a implementação do protocolo IPv6 no Brasil e seu nível de
implementação;
- Por fim, o capítulo 6 faz as considerações finais sobre o tema.
15
2. CARACTERÍSTICAS DO PROTOCOLO IPv4
O protocolo IPv4, o qual é responsável pela transmissão de dados e comunicação de máquinas em um ambiente de rede, sendo utilizado amplamente na Internet apresenta as seguintes características: - Espaço de endereçamento (32 bits);
- Tipos de endereçamento;
- Formato de cabeçalho;
- Fragmentação e remontagem;
2.1 Espaço de endereçamento
O espaço de endereçamento é composto por um campo de 32 bits,
numerados de 0 a 31, onde estão contidas duas importantes informações: identificação
do host (hostid) e identificação da rede à qual o host está conectado (netid), garantido
assim um endereço único para cada computador.
2.1.1 Classes de endereços
A figura 1 apresenta a estrutura das classes de endereços:
Figura 1: As cinco classes de endereços IP. O prefixo indica uma rede,
enquanto o sufixo é único para um host naquela rede (COMER, 2001).
16
As classes A, B e C chamadas primárias, são usadas para endereços de
host, a classe D é usada para multicast e a classe E está reservada (uso experimental),
conforme mostrado na figura 1.
As classes primárias usam os limites dos octetos para dividir o endereço
de rede e o endereço de host.
A classe A pode conter até 128 endereços de redes e 16.777.216
endereços de hosts. Ela é usada por organizações que possuem redes com número muito
grande de hosts. A classe B pode conter até 16.384 endereços de redes e 65.536
endereços de hosts. É usada por organizações de tamanho médio, com número
relativamente grande de hosts. A classe C pode conter até 2.097.152 endereços de redes
e 256 endereços de hosts. Para organizações pequenas, com número pequeno de hosts.
Para assegurar que a parte de rede de um endereço na Intenet seja única,
todos os endereços desse tipo são estipulados por uma organização central, a IANA
(Internet Assigned Number Authority), representada no Brasil pela FAPESP (Fundação
de Amparo à Pesquisa do Estado de São Paulo).
2.1.2 Sub-redes
Sub-redes de tamanhos diferentes podem existir em uma identificação de
rede baseada em classes. Esta forma de subdivisão é adequada onde o ambiente de rede
das organizações contêm diferentes números de hosts por rede. Portanto, sub-redes com
tamanhos diferentes são necessários para minimizar o desperdício de endereços IPs.
Quando subdividimos a rede, os bits da identificação de rede são fixos e um número de
bits de host é escolhido para ser sub-redes.
2.1.2.1 Procedimentos básicos para criação de sub-redes
A seguir os procedimentos básicos para a criação de sub-redes:
1) Determinar o número de bits de host a serem usados na sub-rede - O número de bits
de host usado para sub-redes determinará o número de sub-redes possíveis e o número
de hosts por sub-rede. Antes de escolher o número de bits de host, deve-se avaliar o
17
número de sub-redes e de hosts que serão necessários. Quanto mais bits de host são
usados para sub-redes, mais sub-redes são possíveis, porém, com poucos hosts por sub-
rede.
2) Listar as novas identificações de sub-rede - Para criar uma sub-rede utilizando 3 bits
de hosts da identificação de rede privada 192.168.0.0, a máscara de sub-rede para a
nova identificação de sub-rede deve ser 255.255.224.0 ou /19. Com foram utilizados 3
bits de host, a tabela conterá 8 linhas (23).
A tabela 1 descreve a representação binária e as sub-redes da rede
192.168.0.0:
Tabela 1: Tabela binária de identificação das sub-redes da rede 192.168.0.0
3) Listar os endereços IPs para cada nova identificação de sub-rede - Para cada
representação binária, o primeiro endereço IP é o endereço no qual todos os bits de host
possuem o valor 0, exceto pelo último bit. O último endereço IP é o endereço na qual
todos os bits de host possuem o valor 1, exceto o último bit de host, cujo é 0.
A tabela 2 descreve a representação binária e as faixas de endereços IPs
das sub-redes da rede 192.168.0.0:
18
Tabela 2: Tabela binária dos endereços (CAPELA, 2003).
Sub-rede Representação binária Faixa de endereços IPs
192.168.0.0/19
11000000.10101000.00000000.00000001
11000000.10101000.00011111.11111110
192.168.0.1 a
192.168.31.254
192.168.32.0/19
11000000.10101000.00100000.0000001
11000000.10101000.00111111.11111110
192.168.32.1 a
192.168.63.254
192.168.64.0/19
11000000.10101000.01000000.00000001
11000000.10101000.01011111.11111110
192.168.64.1 a
192.168.95.254
192.168.96.0/19
11000000.10101000.01100000.00000001
11000000.10101000.01111111.1111110
192.168.96.1 a
192.168.127.254
192.168.128.0/19
11000000.10101000.10000000.00000001
11000000.10101000.10011111.11111110
192.168.128.1 a
192.168.159.254
192.168.160.0/19
11000000.10101000.10100000.00000001
11000000.10101000.10111111.11111110
192.168.160.1 a
192.168.191.254
192.168.192.0/19
11000000.10101000.11000000.00000001
11000000.10101000.11011111.11111110
192.168.192.1 a
192.168.223.254
192.168.224.0/19
11000000.10101000.11100000.00000001
11000000.10101000.11111111.11111110
192.168.224.1 a
192.168.255.254
2.2 Tipos de endereços
Existem três tipos fundamentais de endereços IPv4: unicast, broadcast e
multicast. Um endereço unicast é usado para transmitir um pacote para um único
destino. Um endereço broadcast, por sua vez, especifica todos os hosts que podem estar
presentes dentro de uma determinada faixa de endereçamento IP. Considerando as
práticas atuais de segurança, elementos de rede nível 3, como roteadores e alguns
modelos de switch, possuem o recurso de não propagar solicitações destinadas ao
endereço de broadcast, pois podem ser multiplicadores de pacotes maliciosos. Já o
endereço multicast é feito para permitir a entrega de datagramas para um grupo de hosts
que foram configurados como membros de um grupo multicast e, possivelmente,
encontram-se em sub-redes geograficamente dispersas.
19
Multicast não é orientado a conexão. Um datagrama multicast é entregue
aos membros do grupo destino com o mesmo "best effort" (melhor esforço) que
datagramas IP unicast empregam. Isso significa que não existe garantia que um
datagrama multicast será entregue a todos os membros do grupo, ou chegará na mesma
ordem relativa a outros datagramas.
A única diferença entre um pacote IP unicast e um pacote IP multicast é
a presença de um endereço de grupo no campo de endereço de destino no cabeçalho IP.
Ao invés de um endereço classe A, B ou C, multicasting emprega um endereçamento
classe D, com formato (224.0.0.0 - 239.255.255.255).
2.3 Formato do cabeçalho
A figura 2 mostra o formato do cabeçalho do protocolo IPv4. Cada
campo do cabeçalho é descrito abaixo:
Figura 2: Cabeçalho do protocolo IPv4 (SILVA, 2004).
- Versão (Version): 4 bits. A versão do protocolo IP (a versão atual é a 4);
- CCI - Comprimento do Cabeçalho Internet (IHL - Internet Header Length): 4 bits.
Informa o comprimento do cabeçalho Internet em palavras de 32 bits (4 octetos ou 4
bytes). O tamanho mínimo do cabeçalho é de 5 palavras de 32 bits (20 octetos);
20
- Tipo de Serviço (ToS - Type of Service): 8 bits. É utilizado para indicar o QoS
(Quality of Service - Qualidade de Serviço) desejado. Seus bits caracterizam os serviços
escolhidos para serem considerados pelos gateways para processar o pacote, como por
exemplo, a precedência de um pacote;
- Comprimento Total (Total Length): 16 bits. Informa o comprimento do datagrama, em
octetos (bytes). O tamanho máximo do datagrama pode ser 65.535 octetos (64 Kb);
- Identificação (Identification): 16 bits. Número de identificação do datagrama para
permitir que o destino remonte os datagramas;
- Sinalizadores (Flags): 3 bits. Bits que identificam a transmissão de sinais de controle.
A tabela 3 mostra o significado dos bits deste campo:
Tabela 3: Significado dos bits do campo Flags (SMETANA, 2003). Bit Descrição Valores
0 Reservado Obrigatoriamente 0.
1 DF (Don’t Fragment –
Não Fragmente)
0: Esse datagrama pode ser fragmentado.
1: Esse datagrama não pode ser fragmentado.
2 MF (More Fragments –
Mais Fragmentos)
0: Esse datagrama é o último fragmento.
1: Há mais fragmentos.
- Deslocamento do Fragmento (Fragment Offset): 13 bits. Esse campo indica a posição
desse fragmento em relação ao do datagrama original;
- Tempo de Vida (TTL - Time to Live): 8 bits. Indica o tempo máximo que o datagrama
pode permanecer na rede. Se o valor nesse campo for 0, o datagrama deve ser destruído;
O objetivo desse campo é não permitir que datagramas cujo destino seja inalcançável
fiquem eternamente circulando pela rede. Cada unidade processadora de datagramas
(roteadores, switches) deve diminuir o TTL de uma unidade.
- Protocolo (Protocol): 8 bits. Indica o protocolo da camada superior que está utilizando
os serviços da camada IP;
- Verificação da Soma do Cabeçalho (Header Checksum): 16 bits. Esse checksum é
calculado somente sobre o cabeçalho IP. O CRC (Cyclic Redundancy Check) é
recalculado a cada hop;
- Endereço de Origem (Source Address): 32 bits. Informa o endereço de origem.
21
- Endereço de Destino (Destination Address): 32 bits. Informa o endereço de destino.
Essa informação é utilizada pelos roteadores para o encaminhamento (roteamento) do
datagrama;
- Opções (Options): Tamanho variável, entre 0 e 320 bits (40 octetos). O que é opcional
é a transmissão ou não desse campo, não a implementação;
- Enchimento (Padding): Tamanho variável, entre 0 e 31 bits. O campo Padding serve
apenas para que o cabeçalho IP tenha um tamanho múltiplo de 32 bits.
2.4 Fragmentação e remontagem
Cada rede tem uma quantidade máxima de dados que um quadro pode
transportar, conhecida como Unidade Máxima de Transporte (Maximum Transmission
Unit - MTU). Quando um datagrama enviado for maior que o MTU da rede, o roteador
divide em pedaços menores chamados fragmentos e os envia separadamente. O campo
FRAGMENTT OFFSET no cabeçalho do fragmento indica em qual lugar, no datagrama
original, ele pertence. O host de destino coleta os fragmentos e os remonta para
reproduzir o datagrama original.
O host de destino tem um tempo máximo para armazenar os fragmentos,
quando o primeiro fragmento chega inicia um temporizador. Se todos os fragmentos
chegarem ao destino, o receptor cancela o temporizador e remonta o datagrama, mas se
ele expirar antes de todos os fragmentos chegarem, o receptor descarta aqueles
fragmentos que chegam.
22
3. CARACTERÍSTICAS E ARQUITETURA DO PROTOCOLO IPv6
O protocolo IPv6 foi criado não só para resolver problemas da
quantidade de endereços, mas também para oferecer novos serviços e benefícios que
não existiam no IPv4 ou que não eram utilizados de forma otimizada. Dentre muitos
benefícios, podemos destacar os seguintes:
- Espaço de endereçamento (128 bits);
- Formato de cabeçalho simplificado;
- Arquitetura hierárquica de rede para um roteamento eficiente;
- Suporte aos atuais protocolos de roteamento;
- Serviços de autoconfiguração;
- Implementação de IPSec (IP Security Protocol) de forma nativa;
- Crescimento do número de endereços multicast;
- Implantações para qualidade de serviço;
- Suporte a serviços de tempo real.
3.1 Espaço de endereçamento
A disponibilidade de um número quase ilimitado de endereços IP é um
dos maiores benefícios da implementação de redes IPv6. O IPv6 aumenta o número de
bits do endereço por um fator 4, desta forma passa a ter 128 bits, possibilitando no
futuro que outros dispositivos também possuam endereços IP. Assim, esses 128 bits
fornecem aproximadamente 3,4 x 1.038 possíveis endereços, o que seria suficiente para
alocar nos dias de hoje cerca de 1.030 endereços por pessoas existentes na terra.
3.1.1 Tipos de endereços IPv6
Existem três tipos de endereços IPv6: anycast, unicast e multicast,
conforme mostram as figuras 3, 4 e 5.
- Anycast – Utilizado para identificar um grupo de interfaces pertencentes a nós
diferentes. Um pacote destinado a um endereço anycast é enviado para uma das
23
interfaces identificadas pelo endereço. Especificamente, o pacote é enviado para a
interface mais próxima de acordo com o protocolo de roteamento.
Figura 3: Serviço Anycast (JUNIOR, 2000).
- Unicast – Identifica apenas uma interface. Um pacote destinado a um endereço unicast
é enviado diretamente para a interface associada a esse endereço.
Figura 4: Serviço Unicast (JUNIOR, 2000).
- Multicast – identifica um grupo de interfaces, mas um pacote destinado a um endereço
multicast é enviado para todas as interfaces do grupo.
Figura 5: Serviço Multicast (JUNIOR, 2000).
24
3.2 Formato de cabeçalho
Esse crescimento do número de bits do endereço IP resulta no
crescimento do seu cabeçalho, porém o cabeçalho IPv6 é mais simplificado
comparando-o ao do IPv4.
O cabeçalho IPv6 possui um tamanho fixo de 40 octetos, graças ao aumento do tamanho
dos endereços de origem e destino. No entanto, possui menos campos. Um dos campos
retirados foi o de controle de erro, já que este controle é feito na camada de enlace e na
camada de transporte, sendo considerado desnecessário neste nível. Estas remoções
resultam num processamento mais rápido do cabeçalho, o que aumenta a eficiência de
roteamento e a performance geral dos roteadores.
3.3 Arquitetura hierárquica
A disponibilidade de um espaço de endereços e prefixos de rede muito
grande fornece uma flexibilidade na arquitetura de redes que permite uma organização
hierárquica e possivelmente geográfica, onde um prefixo de rede pode ser usado para
endereçar um país ou um continente inteiro subdividido em seus diversos níveis.
Essa alocação permite que grandes provedores agreguem a seu prefixo de
rede todos os endereços de seus usuários e anunciem para outros provedores apenas
uma rota. Da mesma forma, o uso de múltiplos níveis hierárquicos dentro de um mesmo
prefixo permite uma grande flexibilidade e novas funcionalidades, tal como a utilização
do escopo dos endereços. A hierarquização da estrutura do endereçamento IPv6 é
destinada a reduzir o tamanho das tabelas de roteamento.
3.4 Suporte aos atuais protocolos de roteamento
Para habilitar um roteamento escalado, o IPv6 suporta a existência de
protocolos de roteamento internos e externos. O protocolo RIP recebeu uma nova
versão, chamado RIPng (Routing Information Protocol next generation). O OSPF
(Open Shortest Path First) também ganhou uma nova versão, o OSPFv3 (Open Shortest
Path First version 3). Este novo protocolo possui algumas mudanças em relação à
25
versão utilizada para IPv4, que era extremamente dependente de tais endereços. O
OSPFv3 inclui uma plataforma independente de implementação e um protocolo para
processamento por enlace ao invés de processamento por nó. Ainda existem mudanças
na autenticação e no formato do pacote.
O protocolo BGP (Border Gateway Protocol) funciona em IPv6 da
mesma forma e oferece os mesmos benefícios que o BGP IPv4, incluindo ainda suporte
para endereços de família IPv6 e atributos do próximo hop (próximo nó por onde o
pacote passará). Esses atributos usam endereços IPv6 e endereços de escopo.
3.5 Serviços de autoconfiguração
A característica de autoconfiguração de endereços existe no protocolo
IPv6 para melhorar o gerenciamento de tais endereços e ainda facilitar a migração dos
inúmeros equipamentos constituintes das redes do protocolo IPv4 para o protocolo
IPv6. Essa característica habilita o desenvolvimento da Internet plug-and-play de novos
dispositivos, tal como telefones celulares, dispositivos wireless, aparelhos domésticos e
outros. Desta forma, os dispositivos conectados a rede não necessitariam de
configuração manual ou de servidores de endereços.
3.6 Implementação de IPSec de forma nativa
Enquanto o uso de IPSec (IP Security Protocol) é opcional em IPv4, no
IPv6 ele torna-se obrigatório. Portanto, este serviço pode ser habilitado em todos os nós
IPv6, o que potencialmente torna as redes mais seguras. A implementação de
encriptação, autenticação e VPNs (Virtual Private Networks) é feita de forma mais
fácil, oferecendo endereços globalmente únicos e seguros. O protocolo IPv6 pode ainda
fornecer serviços de segurança fim-a-fim, tal como controle de acesso,
confidencialidade, integridade de dados sem necessidade de firewalls adicionais, que
podem provocar problemas de performance.
O IPSec provê o seguinte conjunto de serviços de segurança aos pacotes:
- Integridade sem conexão: garante que o conteúdo de um pacote recebido não foi
alterado durante o seu trajeto entre a origem e o destino;
26
- Autenticação da origem dos dados: garante a autenticidade do emissor, evitando o
processamento de pacotes enviados por terceiros com identidade de origem falsificada;
- Confidencialidade: compreende a cifragem da porção de dados de um pacote,
impedindo que o seu conteúdo seja lido a partir da sua captura durante o processo de
transmissão;
- Proteção contra replays: serviço opcional que previne o reenvio de pacotes e,
conseqüentemente, impossibilita a prática de determinados ataques que se valem deste
procedimento;
- Controle de acesso: o uso de determinados parâmetros de segurança para o
estabelecimento de uma comunicação sob a proteção do IPSec está sujeito µa
concordância com as regras que compõem as políticas de segurança de ambos os
extremos.
3.7 Crescimento do número de endereços multicast
Uma característica muito importante do IPv6 é que ele não executa
processos de broadcast. As funções em IPv4 que utilizavam processos broadcast, tais
como descoberta de roteadores, descoberta de vizinhos, entre outros, em IPv6 são
tratadas através de multicast.
O multicast permite que pacotes IP sejam enviados para múltiplos
destinos ao mesmo tempo, sem afetar a performance da rede. O processo multicast
melhora a eficiência de uma rede pela limitação de requisição broadcast para um menor
número de nós, apenas aqueles interessados. O IPv6 utiliza grupos de endereços
multicast específicos para várias funções, que em IPv4 eram feitas através de broadcast,
evitando problemas causados por ele.
3.8 Implementações para qualidade de serviço
O serviço QoS (Quality of Service) é tratado em IPv6 da mesma maneira
que é tratado em IPv4, possuindo suporte por classe de serviço através do campo de
tráfego e do modelo DiffServ (Differentiated Services). Entretanto, o cabeçalho IPv6
tem um novo campo chamado flow label, que pode conter um rótulo identificando um
27
fluxo específico de dados. Desta forma, o nó fonte gera uma rota de fluxo com rótulo,
disponibilizando QoS nesse caminho, onde cada roteador do caminho toma ações
baseadas por esse rótulo
3.9 Suporte a serviços de tempo real
No cabeçalho, os campos "Traffic Class" e "Flow Label" foram criados
especialmente para facilitar o desenvolvimento de protocolos para controle de tráfego
em tempo real, de forma a permitir a implementação de aplicações multimídia e com a
integração de serviços de dados, voz e vídeo em tempo real.
3.10 Cabeçalho IPv6
O cabeçalho de identificação do IPv6 sofreu mudanças, ficou mais
simples, já que eliminou campos desnecessários e que não estavam sendo aproveitados
no IPv4. Com esta redução de campos, houve uma diminuição no processamento dos
pacotes pelos hosts. Portanto, dos 14 campos que existem na versão anterior, passou-se
a ter oito campos na nova versão do IP. Apresenta 32 bits na horizontal e 40 bytes na
vertical.
A figura 6 ilustra o cabeçalho do protocolo IPv6:
Figura 6: Cabeçalho do protocolo IPv6 (SILVA, 2004).
28
- Versão (Version): 4 bits. Indica a versão do protocolo, neste caso seu valor é igual a 6;
- Classe de Tráfego (Class): 8 bits. Determina a prioridade do datagrama em relação a
outros datagramas da mesma origem. Opera juntamente com o campo Flow Label;
- Etiqueta de Fluxo (Flow Label): 20 bits. Utilizado para determinar se os datagramas
necessitam de algum tratamento especial no seu trajeto como, por exemplo, identificar o
tipo de fluxo de dados. Se o fluxo for um fluxo orientado a conexão é necessária uma
maior atenção por parte dos equipamentos roteadores, para a manutenção do circuito
virtual;
- Comprimento de Carga (Payload Length): 16 bits. Determina o número em bytes que
se seguem ao cabeçalho, que possui um tamanho fixo de 40 bytes. Os links do IPv6
suportam pacotes com até 576 bytes, mas como este suporta técnicas de fragmentação, é
possível enviar pacotes com até 65535 bytes. Se há a necessidade de enviar pacotes
maiores, utiliza-se a opção Jumbo Payload, localizada no cabeçalho de extensão Hop-
by-Hop e o tamanho do pacote será 0 (zero);
- Próximo Cabeçalho (Next Header): 8 bits. Indica o próximo cabeçalho que se segue
após o cabeçalho principal do IPv6 ou um cabeçalho de nível superior (TCP, UDP -
User Datagram Protocol). Indica qual dos seis cabeçalhos de extensão segue-o. Os
Cabeçalhos de Extensão são opcionais e inseridos apenas entre o cabeçalho base IPv6 e
a carga útil de dados (payload), se necessário, conforme figuras 7 e 8:
Figura 7: Cabeçalhos de extensão (GUARDIA, 2004).
- Hop-by-Hop options - informações gerais para os roteadores. Deve vir logo
após o cabeçalho base IPv6, já que ele é o único cabeçalho a ser examinado por
cada nó intermediário;
- Routing - rota completa ou parcial a ser seguida; - Fragmentation - gerenciamento de fragmentos de datagrama;
- Authentication - verificação da identidade do remetente e autenticação de datagrama IP (Algoritmo MD5 - Message Digest number 5);
29
- Encrypted security payload - informação sobre a criptografia, integridade e confidencialidade de datagramas IP (Algoritmo DES - Data Encryption Standard); - Destination options - informação adicional sobre o destinatário.
Figura 8: Cabeçalhos de extensão (TAROUCO, 2003).
- Limite de Saltos (Hop Limits): 8 bits. É utilizado para determinar o número máximo de
equipamentos roteadores pelos quais o datagrama pode trafegar. A cada nó que passa o
pacote, este campo é decrementado de um. Quando o valor for nulo, este pacote é
descartado;
- Endereço de Origem (Source Address): 128 bits. É o endereço do host de origem do
datagrama;
- Endereço de Destino (Destination Address): 128 bits. É o endereço do host de destino.
Caso exista o cabeçalho de roteamento, este campo indica o endereço do próximo
destino, e não do destino final. Este valor pode ser alterado durante o percurso.
A tabela 4 faz um comparativo entre os protocolos IPv6 e IPv4:
Unicast, Multicast e Broadcast. Classes A, B, C. D (Multicast) e E (Reservado).
Tamanho - 128 bits. Unicast, Multicast e Anycast.
Cabeçalho Existência de checksum. Um campo de opção.
Inexistência de checksum. Vários campos de extensão com tamanho variável.
Fragmentação Pode realizar fragmentação em qualquer ponto.
Fragmentação apenas na máquina de origem.
Roteamento Exercido por um protocolo da camada superior. Tabela de roteamento grande.
Feito através de um cabeçalho de extensão. Tabela de roteamento simplificada.
Protocolos de roteamento
BGP. OSPF, RIP. BGP4+, OSPFv3, RIPng
Segurança IPSec Disponível. IPSec Obrigatório. ICMP Controle de erros. Controle de membros e controle de erros. IPSec Oferece serviços de autenticação de usuários e garantia
de confidencialidade e de integridade através de criptografia.
Checksum Detectar erros que afetam ao cabeçalho IP.
Tamanho do datagrama
65.525 bytes. 4.294.967.296 bytes.
Quantidade de campos
14 campos. 8 campos.
Quantidade de endereços
232
4.294.967.296 2128
340.282.366.920.938.463.463.374.607.431.768.211.456 Representação do endereço
32 bits. 4 conjuntos de 8 bits
128 bits. 8 conjuntos de 16 bits.
Equipamento novo na rede
Atribuição/definição de endereço IP. Configuração manual.
Autoconfigurável. Sem intervenção humana.
Qualidade de serviço
Não garante. Garante através dos campos CLASS e FLOW LABEL.
MTU mínimo 576 bytes 1.280 bytes
Sete campos foram suprimidos:
- Header length (comprimento do cabeçalho) – o cabeçalho IPv6 tem o tamanho
fixo de 40 bytes;
- Identification, flags, fragment offset (identificação, sinalizadores, deslocamento
do fragmento) – no IPv6 o cabeçalho de extensão Fragment é específico para
quando a fragmentação for necessária;
- Header checksum (verificação da soma do cabeçalho) – no IPv6 a detecção de
erros no nível de bit é realizada pela camada de enlace, assim como existe
checksum na camada de transporte UDP e TCP;
31
- Options (opções) - no IPv6 o cabeçalho de extensão Destination options faz este
serviço quando necessário;
- Padding (enchimento) - o cabeçalho IPv6 tem o tamanho fixo de 40 bytes.
Quatro campos foram renomeados e, em alguns casos, ligeiramente modificados:
- Total Length - por Payload Length;
- Protocol type - passou a ser o campo next hader no IPv6;
- Time to live - no IPv6 hop limit;
- Type of service – no IPv6 class.
Um campo foi criado:
- Flow label - determina se os datagramas necessitam de algum tratamento
especial no seu trajeto.
32
4. TRANSIÇÃO
A palavra chave na transição entre as duas versões do protocolo IP é
interoperabilidade. As duas versões devem poder permanecer na rede simultaneamente,
se comunicando e endereçando. A segunda palavra chave é facilidade. Deve ser fácil se
poder fazer um upgrade nos softwares da versão 4 para a 6, tanto para administradores
de rede, técnicos, como para o usuário final (SCALABRIN, 2004).
Os objetivos da transição são (SCALABRIN, 2004):
- Roteadores e máquinas devem ter seus programas de rede trocados sem que todos os
outros no mundo tenham que trocar ao mesmo tempo;
- Pré-requisitos mínimos. O único pré-requisito é que os servidores de DNS (Domain
Name System) devem ter a sua versão trocada antes. Para os roteadores não existem pré-
requisitos;
- Quando as máquinas sofrerem o upgrade devem poder manter seus endereços IPv4,
sem a necessidade de muitos planos de um re-endereçamento;
- Custos baixos;
- Nodos IPv6 devem poder se comunicar com outros nodos IPv6, mesmo que a infra-
estrutura entre eles seja IPv4.
Cada mecanismo de transição pode ser classificado como pertencente a
uma das seguintes categorias:
- Pilha dupla (dual stack);
- Tunelamento (encapsulation ou tunnel);
- Tradução (translation).
Cada categoria descreve a metodologia básica do mecanismo, já que um
mecanismo de transição pode pertencer a mais de uma categoria e, freqüentemente,
trabalhar junto com outros mecanismos, assim como sobrepor ou oferecer funções
diversas.
33
4.1 Pilha dupla
Com esse mecanismo, nodos IPv6 devem ter as duas pilhas TCP/IP
internamente, a pilha da versão 6 e a da versão 4. Através da versão do protocolo, se
decide qual pilha processará o datagrama. Esse mecanismo permite que nodos já
atualizados com IPv6 se comuniquem com nodos IPv4, e realizem roteamento de
pacotes de nodos que usem somente IPv4.
Contudo, ele tem as seguintes desvantagens: cada máquina precisa ter as
duas pilhas rodando separadamente, o que demanda poder de processamento adicional e
memória, assim como tabelas de roteamento para os dois protocolos.
Este mecanismo é apresentado nas figuras 9 e 10:
Figura 9: Mecanismo de transição Pilha dupla (SANTOS, E., 2004).
Figura 10: Mecanismo de transição Pilha dupla (JAMHOUR, 2004).
Roteador Ipv4/Ipv6
Rede IPv4
Rede Ipv6
34
4.2 Túnel
Esse mecanismo consiste em transmitir um datagrama IPv6 como parte
de dados de um datagrama IPv4, a fim de que dois nodos IPv6 possam se comunicar
através de uma rede que só suporte IPv4. A rede IPv4 é vista como um túnel, e o
endereço IPv4 do nodo final deste túnel consta como destino do datagrama. Neste nodo
o pacote IPv6 volta a trafegar normalmente a seu destino. Esse nodo final, portanto,
deve ter a pilha que suporte IPv6. O pacote IPv6, que é transmitido desta forma, é
encapsulado em um pacote IPv4, tunelado até o destino, onde é desencapsulado e o
pacote original IPv6 encaminhado, conforme mostra figura 11.
O tunelamento apresenta a seguinte desvantagem: a carga adicional
colocada no roteador, já que cada ponto de entrada e de saída precisa de tempo e poder
de CPU para encapsular e desencapsular pacotes.
Figura 11: Mecanismo de transição Tunelamento (SANTOS, 2004).
4.2.1 Túnel configurado
Túnel configurado é um tunelamento IPv6 sobre IPv4, onde o endereço
IPv4 final do túnel é determinado pela configuração da máquina responsável pelo
encapsulamento. O nó encapsulado precisa manter informação sobre todos os endereços
finais dos túneis. Este tipo de túnel é ponto-a-ponto e precisa de configuração manual.
Rede IPv6
Rede IPv6
Rede IPv4
Roteador IPv6/IPv4
Roteador Ipv4/Ipv6
Túnel IPv6 sobre IPv4
35
4.2.2 Túnel automático
Pode ser usado somente em comunicações router-to-host e host-to-host,
que são esquemas onde qualquer ponto final do túnel também é o receptor dos pacotes.
Este tipo de túnel usa endereços IPv6 IPv4-compatible nas extremidades do túnel. Em
razão do uso de endereços privados, este túnel funciona somente em tunelamento IPv6
over IPv4, e não o contrário (SANTOS, 2004).
4.2.3 Túnel Broker
A filosofia básica do tunnel broker é permitir a um usuário entrar em
contato com o servidor web, opcionalmente entrar com detalhes de autenticação e
receber de volta um script para estabelecer um túnel IPv6-in-IPv4 até o servidor tunnel
broker.
O provedor de um serviço tunnel broker precisa prover (SANTOS,
2004):
- Servidor de web (disponível sobre IPv4);
- Roteador pilha dupla, capaz de aceitar comandos de setup para criar novos túneis para
clientes finais de túnel.
A operação típica de um serviço tunnel broker é ilustrada na figura 12:
Figura 12: Mecanismo de transição Tunnel Broker (SANTOS, 2004).