Calculadora CIDR / de sub-redes
Calcula o endereço de rede, o intervalo de hosts, as máscaras e o número de endereços de qualquer bloco IPv4 ou IPv6, e divide-o em sub-redes iguais.
| 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 |
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 aspecto 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 menores.
Lida com IPv4 e IPv6, e aceita um endereço de host 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 host 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 host. 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 conexão ponto a ponto.
- /16 — 65 536 endereços. Um /24 duzentas e cinquenta e seis vezes.
Por que 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 hosts do enlace 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 enlaces 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 host; é 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 host 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, portanto 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 um único enlace, porque a autoconfiguração de endereços sem estado espera 64 bits de host. A um site é 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 host.
- Conexão local — 169.254.0.0/16 e fe80::/10. Autoatribuídos, válidos apenas em um enlace. 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.
- Ú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.
Quantos hosts cabem em um /24?
Um /24 contém 256 endereços e 254 utilizáveis. O prefixo fixa 24 dos 32 bits e deixa 8 livres, então o bloco tem 2^8 = 256 endereços, e o IPv4 gasta o primeiro com a própria rede e o último com difusão — o 2^n − 2 que a seção anterior explica, em que n é o número de bits de host. Essa subtração vale para qualquer prefixo IPv4 até /30 e para nenhum dos dois abaixo dele: um /31 tem 2 endereços utilizáveis e não 0, e um /32 tem 1 e não −1, que é o que esta ferramenta informa.
- A máscara de sub-rede é 255.255.255.0 e a máscara wildcard é 0.0.0.255. Três octetos inteiros dos quatro ficam fixos, e é isso que faz do /24 o único prefixo que se lê direto da notação com pontos: o último octeto é o host e os três da frente são a rede.
- O intervalo utilizável vai de .1 até .254. O endereço de rede é .0 e o de difusão é .255, e esta ferramenta nomeia os dois em vez de deixar um vão em qualquer uma das pontas do intervalo.
- Um /24 são dois /25, quatro /26 ou oito /27 — cada bit a mais o divide pela metade — e ele mesmo é um dos 256 /24 que cabem em um /16.
- A documentação antiga chama isso de rede class C, porque no esquema por classes que o CIDR substituiu uma class C tinha exatamente 24 bits de rede. Por isso esta ferramenta pede um número depois da barra e não uma letra: um /26 não pertence a classe nenhuma.
O 254 é aritmética, não um inventário. Numa rede em funcionamento o roteador ou o gateway fica com um deles, e um escopo DHCP normalmente é configurado sobre parte do intervalo e não sobre ele inteiro, então as máquinas que dá para ligar de fato são 253 ou menos. Trate o 254 como o teto de onde um plano de endereçamento começa.
Quantos hosts cabem em um /16?
Um /16 contém 65 536 endereços e 65 534 utilizáveis. Dezesseis bits ficam fixos e dezesseis livres, ou seja 2^16 = 65 536, e os mesmos dois endereços saem das pontas — a subtração que vale até /30 e para por ali, pelos motivos de /31 e /32 acima.
- A máscara de sub-rede é 255.255.0.0 e a máscara wildcard é 0.0.255.255, então os dois primeiros octetos são a rede e os dois últimos identificam o host.
- Um /16 são 256 /24. É a divisão que as pessoas de fato fazem num /16, e é o que o controle de divisão faz aqui: dê a ele um /16, peça /24, e ele lista os blocos com o total ao lado da lista.
- 192.168.0.0/16 é um /16, e é o intervalo privado de onde um roteador doméstico distribui endereços — por isso 192.168.1.0/24 é o bloco que quase todo mundo já viu. Tudo que estiver dentro dela esta ferramenta marca como privado (RFC 1918).
- A documentação antiga chama um /16 de rede class B. Uma class B era atribuída inteira a uma organização, e o hábito de imaginá-la como uma rede só ficou de lá.
Ninguém coloca 65 534 máquinas em um único enlace. Um /16 é uma alocação e não um domínio de difusão: todo host de um enlace enxerga o tráfego de difusão e de ARP daquele enlace, e nesse tamanho isso deixa de ser viável muito antes de o intervalo encher. A pergunta útil sobre um /16 não é quantos hosts ele contém, e sim como ele é cortado — em 256 /24, em 1 024 /26, ou como os segmentos realmente precisam.
Quantos hosts cabem em um /8?
Um /8 contém 16 777 216 endereços e 16 777 214 utilizáveis: 24 bits de host, ou seja 2^24, menos o endereço de rede e o de difusão. É o maior bloco que alguém escreve à mão, e na prática é quase sempre o mesmo — 10.0.0.0/8, o maior dos três intervalos privados.
- A máscara de sub-rede é 255.0.0.0 e a máscara wildcard é 0.255.255.255. Só o primeiro octeto fica fixo, o que deixa os outros três para planejar.
- Um /8 são 256 /16, ou 65 536 /24. Esse último número é a razão de a lista de divisão desta página ter limite e o total verdadeiro ser impresso ao lado, em vez de cortar a resposta em silêncio.
- 10.0.0.0/8 aparece aqui marcado como privado (RFC 1918), e 127.0.0.0/8 é o intervalo de loopback. Os dois têm oito bits porque o esquema por classes fazia uma class A exatamente assim, e os rótulos sobreviveram às classes.
- Já um /8 de espaço público de endereços é outra coisa por completo. Em todo o IPv4 existem apenas 256, e foram distribuídos entre organizações e registros regionais décadas atrás.
O 16 777 214 não é um número de hosts em nenhum sentido útil: dezesseis milhões de endereços em um único enlace não são uma rede que alguém opere. Um /8 é um plano de endereçamento, e um plano se mede por quantas sub-redes ele rende e por quanto cada uma custa: toda sub-rede gasta o próprio endereço de rede e o próprio endereço de difusão, então cortar um /8 em /24 dá 65 536 redes e gasta nisso 131 072 endereços. Esse é o preço de dividir em sub-redes, e é o motivo de um plano escolher a maior sub-rede que cada segmento aguenta e não a menor que couber.
Quantos endereços cabem em um /64 do IPv6?
Um /64 contém 18 446 744 073 709 551 616 endereços — 2^64, a mesma aritmética com 64 bits livres em vez de 8 — e todos são utilizáveis. Não há o que subtrair: o IPv6 não tem endereço de difusão e não reserva nada no começo de um prefixo, então o número de utilizáveis é o total. É também por isso que esta ferramenta não mostra a um bloco IPv6 nem endereço de difusão nem máscara com pontos, em vez de mostrá-los zerados.
- O número é impresso como potência de dois ao lado dos dígitos. 2^64 é a forma que se lê; os dígitos são a forma que se copia.
- Um /64 é o tamanho padrão de um enlace, carregue esse enlace duas máquinas ou duas mil. A autoconfiguração de endereços sem estado monta os últimos 64 bits de um endereço no próprio host, então o prefixo fica preso em 64 pelo mecanismo e não pelo número de hosts.
- Um /64 sai de uma alocação maior: um /48 são 65 536 /64 e um /56 são 256 deles, e uma das duas é o que um site costuma receber para dividir.
- Uma interface costuma manter mais de um endereço do próprio /64 ao mesmo tempo: o que a autoconfiguração monta a partir do prefixo e, ao lado dele, em geral um endereço de privacidade temporário que vai sendo substituído. Contar máquinas contando endereços erra por esse lado também.
Ler esse número como capacidade é o erro que os hábitos do IPv4 convidam a cometer. Um /64 não é dimensionado para ser preenchido, nada o preenche, e nenhuma política de alocação espera isso; o tamanho dele é esse para que um host consiga gerar o próprio endereço no enlace sem perguntar a ninguém. A pergunta que um /64 responde é quantos enlaces um site tem, não quantas máquinas.
Perguntas frequentes
- Quantos hosts 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.
- Por que aqui um /31 tem dois endereços utilizáveis se outras calculadoras dizem nenhum?
- Porque o RFC 3021 define o /31 para enlaces 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 do enlace. 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 host lá dentro. É exatamente o que o ip addr ou o ipconfig devolvem, por isso não é preciso editar nada antes.
- Por 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 host, por isso um prefixo menor a quebra em um enlace normal. Aos sites é 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 rodando no seu navegador: nada é consultado, carregado ou registrado. É também por isso que continua funcionando sem qualquer conexão à rede.
- Qual é a máscara de sub-rede de um /16?
- 255.255.0.0. O comprimento do prefixo e a máscara são a mesma informação escrita de dois jeitos, e os três prefixos redondos fixam cada um mais um octeto inteiro: /8 é 255.0.0.0, /16 é 255.255.0.0 e /24 é 255.255.255.0. Já um prefixo que não é múltiplo de oito cai dentro de um octeto — um /26 é 255.255.255.192 — e é justamente esse caso que vale deixar para esta ferramenta.
- O que é uma rede class C?
- É um /24, no esquema que o CIDR substituiu. O endereçamento por classes fixava a parte de rede em 8, 16 ou 24 bits — class A, class B e class C — então uma class C continha 256 endereços e 254 utilizáveis, exatamente como um /24 hoje. A RFC 1519 substituiu as classes por comprimentos de prefixo quaisquer em 1993, e por isso esta ferramenta pede um número depois da barra: um /26 ou um /19 não tem classe nenhuma para nomear.
- Quantos /24 há em um /16?
- 256. Cada bit a mais de prefixo dobra a conta, então um /16 são 256 /24 e um /8 são 256 /16 ou 65 536 /24. Cole o bloco e ajuste «Dividir em» para o prefixo menor: a ferramenta lista as sub-redes e informa o total verdadeiro ao lado da lista, que é o que importa assim que o total passa do que qualquer lista deveria imprimir.
- Quantos endereços há em um /64 do IPv6?
- 18 446 744 073 709 551 616, ou seja 2^64, e todos são utilizáveis. O IPv6 não tem endereço de difusão e não reserva nada no começo de um prefixo, então nada é subtraído e o número de utilizáveis é igual ao total — o único lugar em que uma resposta sobre IPv6 sai aqui mais curta que a de IPv4, e não mais longa.
Ferramentas relacionadas
- Explicador de expressões cron
Leia uma expressão cron e veja quando ela roda de fato.
- Qual é o meu IP
Os seus IPv4 e IPv6 públicos, e qual deles o navegador usou.
- Conversor de timestamp Unix
Converte tempo epoch em data, e de volta.
- Calculadora chmod
Converte permissões entre octal, simbólico e caixas.