Introdução
A quantidade de endereços possíveis com um protocolo roteável de 128 bits chega a ser assustadora e muitas vezes torna-se difícil até mesmo conseguir visualizar o tamanho dos blocos de endereço a serem criados.
Enquanto no IPv4 temos 32 bits que nos possibilitam cerca de 4 bilhões de combinações (232), no IPv6 temos mais de 340 undecilhões de endereços possíveis. Para se ter uma ideia do que isto representa, se convertêssemos cada IPv6 possível em um cm2, poderíamos envolver toda a superfície do planeta Terra com 7 camadas de endereços.
Esta fartura de endereços muda o conceito de alocação de blocos IP de forma radical. Hoje os administradores de rede estão acostumados a calcular a quantidade de endereços IPs necessários para suprir as suas demandas baseado na quantidade de máquinas que irão possuir um endereço IP. Com o IPv6, pensa-se na quantidade de redes que podem ser oferecidas ao usuário final.
Eu comparo a situação dos profissionais de rede de hoje com a dos programadores de 20 anos atrás: Não havia memória disponível e a que havia era muito cara, os programadores procuravam usufruir ao máximo da pouca memória disponível, criando mecanismos para melhor aproveita-la. Os profissionais de rede de ontem e de hoje procuram aproveitar da melhor maneira os poucos IPs válidos que possuem, usando técnicas de tradução como NAT e outras formas de poupar endereços simplesmente por quê há poucos IPs disponíveis. Os profissionais de rede de amanhã não terão estas preocupações com a adoção do IPv6 já que estes endereços podem ser ofertados em abundancia.
Mesmo que o usuário doméstico ou mesmo a empresa nos dias de hoje ainda não necessitem de todo o bloco de endereços que lhe fora alocado, estes números estarão disponíveis aos mesmos e poderão ser utilizados quando novas aplicações surgirem. Vamos supor que toda a telefonia celular móvel passe no futuro a utilizar IPv6, é possível alocar vários endereços v6 num único aparelho, cada IP representando uma determinada aplicação ou recurso embarcado no dispositivo. Novas tecnologias surgem a cada dia permitindo a monitoração de coisas antes inimagináveis. Provavelmente a agricultura no século XXI poderá utilizar chips de baixo custo e consumo de energia que possam ser plantados junto a sementes e que permitam acompanhar o desenvolvimento dos grãos em tempo real, cada semente precisaria ter um IP exclusivo para tal e estas são apenas algumas das muitas possibilidades que o futuro nos reserva.
Estrutura dos Endereços IPv6
Um endereço IPv6 é representado por 8 blocos de 16 bits cada um, separados pelo caracter dois pontos (:) . Cada grupo de 16 bits, chamado de decahexateto ou duocteto, possui 4 simbolos hexadecimais que podem variar de 0000 a FFFF.
A escrita de cada endereço IPv6 é longa, o que dificulta a sua representação, com IPv6, o serviço de DNS que fornece um nome amigável a um computador será mais necessário do que nunca, simplesmente é impossível decorar os endereços v6 presentes numa infraestrutura de redes, como muitos profissionais de TI hoje o fazem com seus blocos IPv4.
Para facilitar suas representação, algumas regras de nomenclatura foram definidas:
- Zeros a esquerda em cada duocteto podem ser omitidos
Assim, 2001:0DB8:00AD:000F:0000:0000:0000:0001 pode ser representado por:
2001:DB8:AD:F:0:0:0:1
- Blocos vazios contínuos podem ser representados pelos caracteres :: (quatro pontos) UMA ÚNICA VEZ dentro do endereço (o que vem antes do primeiro dois pontos representa os primeiros bits e o que vem após o segundo dois pontos representa os ultimos bits do endereço).
Assim, 2001:0DB8:00AD:000F:0000:0000:0000:0001 pode ser representado por:
2001:DB8:AD:F::1
Não se costuma informar uma máscara de sub-rede para fazer a operacao de AND binário como ocorre no IPv4, entretanto, a notacao de bit count foi mantida. Um provedor de Internet geralmente recebe um bloco /32 para sub-dividir e entregar aos seus clientes.
Sugere-se que cada provedor sub-divida seu bloco /32 em, no máximo, prefixos /64. Se fizermos as contas, veremos que cada operadora poderia criar um outro plano IPv4 completo de 32 bits dentro de sua própria infra-estrutura.
Uma rede /32 pode ter 65536 sub-redes /48. Cada sub-rede /48 pode ter 65536 sub-redes /64. Mantendo-se os últimos 64 bits do endereço IPv6 destinado a criação de hosts, pode-se utilizar o recurso chamado Stateless auto-configuration, que permite a geração automática do ID do host baseado em seu endereço físico (MAC-Address).
O Guia Didático de Endereçamento IPv6, distribuído gratuitamente pelo NIC.BR, nos dá uma boa noção da estrutura de um endereço IPv6 e de como ele pode ser dividido. Confira na figura abaixo:
Cada posição em hexadecimal representa 16 combinações, mas é possível segmentar a rede em blocos menores do que um múltiplo de 4 bits tomando-se “bits emprestados” da porção de host (um jargão bem conhecido em redes IPv4). Vamos ver como isto funciona:
Cada símbolo hexadecimal possui 4 bits que permitem escrever qualquer valor entre 0 (0000) e F (1111).Cada bit que compõe um símbolo hexa possui um determinado valor posicional (23, 22, 21 e 20 ou 8, 4, 2 e 1 respectivamente). Quando aumentamos tamanho do prefixo da rede avançando sobre os bits de host estamos criando blocos IP menores.

Se, a partir de um prefixo /32 pegarmos um bit emprestado (o mais a esquerda, que neste caso vale 8 ) dividimos o bloco em duas redes /33 conforme a figura abaixo:
Se, a partir deste mesmo bloco, pegarmos dois bits emprestados (que valem 8 e 4) teremos 4 combinações possíveis:

Continuando com o mesmo raciocínio, ao pegarmos 3 bits emprestados (com os valores posicionais 8, 4 e 2) teremos 23 blocos possíveis (8 sub-redes)

Se pegarmos mais um bit emprestado, (o que vale 1), estaremos utilizando todos os bits do primeiro símbolo hexa a direita do bloco /32 original e teremos 16 sub-redes diferentes (24) variando de 0 a F:

Dica: Para saber a variação de cada bloco IPv6 num determinado caracter hexa, verifique o valor posicional do último bit emprestado (que será sempre 8, 4, 2 ou 1)
E se quisermos uma quantidade maior de sub-redes ? Digamos, 50 blocos diferentes ? Com 6 bits conseguimos 64 blocos conforme a figura abaixo:

Quando usamos uma grande quantidade de bits para su-dividir nossos prefixos, torna-se dificil visualiza-los, tanto em binário quanto em hexa decimal, neste último exemplo, vemos um /35 dividido em mais de um milhão de blocos /55, com 20 bits emprestados:
Eu ministrei uma video-aula sobre este assunto utilizando os slides acima e a mesma pode ser visualiada no link abaixo:
http://www.wiziq.com/online-class/587274-workshop-ipv6
Dúvidas, críticas e sugestões são sempre muito bem-vindas !!!
Até o próximo post.



Não achei uma matéria que explicasse tão bem quanto essa.
Muito boa. Mas minha dúvida seria como configurar uma rede IPV6 equivalente a uma IPV4 /30. Como se houvesse a possibilidade de ter apenas dois endereços para host, um pra rede e outro para broadcast.
Tenho uma outra dúvida sobre quais são os endereços reservados para redes LAN e WAN, ou se não existe isso no IPV6. Até porque como entendi que pode ser baseado no endereço físico(MAC).
Outra dúvida seria se para uma comunicação IPV6 entre dois roteadores por exemplo, ainda seria utilizada a delimitação de apenas 2hosts como a pergunta acima.
Parabéns pela matéria, aguardo respostas.
Att. Daniel André da Silva
Olá Daniel.
Para um link ponto a ponto, entre dois roteadores ou hosts, você pode usar um /127. Lembre-se que no IPv6 não há endereço de broadcast ou de rede, então basta 1 bit. Não são precisos 2, como no IPv4. O uso do /127 é particularmente recomendado em links ponto a ponto entre roteadores, para evitar a possibilidade de ataques do tipo ping-pong.
Para uma rede com hosts sempre se usa um /64, independentemente de serem 2, 10 ou 1000. Você mesmo citou o porquê em sua pergunta. Os hosts podem definir automaticamente alguns bits do endereço que vão usar baseando-se no MAC address. E o MAC address, conforme a tecnologia usada, pode ter até 64 bits.
Não há endereços reservados para LAN e WAN nem no IPv4, nem no IPv6. Talvez você esteja pensando, em relação ao IPv4, nos endereços privados, aqueles da RFC1918 (como o 10.0.0.0/8, por exemplo). Esses seriam o que você imagina como reservados para LAN? Bom, se for o caso, não são! Eles são usados em conjunto com o NAT porque sozinhos não funcionam na Internet. Não são roteáveis. Diz-se que não são válidos na Internet. Devido ao esgotamento dos endereços tornou-se prática usar esses endereços privados em conjunto com o NAT em redes corporativas, mas nada nos obriga a fazer isso. Algumas empresas e, de forma particular, muitas universidades, usam endereços IPv4 válidos na Internet mesmo nas LANs. No IPv6 não há NAT. Até existem endereços privados, mas são usados apenas em casos muito específicos. O normal é usar endereços globais (esse é o nome dos endereços válidos na Internet, roteáveis, no IPv6) para tudo.
Mto boa a matéria, mas nao compreendi muito bem o cálculo para 50 sub redes, Obrigado
Show de bola.
Parabéns pelo material