No post passado vimos um exercício de Sub-redes em IPv4. Neste post vamos ver fazer um exercício de Sub-redes em IPv6. No momento não serão abordadas as novidades e características do IPv6. Isso será assunto para um outro post, porém recomendo a leitura do site ipv6.br para maiores informações.
Assim como no post sobre IPv4, vou primeiro propor o exercício e depois mostrar a forma que eu utilizo para chegar a resolução. Também repete-se a recomendação de experimentar outros IPs e outros CIDRs.
Mais uma vez um agradecimento especial à Professora Silvana Correa
Dado o seguinte IPv6: FDEC:0000:2390:9023:1137:7311:88D4:4D88 /44
a) Transforme o /44 para um /47.
b) Quantas sub-redes são possíveis com essa transformação?
c) Quais são as sub-redes?
Primeiramente, vamos determinar quantas sub-redes são possíveis com os CIDRs /47 que nos foi passado. A conta aqui é a mais simples possível: subtrair o maior CIDR pelo menor e depois usar o seu resultado como potência na base 2.
47 – 44 = 3
2^3 = 8 sub-redes
Chegamos ao número de 8 sub-redes possíveis com um /47. Agora vamos descobrir onde ficam esses 3 bits no nosso IP e assim saber nosso /44 e o /47.
Como o IPv6 é no formato Hexadecimal, cada número do duplo-octeto é formato por 4 bits formando assim 16 bits em um duplo-octeto.
FDEC | 0000 | 2390 | 9023 | 1137 | 7311 | 88D4 | 4D88 |
16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 |
Somando os 16 bits de cada duplo-octeto vamos chegar a conclusão que um IPv6 tem 128 bits:
FDEC | 0000 | 2390 | 9023 | 1137 | 7311 | 88D4 | 4D88 |
16 | 32 | 48 | 64 | 80 | 96 | 112 | 128 |
Com as informações que temos, chegamos a conclusão que o /44 está no terceiro duplo-octeto, mas agora vamos saber exatamente onde transformando esse duplo-octeto que está em hexadecimal em binário:
2390 (Hexadecimal)
2 = 0010
3 = 0011
9 = 1001
0 = 0000
Misturando hexadecimal com o binário para uma melhor compreensão teremos:
FDEC:0000: 2 3 9 0
FDEC:0000: (0010 0011 1001 0000)
Agora é só contar os bits da esquerda pra direita para chegar ao bit 44. Como o segundo duplo-octeto é um /32, o próximo bit é um /33, que é o primeiro bit do terceiro duplo-octeto.
2 | 3 | 9 | 0 | ||||||||||||
0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
Agora está identificado o /44 e /47. O Bits a esquerda do /44, incluindo-o, não serão modificados, pois é o prefixo de sub-rede (ficaram fixos, pois o prefixo é o endereço da rede). Os bits a direita do /47, excluindo-o, serão todos os bits 0, pois são os hosts das sub-redes. Os bits nesse intervalo serão os bits que serão modificados.
Na tabela abaixo estão os bits que serão modificados e mantidos. Os bits que serão mantidos estão na cor azul. Os bits variáveis, que será modificados, estão em vermelho.
2 | 3 | 9 | 0 | ||||||||||||
0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
Identificados os bits que sofrerão mudanças e os que vão permanecer fixo, vamos utilizar a tabela hexadecimal e ver quais números correspondem com a tabela acima.
fonte: ipv6.br
Sabemos que os 3 primeiros bits são os irão variar, o último bit não pode ser diferente de 0, logo devemos excluir todos que terminam com 1. Nos resta os seguintes números: 0, 2, 4, 6, 8, A, C e E.
0000 = 0
0010 = 2
0100 = 4
0110 = 6
1000 = 8
1010 = A
1100 = C
1110 = E
Passando isso para o IPv6, teremos as seguintes sub-redes:
FDEC:0000:2390::/47
FDEC:0000:2392::/47
FDEC:0000:2394::/47
FDEC:0000:2396::/47
FDEC:0000:2398::/47
FDEC:0000:239A::/47
FDEC:0000:239C::/47
FDEC:0000:239E::/47
Ao som de Alice Cooper – I’ll Bit Your Face Off