IPv6 — O Protocolo do Futuro
O IPv4 está esgotado. O IPv6 resolve isso com um espaço de endereços praticamente infinito — e traz mudanças arquiteturais importantes que todo profissional de redes precisa conhecer.
1. Por que o IPv6 existe?
O IPv4 usa endereços de 32 bits, permitindo cerca de 4,3 bilhões de endereços únicos. Quando o protocolo foi criado nos anos 1970, isso parecia mais do que suficiente. Hoje, com bilhões de smartphones, servidores, câmeras, IoT e carros conectados, os blocos acabaram.
O IPv6 resolve isso usando endereços de 128 bits, o que dá 340 undecilhões de endereços (3,4 × 10³⁸). Dá para atribuir bilhões de endereços para cada ser humano, cada sensor e cada dispositivo já fabricado — e ainda sobraria.
IPv4
- 32 bits
- ~4,3 bilhões de endereços
- Notação decimal com pontos
- Requer NAT em redes privadas
- Header complexo (variável)
IPv6
- 128 bits
- 340 undecilhões de endereços
- Notação hexadecimal com dois-pontos
- Endereços públicos para todos
- Header fixo (40 bytes) + extensões
2. Formato do Endereço IPv6
Um endereço IPv6 tem 128 bits, representados como oito grupos de quatro dígitos hexadecimais separados por dois-pontos:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Regras de abreviação
Dois atalhos são permitidos para encurtar endereços:
- Zeros à esquerda em cada grupo podem ser omitidos:
2001:0db8:0001:0000:0000:0000:0000:0001
vira:2001:db8:1:0:0:0:0:1 - Grupos consecutivos de zeros podem ser substituídos por
::(apenas uma vez):
2001:db8:1:0:0:0:0:1
vira:2001:db8:1::1
::: Ele pode ser usado apenas uma vez no endereço. Se usado duas vezes, fica ambíguo — o computador não saberia quantos zeros substituir em cada lado.
Exemplos de abreviação
| Completo | Abreviado |
|---|---|
2001:0db8:0000:0000:0000:0000:0000:0001 | 2001:db8::1 |
fe80:0000:0000:0000:02aa:00ff:fe3c:1234 | fe80::2aa:ff:fe3c:1234 |
0000:0000:0000:0000:0000:0000:0000:0001 | ::1 (loopback) |
0000:0000:0000:0000:0000:0000:0000:0000 | :: (não especificado) |
ff02:0000:0000:0000:0000:0000:0000:0001 | ff02::1 |
Prefixo e interface ID
Assim como o IPv4 usa máscara de sub-rede, o IPv6 usa notação CIDR. Os primeiros bits formam o prefixo de rede; os demais identificam a interface:
2001:db8:abcd:0012 | 0000:0000:0000:0001/64
↑ prefixo (64 bits) ↑ Interface ID (64 bits)O /64 é o prefixo mais comum em redes locais. O Interface ID de 64 bits pode ser gerado aleatoriamente (RFC 4941) ou derivado do MAC via EUI-64.
3. Tipos de Endereço IPv6
IPv6 elimina o conceito de broadcast. Em vez disso, usa três categorias:
Unicast
Identifica uma única interface. O pacote vai de um emissor para um receptor.
Multicast
Identifica um grupo de interfaces. O pacote é entregue a todas do grupo. Prefixo: ff00::/8.
Anycast
Atribuído a várias interfaces; o pacote é entregue à mais próxima (topologicamente). Usado em DNS raiz, CDNs.
Endereços Unicast importantes
| Tipo | Prefixo | Uso |
|---|---|---|
| Global Unicast | 2000::/3 | Equivalente a IPs públicos IPv4. Roteável na Internet. |
| Link-Local | fe80::/10 | Automático em toda interface. Só válido no link local (não é roteado). |
| Unique Local | fc00::/7 | Equivalente ao 192.168.x.x. Uso privado, não roteável na Internet. |
| Loopback | ::1/128 | Equivalente ao 127.0.0.1 do IPv4. |
| Não especificado | ::/128 | Equivalente ao 0.0.0.0. Indica "sem endereço". |
| IPv4-mapeado | ::ffff:0:0/96 | Representa endereços IPv4 dentro do espaço IPv6. |
| 6to4 | 2002::/16 | Encapsulamento automático de IPv6 em IPv4 (legacy). |
| Teredo | 2001::/32 | Tunelamento IPv6 sobre UDP/IPv4 para NAT traversal (legacy). |
4. Header IPv6 — Mais Simples que o IPv4
O header IPv6 tem tamanho fixo de 40 bytes, com apenas 8 campos (o IPv4 tem 14 campos de tamanho variável). Isso facilita o processamento nos roteadores.
| Campo | Bits | Descrição |
|---|---|---|
| Version | 4 | Sempre 6 para IPv6. |
| Traffic Class | 8 | Equivalente ao DSCP/ToS do IPv4. Qualidade de serviço. |
| Flow Label | 20 | Identifica fluxos de pacotes para QoS. Novo no IPv6. |
| Payload Length | 16 | Tamanho dos dados (sem contar o header fixo). |
| Next Header | 8 | Tipo do próximo header (TCP=6, UDP=17, ICMPv6=58) ou header de extensão. |
| Hop Limit | 8 | Equivalente ao TTL do IPv4. Decrementado a cada roteador. |
| Source Address | 128 | Endereço IPv6 de origem. |
| Destination Address | 128 | Endereço IPv6 de destino. |
Extension Headers
O IPv6 usa headers de extensão encadeados para funcionalidades opcionais: fragmentação, roteamento de origem, autenticação (IPsec AH), encriptação (IPsec ESP) e hop-by-hop options. Só são processados pelos nós que precisam, não por todos os roteadores no caminho.
5. Autoconfiguração — SLAAC e DHCPv6
Uma das grandes vantagens do IPv6 é que os dispositivos podem se configurar automaticamente, sem precisar de um servidor DHCP.
SLAAC — Stateless Address Autoconfiguration (RFC 4862)
Processo automático em 4 etapas:
- Link-Local automático: A interface gera um endereço
fe80::/10usando EUI-64 ou aleatório. - DAD (Duplicate Address Detection): Envia um Neighbor Solicitation para confirmar que o endereço não está em uso.
- Router Solicitation: Pergunta aos roteadores do link quais prefixos estão disponíveis.
- Router Advertisement: O roteador responde com o prefixo da rede (ex:
2001:db8::/64). O host concatena o prefixo com seu Interface ID gerado localmente.
DHCPv6
Funciona de forma parecida com o DHCP do IPv4, mas em IPv6 o roteador pode sinalizar no Router Advertisement se o host deve usar SLAAC, DHCPv6, ou ambos (flags M e O). O DHCPv6 stateful atribui endereços centralmente; o stateless apenas fornece configurações extras como DNS.
6. Convivência e Migração IPv4/IPv6
Como o IPv4 não vai desaparecer do dia para a noite, há mecanismos de transição:
Dual Stack
O método mais simples e recomendado: o dispositivo roda IPv4 e IPv6 simultaneamente. Quando o destino suporta ambos, prefere-se IPv6. A maioria dos sistemas operacionais modernos já é dual stack por padrão.
Tunneling
Pacotes IPv6 são encapsulados dentro de pacotes IPv4 para atravessar redes que ainda são só IPv4. Exemplos: 6in4, 6to4 (2002::/16), Teredo (2001::/32), ISATAP. Hoje são considerados legados e devem ser evitados em novas implantações.
NAT64 + DNS64
Permite que hosts IPv6-only se comuniquem com servidores IPv4-only. O DNS64 sintetiza registros AAAA falsos para IPs IPv4 e o NAT64 faz a tradução de protocolo na borda da rede. Usado por operadoras móveis que já são IPv6-only.
| Mecanismo | Quando usar | Complexidade |
|---|---|---|
| Dual Stack | Sempre que possível — padrão recomendado | Baixa |
| 6in4 / GRE | Conectar ilhas IPv6 via backbone IPv4 | Média |
| Teredo / 6to4 | Legacy — evitar em novas redes | Alta (instável) |
| NAT64 + DNS64 | Redes só-IPv6 que precisam alcançar IPv4 | Média-Alta |
| 464XLAT | Dispositivos legados em redes IPv6-only | Alta |