🌐

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.

🕐 ~35 min 📚 6 seções 🎯 Módulo 10

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.

Esgotamento do IPv4: A IANA (autoridade global) distribuiu o último bloco /8 em fevereiro de 2011. As regiões usam NAT em larga escala para esticar o IPv4, mas isso cria complexidade, latência e impede conexões ponto a ponto reais.

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:

  1. 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
  2. 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
Regra do ::: 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

CompletoAbreviado
2001:0db8:0000:0000:0000:0000:0000:00012001:db8::1
fe80:0000:0000:0000:02aa:00ff:fe3c:1234fe80::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:0001ff02::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

TipoPrefixoUso
Global Unicast2000::/3Equivalente a IPs públicos IPv4. Roteável na Internet.
Link-Localfe80::/10Automático em toda interface. Só válido no link local (não é roteado).
Unique Localfc00::/7Equivalente ao 192.168.x.x. Uso privado, não roteável na Internet.
Loopback::1/128Equivalente ao 127.0.0.1 do IPv4.
Não especificado::/128Equivalente ao 0.0.0.0. Indica "sem endereço".
IPv4-mapeado::ffff:0:0/96Representa endereços IPv4 dentro do espaço IPv6.
6to42002::/16Encapsulamento automático de IPv6 em IPv4 (legacy).
Teredo2001::/32Tunelamento 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.

CampoBitsDescrição
Version4Sempre 6 para IPv6.
Traffic Class8Equivalente ao DSCP/ToS do IPv4. Qualidade de serviço.
Flow Label20Identifica fluxos de pacotes para QoS. Novo no IPv6.
Payload Length16Tamanho dos dados (sem contar o header fixo).
Next Header8Tipo do próximo header (TCP=6, UDP=17, ICMPv6=58) ou header de extensão.
Hop Limit8Equivalente ao TTL do IPv4. Decrementado a cada roteador.
Source Address128Endereço IPv6 de origem.
Destination Address128Endereço IPv6 de destino.
O que foi removido em relação ao IPv4: checksum do header (TCP/UDP já têm seus próprios), fragmentação no roteador (feita pela origem via Path MTU Discovery), e opções inline (movidas para Extension Headers).

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:

  1. Link-Local automático: A interface gera um endereço fe80::/10 usando EUI-64 ou aleatório.
  2. DAD (Duplicate Address Detection): Envia um Neighbor Solicitation para confirmar que o endereço não está em uso.
  3. Router Solicitation: Pergunta aos roteadores do link quais prefixos estão disponíveis.
  4. 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.
Dica: Com SLAAC puro, o host sabe seu IP e o gateway, mas não o servidor DNS. Para isso, usa-se RDNSS (DNS no Router Advertisement, RFC 8106) ou DHCPv6 stateless apenas para fornecer o DNS.

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.

MecanismoQuando usarComplexidade
Dual StackSempre que possível — padrão recomendadoBaixa
6in4 / GREConectar ilhas IPv6 via backbone IPv4Média
Teredo / 6to4Legacy — evitar em novas redesAlta (instável)
NAT64 + DNS64Redes só-IPv6 que precisam alcançar IPv4Média-Alta
464XLATDispositivos legados em redes IPv6-onlyAlta
Adoção atual: Em 2024, mais de 40% do tráfego do Google já é servido via IPv6. Brasil e Índia lideram a adoção em países emergentes. Provedores de nuvem como AWS, GCP e Azure suportam IPv6 nativamente.