Para todos os endereços ipv6, a id da rede é sempre os primeiros ______ bits.

Download PROTOCOLO DE REDE IPv6...

1

Faculdade de Tecnologia Senac Goias Professora: Marissol Aluno: Diego Sampaio

PROTOCOLO DE REDE IPv6

2

O crescimento acelerado das tecnologias, o número crescente de serviços e o aumento vertiginoso do número de computadores ligados a Internet fez com que o protocolo atual de endereçamento não atendesse de maneira eficiente as necessidades de evolução que a rede necessita. Pensando nisso as pessoas responsáveis pela rede se viram obrigados a trabalhar na busca de alternativas que suprissem todas estas necessidades. Deste trabalho surgiu o IPv6 novo protocolo de endereçamento da Internet. O IPv6 vem trazendo grande expectativa quanto a sua eficiência e funcionalidade. Novos serviços e novas tecnologias tem sido implementadas para teste.

Com a explosão da Internet e com o surgimento constante de mais e mais serviços e aplicações, os atuais endereços IP (IPv4) estão se tornando um recurso escasso. Para solucionar este problema, o IPNGWG (IP Next Generation Working Group) da IETF (Internet Engineering Task Force), publicou uma série de RFCs descrevendo o protocolo IPv6. “Em Junho de 1992, acontecia um dos encontros do IAB (Internet Activities Board) em paralelo ao congresso da Internet Society. Durante o encontro propuseram, e conseguiram convencer o IAB da adoção do CLNP (Connection-Less Network Protocol) da ISO, como sucessor do IPv4”. (NUNES, 2006, internet). Figura 11 – Esquema da Rede Ipv6

3

Na Figura 11 temos um exemplo de uma rede Ipv6 sobre a estrutura física de uma rede IPv4. Com um "draft" discutido e revisado, o IAB estava pronto para convencer a comunidade Internet, quando um precipitado anúncio em jornal causou o maior rebuliço, e com isso os membros da comunidade se sentiram traídos. Achava-se, então, que estavam "vendendo" a Internet para a ISO, uma "inimiga" contra a qual se tinha lutado por vários anos e que já estava vencida, e que o IAB não tinha o direito de tomar essa decisão sozinho. No mesmo encontro, surgiram três propostas: •

CLNP, que foi chamada de TUBA (TCP and UDP over Bigger Address).

Uma denominada IP versão 7, de Robert Ullman que, em 1993, propôs outra versão chamada TP/IX e em 1994, propôs uma nova versão chamada CATNIP, como ensaio para compatibilidade entre endereços IP, CLNP e IPX.

"IP in IP". Em 1993, esta proposta foi modificada e passou a se chamar IPAE (IP Address Encapsulation). O IPAE foi adotado como estratégia de transição para o SIP (Simple IP), proposto por Steve Deering em Novembro de 1992.

SIP - aumentava o endereço IP para 64 bits, tornava a fragmentação de pacotes opcional e eliminava vários aspectos obsoletos do IP.

Setembro de 1993, Paul Francis propôs uma nova especificação, o Pip (Paul's internet protocol). Propôs uma nova estratégia de roteamento baseada em listas diretivas. Isso permitiria uma implementação eficiente de políticas de roteamento, facilitando, inclusive, a implementação de mobilidade. A união do SIP com o Pip foi chamada de SIPP (Simple IP Plus).

4

MUDANÇAS EM RELAÇÃO AO IPv4

Segundo TAMUSIUNAS (2006), comparando-se o formato do IPv6 com o do IPv4, os mecanismos de opções foram completamente revisados, seis campos foram suprimidos (header length, type of service, identification, flags, fragment offset e header checksum), três foram renomeados e, em alguns casos, ligeiramente modificados (length, protocol type e time to leave), e dois foram criados (trafic class e flow label). Conforme NUNES (2006), o atual endereço de 32 foi ampliado para 128 bits, acabando definitivamente com as classes de endereços e possibilitando um método mais simples de autoconfiguração. As simplificações mais consideráveis do IPv6 foram a alocação de um formato fixo para todos os cabeçalhos, a remoção do check-sum de cabeçalho e a remoção dos procedimentos de segmentação "hop-by-hop". A remoção de todos os elementos opcionais não significa que não se possa configurar serviços especiais. Estes poderão ser obtidos através de cabeçalhos denominados "Cabeçalhos de Extensão", que são anexados ao cabeçalho principal. A remoção do checksum poderia gerar problemas no roteamento dos pacotes, mas o IPv6 pressupõe que as camadas inferiores são confiáveis, com seus respectivos controles de erro como, por exemplo, o 802.2 LLC (Logical Link Control) para redes locais, o controle das camadas de adaptação dos circuitos ATM e o controle do PPP para links seriais. A cada salto de um pacote IPv6, os roteadores não precisarão se preocupar com o cálculo do tamanho do cabeçalho, e nem com as tabelas de fragmentação, que serão realizadas pelos hosts. Todas estas modificações aumentam substancialmente o desempenho dos roteadores, permitindo melhor desempenho para redes de alta velocidade. Conforme TAMUSIUNAS (2006), novos recursos para permitir maior segurança na rede foram descritos, assim como uma nova estrutura interna de endereçamento, podendo agora os endereços terem campos em seu conteúdo. Este novo tipo de estrutura afeta de forma direta os novos tipos de roteamento. A tabela a seguir, conforme citada em www.cisco.com.br/ipv6, mostra um quadro comparativo entre os dois protocolos. Figura 12 – Comparativo entre IPv4 e IPv6 Tipo de Serviço Solução IPv4 IP

Solução IPv6

5

Segurança

IPSec Disponível

Autoconfiguração DHCP

para

Hosts;

IPSec Obrigatório Futura Serverless ou DHCP, Renumeração a

Renumeração a Nível de Site

Nível de Site

Escalabilidade

Roteamento Hierárquico

Roteamento Hierárquico

Mobilidade

IP Móvel

IP Móvel

IP Multicast

Multicast BGP

Identificador de abrangência, Multicast BGP

Faixa

de 32

Endereçamento

bits

de

endereçamento, 128 bits de endereçamento

Tradução de Endereço de Rede (NAT)

Há 3 formas de representação do endereço IPv6: •

A notação mais usual é x:x:x:x:x:x:x:x, onde os "x" são números hexadecimais, ou seja, o endereço é dividido em oito partes de 16 bits, como no seguinte exemplo: 1080:0:0:0:8:800:200C:417

Seqüências de zeros podem ser substituídas pela string "::".

Esta substituição só pode ser feita uma única vez em cada endereço.

Tabela 8 – Exemplos na forma completa e na forma abreviada de Endereços Ipv6. Endereço Forma Completa Forma Abreviada Unicast

1080:0:0:0:8:800:200C:417A

Multicast

FF01:0:0:0:0:0:0:43

1080::8:800:200C:417A FF01::43

Loopback

0:0:0:0:0:0:0:1

::1

Unspecified

0:0:0:0:0:0:0:0

::

Conforme BERNAL FILHO (2006), em ambientes mistos com nodos IPv4 e IPv6, é da forma x:x:x:x:x:x:d.d.d.d,

6

"x” - são números hexadecimais (16 bits)

"d" - são valores decimais de 8 bits referentes à representação padrão já bem conhecida do IPv4.

Por exemplo: 0:0:0:0:0:0:192.168.20.30 ou, na forma abreviada: ::192.168.20.30.

O ENDEREÇAMENTO NO IPv6

“Em

sua reunião de 7 de setembro de 2006, a Diretoria da ICANN ratificou uma política global para que Autoridades para Atribuição de Números na Internet (IANA) possam alocar os endereços IPv6 aos Registros Regionais da Internet”, mas como ainda não encontra-se documentos disponíveis analisou-se a RFC 2471 – IPv6 Testing Address Alocation (Teste de Alocação de Endereço do IPv6), uma proposta que é a base desta nova política adotada pela IANA, mostrada na figura 13. Embora seja experimental e esteja servindo para testes de implementações do IPv6, ela segue as recomendações definidas para a arquitetura IPv6 e o seu formato é consistente com o Aggregatable Global Unicast Address Allocation (Alocação Global Agregável de Endereço Unicast) e com o TopLevel Aggregation and Next-Level Aggregation Assignment Rules (Regras de Designação de Agregação Top-Level e Agregação NextLevel). O endereço IPv6 pode ser definido manualmente, por IPv6 Auto Address Allocation (Alocação Automática de Endereço IPv6) ou por DHCPv6 (Dynamic Host Configuration Protocol – Protocolo Dinâmico de Configuração de Host).

Figura 13 – Proposta do formato do endereçamento IPv6.

FP (Format Prefix – Formato do Prefixo): 3 bits. Valor atual binário é 001. Esse valor é utilizado para identificar endereços unicast globais agregáveis.

7

TLA ID (Top-Level Aggregation Identifier – Identificador da Agregação Top-Level): 13 bits.O valor desse campo é 0x1FFE e foi designado pela IANA para uso temporário pelo 6bone da IETF. No futuro, todos os usuários desse TLA ID terão que mudá-lo.

NLA ID (Next-Level Aggregation Identifier – Identificador da Agregação NextLevel): 32 bits. Esse número será designado pelo administrador do NLA ID, em uma hierarquia de endereços suficiente para identificar redes de transitação e sites de usuários finais, de forma consistente com a topologia e arquitetura do 6bone. Isso deverá ser feito para a criação de um serviço de transitação multi-level consistente com os testes de situações de uso real do IPv6 no 6bone.

SLA ID (Site-Level Aggregation Identifier – Identificador da Agregação Site-Level): 16 bits. Esse número deve ser utilizado por cada organização para criar sua própria hierarquia de endereços e identificar suas sub-redes.

Interface ID (Interface Identifier – Identificador da Interface): 64 bits. Esse número identifica a interface do nó para a camada de enlace.

TIPOS DE ENDEREÇOS

Existem três tipos de endereços no IPv6: •

Unicast: identifica uma única interface.

Anycast: identifica um conjunto de interfaces tais que um pacote enviado a um

endereço Anycast seja entregue a qualquer um dos membros desse conjunto. •

Multicast: Identifica um grupo de interfaces, tais que um pacote enviado a um

endereço Multicast seja entregue a todas as interfaces do grupo. Não existe nenhum endereço Broadcast no IPv6, sendo sua função substituída por endereços Multicast.

8

Endereços Unicast

Existem diversos tipos de endereços Unicast alocados no IPv6, quais sejam: Providerbased, Neutral-interconnect, NSAP, IPX , Site-local-use, Link-local-use, e IPv4capable-host. Novos tipos de endereços unicast podem ser definidos no futuro. Alguns desses tipos de endereços unicast são apresentados a seguir, a título de exemplo:

Provider-based São endereços utilizados para comunicações globais, Seu uso é similar aos endereços IPv4 do tipo CIDR (Classless Inter-Domain Routing). Seu formato é: Figura 14 – Formato endereços Provider-based. 3

n bits

010 REGISTRY ID

m bits

o bits

PROVIDER ID

SUBSCRIBER ID

p bits

o-p bits

SUBNET ID INTF. ID

6.4.1.2. Local-use

É um endereço que tem escopo local para roteamento ou seja, dentro de uma subrede ou dentro de uma rede de assinante. Eventualmente pode ter também um escopo global de comunicação. Existem 2 tipos: 1. Link-local-use: usado num único link ou canal de comunicação. Seu formato é: Figura 15 – Formato endereço Link-local-use. 10 bits n bits 1111111010

0

118-n bits INTERFACE ID

9

2. Site-local-use, usado em um único site. Seu formato é: Figura 16 – Formato endereço Site-local-use. 10 bits n bits m bits 1111111011

0

118-n-m bits

SUBNET ID

INTERFACE ID

.

IPv4 Encapsulados Os mecanismos da transição IPv6 incluem uma técnica para hosts e roteadores enviarem dinamicamente os pacotes IPv6 através da infra-estrutura de roteamento do IPv4. Aos nós IPv6 que utilizam esta técnica são atribuídos os endereços Unicast especiais que carregam um endereço IPv4 no 32-bits de menor ordem. Esse tipo de endereço é denominado IPv4compatible IPv6 address, e seu formato é: Figura 17 – Formato de Endereço IPv4-compatible IPv6 address. 80 bits

16 bits

32 bits

000...............................................................000

0000

ENDEREÇO IPv4

.

Um segundo tipo de endereço IPv6 que encapsula um endereço IPv4 é definido também. Este endereço é usado para representar os endereços de nós exclusivamente IPv4 (aqueles que não suportam o IPv6) como os endereços IPv6. Este tipo de endereço é denominado IPv4-mapped IPv6 address, e seu formato é: Figura 18 – Endereços IPv4-mapped IPv6 address. 80 bits

16 bits

32 bits

000...............................................................000

FFFF

ENDEREÇO IPv4

10

Endereços Anycast

São tipos de endereços atribuídos a mais de uma interface (tipicamente pertencendo a nós diferentes), com a propriedade que um pacote enviado a um endereço Anycast é roteado para a interface mais próxima que tem esse endereço, de acordo com a medida de distância intrínseca dos protocolos de roteamento. Os endereços de Anycast, quando usados como parte de uma seqüência de rota, permitem a um nó selecionar qual dos diversos provedores existentes deve carregar o seu tráfego. Isto seria executado configurando endereços da anycast para identificar o conjunto de roteadores que pertencem aos provedores selecionados (por exemplo, um endereço do anycast por o provedor). Estes endereços anycast podem ser usados como endereços intermediários em um cabeçalho do IPv6, fazendo com que um pacote seja entregue através de um provedor ou de uma seqüência particular de provedores. Outros usos possíveis de endereços anycast seriam identificar um conjunto de roteadores que fazem parte de uma sub-rede particular, ou o conjunto de roteadores de entrada para um domínio específico. Os endereços Anycast são alocados a partir do espaço de endereço do Unicast, usando alguns dos formatos de endereço definidos para o Unicast. Assim, os endereços Anycast são sinteticamente indistintos dos endereços Unicast. Quando a um endereço Unicast é atribuído uma ou mais interfaces, gerando assim um endereço do Anycast, os nós a que o endereço é atribuído devem explicitamente ser configurados para identificar que é um endereço Anycast.

Endereços Multicast

Um endereço Multicast é um identificador para um grupo de interfaces. Uma interface pode pertencer a qualquer número de grupos Multicast. Seu formato é: Figura 19 – Formato endereços Multicast.

11

8 bits 11111111

4 bits

4 bits

112 bits

FLAGS SCOPE

GOUP ID

ROTEAMENTO

O roteamento no IPv6 é quase idêntico ao roteamento no IPv4, exceto pelo fato de que os endereços são de 128 bits, ao invés dos 32 bits do IPv4. Com extensões muito claras todos os algoritmos do IPv4 (OSPF, RIP, IDRP, ISIS, etc.) ainda podem ser usados. O IPv6 inclui extensões de roteamento simplificadas que suportam novas funcionalidades poderosas, quais sejam: •

Provider Selection: seleção de provedor, baseada em políticas, desempenho,

custo, etc. •

Host Mobility: roteamento até a localização atual do host, quando este pode se

Auto-Readdressing: roteamento para um novo endereço.

deslocar.

A nova funcionalidade de roteamento é obtida criando seqüências de endereços IPv6 usando a opção Routing. Essa opção é usada por um equipamento de origem para listar um ou mais nós intermediários (ou grupos de nós) a serem visitados no caminho de destino de um pacote do protocolo. Esta função é muito similar em funcionalidade às opções Loose Source e Record Route do IPv4. A fim de fazer as seqüências de endereços uma função geral, os hosts IPv6 invertem, na maioria de casos, as rotas de um pacote recebido (se o pacote for autenticado com sucesso usando o cabeçalho de autenticação do IPv6) que contenha seqüências de endereços, a fim retornar o pacote ao equipamento de origem. Esta aproximação é feita para permitir que as implementações do hosts IPv6 suporte, desde o princípio, o tratamento e inversão de rotas de origem. Esta é a chave para permitir que eles interropam com os hosts que contém as novas funcionalidades, tais como a seleção de provedor ou endereços estendidos.

12

Três exemplos mostram como as seqüências do endereço podem ser usadas. Nestes exemplos, as seqüências do endereço são mostradas numa lista dos endereços individuais separados por vírgulas, quais sejam: [ SRC, I1, I2, I3, DST ]

onde:

SRC

= endereço de origem

I1, I2, I3 = endereços intermediários DST

= endereço de destino

“No caso hipotético destes exemplos. 2 hosts, H1 e H2, desejam se comunicar. Os locais de H1 e de H2 estão conectados aos provedores P1 e P2. É necessário que P1 e P2 tenham acesso a seqüência SRC.In.DST completa para que seja possível a comunicação entre H1 e H2.

SIMPLIFICAÇÃO DO FORMATO DO CABEÇALHO

Alguns campos do cabeçalho do IPv4 foram descartados ou tornados opcionais, para simplificar o processamento dos pacotes mais comuns e diminuir o overhead do IPv6, que possui um cabeçalho maior. MAIOR SUPORTE PARA CAMPOS OPCIONAIS E EXTENSÕES

Os campos opcionais possuem agora menos restrições quanto ao seu tamanho, há maior flexibilidade para a introdução de novas extensões no futuro, o encaminhamento de pacotes fica mais simplificado e pode ser diferenciado a cada hop.

13

CAPACIDADE PARA IDENTIFICAÇÃO DE FLUXO

O originador dos pacotes tem como identificar um fluxo de pacotes para um determinado destino (unicast ou multicast) e pedir tratamento especial desse fluxo por parte do roteador, como QoS diferenciado e serviço de tempo real. No IPv4, esse tipo de funcionalidade é implementado pelos roteadores e switches de camadas 3 ou 4, sobrecarregando seu processamento. O custo desse processamento foi passado para o originador do pacote e os equipamentos podem utilizar o processamento economizado para outras funções.

ESPECIFICAÇÃO DO IPv6

A figura abaixo foi tirada da especificação do IPv6, documentada sob o RFC 2460. Figura 20 – Especificação do IPv6 (RFC 2460).

Fonte: SMETANA, 17/09/06, internet.

Tradução do Cabeçalho •

Version (Versão): 4 bits. Para essa versão, o valor é 6.

Traffic Class (Classe de Tráfego): 8 bits. Esse campo ainda é experimental e

pode vir a ser modificado. Na primeira especificação do IPv6, RFC 1883, esse campo não existia. Em seu lugar havia um campo de 4 bits chamado Priority (Prioridade). A função desse campo é permitir diferenciação de tráfego (classes de tráfego) e mecanismos de prioridade, para que os roteadores possam prover tratamento apropriado em cada caso. Algumas idéias do TOS e dos bits Precedence do IPv4 foram aproveitadas. Ainda há muita discussão sobre a divisão

14

mais útil e eficiente dos vários tipos de tráfego em classes. Cabe à camada superior informar a camada IPv6 qual a classe de tráfego a ser utilizada. Um roteador pode alterar os bits do campo Traffic Class da forma que desejar. Por esse motivo, uma estação não deve assumir que um determinado tipo de tráfego que ela associou a uma certa classe será recebido com o campo Traffic Class com o mesmo valor com o qual ela transmitiria. •

Flow Label (Identificação do Fluxo): 20 bits. Um flow é uma seqüência de

pacotes enviados a partir de uma determinada origem, para um determinado destino (unicast ou multicast), requerendo um tratamento especial pelos roteadores, como QoS ou reserva de banda (RSVP – Resource

Reservation Protocol), por exemplo. O campo Flow Label ainda é

experimental e pode vir a ser modificado, como já ocorreu desde a primeira especificação do IPv6, onde ele possuía 24 bits. As mudanças dependem da identificação das características que forem surgindo do tráfego na Internet. A intenção do Flow Label é permitir que a origem possa atribuir uma identificação (padronizada) aos pacotes, para que eles recebam tratamento especial por um roteador (fazer QoS, tráfego de tempo real, etc.). Roteadores e hosts que não são capazes de identificar o Flow Label de um pacote devem deixar o campo com valor igual a 0 ( zero ), quando originá-lo, deixá-lo inalterado, quando retransmiti-lo, ou ignorá-lo, quando recebê-lo. •

Payload Length (Comprimento da Carga): 16 bits. Informa o comprimento dos

dados, em octetos, encapsulados pela camada de rede, isto é quantos bytes vêm depois do cabeçalho IPv6 (os campos de extensão são contabilizados). Caso esse campo seja 0 (zero), indica que o comprimento do payload é superior a 65.535 octetos e é informado em um Extension Header. •

Next Header (Próximo Cabeçalho): 8 bits. Informa qual o protocolo da camada

superior que está utilizando os serviços da camada IP. A numeração também segue o RFC 1700. O UDP, por exemplo, é número 17. No IPv6, pode haver um campo opcional após o cabeçalho. Nesse caso, o valor de Next Header informa qual o tipo de extensão que vem após o cabeçalho IPv6. •

Hop Limit (Limite de Hop): 8 bits. Semelhante ao TTL do IPv4, cada unidade

processadora de pacotes (nó) decrementa esse valor de 1 unidade e quando esse valor chegar a 0 (zero), o pacote é descartado.

15

Source Address (Endereço de Origem): 128 bits. Informa o endereço de origem

do pacote. •

Destination Address (Endereço de Destino): 128 bits. Informa o endereço de

destino. O endereço de destino pode não ser o endereço do host final, porque pode ser um cabeçalho de roteamento. •

Extension Header (Cabeçalho de Extensão): Tamanho variável, mas sempre

múltiplo de 8 octetos (64 bits). Pode haver mais de um campo de extensão. A presença de um campo de extensão pode ser determinada pelo valor do campo Next Header. Cada Extension Header tem um campo Next Header informando o próximo protocolo, como pode ser observado na figura 21. Normalmente, somente o nó de destino irá processar os Extension Headers. Os Extension Headers precisam ser processados exatamente na ordem em que eles aparecem. Uma implementação completa do IPv6 tem de ser capaz de reconhecer e processar os seguintes tipos de Extension Headers: Hop-by-Hop Options (Opções Hop-a-Hop), Routing – Type 0 (Roteamento – Tipo 0), Fragment (Fragmento), Destination Options (Opções de Destino), Authentication (Autenticação) e Encapsulating Security Payload (Encapsulando Carga de Segurança).

Os quatro primeiros tipos de Extension Header podem ser encontrados no RFC 2460 (o da especificação do IPv6), e os dois últimos, nos RFCs 2402 e 2406, respectivamente. O Routing Header pode especificar quais são os próximos destinos depois do destino especificado pelo campo Destination Address. Quando houver mais de um Extension Header presente, recomenda-se que eles estejam na seguinte ordem: cabeçalho IPv6, Hop-by-Hop Options, Destination Options (para o primeiro destino, especificado pelo Destination Address, e pelos próximos destinos, especificados no Routing Header), Routing, Fragment, Authentication, Encapsulating Security Payload, outro Destination Options (para ser processado somente pelo último destino) e depois os cabeçalhos do protocolo da camada superior. Figura 21 – Exemplo de Extension Headers do IPv6.

16

Fonte: SMETANA, 17/09/06, internet.

Quando ocorrer a migração para o IPv6, os protocolos da camada superior que incluem o tamanho do campo IP em seus mecanismos de detecção de erro deverão ser alterados. No IPv6, há também um “pseudo-cabeçalho”, após os Extension Header, mostrado na figura abaixo. Figura 22 – Pseudo-cabeçalho que antecede o cabeçalho da camada superior no IPv6.

Fonte: SMETANA, 17/09/06, internet.

Upper-Layer Packet Length (Comprimento do Pacote da Camada Superior): 32

bits. Corresponde ao comprimento em bytes da camada superior, incluindo o cabeçalho e os dados (PDU e SDU). Para protocolos de camada superior que carregam seu comprimento no próprio cabeçalho, como o UDP, o valor desse campo é o mesmo do presente na camada superior. •

Next Header (Próximo Cabeçalho): O Next Header do pseudo-cabeçalho será

diferente do Next Header do cabeçalho IPv6, somente no caso em que houver Extension Headers após o IPv6. Nesse caso, o Next Header do IPv6 informa o valor do Extension Header. O MTU mínimo do IPv6 é de 1.280 bytes (no IPv4 era 576 bytes), mas o recomendado é que ele seja maior que 1.500 bytes, para que possa ser feita alguma forma de encapsulamento sem que a camada de rede precise fragmentar os dados. SITUAÇÃO ATUAL DO IPv6

Em 1996 foi iniciado o projeto denominado 6Bone, que é um backbone internacional formado por sites IPv6 conectados através de túneis IPv4, visando servir como suporte a testes

17

de implementação do protocolo IPv6 em diversas plataformas, além de servir como ponto de partida para a implementação do protocolo na internet. Atualmente, o projeto 6Bone consiste em uma rede virtual que permite o transporte de pacotes IPv6 sobre redes físicas IPv4, formando um cenário composto por ilhas IPv6 que suportam diretamente o protocolo e comunicam-se entre si através de ligações virtuais ponto a ponto (túneis). As máquinas com protocolo IPv4 que compõem os túneis possuem um sistema operacional com suporte para IPv6 e utilizam protocolos de roteamento adequados à nova versão. O 6Bone foi o ponto inicial para a disseminação do protocolo IPv6, sendo que este projeto é conhecido mundialmente, servindo de referência para pesquisas e informações sobre o novo protocolo. Apesar do início das pesquisas com o IPv6 terem sido iniciadas há um bom tempo, no Brasil, os projetos utilizando o protocolo ainda estão se consolidando, sendo que a maior parte desses projetos é realizada em laboratórios de instituições de ensino como pesquisas acadêmicas. A quantidade de projetos de pesquisa ainda é relativamente pequena e existe pouca documentação em relação aos mesmos. A RNP (Rede Nacional de Pesquisa) possui dois projetos relacionados ao IPv6: o backbone RNP2, que interliga alguns pontos de presença da RNP com protocolo IPv6 em modo nativo, atualmente com 8 (oito) pontos de conexão; e o Br6Bone, que conecta instituições que queiram usar o protocolo IPv6 através da estrutura atual em IPv4, através de túneis. Segundo MARTINI (2006), a disponibilidade destes serviços oferecidos pela RNP abre novas perspectivas para o desenvolvimento do IPv6 no país, na medida em que permite à RNP estabelecer parcerias com instituições, inclusive do setor privado, é possível explorar novos protocolos, serviços e aplicações em ambientes IPv6. Além de que, instituições ligadas a ela podem participar de uma rede de pesquisas com alcance internacional. Diversas universidades como Unicamp, UFRGS e UFBA, além de provedores comerciais, como a Rede Pegasus, participam do projeto.

18

TRANSIÇÃO PARA IPv6

Para o IPv6 poder trabalhar plenamente deveriam ser atualizados, pelo menos, todos os hosts de uma rede - uma mudança radical a ser feita por administradores de redes com milhares ou, às vezes, dezenas de milhares de hosts. Entretanto, este não é o caso: as pessoas que trabalham na transição de IPv4 para IPv6 têm trabalhado duro para criar mecanismos que possibilitem a coexistência do IPv4 e IPv6, entre estes podem ser citados, pilha dupla, túnel IPv4/IPv6 e tradução IPv4/IPv6. A atualização das redes atuais pode ser feita com um baixo impacto, caso sejam feitas de forma metodológica e inteligente. A seguir são mostradas estratégias para esta transição. A transição de IPv4 para IPv6 deve ser feita de forma gradual. Uma atualização de forma radical faria com que administradores de redes tivessem que encontrar e instalar novas versões para softwares de rede para cada host e roteador na internet - nada fácil, imaginando o número de diferentes plataformas rodando IPv4. Mais realisticamente, a transição para IPv6 continuará a ser feita de maneira mais lenta, com vendedores e desenvolvedores gradualmente introduzindo versões de aplicações IPv6 para as diferentes plataformas, e administradores de redes determinando se são ou não necessários os novos recursos disponíveis para IPv6. É esperado que o IPv4 e o IPv6 devam coexistir por um bom período de tempo, mas não para sempre. Muitas estratégias para transmissão falam em tunelamento, com o intuito de aproximar duas redes distantes, onde pacotes IPv6 são encapsulados dentro de pacotes IPv4. Isto faria com que ilhas IPv6 pudessem se comunicar utilizando oceanos IPv4. Após certo período de tempo, a população IPv6 tenderia a crescer, sendo que cada vez mais as redes começariam a utilizar este protocolo, fazendo com que as ilhas começassem a se juntar, não necessitando mais de tunelamento. Outro ponto da aproximação seria o dual-stack, onde hosts e roteadores teriam rodando em uma mesma interface, tanto pilhas IPv4, quanto IPv6. Desta maneira, um nodo dual-stack pode receber e transmitir pacotes dos dois protocolos, fazendo com que eles coexistam em uma mesma rede.

19

Endereços IPv6 do Tipo Compatível-IPv4

Como citado anteriormente, os endereços IPv4 contidos nos endereços IPv6 podem ser de dois tipos: compatível IPv4 e endereço IPv4 mapeado em endereço IPv6. Os endereços do tipo IPv4 compatível têm o objetivo de serem usados em nodos IPv4/IPv6 capazes de fazer tunelamento automático de pacotes IPv6 através de redes IPv4. Para TAMUSIUNAS (2006) os nodos com dual-stack usam o "mesmo" endereço para ambos os pacotes - sejam IPv4 ou IPv6. Nodos que trabalham apenas com IPv4 podem enviar pacotes para nodos dual-stack usando endereçamento IPv4, enquanto nodos que trabalham com IPv6 podem enviar pacotes utilizando para isto endereçamento IPv6. Em geral este tipo de nodo poderia ser um roteador conectando redes IPv6 com túneis automáticos, utilizando para isto a rede IPv4. O roteador poderia aceitar endereços IPv6 vindos de sua rede IPv6 local e encapsulálos em pacotes IPv4 destinado a outro roteador dual-stack presente na outra ponta do túnel, também utilizando endereçamento do tipo IPv4 compatível na outra ponta da rede IPv4. Ao chegarem no outro roteador com dual-stack, os pacotes seriam desencapsulados e enviados a rede IPv6 local.

FERRAMENTAS PARA TRABALHAR COM IPv6

De muito pouco adianta uma rede sem aplicações para que se possa testar seu funcionamento. O Kame Project é um projeto responsável pelo desenvolvimento de aplicações IPv6, sendo estas para os mais diferentes sistemas operacionais. As aplicações mais básicas de uma rede, como telnet, FTP e HTTP já estão disponíveis para a maioria dos sistemas operacionais com suporte a IPv6, o que permite que haja testes comparativos de desempenho, neste ponto, entre os dois protocolos.

20

SMTP

O protocolo SMTP (Simple Mail Transport Protocol) já foi adaptado para poder trabalhar com o IPv6. O programa que sofreu estas adaptações foi o Sendmail. Este programa, nas suas mais recentes versões (8.10.x), já pode utilizar os recursos de uma rede IPv6, caso ela exista. Este programa já trabalha com a idéia de dual-stack, ou seja, quando um programa tenta utilizar uma rede IPv6 utiliza o endereço IPv6 da interface, quando deseja utilizar a rede IPv4, utiliza o endereço IPv4 da interface. Serviço de Nomes para IPv6 O DNS (Domain Name Service), é um serviço importante no que diz respeito a facilidades do uso de aplicações para internet: ele facilita o mapeamento de nomes em endereços IP. O DNS trabalha com a idéia de hierarquia para ajudar a mapear os nomes. O nome dos hosts pode vir na forma computador.organizacao.com. O host (computador) existe dentro do domínio organização.com. Existem uma série de servidores de nível superior que indicam qual é o servidor responsável pelo domínio organização.com. Quando alguém requisita o endereço host.organizacao.com, o servidor de nomes superior no qual chegou o pedido repassa-o para o servidor responsável, e esse retorna para o requerente o endereço IP deste host, na forma de um endereço de 32 bits. Para que este recurso trabalhe com IPv6 algumas alterações terão que ser feitas. O DNS, como é utilizado hoje, foi projetado para trabalhar com endereços de 32 bits, não podendo por isso, retornar endereços de 128 bits. As alterações descritas em [RFC1886] mostram o que deve ser feito para que o DNS possa suportar o IPv6. As alterações podem ser resumidas da seguinte maneira: •

Criação de um novo tipo de recurso para gravação, chamado de AAAA, para

mapear endereços de 128 bits (o tipo de recurso para gravação do IPv4 é o A). •

Criação de um novo domínio (.IP6.int), para permitir que endereços de hosts

IPv6 possam servir de base para que chegue ao nome do domínio que responde por eles. Este recurso é parecido com o existente no IPv4 (.in.addr.arpa).Os servidores de DNS devem ser revisados para localizar ou processar não apenas endereços IPv4, mas endereços IPv4 e IPv6 (caso existam).

21

HTTP

Um dos servidores adaptado para trabalhar com o protocolo HTTP (Hyper Text Transport Protocol), junto com o IPv6, é o Apache. Este programa deve ter um patch aplicado para que ele comece a reconhecer o novo protocolo. Assim como o Sendmail, o Apache pode também trabalhar com dual-stack. Para a leitura das páginas existe uma versão adaptada para trabalhar com o IPv6 do Linux, um browser que trabalha em modo terminal. FTP O FTP (File Transport Protocol) foi um dos primeiros protocolos a serem adaptados para o IPv6. Muitas distribuições de sistemas operacionais já entregam em seus pacotes de atualização para IPv6 um cliente de FTP já adaptado. Como exemplo de servidores já adaptados, pode-se citar o WU-FTP. Este programa possui um patch que faz com que ele comece a trabalhar com o novo protocolo, incluindo tecnologias como dual-stack.

TELNET O telnet foi, sem dúvida, uma das principais adaptações, em matéria de ferramentas, para que se pudesse trabalhar com o novo protocolo, o IPv6. Cada sistema operacional se encarregou de produzir o seu próprio telnetd, ou seja, o daemon para funcionar como servidor do cliente telnet, que também é produzido de forma exclusiva para sistema operacional. Segundo TAMUSIUNAS (2006), atualmente já existem adaptadas para o IPv6 uma nova safra de programas que têm a mesma finalidade do telnet, como por exemplo o SSH (Security Shell).

22

SISTEMAS OPERACIONAIS QUE SUPORTAM IPv6

Hoje em dia, a grande maioria das empresas que fabricam ou distribuem sistemas operacionais se encontram preocupadas em fornecer suporte para que seus produtos trabalhem com o protocolo IPv6. Sistemas operacionais como Linux, FreeBSD, Solaris e AIX se encontram já em uma fase bem adiantada de suporte a IPv6. Empresas como Microsoft também tem se mostrado interessada em fornecer suporte para que seus sistemas operacionais possam utilizar as vantagens que o protocolo IPv6 proporciona. Os sistemas operacionais Windows 98, Windows NT e Windows 2000 já possuem patches para serem adaptados a trabalhar com IPv6.

Linux O Linux começou a trabalhar com IPv6 já nas versões 2.1.x do seu kernel. Os recursos que ele inicialmente dispunha eram a capacidade de fornecer túneis IPv6 utilizando protocolo IPv4, e reconhecer endereços IPv6 nativos. O Linux possui uma característica que é o fato de não necessitar de patches no kernel para trabalhar com IPv6, ainda mais quando se utiliza a versão 2.2.x do kernel. Em matéria de alterações, o que necessita ser feito no sistema operacional é a atualização dos arquivos que trabalham com rede, ou seja, os comandos de rede. Os comandos que inicialmente precisam ser atualizados para trabalhar com IPv6 são o ping, route, ifconfig, nslookup e outros. Uma série de grupos, em muitos lugares do mundo, começaram a desenvolver aplicações para que fosse possível trabalhar com este novo protocolo. Com o lançamento da glibc 2.6, que já vem junto com o RedHat 6.0, começou-se a ter mais recursos para desenvolvimento de aplicações de rede, tendo-se em vista os novos recursos de programação disponibilizados por esta biblioteca. Entre os países que possuem grupos trabalhado no desenvolvimento de aplicações para o Linux, pode-se citar a Alemanha, os Estados Unidos e o Japão.

23

Solaris A Sun, empresa que fabrica o Solaris, lançou, já faz algum tempo, patches para que o Solaris7 pudesse trabalhar com o protocolo IPv6. No dia 2 de novembro de 1999, a Sun lançou, nos Estados Unidos, a versão 8 do Solaris, com suporte nativo a IPv6. O Solaris8 é distribuído tanto para plataformas Sparc, como para plataformas x86. “Muitas das aplicações que rodam em Solaris com suporte a IPv6 são distribuídas pela própria Sun, em pacotes fechados. Estes pacotes já se encontram prontos para a instalação, requerendo apenas a parte de configuração para que possa haver um melhor desempenho dependendo das características da rede que se está utilizando”. (TAMUSIUNAS, 2006).

AQUISIÇÃO DE ENDEREÇOS IPv6

Para solicitar um bloco de endereços IPv6 a organização deve preencher o Formulário indicado no ANEXO I e depois enviá-lo para [email protected] Depois de verificado e nenhum erro encontrado, um "ticket" será gerado, o qual identificará a solicitação. Depois de aprovado, um e-mail será enviado com informações sobre o pagamento da alocação inicial e também sobre o Acordo de Serviço de Registro, que precisa ser assinado. A alocação somente será feita uma vez recebido o pagamento e o acordo assinado. Alocação de blocos adicionais somente serão feitas caso não haja pendências de pagamento ou de documentação. O bloco mínimo alocado pelo LACNIC é um prefixo de 32 bits e para se qualificar para uma alocação inicial a organização deve: •

Ser um LIR (Local Internet Registry), ou seja, organização que designa espaços de endereçamento para usuários dos serviços de rede que ela provê. São, geralmente, os provedores de acesso (ISP), cujos clientes são usuários finais ou outros provedores de acesso;

Não ser um usuário final;

24 •

Enviar plano detalhado sobre os serviços e conectividade IPv6 a oferecer à outras organizações (clientes);

Anunciar no sistema de rotas inter-domínios da Internet um único bloco, que agregue toda a alocação de endereços IPv6 recebida, em um prazo não superior a 12 meses.

Oferecer serviços IPv6 a clientes localizados fisicamente na região do LACNIC em um prazo não superior a 24 meses.

REFERÊNCIAS BIBLIOGRÁFICAS 1. BERNAL

FILHO,

Huber.

IPv6:

Endereço

e

Roteamento.

Disponível

em:

http://www.teleco.com.br/tutoriais/tutorialipv6/pagina_2.asp. Acesso em: 12/08/06. 2. COSTA, Julio Gustavo Soares Firmo da. Fialho. VIANNA, Sérgio. Implementação de um

mecanismo

de

tradução

de

protocolos

(IPV4

e

IPV6).

Disponível:

http://www.rnp.br/newsgen/0303/trad_protocolo.html. Acesso em: 27/09/06. 3. FUNDAÇÃO PARA A COMPUTAÇÃO CIENTÍFICA NACIONAL (FCCN) . IPv6 – RCTS.

Disponível

em:

http://www.fccn.pt/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_ id=118. Acesso em: 27/09/06. 4. LACNIC: Registro de Endereços da Internet para América Latina e Caribe. Como conseguir endereços IPv6. Disponível: http://lacnic.net/pt/registro/ipv6.html. Acesso em: 20/09/06. 5. MARTINI, Fernando Zucuni. BOGO, Madianita. Análise e Proposta de Implantação de um

Ambiente

de

Rede

utilizando

o

Protocolo

IPv6.

Disponível

em:

http://www.ulbrato.br/ensino/43020/artigos/anais2003/anais/ipv6encoinfo2003.pdf#search =%22implanta%C3%A7%C3%A3o%20de%20rede%20baseada

%20em%20IPv6%22.

Acesso em: 27/09/06. 6. MOREIRA,

André.

Internet

Protocol

Versão

6

(IPv6).icmpv6.

Disponível:

http://www.dei.isep.ipp.pt/~andre/documentos/ipv6.html. Acesso em: 13/09/06.

25

7. NUNES, Cristina.

História

do

Protocolo

Ipv6. Disponível

em:

http://www.inf.pucrs.br/~cnunes/cdt/aulas/IPv63.pdf#search=%22ICMPv6%20%22 Acesso em: 17/09/06. 8. SMETANA, George Marcel M. A. IPv4, IPv6 e ICMPv4. Disponível em: http://www.redes.usp.br/conteudo%5C%5Cdocumentos%5CArtigoIP.pdf#search=%22IC Mpv6%22. Acesso em: 17/09/06. 9. TAMUSIUNAS, Fabrício Raupp. Comparação entre Ipv4 e Ipv6. Disponível em: http://gtrh.tche.br/ovni/ipv6/modelo2_introducao.htm. Acesso em: 19/09/06. 10. ______.

Estratégias

de

transição

para IPv6. Disponível

em:

http://gtrh.tche.br/ovni/ipv6/modulo4_introducao.htm. Acesso em: 08/09/06. 11. ______.

Aproximação

de

Redes

IPv6

Utilizando

Túneis.

Disponível

em:

http://gtrh.tche.br/ovni/ipv6/modulo4_aproximacaoredesipv6utilizandotuneis.htm Acesso em: 11/09/06. 12. ______.

Endereços

IPv6

do

Tipo

Compatível-IPv4.

Disponível

em:

http://gtrh.tche.br/ovni/ipv6/modulo4_enderecosipv6tipocompativel-ipv4.htm. Acesso em: 13/09/06. 13. ______. NAT-PT Disponível em: http://gtrh.tche.br/ovni/ipv6/modulo4_napt-pt.htm Acesso em 21/09/06. 21. ______. Ferramentas para Trabalhar com IPv6 Disponível em: http://gtrh.tche.br/ovni/ipv6/modulo4_ferramentastrabalharipv6.htm. Acesso 13/09/06.

em:

22.

______. Tipos de Túneis IPv6. Disponívelem: http://gtrh.tche.br/ovni/ipv6/modulo4_tipostuneisipv6.htm. Acesso em: 13/09/06.

23.

______. Sistemas Operacionais que Suportam IPv6 Disponívelem: http://gtrh.tche.br/ovni/ipv6/modulo5_conclusao.htm. Acesso em: 14/09/06.

Quantos bits possuem o IPv6?

O tamanho dos endereços de IPv6 é de 128 bits. A representação de endereços IPv6 preferenciais é: x:x:x:x:x:x:x:x , em que cada x é o valor hexadecimal das oito partes de 16 bits do endereço. Os endereços de IPv6 vão de 0000:0000:0000:0000:0000:0000:0000:0000 a ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff .

Como são escritos endereços IPv6?

A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separando-os por “:”, escritos com dígitos hexadecimais (0-F). Por exemplo: 2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1.

Quantos endereços o IPv6 suporta?

O endereço IPv6 tem 8 hextetos de comprimento, separados por dois pontos. O endereço IPv4 tem 4 octetos e geralmente é escrito ou exibido em notação decimal. O endereço IPv6 tem 8 hextetos e geralmente é escrito ou exibido em notação hexadecimal.

Quais são os tipos de endereços IPv6?

Também todos os prefixos de formato (FP) de 001 até 111, exceto os endereços Multicast (1111 1111), devem ter identificadores de interface de 64 bits no formato EUI-64. Na arquitetura de endereçamento IPv6, há 3 tipos de endereços: Unicast, Multicast e Anycast.