Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

05 - Comparação IPv4 vs IPv6

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Comparação IPv4 vs IPv6

O IPv6 foi criado para resolver a exaustão de endereços do IPv4 e para modernizar o protocolo de rede, tornando o roteamento na Internet global mais eficiente. Esta seção compara detalhadamente os dois cabeçalhos, identifica os campos que foram removidos, os novos campos adicionados e o impacto dessas mudanças no processamento dos roteadores.


1. Principais Diferenças Técnicas

Característica IPv4 IPv6
RFC RFC 791 (1981) RFC 8200 (2017)
Endereçamento 32 bits (4,2 bilhões de endereços) 128 bits (3,4 × 1038 endereços)
Tamanho do cabeçalho Variável (20 a 60 bytes) Fixo (40 bytes)
Checksum no header Sim (verificado a cada salto) Não (removido para agilizar roteamento)
Fragmentação Feita por roteadores intermediários Feita apenas pelo emissor original
Campos de fragmentação Identification, Flags, Fragment Offset Movidos para Extension Header (Fragment)
Options no header Embutidas no cabeçalho principal Movidas para Extension Headers
Segurança (IPsec) Opcional (introduzido a posteriori) Nativo (especificação original)
Configuração Manual ou DHCP SLAAC (RFC 4862) ou DHCPv6
Broadcast Sim Abolido (multicast/anycast)
Field Type (EtherType) 0x0800 0x86DD
MTU mínimo 576 bytes 1280 bytes
ICMP ICMPv4 (RFC 792) ICMPv6 (RFC 4443), integrado ao ND

2. Cabeçalho IPv4 — Visão Geral

O cabeçalho IPv4 tem tamanho variável (mínimo 20 bytes), exigindo que roteadores leiam o campo IHL (Internet Header Length) para saber onde começa o payload:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  |    DSCP       |ECN|     Total Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|   Fragment Offset       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  TTL  |    Protocol           |     Header Checksum          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Options (0 a 40 bytes)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Total: 20 a 60 bytes. O campo Options é raramente usado, mas quando presente, força cada roteador intermediário a processá-lo em software (slow path), penalizando a performance.


3. Cabeçalho IPv6 — Visão Geral

O cabeçalho IPv6 tem tamanho fixo de 40 bytes, sem Options inline. Quaisquer informações adicionais são encadeadas em Extension Headers:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class |           Flow Label (20 bits)        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Payload Length (16 bits)     | Next Header |   Hop Limit     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Source Address (128 bits)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Destination Address (128 bits)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Total: 40 bytes fixos. A ausência de Options no header principal permite que roteadores façam lookup em ASIC sem slow-path.


4. Campos Removidos do Cabeçalho IPv6

A RFC 8200 removeu 5 campos do cabeçalho principal, transferindo funcionalidade ou eliminando-a:

Campo Removido Função em IPv4 Destino em IPv6
IHL (Internet Header Length) Indicar tamanho variável do header (4 bits) Eliminado — header é sempre 40 bytes
Identification Identificar fragmentos do mesmo datagrama original Movido para Fragment Extension Header (RFC 8200 seção 4.5)
Flags DF (Don't Fragment), MF (More Fragments), Reserved DF/MF movidos para Fragment Extension Header
Fragment Offset Posição do fragmento no datagrama original Movido para Fragment Extension Header
Header Checksum Verificação de integridade do header a cada salto Eliminado — checksum é responsabilidade das camadas L2 (FCS Ethernet) e L4 (TCP/UDP checksum com pseudo-header)

Justificativa para a Remoção do Checksum

Em IPv4, cada roteador precisa recalcular o Header Checksum porque o TTL decrementa a cada salto. Esse cálculo é caro em ASIC, especialmente com tamanhos variáveis. Em IPv6, eliminou-se esse cálculo:

  • A integridade L2 é garantida pelo FCS (Frame Check Sequence) do Ethernet (CRC-32).
  • A integridade L4 é garantida pelo checksum TCP/UDP (com pseudo-header incluindo endereços IP).
  • Confiabilidade de enlace moderno é altíssima — retransmissões raramente são causadas por corrupção de bits no cabeçalho.

Justificativa para Eliminar Fragmentação Intermediária

Em IPv4, se um roteador recebe um pacote maior que o MTU do próximo enlace, ele fragmenta — gerando overhead em roteadores de núcleo. Em IPv6:

  • A origem faz Path MTU Discovery (PMTUD, RFC 8201) usando ICMPv6 Packet Too Big.
  • A origem fragmenta o payload em pacotes menores antes de enviar.
  • Roteadores intermediários não fragmentam — se receberem pacote maior que MTU, descartam e enviam ICMPv6 Packet Too Big para a origem.

Isso reduz drasticamente o trabalho dos roteadores de núcleo e desloca a complexidade para os endpoints — coerente com o Princípio End-to-End.


5. Novo Campo: Flow Label

O IPv6 introduziu o campo Flow Label (20 bits), ausente em IPv4:

|Version| Traffic Class |       Flow Label (20 bits)            |

Função

Permite identificar rapidamente, no hardware de roteadores, todos os pacotes pertencentes ao mesmo fluxo (ex.: uma chamada VoIP, um stream de vídeo, uma conexão TCP) — sem precisar inspecionar o conteúdo do payload L4.

Vantagens

  • QoS em hardware: o roteador aplica fila/precedência baseada no Flow Label, sem parsear cabeçalhos TCP/UDP.
  • Equal-Cost Multipath (ECMP): permite que fluxos sigam o mesmo caminho (evita reordering em links paralelos), mantendo consistência.
  • Pseudo-header TCP/UDP: o Flow Label faz parte do pseudo-header para o cálculo de checksum L4.

Valores

  • 0x00000: pacote não pertence a nenhum fluxo específico.
  • Qualquer outro valor: identifica um fluxo — a fonte gera um número pseudoaleatório de 20 bits e usa-o para todos os pacotes da mesma conversa.

6. Extension Headers

Em IPv6, informações opcionais (Options) são organizadas em cadeia de cabeçalhos adicionais, lidos somente quando necessário. Cada Extension Header tem um campo "Next Header" que aponta para o próximo:

[IPv6 Header (40B)] -> [Hop-by-Hop] -> [Routing] -> [Fragment] -> [TCP]
    Next Header = 0      Next = 43      Next = 44     Next = 6
Next Header Value Tipo Processado por
0 Hop-by-Hop Options Todos os roteadores no caminho
43 Routing Apenas pelo destino
44 Fragment Apenas pelo destino (e origem)
50 Encapsulating Security Payload (ESP) Apenas pelo destino
51 Authentication Header (AH) Apenas pelo destino
59 No Next Header Fim da cadeia
60 Destination Options Apenas pelo destino

Implicações operacionais: roteadores de núcleo só precisam processar Hop-by-Hop (raro em tráfego normal) — ganho de performance massivo em comparação a IPv4 Options inline. Firewalls frequentemente descartam pacotes com Extension Headers não padrão (sobretudo Hop-by-Hop e Routing), por risco de DoS e evasão. A RFC 7872 documenta que ~30% da Internet já dropava pacotes com Extension Headers não padrão em 2016 — recomenda-se evitar Hop-by-Hop em tráfego regular.


7. Comparação de Tamanho: Caso Prático

Para um pacote TCP sem opções em ambos: IPv4 = 20 bytes header + 20 bytes TCP = 40 bytes; IPv6 = 40 bytes header + 20 bytes TCP = 60 bytes. IPv6 é 50% maior em overhead. Porém, em links de alta velocidade (10 Gbps+), o overhead relativo é irrelevante (1,5% da MTU de 1500), e o ganho em performance de processamento compensa amplamente. Para pacotes IPsec ESP (túnel), a diferença é maior (~28 vs ~48 bytes) — em tráfego VPN concentrado, o overhead de IPv6 pode chegar a 15%.


8. Coexistência e Transição

Como a virada de chave de IPv4 para IPv6 não acontece de uma hora para a outra, a rede utiliza técnicas de transição:

  • Dual Stack (RFC 4213): host e roteador rodam os dois protocolos simultaneamente; cada conexão decide qual versão usar (Happy Eyeballs, RFC 8305).
  • Tunelamento 6to4 (RFC 3056) / Teredo (RFC 4380) / 6rd (RFC 5969): pacotes IPv6 encapsulados em IPv4 para atravessar redes IPv4-only (6rd usa prefixo próprio do ISP; Teredo usa UDP para hosts atrás de NAT).
  • DS-Lite (RFC 6333): cliente IPv6-only acessa IPv4 via NAT44 no ISP.
  • 464XLAT (RFC 6877): tradução IPv4-over-IPv6 — usado em redes móveis 4G/5G.
  • NAT64 + DNS64 (RFC 6146/6147): IPv6-only acessa serviços IPv4 via tradução na borda.
Important

A grande vantagem do IPv6 em Cyber Security é o fim da necessidade do NAT (Network Address Translation). Cada dispositivo tem IP público global, permitindo IPsec de ponta a ponta sem as complicações de tradução de endereços. Porém, sem NAT, hosts ficam diretamente alcançáveis, exigindo firewall stateful real em vez de confiar no NAT como "segurança por obscuridade".


9. Tabela Resumo — Evolução dos Campos

Campo IPv4 Ação Em IPv6
Version Mantido Version=6 (mesmo campo)
IHL Removido Cabeçalho fixo de 40 bytes
DSCP+ECN (TOS) Mantido Traffic Class (8 bits)
Total Length Mantido Payload Length (sem header 40B)
Identification Movido Fragment Extension Header
Flags (DF, MF) Movido Fragment Extension Header
Fragment Offset Movido Fragment Extension Header
TTL Mantido Hop Limit (mesma semântica)
Protocol Mantido Next Header
Header Checksum Removido Eliminado (responsabilidade L2+L4)
Source/Dest Addr Ampliado 128 bits cada
Options Movido Extension Headers em cadeia
(não existia) Novo Flow Label (20 bits)

10. Conclusão

A comparação IPv4 vs IPv6 mostra um redesenho consciente: o cabeçalho principal foi simplificado e fixado em 40 bytes para acelerar o processamento em ASIC, enquanto funcionalidades opcionais foram modularizadas em Extension Headers. A remoção do Header Checksum e da fragmentação intermediária reflete o amadurecimento das redes físicas e a adesão estrita ao Princípio End-to-End. O novo campo Flow Label habilita QoS em hardware sem inspeção L4. Apesar do overhead de 20 bytes extras por pacote, o ganho em performance de roteamento, segurança nativa (IPsec) e eliminação do NAT compensam amplamente. A transição segue em curso: mais de 45% do tráfego do Google já é IPv6, mas a coexistência com IPv4 continuará por décadas.