Nesse artigo vamos tratar sobre como podemos escrever e interpretar os endereços IPv6, ou seja, como funciona o básico do endereçamento IPv6.
Hexadecimal para Endereçamento IPv6
Vamos começar fazendo uma revisão sobre Hexadecimal com foco em IPv6, isso porque o IPv6 é escrito usando a notação Hexadecimal!
Como já visto em posts anteriores, o endereço IPv6 possui 128 bits e é escrito em hexadecimal, diferente do IPv4 que eram 32 bits (4 conjuntos de 8 bits escritos em decimal pontuado).
Portanto, agora cada algarismo de um IPv6 pode ter os números de 0 a 9, assim como as letras de A a F, totalizando 16 algarismos, por isso o nome hexadecimal.
Veja quanto vale de A a F em decimal (você pode escrever as letras do hexadecimal tanto em maiúsculo como em minúsculo, tanto faz!):
- “A” vale 10 em decimal
- “B” vale 11 em decimal
- “C” vale 12 em decimal
- “D” vale 13 em decimal
- “E” vale 14 em decimal
- “F” vale 15 em decimal
Entendendo o Endereçamento IPv6
Antes de falar de como o endereçamento é dividido vamos ver como podemos escrever um endereço IPv6 (notação em hexadecimal) e também as partes que o compõe.
Como já vimos um endereço IPv6 não é mais escrito em Decimal e sim em Hexadecimal, isso porque seu tamanho em binário tornaria o seu tamanho de escrita em decimal uma coisa impraticável.
Como cada algarismo em hexadecimal tem 4 bits, em 128 bits temos um total de 32 algarismos hexadecimais divididos de 4 em 4, ou seja, oito conjuntos de quatro algarismos em hexadecimal separados por dois pontos “:” (não mais pelo ponto “.” como era no IPv4).
Um exemplo de IPv6 é “2000:1234:ade4:ffa0:2234:0000:0000:0012”.
Existem ainda três contrações (reduções) que podemos fazer nos endereços IPv6:
- Zero a esquerda pode ser omitido: 2000:1234:ade4:ffa0:2234:0000:0000:12
- Conjuntos de 4 zeros na mesma casa podem ser reduzidos para um zero: 2000:1234:ade4:ffa0:2234:0:0:12
- Sequências de zeros podem ser substituídas por dois conjuntos de dois pontos: 2000:1234:ade4:ffa0:2234::12
A única recomendação é que não haja ambiguidade para a terceira contração.
Para entender vamos ver um exemplo com o IP 2000:1234:ade4:0000:0000:2234:0000:12.
Se escrevermos ele com a contração 2000:1234:ade4::2234::12 nós sabemos, por visualizar o IP que deu origem, que existem dois conjuntos de 4 zeros à esquerda do 2234 e um só conjunto à direita.
No entanto, como um dispositivo (roteador ou computador) irá distinguir como ele deve completar isso na prática?
Pois se pegarmos apenas o IP contraído 2000:1234:ade4::2234::12 ele pode ser tanto 2000:1234:ade4:0000:2234:0000:0000:12 como 2000:1234:ade4:0000:0000:2234:0000:12.
Logo, essa notação é inválida, pois para o dispositivo ela é ambígua uma vez que ele não vai saber como preencher os espaços com os zeros.
Portando, o IP deveria ser escrito como “2000:1234:ade4:0:0:2234::12” ou “2000:1234:ade4::2234:0:12”.
Prefixos de Redes IPv6
Outra representação importante, a qual já foi comentada anteriormente, é a dos prefixos de rede.
No IPv6 continuamos escrevendo os endereços como no IPv4 utilizando a notação CIDR, ou seja, “endereço-IPv6/tamanho do prefixo”, onde “tamanho do prefixo” é um valor decimal que especifica a quantidade de bits contíguos à esquerda do endereço que compreendem o prefixo, ou seja, a soma dos bits uns do prefixo.
Um endereço IPv6 pode ser dividido em um Prefixo Global (Global Prefix), Subrede (subnet ID) e endereço da Interface (Interface ID).
O prefixo global normalmente é um /32, já o prefixo de subrede pode ser /48 (usuários corporativos) ou /56 a /64 (para usuários residenciais) dependendo do uso e recomendação de cada país.
Já o endereço da interface utiliza os bits restantes do prefixo, ou seja, 128 bits menos o prefixo de subrede.
Vamos a um exemplo utilizando a rede 2001:db:3000:1::/64, onde sabemos que temos 128 bits totais no endereço, porém 64 bits são utilizados para identificar a sub-rede, portanto termos:
- Prefixo 2001:db:3000:1::/64
- Prefixo global 2001:db::/32
- ID da sub-rede 3000:1
- ID de host: temos 64 bits (ou seja, 2^64= 18.446.744.073.709.551.616 endereços IP)
Da mesma maneira que mostramos no IPv4 com o CIDR e a notação em prefixos.
No IPv6 podemos fazer a agregação de várias subredes de maneira hierárquica para reduzir a quantidade de redes anunciadas pelos protocolos de roteamento.
Portanto, além de continuar valendo o conceito de subrede e a utilização de diferentes prefixos conforme a necessidade de cada rede IPv6, similar ao VLSM.
URLs e Endereços IPv6
Com relação a representação dos endereços IPv6 em URLs (Uniform Resource Locators), eles agora passam a ser representados entre colchetes.
Deste modo, não haverá ambiguidades caso seja necessário indicar o número de uma porta juntamente com a URL, por exemplo:
- http://[2001:db:3000:1::22]/index.html
- http://[2001:db:3000:1::22]:8080
Qual o Próximo Passo?
Se você gostou desse artigo e quer aprender mais sobre IP versão 6, recomendamos também a leitura do artigo abaixo:
Descobrindo Vizinhos no IPv6 com o NDP ou Neighbor Discovery Protocol
2 Responses
O DHCP gerencia o IPV6 ?
Existe uma versão de DHCP para o IPv6 chamada DHCPv6.