Calculadora CIDR / de sub-redes

Calcula o endereço de rede, o intervalo de anfitriões, as máscaras e o número de endereços de qualquer bloco IPv4 ou IPv6, e divide-o em sub-redes iguais.

Comprimento do prefixo/24
Rede
192.168.1.0/24
Endereço de rede
192.168.1.0
Endereço de difusão
192.168.1.255
Intervalo utilizável
192.168.1.1 – 192.168.1.254
Endereços utilizáveis
254
Endereços no total
256
Máscara de sub-rede
255.255.255.0
Máscara wildcard
0.0.0.255
Privada192.168.0.0/16
Dividir em

O que esta ferramenta faz

Um bloco CIDR como 192.168.1.0/24 é uma forma compacta de dar nome a um intervalo de endereços. Esta ferramenta pega num deles e responde às perguntas que daí decorrem: onde o intervalo começa e acaba, quantos endereços contém, quantos deles podem ser atribuídos a uma máquina, qual o aspeto da máscara de sub-rede, se um endereço concreto lá cai e o que se obtém ao cortá-lo em pedaços mais pequenos.

Lida com IPv4 e IPv6, e aceita um endereço de anfitrião com a mesma facilidade que um endereço de rede: cole 192.168.1.57/24 tirado diretamente do ip addr e ela dirá em que bloco esse endereço vive. É tudo aritmética feita no seu navegador: sem consultas, sem servidor, e funciona com a rede desligada.

O que significa o número depois da barra

Um endereço IPv4 tem 32 bits. O número depois da barra — o comprimento do prefixo — diz quantos desses bits identificam a rede; os restantes identificam um anfitrião dentro dela. Um /24 fixa os primeiros 24 bits e deixa 8 livres, e é por isso que contém 2^8 = 256 endereços.

192.168.1.0                           # o endereço
11000000.10101000.00000001.00000000   # os seus 32 bits
11111111.11111111.11111111.00000000   # a máscara /24: 24 uns, 8 zeros

Onde a máscara tem um um, o bit pertence à rede e é fixo para todos os endereços do bloco; onde tem um zero, o bit é livre e identifica um anfitrião. Cada bit de prefixo a mais reduz o bloco a metade. Essa relação é toda a subnetting, e vale a pena interiorizá-la em vez de decorar uma tabela:

  • /24 — 256 endereços, 254 utilizáveis. A clássica rede pequena.
  • /25 — 128 endereços, 126 utilizáveis. Meio /24.
  • /26 — 64 endereços, 62 utilizáveis.
  • /30 — 4 endereços, 2 utilizáveis. A tradicional ligação ponto a ponto.
  • /16 — 65 536 endereços. Um /24 duzentas e cinquenta e seis vezes.

Porque faltam dois endereços

Um /24 contém 256 endereços mas apenas 254 utilizáveis, porque o IPv4 gasta dois. O primeiro endereço do bloco é o endereço de rede, que dá nome ao próprio bloco e não é atribuído a nenhuma interface. O último é o endereço de difusão, que alcança todos os anfitriões da ligação de uma só vez. É daí que vem o familiar 2^n − 2.

Dois prefixos quebram essa fórmula, e a maioria das calculadoras erra em pelo menos um deles:

  • Um /31 tem dois endereços e a fórmula diz zero utilizáveis. O RFC 3021 define o /31 para ligações ponto a ponto, onde não é preciso endereço de difusão e ambos os endereços são atribuídos — um a cada extremidade. A resposta certa é 2.
  • Um /32 é um único endereço e a fórmula diz −1. Um /32 nomeia exatamente um anfitrião; é o que se escreve para um servidor isolado numa regra de firewall ou numa rota.

Esta ferramenta segue o RFC 3021 e devolve 2 e 1 nesses casos. Se outra calculadora lhe disser que um /31 não tem endereços utilizáveis, é a fórmula do manual aplicada para lá do ponto em que se sustenta.

A máscara de sub-rede e a máscara wildcard

A máscara de sub-rede é a mesma informação que o comprimento do prefixo, escrita em quatro octetos: os bits de rede são uns e os de anfitrião zeros. /24 é 255.255.255.0. Os formatos de configuração antigos querem a máscara, os mais recentes querem o prefixo, e são intercambiáveis.

A máscara wildcard é a máscara de sub-rede invertida — 0.0.0.255 para um /24. As listas de acesso da Cisco e as instruções network do OSPF escrevem-se com ela, e a inversão engana com frequência suficiente para valer a pena dizê-lo com clareza: numa máscara wildcard, um bit a zero significa «tem de coincidir» e um bit a um significa «não interessa», ou seja, o contrário de uma máscara de sub-rede.

O IPv6 é a mesma ideia com menos exceções

Os endereços IPv6 têm 128 bits em vez de 32, e o prefixo funciona de forma idêntica — um /64 fixa os primeiros 64 bits. A aritmética é a mesma; o que muda é que desaparecem duas complicações do IPv4.

  • Não há endereço de difusão. O IPv6 substituiu a difusão por multidifusão, por isso nada fica reservado no fim de um prefixo.
  • Também nada fica reservado no início, pelo que todo endereço do bloco é atribuível e a contagem de utilizáveis é igual ao total. (O endereço só de zeros de uma sub-rede é o endereço anycast do encaminhador de sub-rede, uma convenção de encaminhamento e não um buraco no intervalo.)
  • Não há máscara de sub-rede em notação por pontos. O IPv6 escreve-se sempre como comprimento de prefixo; uma máscara de 128 bits em texto seria ilegível e ninguém a pede.

Um /64 é o tamanho padrão para uma única ligação, porque a autoconfiguração de endereços sem estado espera 64 bits de anfitrião. A um sítio é normalmente atribuído um /48 ou um /56, depois dividido em /64 — um por VLAN ou segmento. É por isso que esta ferramenta divide de bom grado um /48 em /64 e lhe diz que há 65 536 deles.

As contagens de endereços crescem depressa, por isso são mostradas como potência de dois e como número completo: um /32 contém 2^96 endereços, ou seja 79 228 162 514 264 337 593 543 950 336. A potência é o que se lê; os dígitos são o que se copia.

Escrever endereços IPv6 na forma canónica

Um mesmo endereço IPv6 pode ser escrito de muitas maneiras, o que torna pouco fiável comparar dois a olho. O RFC 5952 define uma única forma textual canónica, e é essa que esta ferramenta produz:

  • Hexadecimal em minúsculas e sem zeros à esquerda dentro de um grupo — 2001:0db8 passa a 2001:db8.
  • A sequência mais longa de grupos a zero é substituída por ::, e só a mais longa. Em caso de empate ganha a mais à esquerda.
  • Um grupo de zeros isolado nunca é comprimido, porque :: não pouparia nada e criaria uma segunda grafia.

A forma expandida é mostrada ao lado, com cada grupo preenchido até quatro dígitos. Essa não é canónica, mas é a que se alinha em coluna quando se compara uma lista de endereços.

Dividir um bloco

Cortar uma rede em várias iguais é a operação pela qual se costuma recorrer a uma calculadora de sub-redes. Cada bit de prefixo a mais duplica o número de sub-redes e reduz o seu tamanho a metade: um /24 passa a dois /25, quatro /26, oito /27, e assim por diante.

192.168.1.0/24  ->  /26
192.168.1.0/26      # endereços   0-63
192.168.1.64/26     # endereços  64-127
192.168.1.128/26    # endereços 128-191
192.168.1.192/26    # endereços 192-255

As sub-redes ladrilham o bloco pai exatamente — sem falhas nem sobreposições — uma propriedade que vale a pena verificar quando se reparte espaço de endereçamento à mão. Note que os números crescem depressa: um /8 dividido em /24 dá 65 536 redes, por isso a lista aqui é limitada e o total real é indicado ao lado, em vez de truncar a resposta em silêncio.

Intervalos com um significado particular

Alguns blocos estão reservados para um fim concreto, e uma rede que fique dentro de um deles é etiquetada aqui. Os que aparecem mais:

  • Privados (RFC 1918) — 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. Encaminháveis dentro de uma organização, nunca na internet pública.
  • Loopback — 127.0.0.0/8 em IPv4 e ::1 em IPv6. Tráfego que nunca sai do anfitrião.
  • Ligação local — 169.254.0.0/16 e fe80::/10. Autoatribuídos, válidos apenas numa ligação. Um endereço IPv4 neste intervalo costuma significar que o DHCP falhou.
  • NAT de operadora — 100.64.0.0/10. Usado entre um assinante e o seu ISP; vê-lo na sua própria rede indica um NAT do lado do ISP.
  • Documentação — 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 e 2001:db8::/32. Reservados para exemplos, e é por isso que aparecem ao longo desta página.
  • Únicas locais — fc00::/7. O equivalente IPv6 ao espaço privado do RFC 1918.

A etiqueta só é aplicada quando todo o bloco fica dentro do intervalo especial, não quando apenas se sobrepõe a ele. Um 0.0.0.0/0 abrange todos os intervalos privados existentes mas não é privado em si, e dizer o contrário seria pior do que não dizer nada.

Perguntas frequentes

Quantos anfitriões utilizáveis há num /24?
254. O bloco contém 256 endereços; o primeiro é o endereço de rede e o último o de difusão, e nenhum pode ser atribuído a uma interface. A mesma subtração dá 126 para um /25, 62 para um /26 e 2 para um /30.
Porque é que aqui um /31 tem dois endereços utilizáveis se outras calculadoras dizem nenhum?
Porque o RFC 3021 define o /31 para ligações ponto a ponto, onde um endereço de difusão não serve para nada e ambos os endereços são atribuídos, um a cada extremidade da ligação. As calculadoras que devolvem zero aplicam a fórmula 2^n − 2 para lá do intervalo em que se sustenta.
Qual é a diferença entre máscara de sub-rede e máscara wildcard?
São inversas uma da outra. Uma máscara de sub-rede tem uns nos bits de rede (255.255.255.0 para um /24); uma wildcard tem zeros aí (0.0.0.255). Numa máscara wildcard um zero significa que o bit tem de coincidir e um um que é ignorado, ao contrário da intuição que uma máscara de sub-rede constrói.
Posso colar um endereço que não seja o de rede?
Sim, e é o caso comum. Dê-lhe 192.168.1.57/24 e ela mostrará que a rede é 192.168.1.0/24, assinalando que o endereço que escreveu é um anfitrião lá dentro. É exatamente o que o ip addr ou o ipconfig devolvem, por isso não é preciso editar nada antes.
Porque é que o IPv6 não mostra endereço de difusão nem máscara de sub-rede?
Porque nenhum dos dois existe. O IPv6 abandonou a difusão a favor da multidifusão, por isso nada fica reservado no fim de um prefixo, e escreve-se sempre com um comprimento de prefixo em vez de uma máscara por pontos. Todo endereço de um bloco IPv6 é atribuível, e é por isso que a contagem de utilizáveis coincide com o total.
Que tamanho deve ter um prefixo de sub-rede IPv6?
Um /64, em quase todos os casos. A autoconfiguração de endereços sem estado pressupõe 64 bits de anfitrião, por isso um prefixo menor parte-a numa ligação normal. Aos sítios é normalmente atribuído um /48 ou um /56 que dividem em /64, um por segmento — há 65 536 num /48, por isso não é preciso poupar.
Algo do que introduzo é enviado para um servidor?
Não. É tudo aritmética a correr no seu navegador: nada é consultado, carregado ou registado. É também por isso que continua a funcionar sem qualquer ligação à rede.