Aula 11 — O protocolo que sucede o IPv4: endereços de 128 bits, cabeçalho simplificado, autoconfiguração nativa e mecanismos de migração em coexistência com redes legadas
128bits por endereço
3,4×10³⁸endereços possíveis
8grupos de 16 bits
40 Bcabeçalho fixo
RFC 2460publicado em 1998
🚨 Por que o IPv6 foi criado?
O IPv4, com apenas 32 bits e ~4,3 bilhões de endereços, estava se esgotando. A IANA distribuiu seu último bloco em fevereiro de 2011. Apesar do NAT ter "esticado" a vida útil do IPv4, ele apenas mascara o problema e cria complexidade. O IPv6 resolve o esgotamento e ainda introduz melhorias estruturais.
Espaço infinito
3,4 × 10³⁸ endereços
Endereços suficientes para cada grão de areia do planeta ter trilhões de IPs. Fim do esgotamento.
Autoconfiguração
SLAAC nativo
Dispositivos configuram seu próprio endereço sem servidor DHCP, usando o prefixo anunciado pelo roteador.
Cabeçalho simplificado
40 bytes fixos
Menos campos que o IPv4. Sem checksum (delegado às camadas superiores) e sem fragmentação por roteadores.
Segurança nativa
IPsec obrigatório
O suporte a IPsec (autenticação e criptografia) é parte da especificação, não uma extensão opcional.
Multicast aprimorado
Sem broadcast
O IPv6 elimina o broadcast. Todo tráfego "para todos" é feito via multicast, reduzindo ruído na rede.
Mobilidade
Mobile IPv6
Suporte nativo à mobilidade: dispositivos mantêm o mesmo endereço ao trocar de rede (RFC 6275).
📊 Adoção atual: em 2024, o IPv6 representa mais de 45% do tráfego global medido pelo Google. Brasil e Índia lideram o crescimento. Operadoras móveis foram as primeiras a migrar em massa, pois gerenciar NAT para milhões de smartphones se tornava insustentável.
Comparativo IPv4 vs IPv6 — espaço de endereçamento e cabeçalho
IPv4 — espaço de endereços (32 bits, ~4,3 bilhões)100%
IPv6 — espaço de endereços (128 bits, 3,4×10³&sup8;)∞ (incalculavelmente maior)
IPv4 — campos no cabeçalho (14 campos, 20–60 bytes)14 campos
Um endereço IPv6 tem 128 bits representados em 8 grupos de 4 dígitos hexadecimais separados por dois-pontos. Cada grupo representa 16 bits.
Anatomia de um endereço IPv6 completo — 128 bits em 8 grupos de 16 bits
Regras de simplificação
Para facilitar a leitura, o IPv6 define duas regras de compressão:
1
Omitir zeros à esquerda em cada grupo: 0db8 → db8 | 0000 → 0 | 0370 → 370
2
Substituir um ou mais grupos de zeros consecutivos por :: (apenas uma vez por endereço): 2001:db8:0:0:0:0:0:1 → 2001:db8::1
🔍 Explorer de endereço IPv6 — expande e simplifica
Endereço de interface EUI-64
A parte de 64 bits do identificador de interface pode ser derivada automaticamente do endereço MAC (48 bits) do dispositivo usando o processo EUI-64:
1
Pega o MAC: 00:1A:2B:3C:4D:5E
2
Insere FF:FE no meio: 00:1A:2B:FF:FE:3C:4D:5E
3
Inverte o 7º bit (bit U/L): 00 → 02 (0000 0000 → 0000 0010)
4
Resultado: 021A:2BFF:FE3C:4D5E — ID de interface de 64 bits
🏷️ Tipos de Endereços IPv6
O IPv6 define três tipos básicos de endereço. Não existe broadcast no IPv6 — toda comunicação "para todos" usa multicast.
Unicast Global
2000::/3
Equivalente ao IP público IPv4. Roteável na internet. Prefixo começa com 001 em binário. Ex: 2001:db8::/32 é reservado para documentação.
Link-Local
FE80::/10
Automático em toda interface. Usado para comunicação no mesmo segmento (ex: NDP, DHCPv6). Nunca roteado para fora do link.
Loopback
::1/128
Equivalente ao 127.0.0.1 do IPv4. Endereço comprimido de 0000...0001. Tráfego retorna ao próprio host.
Multicast
FF00::/8
Grupo de múltiplos destinatários. FF02::1 = todos nós no link. FF02::2 = todos roteadores. Substitui o broadcast.
Anycast
do bloco unicast
Mesmo endereço atribuído a múltiplos nós. Pacote entregue ao mais próximo topologicamente. Usado em servidores DNS e CDNs.
Unique Local
FC00::/7
Equivalente aos endereços privados RFC 1918. Não roteável na internet. Prefixo FD mais comum. Ex: FD00::/8.
Endereços especiais importantes
Endereço
Significado
Equivalente IPv4
::1
Loopback
127.0.0.1
::
Endereço indefinido (unspecified)
0.0.0.0
FE80::/10
Link-local (todo link tem ao menos um)
169.254.0.0/16
FF02::1
Todos os nós no link
255.255.255.255 (broadcast)
FF02::2
Todos os roteadores no link
224.0.0.2
2002::/16
Prefixo para túnel 6to4
—
::ffff:0:0/96
Mapeamento IPv4 em IPv6
ex: ::ffff:192.168.1.1
📋 Cabeçalho IPv6 vs IPv4
O cabeçalho IPv6 foi reescrito do zero para ser mais simples e eficiente. Campos problemáticos do IPv4 foram removidos e funcionalidades extras foram movidas para Extension Headers opcionais.
📊 Comparação visual de cabeçalhos
IPv4 — 20 a 60 bytes
Versão (4b) | IHL (4b) | DSCP/ECN (8b)
Comprimento Total (16b)
Identificação (16b)
Flags (3b) | Deslocamento (13b)
TTL (8b) | Protocolo (8b)
Checksum do cabeçalho (16b)
Endereço de Origem (32b)
Endereço de Destino (32b)
Opções (variável, 0–40b)
IPv6 — 40 bytes fixos
Versão (4b) | Tráfego (8b) | Flow Label (20b)
Payload Length (16b) | Next Header (8b) | Hop Limit (8b)
Fragmentação → Extension Header
Fragmentação → Extension Header
Hop Limit substitui TTL ↑
Sem checksum — TCP/UDP/ICMPv6 garantem
Endereço de Origem (128b)
Endereço de Destino (128b)
Extension Headers (opcionais, encadeados)
IPv4 original
IPv6 equivalente
Removido no IPv6
Novo no IPv6
O que mudou e por quê
Sem Checksum
Eliminado do cabeçalho
No IPv4, cada roteador recalculava o checksum (TTL muda). No IPv6, TCP, UDP e ICMPv6 garantem integridade fim-a-fim. Ganho de velocidade nos roteadores.
Sem Fragmentação
Somente no host origem
Roteadores IPv6 não fragmentam pacotes. O host usa Path MTU Discovery para descobrir o MTU mínimo do caminho antes de enviar.
Flow Label
Campo novo (20 bits)
Permite que roteadores identifiquem fluxos sem abrir TCP/UDP. Essencial para QoS em tempo real (VoIP, vídeo).
Extension Headers
Cadeia de extensões
Fragmentação, routing, mobilidade e segurança são Extension Headers opcionais, encadeados após o cabeçalho fixo. Roteadores pulam o que não conhecem.
🤖 NDP e Autoconfiguração
O IPv6 substitui o ARP pelo NDP (Neighbor Discovery Protocol, RFC 4861), que usa mensagens ICMPv6 para descobrir vizinhos, roteadores e configurar endereços automaticamente.
Router Solicitation (RS)
ICMPv6 tipo 133
Host envia RS para FF02::2 (todos os roteadores) pedindo um prefixo de rede. Enviado na inicialização.
Router Advertisement (RA)
ICMPv6 tipo 134
Roteador anuncia prefixo, flags e parâmetros. Enviado periodicamente ou em resposta ao RS. Base do SLAAC.
Neighbor Solicitation (NS)
ICMPv6 tipo 135
Equivale ao ARP Request. Pergunta "quem tem este endereço IPv6?" usando multicast solicited-node.
Neighbor Advertisement (NA)
ICMPv6 tipo 136
Equivale ao ARP Reply. Responde com o endereço MAC associado ao IPv6 solicitado.
SLAAC — Autoconfiguração sem Estado
Com o SLAAC (Stateless Address Autoconfiguration), um dispositivo configura seu endereço global sem servidor DHCP:
1
Gera endereço Link-Local (FE80::/10 + EUI-64 do MAC)
2
Verifica unicidade com DAD (Duplicate Address Detection) via NS multicast
3
Envia RS para FF02::2 pedindo prefixo ao roteador
4
Recebe RA com prefixo /64 (ex: 2001:db8:1::/64)
5
Concatena prefixo + EUI-64 → endereço global completo. Pronto!
🔒 Privacidade no SLAAC: usar EUI-64 expõe o MAC do dispositivo. O RFC 4941 define Privacy Extensions: endereços temporários com parte aleatória, trocados periodicamente. Sistemas modernos (Windows, Linux, Android) usam isso por padrão.
🚧 Mecanismos de Migração
A migração de IPv4 para IPv6 é gradual. Três abordagens principais permitem coexistência durante a transição:
📍 Clique para ver cada mecanismo
O dispositivo executa IPv4 e IPv6 simultaneamente. Usa o protocolo mais adequado para cada destino. É a abordagem mais comum em redes modernas.
💻
Host
IPv4 + IPv6
→
🔀
Roteador
Dual Stack
→
→
🌐
Servidor IPv6
IPv6
→
🌐
Servidor IPv4
IPv4
✅ Vantagem: transparente para aplicações. Desvantagem: requer infraestrutura preparada para ambos os protocolos.
Pacotes IPv6 são encapsulados dentro de pacotes IPv4 para atravessar redes que não suportam IPv6. O túnel é transparente para os endpoints.
💻
Host IPv6
IPv6
→
🔀
Entrada túnel
encapsula
→
🌍
Rede IPv4
IPv6 dentro IPv4
→
🔀
Saída túnel
desencapsula
→
🖥️
Host IPv6
IPv6
📌 Tipos: 6in4 (protocolo 41), 6to4 (prefixo 2002::/16), ISATAP, Teredo (IPv6 em UDP). Usado quando o backbone IPv4 não pode ser substituído imediatamente.
Permite que hosts apenas-IPv6 se comuniquem com servidores apenas-IPv4. O DNS64 sintetiza registros AAAA a partir de registros A; o NAT64 traduz os pacotes.
📱
Cliente IPv6
somente IPv6
→
🔍
DNS64
sintetiza AAAA
→
🔄
NAT64
traduz v6↔v4
→
🖥️
Servidor IPv4
somente IPv4
📱 Muito usado por operadoras móveis: o celular recebe apenas endereço IPv6 e o NAT64 garante acesso a qualquer serviço legado IPv4. A Apple exige suporte a NAT64 em apps iOS desde 2016.
Comandos úteis para IPv6
Linux — ver endereços IPv6
ip -6 addr show
Linux — ping IPv6
ping6 ::1
Linux — rotas IPv6
ip -6 route show
Windows — ping IPv6
ping -6 ::1
Windows — config IPv6
ipconfig /all
traceroute IPv6
traceroute6 2001:db8::1
❓ Questões de Múltipla Escolha
1. Quantos bits compõem um endereço IPv6 e em quantos grupos ele é dividido na notação textual?
64 bits em 4 grupos
128 bits em 4 grupos de 32 bits
128 bits em 8 grupos de 16 bits
256 bits em 16 grupos
Um endereço IPv6 tem 128 bits divididos em 8 grupos de 16 bits cada, separados por dois-pontos e representados em hexadecimal. Exemplo: 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
2. Qual é a forma corretamente comprimida do endereço 2001:0DB8:0000:0000:0000:0000:0000:0001?
2001:DB8:0:0:0:0:0:1
2001:db8::1
2001::db8::1
2001:db8:0::1
Primeiro removemos zeros à esquerda: 2001:DB8:0:0:0:0:0:1. Depois substituímos o maior grupo contíguo de zeros por ::: 2001:db8::1. O :: só pode aparecer uma vez, por isso a opção C está errada.
3. O endereço FE80::1 pertence a qual tipo de endereço IPv6?
Unicast Global (roteável na internet)
Multicast (prefixo FF00::/8)
Unique Local (prefixo FC00::/7)
Link-Local (prefixo FE80::/10)
Endereços começando com FE80::/10 são link-local. São configurados automaticamente em toda interface IPv6 e usados para comunicação no mesmo segmento (NDP, SLAAC). Nunca são roteados para fora do link.
4. Qual afirmação sobre o cabeçalho IPv6 em comparação ao IPv4 é correta?
O IPv6 não possui checksum no cabeçalho e não permite fragmentação por roteadores
O cabeçalho IPv6 é menor que o IPv4, com apenas 20 bytes fixos
O IPv6 mantém o campo de identificação para fragmentação igual ao IPv4
O IPv6 adicionou suporte a broadcast nativo no cabeçalho
O cabeçalho IPv6 tem 40 bytes fixos (maior que os 20 do IPv4, mas muito mais simples). Sem checksum (TCP/UDP garantem integridade) e sem fragmentação por roteadores (apenas o host de origem fragmenta, via Extension Header). IPv6 também eliminou o broadcast.
5. Uma operadora móvel fornece apenas endereços IPv6 aos smartphones, mas precisa que eles acessem sites legados com somente IPv4. Qual mecanismo de migração é mais adequado?
Dual Stack no smartphone
Tunelamento 6in4
NAT64 + DNS64
6to4 com prefixo 2002::/16
NAT64 + DNS64 é o mecanismo ideal: o dispositivo tem somente IPv6, o DNS64 sintetiza registros AAAA a partir de A (para sites sem IPv6), e o NAT64 traduz pacotes IPv6↔IPv4 na fronteira da rede. Dual Stack exigiria IPv4 no cliente — mas o cliente só tem IPv6. A Apple exige suporte a NAT64 em todos os apps iOS desde 2016.
🛠️ Atividade Prática
Pratique compressão e expansão de endereços IPv6, identificação de tipos e raciocínio sobre migração.
1
Comprima os endereços IPv6 abaixo aplicando as duas regras de simplificação:
2001:0DB8:0000:0000:0000:0000:0000:0001
FE80:0000:0000:0000:020C:29FF:FE4A:1B2C
0000:0000:0000:0000:0000:0000:0000:0001
2001:0DB8:ABCD:0012:0000:0000:0000:0000
2
Identifique o tipo de cada endereço IPv6:
::1
FE80::1
FF02::1
2001:db8:cafe::10
FD00::1
3
Cenário de migração: uma empresa tem servidores internos com IPv4 (10.0.0.0/8) e quer dar acesso IPv6 a clientes móveis que possuem apenas IPv6. Qual mecanismo de migração é mais adequado? Justifique e descreva o fluxo de um pacote do cliente até o servidor.