Comitê Gestor da Internet no Brasil Seu IP: 38.107.191.116 CGI.br Registro CERT.br

Sítio web não compatível com IPv6 Este sítio web funciona com IPv6. Se o globo estiver girando, você também já usa IPv6!


Últimas Atualizações...

25 May 2010 - 18:40:
Relato sobre o Treinamento IPv6 do RIPE

11 Jan 2010 - 17:49:
Introdução ao IPv6 para o CCNA

11 Dec 2009 - 11:14:
Videos sobre cases IPv6 fora do Brasil

09 Jun 2009 - 18:59:
Curso de Introdução ao IPv6

30 Apr 2009 - 17:58:
Construindo um firewall Linux com suporte a IPv6



Artigo

Migração para IPv6 de aplicações usuárias da interface de programação Sockets BSD


Escrito por Elvis Pfützenreuter


  

Índice do Artigo

  

Migração para IPv6 de aplicações usuárias da interface de programação Sockets BSD
Introdução
IPv6: principais mudanças em relação a IPv4
Convivência entre IPv4 e IPv6
Usos práticos do IPv6, hoje
Interface Sockets BSD para programação em IPv6
A interface /proc do Linux
Exemplos de código Sockets BSD para IPv6
Conclusão
Bibliografia


2. Convivência entre IPv4 e IPv6

O mais importante objetivo de projeto do IPv6 é a convivência pacífica com IPv4. Seria irreal esperar que todos os dispositivos ligados à Internet mudassem para outro protocolo num mesmo dia e hora. A transição só pode acontecer se for gradual.

As questões de transição e convivência estão intimamente ligadas, e ainda são objeto de estudo, portanto muito já mudou nesse tópico desde o projeto original do IPv6 até agora, e possivelmente soluções melhores que as atuais vão aparecer, na medida que mais pessoas tomam contato com IPv6.

2.1.Faixas de endereçamento IPv6 especiais para convivência com IPv4

2.1.1. Endereços IPv4 mapeados em IPv6

Faixa 0:0:0:0:0:FFFF/96 ou ::FFFF:0:0/96

Os 32 bits do endereço IPv4 são mapeados nos últimos 32 bits do endereço IPv6; os primeiros 96 bits são preenchidos com o padrão descrito na máscara.

Esses endereços, para maior comodidade, podem ser expressos na forma ::FFFF:a.b.c.d, onde a.b.c.d é o endereço IPv4 na familiar notação decimal pontuada. Eles servem para:

a) um nó IPv6 comunicar-se com outros que possuam apenas a pilha IPv4;

b) um nó servidor efetuar bind() apenas ao endereço IPv4, ou seja, ele aceitará apenas conexões IPv4.

2.1.2. Endereços IPv6 compatíveis com IPv4

Faixa 0:0:0:0:0:0/96, ou ::/96

Assim como em 2.1.1, os endereços IPv4 são transcritos nos últimos 32 bits do endereço IPv6, e podem ser expressos usando a notação decimal pontuada.

Tais endereços servem para conexões entre nós IPv6 (ambos os nós têm de ter pilha IPv6), porém através de uma rede IPv4. O pacote IPv6 é reempacotado automaticamente num pacote IPv4 e enviado. Por este motivo, essa faixa de endereços também é denominada de “tunelamento automático", pois a única providência administrativa necessária é cadastrar o endereço compatível com IPv4 num registro DNS tipo AAAA.

2.1.3. Endereços 6to4

Faixa 2002::/112

O endereçamento descrito no tópico 2.1.2 não é muito flexível, pois permite apenas a conexão entre máquinas IPv6 que também tenham um endereço IPv4 roteável na Internet, com o competente registro AAAA no DNS. Ele não serve, por exemplo, para fazer tunelamento automático entre nós IPv6 puros (sem endereço IPv4). Isso exclui, por exemplo, os computadores ligados à Internet por roteadores NAT.

Os endereços 6to4 foram definidos para suprir essa deficiência, e tornaram os endereços compatíveis com IPv4 relativamente obsoletos (embora ainda seja cedo para afirmar que estes últimos não serão mais usados; apenas a adoção generalizada do IPv6 mostrará qual solução será a eleita pela comunidade).

Como se pode notar, o prefixo 2002::/112 faz parte dos endereços públicos IPv6. De fato, essa faixa foi alocada para o projeto 6to4. É importante ressaltar que 6to4 não é uma mudança no protocolo IPv6 em si.

Nada impede haja outras iniciativas análogas no futuro, com prefixos diferentes. Na verdade, existem diversos projetos de conectividade IPv6, a maioria deles baseados em tunelamento manual; ninguém é obrigado a usar 6to4.

As vantagens do 6to4 são:

a) livre para qualquer interessado em conectar-se à rede IPv6;

b) bem documentado;

c) possível adoção da tecnologia por parte dos roteadores IPv6;

d) provisão para configuração automática via multicast IPv4, portanto é o caminho mais suave para que provedores de acesso à Internet ofereçam IPv4 e IPv6 simultaneamente sem grande esforço adicional.

O formato do endereço 6to4 é:

Primeiros 16 bits: 0x2002
Próximos 32 bits: endereço IPv4
Próximos 32 bits: endereço da sub-rede dentro da entidade
64 bits finais: endereço do nó dentro da entidade (atribuído ou deduzido do endereço de camada de enlace)

Normalmente, o endereço da sub-rede é 0 e o endereço do nó é 1, pois a maior parte das máquinas que se conectam à rede IPv6 mundial é isolada e ligada à Internet por uma rede ponto-a-ponto.

2.2. Convivência na rede local

Todos os protocolos de camada de enlace em uso corrente permitem convivência entre IPv4, IPv6 e outros protocolos de rede. No cabeçalho de enlace, o valor do campo identificador do protocolo de rede é diferente para IPv4 e IPv6 (os valores absolutos variam de acordo com o protocolo de enlace).

2.3. Conectando-se à rede mundial IPv6

Hoje, já é perfeitamente possível navegar na Internet em IPv6 puro.

A opção ideal sem dúvida seria um provedor capaz de trafegar IPv6 diretamente, mas apenas um punhado de provedores ao redor do mundo suporta IPv6.

A segunda opção desejável é o protocolo 6to4, mas o suporte dos provedores a 6to4 também não é nem de longe disseminado, muito embora seja o passo intermediário "natural" em direção a uma Internet IPv6.

A solução mais viável hoje (Fevereiro/2003) é o uso de um esquema de tunelamento manual, como o projeto Freenet6 (Referência: FREENET6).

2.4. DNS

A resolução de nomes DNS para nós IPv6 funciona de forma praticamente idêntica a IPv4. Naturalmente existem algumas mudanças no modus operandi e na sintaxe dos arquivos de configuração, que não abordaremos em profundidade. Para os fins deste trabalho, basta dizer que:

a) os endereços IPv4 e IPv6 convivem no sistema DNS e podem conviver num mesmo domínio;

b) os endereços IPv4 são armazenados em registros A e os endereços IPv6 são armazenados em registros AAAA, conforme proposto originalmente por THOMSON & HUITEMA (1995), portanto uma consulta ao DNS tem de visar especificamente ou um ou outro tipo de registro;

c) Um mesmo nome de máquina pode ser sobrecarregado com registros A e AAAA, portanto uma máquina pode ter o mesmíssimo nome DNS na Internet IPv4 e na Internet IPv6. Isso facilita a vida dos usuários finais, que nem precisam (em tese) tomar conhecimento da mudança de protocolo de rede;

d) os endereços reversos são ambos armazenados em registros PTR. A distinção é feita pela raiz das árvores de endereçamento reverso: in-addr.arpa.net para IPv4 e ip6.int para IPv6. Com raízes diferentes, as duas famílias de endereçamento não se confundem. Naturalmente, cada consulta PTR deve visar especificamente ou uma ou outra família;

e) Além do registro AAAA, também existe o registro A6, proposto por CRAWFORD & HUITEMA (2000). Nele, consta o sufixo do endereço IPv6, o tamanho do prefixo em bits, e um nome correspondente ao prefixo.

Esse nome, por sua vez, é outro registro DNS AAAA ou A6, que deve ser recursivamente consultado, até que se encontre um registro AAAA e seja possível montar o endereço IPv6 completo.

Como o prefixo de rede é representado por um nome, isso facilita muito a criação e atualização dos registros DNS, inclusive tornando-os mais claros.

Para atender a clientes de legado que não suportem ainda registros A6, BUSH (2002) propõe que o servidor DNS possa responder consultas AAAA interpretando os registros A6 de forma transparente.

f) O DNS dinâmico, que pouco é utilizado em IPv4, deve ser universalmente adotado em IPv6, devido aos endereços longos, difíceis de memorizar e eventualmente atrelados à placa de rede;

g) Como praticamente cada usuário da Internet poderá ter uma faixa de endereçamento gigantesca para si, será muito mais fácil para pequenos domínios manterem seu próprio servidor DNS. Também o velho problema da delegação do DNS reverso fica automaticamente sanado.

O BIND - servidor DNS tradicional para UNIX, suporta IPv4 e IPv6 simultaneamente na versão 9, portanto uma instalação com este servidor DNS pode adicionar suporte a IPv6 incrementalmente sem qualquer modificação em hardware ou software.

Última atualização 26/08/2008 14h42

Comentários     +  

Seu nome: (max. 35 letras)


Comentário: (max. 2500 caracteres)


Verificação: (se estiver ilegível, clique na imagem)


   


   Licença:  Creative Commons Atribuição 2.5 Brasil (salvo seja especificada outra)     Válido:  XHTML 1.0 -  CSS 3