Continuando o post anterior sobre IPv6, vamos ver o novo endereçamento.
O grande motivador para migração do IPv4 para o IPv6 é o aumento no número de endereços disponíveis. Enquanto o IPv4 (versão em uso atualmente) permite a criação de 4.294.967.296 (2^32) de endereços, o IPv6 permitirá a criação de 340.282.366.920.938.463.463.374.607.431.768.211.456 (alguém sabe como se pronuncia este número ?!?!?!), ou 2^128.
Para ficar mais claro, com o IPv4 temos cerca de 0,7 IP para cada ser humano, e com o IPv6 temos 56 octilhões de endereços IP para cada um. Isso nos possibilitará utilizar a rede com conexão fim-a-fim, sem NAT (como era imaginado no início da Internet).
O IPv6 é composto por 8 grupos de dezesseis bits (duo-octetos), separados por : e escritos com caracteres hexadecimais (de 0 a F). Podemos utilizar caracteres minúsculos ou maiúsculo, não há diferença.
Exemplo de endereço IPv6.
2001:0DB8:AD1F:25E2:CADE:CAFE:3257:9652
A primeira impressão é que o DNS passará a ser ainda mais importante. A segunda é que quem trabalha com redes está f… Mesmo um simples ping vai exigir mais atenção.
Em alguns caso, pelo menos, podemos simplificar o endereço, usando algumas regras de contração. Podemos omitir os zeros a esquerda de cada grupo, e também representar com :: uma sequencia de zeros (apenas uma vez).
Exemplo de contração de endereço IPv6.
Endereço: 2001:0DB8:0000:0000:CADE:0000:3257:9652
Opção 1: 2001:DB8:0:0:CADE:0:3257:9652
Opção 2: 2001:DB8::CADE:0:3257:9652
Opção 3: 2001:DB8:0:0:CADE::3257:9652
Inválido: 2001:DB8::CADE::3257:9652
Usar :: mais de uma vez gera ambiguidade, já que não seria possível saber quantos grupos haveria no primeiro espaço e quantos teríamos no segundo.
Com a utilização dos : para a separação dos grupos um “problema” foi criado. Quando é necessário referenciar a porta em um acesso, é necessário “fechar” o endereço com colchetes.
Acesso a URL, usando IPv6.
http://[2001:DB8:0:4::9652]/index.html
http://[2001:0DB8:0:4::9652]:8080
Já a notação de rede continua como era no IPv4, onde temos o endereço ipv6/tamanho do prefixo.
Notação de rede.
2001:0DB8:9ABC:5678:0000:0000:0000:0000/64
Rede: 2001:0DB8:9ABC:5678
Primeiro IP: 2001:0DB8:9ABC:5678:0000:0000:0000:0000
Último IP: 2001:0DB8:9ABC:5678:FFFF:FFFF:FFFF:FFFF
Tipos de endereços IPv6
No IPv6 temos três tipos de endereçamento, como listado abaixo, e observe que não temos endereços do tipo broadcast.
-
Unicast – Assim como no IPv4, este tipo de endereçamento identifica uma única interface. Um pacote enviado para uma interface com este endereço é entregue apenas para ela.
-
Global Unicast – São similares aos IPs públicos do IPv4. Este tipo de endereço Unicast é globalmente roteável através da Internet. São representados pelos endereços 2000::/3 (2000:: até 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF).
-
Link Local – Este tipo de endereço deve existir apenas dentro de um enlace, ou seja, não deve ser roteado. Este tipo de endereço é criado automaticamente e usa o prefixo FE80::/64. Não existia no IPv4, mas para exemplificar, podemos dizer que é semelhante ao endereço APIPA.
-
Unique Local – Endereço utilizado em redes internas, e não deve ser roteado na Internet. Utiliza o prefixo FC00::/7, e fazendo um paralelo com IPv4, seria como os IPv4 privados.
-
-
Anycast – Este tipo de endereço é novo, não existia algo do tipo no IPv4, e se refere a um grupo de interfaces. Utilizado em comunicação de um-para-um de muitos. O pacote enviado para uma interface com este tipo de endereço será entregue para a interface mais próxima, que pertença ao grupo.
-
Multicast – Mesmo conceito existente no IPv4. Identifica um grupo de interfaces, e é usado na comunicação de um-para-muitos. Um pacote enviado para um endereço multicast será entregue para todas as interfaces pertencentes ao grupo.
Importante notar que uma interface pode ter mais de um tipo de endereço IPv6 associado.
Endereços especiais
-
Localhost – ::1/128 (0000:0000:0000:0000:0000:0000:0000:0001)
-
Não especificado – ::/128 (0000:0000:0000:0000:0000:0000:0000:0000)
-
IPv4 mapeado – ::FFFF:wxyz (onde wxyz é o endereço v4)
-
Documentação – 2001:db8/32 (utilizado em exemplos, como aqui neste post)
-
Multicast – FF00::/8
O conteúdo deste post foi baseado na apostila do nic.br, que pode ser baixada aqui.
Até a próxima.
Show de bola André! 🙂