Criar sub-redes com IPv6 segue a mesma lógica que subnetar redes com IPv4, a dificuldade maior é lidar com o hexadecimal e com a quantidade gigantesca de sub-redes e hosts disponíveis.
Vou usar um exercício que foi dado no curso para a certificação CCNA, que estou fazendo, e que me ajudou a entender a resolver problemas com IPv6.
1. Problema
Dividir a sub-rede 2005:AB:28::/56 em 8 sub-redes.
2. Entendendo onde o /56 termina
O endereço completo é: 2005:00AB:0028:0000:0000:0000:0000:0000/56
Cada bloco de 4 dígitos hexadecimal possui 16 bits.
3 hextetos = 48 bits
- 2005 = bits 1 a 16
- 00AB = bits 17 a 32
- 0028 = bits 33 a 48
O 56º bit (/56) está no 4º hexteto, entre os bits 49 e 64
4º hexteto: 1111 1111 0000 0000
o 8 bit ligado, do 4º hexteto, é o bit 56
3. Pegando os bits para as 8 sub-redes
Para criar 8 sub-redes precisamos pegar 3 bits dos bits dos hosts e somá-los aos bits de sub-redes, porque 2^3=8
Assim, o 4º hexteto vai ficar:
1111 1111 1110 0000
e a máscara de rede vai passar de /56 para /59 (48 bits dos 3 primeiros hextetos + 11 bits do 4 hexteto)
4. Calculando o salto entre as sub-redes
Como no 4º hexteto, dos 16 bits, 11 estão reservados para a sub-rede, sobraram 5 bits para hosts nesse hexteto.
Como 2^5=32, o salto entre as sub-redes será de 32. Mas precisamos converter esse número, que está em decimal, para hexadecimal.
5. Convertendo 32 decimal para hexadecimal
Para converter 32 para hexadecimal é preciso, primeiro, converter 32 para binário usando o valor posicional dos bits, ligando cada bit até atingir a soma do decimal desejado.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Depois devemos separar os bits, usados para a conversão do valor decimal em binário, em blocos de 4 bits, porque hexadecimal é base 16 e a soma dos valores posicionais desses 4 bits permite representar 16 dígitos (0 a 15). Com os bits separados em blocos ligamos os mesmos bits e somamos os valores dentro de cada bloco. A soma dos valores dos bits ligados deve ser convertido para hexadecimal, lembrando que 10 a 15 viram A a F.
| 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Assim, como usamos 2 blocos de 4 bits para converter 32 decimal em binário, teremos um número em hexadecimal com dois dígitos
| 2 | 0 |
Portanto, 32 em decimal é 20 (dois zero) em hexadecimal, e esse é o salto entre as sub-redes, no 4º hexteto.
6. Chegando aos endereços das sub-redes
Aplicando esse resultado, os valores no 4º hexteto, referentes à 8 sub-redes, serão: 0x00 (0), 0x20 (32), 0x40 (64), 0x60 (96), 0x80 (128), 0xA0 (160), 0xC0 (192), 0xE0 (224).
Portanto, as 8 sub-redes são:
- 2005:AB:28::/59 (2005:AB:28:0::/59)
- 2005:AB:28:20::/59
- 2005:AB:28:40::/59
- 2005:AB:28:60::/59
- 2005:AB:28:80::/59
- 2005:AB:28:A0::/59
- 2005:AB:28:C0::/59
- 2005:AB:28:E0::/59