Você está na página 1de 9

Entendendo o IPV6

A massiva popularizao da Internet trouxe um problema grave, que a escassez de endereos disponveis. Parte disso se deve m distribuio dos endereos IPs atuais, onde algumas empresas possuem faixas de endereos classe A inteiras, fazendo com que grande parte dos endereos disponveis simplesmente no sejam aproveitados. Para incio de conversa, 32 bits equivalem a nada menos do que 4.294.967.296 combinaes. Destes, pouco mais de 3.7 bilhes de endereos so aproveitveis, j que (entre outros) os endereos iniciados com 0, 10, 127 e de 224 em diante so reservados. Alm disso, a maior parte das faixas de endereos de classe A, que englobam as faixas iniciadas com de 1 a 126 so propriedade de grandes empresas, que acabam utilizando apenas uma pequena faixa deles. Por exemplo, apenas a HP, sozinha, tem direito a duas faixas inteiras, uma ganha durante a distribuio inicial das faixas de endereos IP classe A e a segunda herdada com a compra da DEC. Muitas destas faixas esto sendo reatribudas pela IANA e o uso do CIDR tem melhorado o aproveitamento dos endereos ainda disponveis mas, apesar dos esforos, no incio de 2007 j restavam apenas 1.3 bilhes de endereos disponveis. Se a procura se mantiver nos nveis atuais, teremos o esgotamento dos endereos disponveis em 2014. Caso ela cresa, impulsionada pela popularizao das conexes 3G, aumento do nmero de servidores web, popularizao do ADSL nos pases mais pobres e assim por diante, podemos chegar a uma situao catica ainda em 2012! Um dos fatores que vem reduzindo a presso sobre os escassos endereos disponveis o uso do NAT. Graas a ele, voc pode compartilhar uma nica conexo (e, consequentemente, um nico endereo IP), entre vrios micros. possvel at mesmo adicionar um segundo, terceiro, quarto, ou mesmo quinto nvel de compartilhamento, recompartilhando uma conexo j compartilhada. muito comum, por exemplo, que um provedor de acesso via rdio use um nico IP para um prdio inteiro, dando endereos de rede interna para os assinantes. Muitos destes criam redes domsticas e compartilham novamente a conexo, adicionando uma segunda camada de NAT, e assim por diante. Apesar disso, o NAT no a soluo para tudo. Voc no pode usar NAT em um datacenter, por exemplo, precisa de um endereo "real" para cada servidor disponvel para o mundo exterior. Chegamos ento ao IPV6, que promete colocar ordem na casa, oferecendo um volume brutalmente maior de endereos e uma migrao suave a partir do padro atual (IPV4). Embora s recentemente o tema tenha ganhado popularidade, o IPV6 no exatamente um projeto novo. O padro vem sendo desenvolvido desde 1995, quando a Internet ainda engatinhava. Entre os dois existiu o "IPV5", que era uma padro de streaming que nunca chegou realmente a ser usado.

Endereamento
No IPV6 so usados endereos com nada menos do que 128 bits. Prevendo o tamanho do problema que seria ter que futuramente migrar novamente para um novo padro, o IEFT (o rgo responsvel) resolveu no correr riscos. O nmero de endereos disponveis simplesmente absurdo. Seria o nmero 340.282.366.920 seguido por mais 27 casas decimais. ponto pacfico que o IPV6 vai ser adotado mais cedo ou mais tarde. J existem projetos de uso em larga escala em pases como o Japo, China e Coria do Sul e a adoo tende a se acelerar rapidamente no decorrer dos prximos anos. A princpio, o novo sistema de endereamento adotado pelo IPV6 parece algo extico, e at catico, mas as coisas se tornam mais simples se voc tiver em mente que ele apenas um novo sistema de endereamento. Nada muda com relao ao cabeamento da rede; voc continua utilizando os mesmos cabos de par tranado, fibra tica e links wireless e os mesmos hubs, switches, pontos de acesso e roteadores. A rede continua funcionando exatamente da mesma forma, os endereos TCP/IP continuam contendo informaes sobre o endereo da rede e o endereo do host dentro dela, as portas TCP e UDP continuam sendo utilizadas da mesma forma e continuamos utilizando basicamente os mesmos aplicativos de rede. Muda apenas o sistema de endereamento propriamente dito, uma simples questo de alterar a configurao da rede e atualizar os programas para verses compatveis com ele. Tendo isso em mente, respire fundo e vamos l. :) Nos endereos IPV4, dividimos os endereos em 4 grupos de 8 bits, cada um representado por um nmero de 0 a 255, como em "206.45.32.234". Usar esta mesma nomenclatura seria invivel para o IPV6, pois teramos nada menos do que 16 octetos, criando endereos-mostro, como "232.234.12.43.45.65.132.54.45.43.232.121.45.154.34.78". Ao invs disso, os endereos IPV6 utilizam uma notao diferente, onde temos oito quartetos de caracteres em hexa, separados por ":". No conjunto hexadecimal, cada caracter representa 4 bits (16 combinaes). Devido a isso, temos, alm dos nmeros de 0 a 9, tambm os caracteres A, B, C, D, E e F, que representariam (respectivamente), os nmeros 10, 11, 12, 13, 14 e 15. Um exemplo de endereo IPV6, vlido na Internet, seria: 2001:bce4:5641:3412:341:45ae:fe32:65. Como voc pode ver, a idia de usar os caracteres em hexa reduz o nmero de caracteres necessrios, mas em compensao complica um pouco as coisas em relao notao do IPV4, com a qual estamos acostumados. Uma forma de compreender melhor, seria imaginar que cada quarteto de nmeros hexa equivale a 16 bits, que poderiam ser representados por um nmero de 0 a 65.535. Voc pode usar uma calculadora que suporte a exibio de nmeros em hexa para converter nmeros decimais. No KCalc, por exemplo, clique no "Configuraes > Botes lgicos". Digite um nmero decimal qualquer, entre 0 e 65.535 e marque a opo "Hex" para v-lo em hexa (e vice-versa):

Fazendo a converso, o endereo "2001:bce4:5641:3412:341:45ae:fe32:65" que coloquei acima, equivaleria aos nmeros decimais "8193 48356 22081 13330 833 17835 65034 101". Um atenuante para esta complexidade dos endereos IPV6 que eles podem ser abreviados de diversas formas. Graas a isso, os endereos IPV6 podem acabar sendo incrivelmente compactos, como "::1" ou "fee::1".

Em primeiro lugar, todos os zeros esquerda dentro dos quartetos podem ser omitidos. Por exemplo, em vez de escrever "0341", voc pode escrever apenas "341"; em vez de "0001" apenas "1" e, em vez de "0000" apenas "0", sem que o significado seja alterado. por isso que muitos quartetos dentro dos endereos IPV6 podem ter apenas 3, 2 ou mesmo um nico dgito. Os demais so zeros esquerda que foram omitidos. muito comum que os endereos IPV6 incluam seqncias de nmeros 0, j que atualmente poucos endereos so usados, de forma que os donos preferem simplificar as coisas. Graas a isso, o endereo "2001:bce4:0:0:0:0:0:1" pode ser abreviado para apenas "2001:bce4::1", onde omitimos todo o trecho central "0:0:0:0:0". Ao usar o endereo, o sistema sabe que entre o "2001:bce4:" e o ":1" existem apenas zeros e faz a converso internamente, sem problema algum.

A diviso rede/host
Assim como no IPV4, os endereos IPV6 so divididos em dois blocos. Os primeiros 64 bits (os 4 primeiros quartetos) identificam a rede, enquanto os ltimos 64 bits identificam o host. No endereo "2001:bce4:0:0:0:0:0:1", por exemplo, temos a rede "2001:bce4:0:0" e o host "0:0:0:0:1" dentro dela. No existem mais mscaras de tamanho varivel como no IPV4. Ao configurar endereos dentro de uma mesma rede, existem duas opes. A primeira seria simplesmente usar endereos seqenciais, como " 2001:bce4::1", " 2001:bce4::2", "2001:bce4::3" e assim por diante. Nada de errado com isso. A segunda seria seguir a sugesto do IEFT e usar os endereos MAC das placas de rede para atribuir os endereos dos hosts. justamente isso que feito ao utilizar a atribuio automtica de endereos no IPV6. Digamos que o endereo da rede "2001:bce4:0:0:" e o endereo MAC do micro "00:16:F2:FE:34:E1". Como voc pode ver, o endereo MAC contm apenas 12 dgitos hexa, enquanto no IPV6 a parte do host contm 16 dgitos. Est em estudo uma expanso dos endereos MAC das placas de rede, que passariam a ter 16 dgitos, mas, enquanto isso no colocado em prtica, usamos uma regra simples para converter os endereos de 12 dgitos atuais em endereos de 16 dgitos, adicionando os dgitos "ffff" entre o sexto e stimo dgito do endereo. O endereo "00:16:F2:FE:34:E1", viraria ento "0016:f2ff:fffe:34e1". Como viu, os 12 dgitos originais continuam os mesmos (apenas converti para minsculas). So apenas adicionados os 4 dgitos no meio. Adicionando o endereo da rede, o endereo IPV6 completo deste micro seria "2001:bce4:0:0:0016:f2ff:fffe:34e1", o que poderia ser abreviado para apenas "2001:bce4::0016:f2ff:fffe:34e1".

Compatibilidade
O IPV6 tambm oferece um recurso de compatibilidade com endereos IPV4, permitindo que voc continue utilizando os mesmos endereos ao migrar para ele. Neste caso, voc usaria o endereo "::FFFF:" seguido pelo endereo IPV4 usado atualmente, como em: ::FFFF:192.168.0.1 Por estranho que possa parecer, este um endereo IPV6 completamente vlido, que voc pode usar para todos os fins. Outra mudana que no IPV6 voc pode atribuir diversos endereos para o mesmo micro. Isto tambm era possvel no IPV4 utilizando alises para a placa de rede, mas no caso do IPV6, este passou a ser um recurso nativo. Graas a isso, o mesmo micro pode ser acessado tanto atravs do endereo "2001:bce4:5641:3412:341:45ae:fe32:65" (por exemplo), quanto pelo ::FFFF:192.168.0.1 (pelos micros da rede local), sem que voc precise usar duas placas de rede. possvel tambm adicionar um endereo IPV6 a um micro j configurado com um endereo IPV4, na maioria dos casos sem nem mesmo precisar desativar temporariamente a placa de rede. Neste caso, ele continua respondendo de forma normal no endereo IPV4 antigo, mas passa a responder tambm no endereo IPV6. Um dos objetivos do novo sistema justamente manter compatibilidade com o antigo, j que muitos sistemas provavelmente nunca sero atualizados. Imagine, por exemplo, que uma migrao em larga escala para o IPV6 est ocorrendo. A maior parte da Internet j utiliza o novo sistema, mas seu provedor de acesso ainda oferece suporte apenas a endereos IPV4. Prevendo situaes assim, o IPV6 oferece suporte ao tunelamento de pacotes IPV6 atravs de redes IPV4. Ao perceber que os pacotes IPV6 precisaro passar por uma rede IPV4, o roteador empacota os pacotes IPV6, colocando-os dentro de pacotes IPV4, de forma que eles sejam roteados normalmente atravs da rede IPV4. Do outro lado da conexo teramos outro roteador IPV6, que se encarregaria de remover o cabealho IPV4 dos pacotes, obtendo novamente os pacotes IPV6 originais. Esse sistema permite tambm que estaes configuradas com endereos IPV4 continuem acessando a Internet normalmente, mesmo depois que a migrao ocorrer. Imagine o caso de micros rodando o Windows 95/98, por exemplo.

As faixas de endereos reservadas


Assim como no IPV4, existem alguns endereos e faixas de endereos reservadas. Os endereos iniciados com "2001:" so reservados para provedores de acesso e carriers e podem ser registrados, da mesma forma que as faixas de endereo IPV4 atuais. Os endereos iniciados com "3fff:ffff:" e "2001:0DB8:" so reservados para uso em documentao, exemplos e testes e por isso eles no so roteveis. Inicialmente, os endereos iniciados com "fec", "fed", "fee" ou "fef" eram reservados ao uso em redes locais, assim como as faixas "10.x.x.x" e "192.168.x.x" do IPV4. Esta norma foi derrubada pelo RFC 3879, mas as faixas ainda continuam sendo usadas em muitas redes. Ou seja, embora este no seja mais um padro oficial, voc pode continuar usando estas faixas na sua rede se desejar. Talvez o melhor exemplo de endereo reservado o endereo da interface de loopback. No IPV4, o endereo de loopback o "127.0.0.1", enquanto no IPV6 foi escolhido o endereo "0:0:0:0:0:0:0:1", que pode ser abreviado para apenas "::1"! :) Em um micro Linux com o suporte a IPV6 ativado, voc pode usar o comando "ping6 ::1" para testar isso: $ ping6 ::1 PING ::1(::1) 56 64 bytes from ::1: icmp_seq=1 64 bytes from ::1: icmp_seq=2 64 bytes from ::1: icmp_seq=3 64 bytes from ::1: icmp_seq=4 ttl=64 time=0.040 ms data ttl=64 ttl=64 ttl=64 time=0.041 time=0.045 time=0.045 bytes ms ms ms

Pela resposta, sei que meu micro est conseguindo se comunicar com ele mesmo via IPV6 :). No caso do Windows, usado o comando "ping" normal, especificando diretamente o endereo IPV6 desejado.

Um exemplo prtico
O suporte a IPV6 est presente em todas as distribuies Linux atuais, assim como no Windows XP SP2. No Windows Vista ele inclusive j vem habilitado por padro. Uma vez que voc entende como os endereos IPV6 so estruturados e que uma mesma interface de rede pode ter ao mesmo tempo um endereo IPV4 e um IPV6 (respondendo em ambos), no existe nada de exotrico em atribuir endereos IPV6 para os micros da sua rede e comear a testar o novo sistema. No Linux, voc pode usar este mini-script para verificar se o suporte a IPV6 est ativo: # test -f /proc/net/if_inet6 && echo "IPV6 ativo" || echo "IPV6 desativado" Em algumas distribuies ele vem desativado por padro. Nesse caso, ative-o carregando o mdulo "ipv6" do Kernel: # modprobe ipv6 A partir da, voc pode atribuir um endereo IPV6 usando o comando "ifconfig eth0 add", onde o "eth0" a interface de rede. Graas s abreviaes, os endereos IPV6 podem ser bastante curtos. Experimente por exemplo adicionar o endereo "fee::1": # ifconfig eth0 add fee::1 Faa o mesmo em outro micro da rede, atribuindo agora o endereo "fee::2": # ifconfig eth0 add fee::2 Para testar a conectividade entre os dois, voc pode utilizar o comando "ping6", que a verso atualizada do ping, que trabalha com endereos IPV6. Caso ele no esteja disponvel, experimente instalar o pacote "iputils-ping": # ping6 fee::1 PING fee::1(fee::1) 56 64 bytes from fee::1: icmp_seq=1 64 bytes from fee::1: icmp_seq=2 64 bytes from fee::1: icmp_seq=3 64 bytes from fee::1: icmp_seq=4 ttl=64 time=1.06 ms data ttl=64 ttl=64 ttl=64 time=5.82 time=1.10 time=1.09 bytes ms ms ms

Junto com o ping6, foi desenvolvida toda uma nova gerao de programas compatveis com o IPV6. Muitos foram atualizados de forma transparente, como o ifconfig, enquanto outros ganharam verses separadas, como o traceroute6, o tracepath6 e o ip6tables. Com os dois hosts conversando, experimente utilizar outros programas e servidores para testar a conectividade entre eles. Para se conectar via SSH, por exemplo, voc usaria o comando: # ssh fee::1 The authenticity of host 'fee::1 (fee::1)' can't be established. RSA key fingerprint is 8c:cb:17:ed:0d:2b:3c:9f:40:8e:74:d0:cf:3f:b5:bf. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'fee::1' (RSA) to the list of known hosts. Password: Como pode ver, a conexo estabelecida normalmente. Voc poderia ainda se conectar ao mesmo micro usando o endereo IPV4 antigo, como em: # ssh 192.168.0.1 ... e o resultado seria o mesmo. Como disse, o fato de adicionar um endereo IPV6, no faz com que o micro perca a conectividade com os hosts IPV4 da rede, faz apenas com que ele passe a responder em ambos. Se voc instalar o Apache (que na maioria das distribuies Linux pode ser instalado atravs do pacote "apache2" ou "httpd"), ou qualquer outro servidor web, poder tambm acess-lo atravs do outro micro usando o endereo IPV6. A nica observao que voc deve colocar o endereo entre colchetes, como em "http://[fee::1]/" ao acess-lo atravs do Firefox:

Naturalmente, nem todos os programas suportam IPV6 e alguns podem apresentar problemas diversos. A migrao para IPV6 ainda est em curso, por isso no espere que todos os programas funcionem de forma perfeita. justamente por isso que foi feito tanto esforo no sentido de manter o IPV6 compatvel com o sistema antigo, em primeiro lugar. :) Para ativar o IPV6 no Windows XP SP2, acesse as propriedades da placa de rede, dentro do painel de controle e clique no "Instalar > Protocolo > Microsoft TCP/IP verso 6". No caso do XP SP1, existe uma verso de desenvolvimento do protocolo, que pode ser instalada da mesma forma, mas o XP original no inclui suporte nativo ao IPV6, assim como o Windows 2000. Como comentei, o IPV6 j vem ativado por padro a partir do Vista. Voc perceber que, mesmo depois de instalado o IPV6, voc no tem a opo de atribuir um endereo manualmente. A idia no caso que o endereo seja atribudo automaticamente por um roteador IPV6 disponvel na rede. De qualquer forma, possvel atribuir um endereo manualmente, de forma a continuar nossa rodada de testes usando o netsh. Para isso, clique no "Iniciar > Executar" e rode o comando "netsh". Ele um utilitrio de linha de comando, que roda dentro de uma janela do prompt do MS-DOS. Para atribuir o endereo, use os comandos: > interface ipv6 > add address interface="Conexo de rede sem fio" address="fee::5" ... substituindo o "Conexo de rede sem fio" pelo nome da interface (escrito da mesma forma como aparece no Painel de Controle > Redes) e o endereo IPV6 desejado:

Voc pode testar a conectividade com os outros micros da rede usando o bom e velho ping atravs do prompt do DOS. Note que no caso do Windows o comando continua sendo "ping" e no "ping6" como no Linux. Se quiser testar a conectividade com um dos micros Linux via SSH, voc pode baixar o putty (http://putty.nl), que nas verses recentes j oferece suporte a IPV6.

Mais detalhes
Essa configurao manual permite "quebrar o gelo", criando uma conexo IPV6 de forma simples. Mas, em uma rede real, esta configurao manual no seria necessria. Os roteadores IPV6 enviam constantemente pacotes especiais, chamados "RAs" (router advertisements). Como o nome sugere, estes pacotes divulgam a existncia do roteador e o endereo de rede utilizado por ele (os 64 bits iniciais do endereo). Ao receberem estes pacotes, os clientes geram seus endereos IPV6 automaticamente, combinando os 64 bits do endereo fornecidos pelo roteador com os 64 bits "pessoais", gerados a partir do endereo MAC da placa de rede. Como o endereo MAC s muda quando voc substituiu a placa de rede, o cliente continuar utilizando o mesmo endereo, reboot aps reboot. Caso existam diversos roteadores na rede, os clientes simplesmente geraro diversos endereos, uma para cada faixa de endereos divulgada por eles e ficaro acessveis atravs de qualquer um destes endereos gerados. Como disse a pouco, uma das idias centrais do IPV6 permitir que um mesmo cliente possa ser configurado com vrios endereos diferentes, conforme a necessidade, assim como uma pessoa que utiliza diversos endereos de e-mail. Graas a esta peculiaridade, os servidores DHCP so bem menos necessrios em uma rede IPV6, j que a funo central deles (atribuir os endereos) desempenhada pelos prprios roteadores. Atualmente, o DHCP ainda necessrio para atribuir os endereos DNS, mas j existe um projeto para incorporar mais esta funo aos roteadores, o que em breve far com que os servidores DHCP IPV6 fiquem relegados funo de fornecer informaes adicionais, como no caso de uma rede de terminais que do boot atravs da rede. O brutal aumento no nmero de endereos disponveis inclui um benefcio adicional que um pequeno aumento na segurana. Ao idia que, como atualmente quase todos os endereos IP possuem dono, muito fcil fazer uma varredura, escaneando faixas inteiras de endereos em busca de micros vulnerveis. Esta a idia central dos worms que se propagam de forma espontnea. No caso do IPV6, a "densidade" dos endereos em uso ser muito menor, fazendo com que este tipo de varredura torne-se invivel. Imagine o caso de um pequeno provedor de acesso com 200 usurios, por exemplo. Atualmente, ele teria uma faixa de endereos classe C, como "200.234.23." e todos os usurios estariam dentro dela. Escaneando apenas 254 endereos, voc detecta vulnerabilidades nos micros destes 200 usurios. Ao migrar para o IPV6, este provedor passaria a utilizar uma faixa como "2001:bce4:cdfe:6547" e os usurios utilizariam endereos definidos com base nos endereos MAC da placa de rede. Os 200 usurios ficam agora espalhados dentro de uma faixa de endereos que permite 18.446.744.073.709.551.616 combinaes. Ou seja, um nmero simplesmente absurdo. Tentar escanear todos os endereos possveis demoraria anos e ainda assim permitiria descobrir apenas os 200 usurios! Seria mais rpido escanear a Internet inteira (dentro da organizao atual) do que escanear uma nica faixa de endereos IPV6. Naturalmente, isso no ajuda muito em casos onde o seu endereo IPV6 conhecido (como no caso dos servidores web), por isso o uso de firewall e sistemas de encriptao (como o SSH) continua sendo uma necessidade.

Você também pode gostar