Saltar para o conteúdo
ipaddress.fi

IPv6 explicado

128 bits, escritos em hexadecimal, com espaço para todos os dispositivos que alguma vez se vão ligar. Eis como os ler.

Consultar um endereço IPv6

Porque existe o IPv6

O IPv6 (RFC 8200) foi concebido nos anos 90, quando se tornou claro que os 4,3 mil milhões de endereços do IPv4 se iam esgotar. Um endereço IPv6 tem 128 bits: 2¹²⁸, ou cerca de 3,4 × 10³⁸ endereços. O objetivo não é o número enorme em si, mas que cada rede possa ter todo o espaço de que precisa e que cada dispositivo volte a ter um endereço alcançável globalmente – sem NAT.

O IPv6 não é uma atualização do IPv4; os dois protocolos funcionam lado a lado (dual-stack). Hoje, uma parte grande e crescente do tráfego para os grandes serviços passa por IPv6, sobretudo nas redes móveis. O grau de adoção varia entre operadores e contratos, e muitas ligações domésticas ainda só têm IPv4.

Notação: grupos hexadecimais

Um endereço IPv6 escreve-se como oito grupos de quatro dígitos hexadecimais, separados por dois pontos:

2001:0db8:0000:0000:0000:ff00:0042:8329

Cada grupo tem 16 bits. Os dígitos hexadecimais vão de 0–9 e a–f; maiúsculas e minúsculas significam o mesmo, mas a convenção é usar minúsculas.

Regras de compressão

Sequências longas de zeros são comuns, por isso há duas regras para encurtar o endereço (RFC 4291), e o RFC 5952 define a única forma correta de as aplicar:

  1. Retirar os zeros à esquerda de cada grupo: 0db8 → db8, 0042 → 42, 0000 → 0.
  2. Substituir uma sequência de grupos a zero por :: – a sequência mais longa, a primeira se duas tiverem o mesmo comprimento, e só se abranger pelo menos dois grupos. :: só pode aparecer uma vez; caso contrário, o endereço fica ambíguo.

Assim, 2001:0db8:0000:0000:0000:ff00:0042:8329 passa a 2001:db8::ff00:42:8329. O endereço de loopback 0:0:0:0:0:0:0:1 escreve-se ::1, e o endereço não especificado é apenas ::.

Experimente qualquer endereço na ferramenta abaixo – mostra a forma expandida e a canónica lado a lado.

Expandido

2001
encaminhamento
0db8
encaminhamento
0000
encaminhamento
0000
sub-rede
0000
interface
ff00
interface
0042
interface
8329
interface

Comprimido

2001:db8::ff00:42:8329

Âmbito: Uso especial · Documentation (2001:db8::/32)

Prefixos e /64

O IPv6 usa a notação CIDR tal como o IPv4. Um endereço unicast global típico divide-se em:

  • Prefixo de encaminhamento (normalmente /48 ou /56) – atribuído a um local pelo fornecedor.
  • ID de sub-rede – os bits até /64, que numeram as redes do local. Um /48 comporta 65 536 sub-redes.
  • Identificador de interface (os últimos 64 bits) – identifica o dispositivo na sua rede.

Uma rede local é quase sempre um /64. A configuração automática de endereços (SLAAC) depende disso: os dispositivos escolhem os seus próprios identificadores de interface, hoje aleatórios por razões de privacidade (RFC 8981), e mudam-nos regularmente.

Tipos de endereço que vai encontrar

  • Unicast global 2000::/3 – endereços públicos e encaminháveis.
  • Ligação local fe80::/10 – todas as interfaces IPv6 têm um; só vale na ligação local e é usado na descoberta de vizinhos e em protocolos de encaminhamento.
  • Local único fc00::/7 (na prática fd00::/8) – o equivalente IPv6 dos endereços privados (RFC 4193).
  • Multicast ff00::/8 – o IPv6 não tem broadcast; os grupos multicast substituem-no.
  • Loopback ::1 e não especificado ::.
  • Mapeado para IPv4 ::ffff:0:0/96 – é assim que os programas IPv6 representam interlocutores IPv4, por exemplo ::ffff:192.0.2.1.
  • Documentação 2001:db8::/32 e 3fff::/20 – para exemplos como os desta página.

Blocos IPv6 para fins especiais

A lista completa de blocos IPv6 reservados, gerada a partir do registo da IANA que a classificação deste site usa:

BlocoFinalidadeReferênciaAcessível globalmente
::/128Unspecified AddressRFC 4291Não
::1/128Loopback AddressRFC 4291Não
::ffff:0:0/96IPv4-mapped AddressRFC 4291Não
64:ff9b::/96IPv4-IPv6 Translation (NAT64)RFC 6052Sim
64:ff9b:1::/48Local-use IPv4/IPv6 TranslationRFC 8215Não
100::/64Discard-Only Address BlockRFC 6666Não
2001::/32TEREDORFC 4380Não
2001:2::/48BenchmarkingRFC 5180Não
2001:db8::/32DocumentationRFC 3849Não
2001:10::/28Deprecated (ORCHID)RFC 4843Não
2001:20::/28ORCHIDv2RFC 7343Sim
2002::/166to4RFC 3056Não
3fff::/20DocumentationRFC 9637Não
5f00::/16Segment Routing (SRv6) SIDsRFC 9602Não
fc00::/7Unique-LocalRFC 4193Não
fe80::/10Link-Local UnicastRFC 4291Não
ff00::/8MulticastRFC 4291Não

Dual-stack e como o site encontra os dois endereços

Um navegador liga-se por uma família de endereços de cada vez. Quando ambas funcionam, prefere normalmente o IPv6 (Happy Eyeballs, RFC 8305). Para mostrar os dois endereços, o ipaddress.fi faz o seu navegador consultar dois nomes de anfitrião adicionais: um que só tem registo IPv4 (A) e outro que só tem registo IPv6 (AAAA). O que cada um vê é o seu endereço nessa família. Se o pedido IPv6 falhar, a sua ligação não tem IPv6 funcional.

Perguntas frequentes

Como sei se tenho IPv6?
Abra a página inicial ou o teste de IPv6 deste site. Se aparecer um endereço IPv6 – como endereço principal ou na linha IPv6 –, a sua ligação suporta IPv6.
O IPv6 é mais rápido do que o IPv4?
Não por si só, mas pode sê-lo: o tráfego IPv6 evita muitas vezes o CGNAT do operador, o que elimina um passo e um ponto de estrangulamento que tem de acompanhar cada ligação.
Continuo a precisar de firewall com IPv6?
Sim. Sem NAT, os dispositivos têm endereços encaminháveis globalmente; uma firewall com estado que bloqueie o tráfego de entrada indesejado dá a proteção que o NAT dava indiretamente.
Porque é que o meu endereço IPv6 muda constantemente?
As extensões de privacidade (RFC 8981) criam identificadores de interface temporários que vão sendo substituídos, para que o endereço não sirva para seguir o seu dispositivo entre redes. O prefixo /64 costuma manter-se.