Salve,salve pessoal do Cooperati, não sei se todos sabem, mas hoje, dia 06/06/12 (a data até parece número cabalístico), é a data oficial para o lançamento do IPv6, então para celebrarmos essa data, resolvi escrever esse post para entendermos um pouco mais sobre ele e porque ele tem um papel tão importante no mundo da internet.
Mas, antes de falarmos sobre ele, vamos falar qual a função do IP e sobre suas versões. O protocolo IP tem a função principal de dar um endereço aos equipamentos na rede, pois como todos sabem o que faz as informações trafegarem pela rede são os pacotes e para eles chegarem ao seu local de destino ele precisa ter um endereço de entrega, fazendo uma analogia ao mundo real, seria a mesma coisa que se você saísse de casa para ir a algum lugar, porém você não sabe onde esse local é com isso você vai ficar perdido e vai acabar voltando para casa.
Só que o protocolo IP, não é um único protocolo em si ele possui 16 versões, porém as mais conhecidas são a IPv4, a mais difundida atualmente, mas que está com seus dias contados para endereçamento na internet e a outra é a IPv6, que em futuro próximo vai ser o IPv4 hoje no mundo web.
As outras versões do IP tiveram rumos diferentes, as IPv1, 2 e 3 foram incorporadas ao IPv4, quanto ao IPv5, que seria naturalmente o sucessor do IPv4, foi desenvolvido para outra finalidade, que não é o uso que convencional do protocolo IP e sim para trafego de streaming (voz e video).
Para mais informações do protocolo Ipv5: http://www.oreillynet.com/onlamp/blog/2003/06/what_ever_happened_to_ipv5.html (Link em inglês)
Os protocolos IPv7, IPv8 e IPv9 também chegaram a ser desenvolvidos, para substituir o IPv4, mas não foram para frente.
Para mais informações sobre os protocolos: (Links em inglês)
IPv7 – CATNIP: http://tools.ietf.org/html/rfc1707
IPv8 – PIP: http://tools.ietf.org/html/rfc1622
IPv9 – TUBA: http://tools.ietf.org/html/rfc1347
Como vimos não é de hoje que se discute o futuro do IPv4, mas por que só agora está sendo tão discutido atualmente junto com a adoção do IPv6? O motivo é bem simples, e é de conhecimento de muitos, é que os endereços IP Públicos no mundo estão chegando ao final e com a adição de novos dispositivos na internet, principalmente smartphones, esses endereços restantes tendem a acabar bem rapidamente, e o mais agravante não existem mais blocos a serem disponibilizados, com isso as forcenecedoras de IPs, tem que arrumar um jeito de não deixar seus clientes na mão.
Agora uma outra pergunta: Mas será que com o IPv6 não acontecerá o que acontece hoje com o IPv4? A resposta é: Bem improvável. E para enfatizar isso, vou colocar um trecho do site ipv6.br para expressar o que estou dizendo: (Cuidado não faça os cálculos que são apresentados no trecho a seguir em uma calculadora simples, ela pode explodir :D)
“Os endereços no IPv4 são representados internamente nos computadores com números de 32 bits. Isso significa que há um total de 4.294.967.296 endereços possíveis. Alguns desses endereços não estão efetivamente disponíveis, porque têm usos especiais. É o caso do bloco de endereços reservado para multicast(um tipo especial de roteamento de pacotes utilizado em algumas aplicações), ou ainda dos blocos reservados para os endereços privados.
No IPv6, os endereços são representados por números de 128 bits. Isso significa que há 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços, o que representa cerca de 79 trilhões de trilhões de vezes o espaço disponível no IPv4. Esse número equivale a cerca de 5,6 x 10^28 (5,6 vezes 10 elevado a 28) endereços IP por ser humano, ou ainda, aproximadamente, 66.557.079.334.886.694.389 de endereços por centímetro quadrado na superfície da Terra.
Metade dos 128 bits, no entanto, está reservada para endereços locais numa mesma rede. Isso significa que somente 18.446.744.073.709.551.616 redes diferentes são possíveis.
A grande quantidade de endereços é capaz de atender às necessidades da Internet no futuro imaginável. Ela facilita também o processo de atribuição dos números dentro das redes permitindo, por exemplo, a configuração automática dos endereços IP com base no endereçamento físico das placas de rede.”
É uma diferença brutal entre o número de endereços possíveis de um protocolo para o outro, mas o problema da demanda e oferta para o IPv4 só não foi maior pois algumas técnicas foram utilizadas para amenizar esse efeito, tais técnicas podemos citar as redes privadas, que são usadas nas empresas e hoje também em redes domesticas, já que os endereços IPs das redes privadas, não conversam diretamente com os IPs públicos (os que dão acesso a internet e que estão acabando), com isso esses endereços podem ser usados em várias localidades sem interferirem um no outro (quem nunca aqui usou o range de IP 192.168.0.0/24 :D).
Outra técnica de vital importância que age em conjunto com as redes privadas para elas acessarem a internet é a NAT que faz a tradução de IPs privados para IP Públicos, com isso fazendo essas redes usarem a internet através de um único IP Público fornecido pela operadora.
OK, agora que vimos alguns números sobre o IPv4 e o IPv6, como que vai funcionar a internet com esses dois protocolos ativos, eles vão conseguir comunicar entre si? Respondendo: Sim eles vão comunicar entre si, pois se isso não ocorresse, seria um caos total, pois todos teriam que implementar o novo protocolo e isso é totalmente inviável para o mundo de hoje.
Mas você deve estar perguntando-se: Eu vou ter que mudar algo em minha rede? A resposta depende do que você vai usar, se você não precisar acessar endereços IPv6, a resposta é não, mas se precisar algumas mudanças de equipamentos que suportem o protocolo IPv6 terão que ser implementados, porém em um futuro próximo provavelmente pelo menos a maioria dos equipamentos de rede terão que serem trocados para suportar a transição entre os protocolos.
Existem algumas técnicas para isso, uma das mais usadas são os tunelamentos, que permite que os protocolos IPv6 trafeguem normalmente em redes IPv4, de forma transparente. Essa técnica pode ser usada para:
-
Ligar duas redes IPv6, que são ligadas por uma rede IPv4.
-
Fazer um host que suporte IPv6 enviar um pacote para um roteador IPv6 através de uma rede Ipv4 e vice-versa
-
E fazer com que dois hosts IPv6 conversem entre si em uma rede IPv4
Para cada tipo de rede e transmissão de pacote deve ser usado uma técnica de encapsulamento. Se você quer fazer a comunicação entre dois roteadores IPv6 que são ligados por uma rede IPv4 ou usa IPs públicos IPv4 para comunicar com IPv6, deve se usar a 6to4, onde ele fornece um prefixo fixo inserindo dentro dele o endereço IPv4 convertido em hexadecimal.
Mais informações: http://www.ipv6.br/IPV6/ArtigoTuneis6to4
Para ligar roteadores a Hosts e hosts a hosts IPv6 através de uma rede Ipv4, deve se usar o ISATAP, que é uma técnica onde é colocado também um prefixo no endereço IPv6, porém ao contrário da 6to4 a ISATAP, coloca um prefixo para dizer se o IPv4 encapsulado é Público ou Privado.
Mais informações: http://www.ipv6.br/IPV6/ArtigoTuneisISATAP
Mas se os protocolos vão passar através de um NAT, a técnica usada é a Teredo, apesar de consumir mais recursos, é a única técnica que passa por NAT.
Mais informações: http://www.ipv6.br/IPV6/ArtigoTuneisTeredo
Existem mais artifícios para que redes IPv4 conversem com IPv6 e vice-versa, uma também bem difundida é a tradução onde a troca dos cabeçalhos é feita e possibilita o roteamento transparente das redes.
Mais Informações: http://www.ipv6.br/IPV6/ArtigoTecnicasTransicaoParte05
Agora que vimos um pouco de como vai funcionar a rede daqui a algum tempo, vamos ver como o protocolo IPv6 funciona na real.
Uma diferença básica do IPv6 para o Ipv4 é a nomenclatura, todos nós escrevemos os IPs da forma www.xxx.yyy.zzz, e essa forma se deve porque o IPv4 possui 32 bits dividido em 4 blocos de 8, então o maior número que um bloco convertido em decimal pode chegar &eacu
te; 256, porém no IPv6 já são 128 bits divididos em blocos de 16 bits, se formos convertemos para hexadecimal para tentarmos usar o método que usamos hoje, teriamos blocos com números até 65535 divididos em 8 partes, isso seria muito difícil para escrever e ocuparia bastante espaço, então a nomenclatura do IPv6 foi deixado os 16 bits divididos em 4 digitos hexadecimais e também o divisor mudou será o “:”, então a nomenclatura ficaria assim ssss:tttt:uuuu:vvvv:www:xxxx:yyyy:zzzz, um exemplo seria: 2001:0000:0000:9e50:35ae:76f3:5555:aef3.
Uma forma de facilitar a escrita onde existir blocos só de 0 pode ser suprimido por :: no nosso exemplo ficaria assim: 2001::9e50:35ae:76f3:5555:aef3, não importando o número de 0 que possuir sequencialmente.
Mas apesar das diferenças de nomenclatura o conceito para colocar algumas máquinas na rede seguem o conceito do IPv4, onde existe um prefixo que define a qual rede o host pertence e geralmente isso é definido nos primeiros 48 bits do protocolo IPv6, depois usasse 16 bits para identificar as sub-redes, que no IPv4 seria a mascara de rede, e os próximos 64 bits os endereços variáveis que deverão ser únicos em cada interface.
E também assim como no protocolo IPv4, existe endereços reservados para redes internas, um deles é o FC00::/7, onde FC00:: é o endereço da rede interna e 7 a identificação da subrede a que ele pertence. Em uma configuração de rede ficaria assim:
Endereço IP do Host: FC00::1
Comprimento do Prefixo de Sub-Rede: 7
Então se quiser colocar uma máquina para comunicar com essa na rede basta colocar um endereço com prefixo FC00 e mudar o final, um exemplo FC00::2 e colocar o comprimento do Prefixo de Sub-rede igual a 7.
Para finalizarmos essa breve explicação, o endereço de retorno da máquina que no IPv4 é o 127.0.0.1 no IPv6 é o ::1, então se você quiser testar se sua máquina está com IPv6 ativado basta pingar o endereço ::1.
Espero que tenham conhecido um pouco mais do protocolo IPv6, que como disse será vital daqui a alguns anos e na internet a partir de hoje, já podemos esperar investidas maiores dele e o conhecimento sobre ele será indispensável e principalmente sobre as técnicas de transição entre IPv4 e IPv6, já que dentro das redes das empresas creio que o IPv4 ainda imperará pois para uma rede interna os números do IPv4 atendem e até sobram em muitos casos, mas a conversão para os endereços IPv6 públicos serão essenciais.