Nesse segundo exercício vou utilizar o mesmo IP do primeiro exercício (pode ver clicando aqui), porém de /44 para /47 vou utilizar de /47 para /50.
Repito a informação do post anterior: vou primeiro propor o exercício e depois mostrar a forma que eu utilizo para chegar a resolução.
Mais uma vez um agradecimento especial à Professora Silvana Correa
Dado o seguinte IPv6: FDEC:0000:2390:9023:1137:7311:88D4:4D88 /47
a) Transforme o /47 para um /50.
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 /50 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.
50 – 47 = 3
2^3 = 8 sub-redes
Chegamos ao número de 8 sub-redes possíveis com um /50. Agora vamos descobrir onde ficam esses 3 bits no nosso IP e assim saber nosso /47 e o /50.
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 /47 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 47. 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 |
A partir desse ponto temos a diferença entre o post anterior. Como vamos precisar de 3 bits e encontramos o bit 47, está faltando encontrar os outros, porém esses não estão no mesmo número hexadecimal e sim no seguinte, que também está no duplo-octeto seguinte. Apesar disso tudo, a contagem dos bits continua igual:
FDEC:0000:2390: 9 0 2 3
FDEC:0000:2390: (1001 0000 0010 0011)
9 | 0 | 2 | 3 | ||||||||||||
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
Agora sim está identificado o /47 e /50. O Bits a esquerda do /47, 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 /50, 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 |
9 | 0 | 2 | 3 | ||||||||||||
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
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 no primeiro duplo-octeto os 3 primeiros bits são os que não irão variar e o último bit só pode ser 0 ou 1, logo devemos excluir todos que não entram nessa condição. Nos resta apenas os números 0 e 1.
0000 = 0
0001 = 1
No segundo duplo-octeto os 2 primeiros bits são os que irão variar e os 2 últimos ficaram fixos, como é para os hosts, ficarão 0 no endereço final. Os números que atendem essa condição são: 0, 4, 8 e C
0000 = 0
0100 = 4
1000 = 8
1100 = C
Passando isso para o IPv6, teremos as seguintes sub-redes:
FDEC:0000:2390:0000::/50
FDEC:0000:2390:4000::/50
FDEC:0000:2390:8000::/50
FDEC:0000:2390:C000::/50
FDEC:0000:2391:0000::/50
FDEC:0000:2391:4000::/50
FDEC:0000:2391:8000::/50
FDEC:0000:2391:C000::/50
Ao som de Matanza – A Arte do Insulto