ToolActToolAct

Calculadora de Sub-rede

Calcule endereço de rede, broadcast, máscara, faixa de hosts e CIDR para IPv4/IPv6 — totalmente no seu navegador.

Endereço de rede192.168.1.0 Copiar
Endereço de broadcast192.168.1.255 Copiar
Máscara de sub-rede255.255.255.0 (/24) Copiar
Máscara curinga0.0.0.255 Copiar
Primeiro host192.168.1.1 Copiar
Último host192.168.1.254 Copiar
Hosts utilizáveis254 Copiar
Classe do IPPrivadoClasse C Copiar
Representação bináriaBits de redeBits de host
11000000.10101000.00000001.01100100
Dividir em sub-redes menores
Dividir em/
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26

O que é uma calculadora de sub-rede?

Uma calculadora de sub-rede é uma ferramenta que recebe um endereço IP combinado com um prefixo CIDR ou máscara de sub-rede e deriva as propriedades estruturais da rede: endereço de rede, endereço de broadcast, faixa de hosts utilizáveis, contagem total de hosts e o limite binário entre os bits de rede e de host. Engenheiros de rede, administradores de sistemas e desenvolvedores recorrem a ela sempre que precisam planejar alocações VLSM, escrever regras de firewall, investigar por que dois hosts não conseguem se comunicar ou configurar tabelas de roteamento. A matemática é AND/OR bit a bit contra a máscara — trivial em teoria, propensa a erros na prática, especialmente entre IPv4 e IPv6, cujos endereços são de 32 e 128 bits respectivamente. Esta calculadora roda inteiramente no seu navegador usando aritmética BigInt, então lida com IPv6 completo (/0 a /128) sem perda de precisão e nunca envia o endereço que você cola para nenhum servidor.

Como usar

Passos

  1. Escolha IPv4 ou IPv6 com o seletor no topo.
  2. Digite um endereço IP no campo de entrada — por exemplo, 10.0.0.42 ou 2001:db8::1.
  3. Ajuste o comprimento do prefixo usando o campo numérico ou o controle deslizante; os resultados se atualizam instantaneamente.
  4. Clique em qualquer bloco de resultado para copiar aquele valor para a área de transferência.
  5. Para IPv4, opcionalmente divida a rede em sub-redes menores definindo um prefixo alvo mais longo.

Armadilhas comuns

  • Redes /31 não estão quebradas — a RFC 3021 explicitamente as permite em links ponto a ponto, em que ambos os endereços são utilizáveis.
  • /32 representa um único host (uma rota de host), não uma rede vazia. O mesmo vale para /128 em IPv6.
  • O conceito de "endereço de broadcast" não existe em IPv6; o campo mostra o último endereço do prefixo, que cumpre o mesmo papel em verificações de faixa.
  • Máscaras curinga (usadas em ACLs Cisco) são simplesmente o NOT bit a bit da máscara de sub-rede — 0.0.0.255 é a wildcard de 255.255.255.0.

Casos de uso

Planejar alocações VLSM entre departamentosDado um /20 corporativo como 10.10.0.0/20 (4.094 hosts utilizáveis), você precisa recortar sub-redes que correspondam ao número real de pessoas em cada departamento: um escritório de 500 lugares precisa de um /23 (510 hosts), uma equipe de 50 pessoas recebe um /26 (62 hosts) e um segmento de trânsito com quatro roteadores usa /29 (6 hosts). Coloque cada prefixo candidato na calculadora e os limites de rede/broadcast informam exatamente onde a próxima sub-rede pode começar sem sobreposição. Fazer isso no papel sempre produz erros off-by-one nas fronteiras entre /26s e /27s adjacentes; a visualização binária aqui torna o limite dos bits de rede visível de relance.
Escrever ACLs Cisco/Juniper que precisam de máscaras curingaA sintaxe access-list da Cisco recebe uma máscara curinga, não uma máscara de sub-rede. "permit ip 10.50.0.0 0.0.255.255" corresponde a 10.50.0.0/16, mas digitar a wildcard errada faz a ACL casar com a metade errada da rede e deixa um buraco de segurança. A calculadora mostra a wildcard ao lado da máscara de sub-rede para qualquer prefixo digitado, então você pode copiar o valor diretamente para a regra de ACL. A mesma wildcard é usada nas declarações "network" do EIGRP e OSPF, em que o modo de falha de uma máscara invertida é silencioso — o protocolo simplesmente não forma adjacência.
Diagnosticar chamados do tipo "esses dois hosts não se enxergam"Quando um usuário relata que 192.168.0.10 e 192.168.1.20 não conseguem se comunicar de forma confiável na mesma Ethernet, a primeira coisa a verificar é se as máscaras concordam. Se o host A é 192.168.0.10/24 e o host B é 192.168.1.20/23, eles formam opiniões diferentes sobre quem está na rede local: a rede de A é 192.168.0.0/24 (apenas 0.x é local), então A envia frames para B através do gateway padrão, enquanto a rede de B é 192.168.0.0/23 (cobrindo tanto 0.x quanto 1.x), então B faz ARP de A diretamente no fio. O tráfego flui de forma assimétrica — B → A funciona, enquanto A → B desvia pelo roteador e pode ser silenciosamente descartado ou redirecionado — e a calculadora exibe os dois identificadores de rede distintos lado a lado, tornando a má configuração óbvia em segundos.
Migrar de IPv4 para dual-stack IPv6Escolher tamanhos de prefixo IPv6 é inicialmente contraintuitivo: um /64 tem 18.446.744.073.709.551.616 endereços, exatamente o quadrado de todo o espaço IPv4 (2^64 = (2^32)²). A convenção é atribuir /64 a cada rede folha (para que SLAAC funcione), /56 ou /48 a um site e /32 a um ISP. O modo IPv6 da calculadora confirma o limite entre bits de rede e host e a impressionante contagem de hosts, ajudando engenheiros iniciantes a internalizar que o subnetting IPv6 prioriza a agregação de rotas, não a economia de endereços.
Configurar VPCs em nuvem e regras de security groupAWS VPC, Google Cloud VPC e Azure VNet exigem blocos CIDR para sub-redes, tabelas de rotas e regras de security group. Um CIDR mal configurado — digitar 10.0.0.0/16 quando se queria 10.0.0.0/24 — abre 256 vezes mais espaço de IP do que o pretendido, muitas vezes para a internet pública. A calculadora fornece a faixa exata de hosts e o total antes de você colar o valor no Terraform ou no console, e a visualização binária deixa óbvio se o seu /20 está realmente alinhado em uma fronteira /20 (um erro comum ao copiar e colar de redes existentes).

Princípio técnico

Um endereço IPv4 tem 32 bits e um IPv6 tem 128 bits. A notação CIDR (RFC 4632, agosto de 2006) anexa um comprimento de prefixo /n ao endereço, declarando que os n bits mais à esquerda são o identificador de rede e os bits restantes são o identificador de host. A máscara de sub-rede é um padrão de bits com n 1s consecutivos seguidos de 32−n (ou 128−n) zeros — para /24, isso é 11111111.11111111.11111111.00000000, ou 255.255.255.0 em decimal pontuado. O CIDR substituiu o endereçamento por classes mais antigo da RFC 791 (em que 0.0.0.0–127.255.255.255 era Classe A com /8 implícito, com 0.0.0.0/8 reservado como 'esta rede' e 127.0.0.0/8 reservado para loopback; 128.0.0.0–191.255.255.255 era Classe B (/16); 192.0.0.0–223.255.255.255 era Classe C (/24) etc.), que desperdiçava endereços de forma catastrófica: uma empresa de 1.000 lugares à qual era atribuída uma Classe B recebia 65.534 hosts quando precisava de 1.000, fragmentando o espaço IPv4. O CIDR permite qualquer comprimento de prefixo, viabilizando VLSM (Variable-Length Subnet Mask, originalmente formalizado na RFC 950 (1985)) e agregação de rotas ("supernetting"). As operações principais são bit a bit: rede = endereço AND máscara; broadcast = rede OR (NOT máscara) = rede OR wildcard. Para 192.168.1.100/24, o endereço 0xC0A80164 com AND em 0xFFFFFF00 dá 0xC0A80100 (192.168.1.0), e com OR em 0x000000FF dá 0xC0A801FF (192.168.1.255). Hosts utilizáveis são 2^(32−n) − 2 para IPv4 (subtraindo rede e broadcast); o −2 desaparece em /31 (a RFC 3021 o reaproveitou para links ponto a ponto, com ambas as pontas utilizáveis) e /32 (uma rota de host único). IPv6 não tem endereço de broadcast — multicast e anycast o substituíram —, então o "último endereço" é apenas o limite superior da faixa do prefixo. Os operadores bit a bit nativos do JavaScript são de 32 bits com sinal, o que estoura para o 0xFFFFFFFF do IPv4 (vira −1) e não consegue representar IPv6 de jeito nenhum; esta calculadora usa BigInt para ambos, garantindo correção idêntica entre as versões. O espaço de endereços privados é definido na RFC 1918 para IPv4: 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. IPv6 usa Unique Local Addresses (RFC 4193) em fc00::/7, além de link-local fe80::/10 para SLAAC e comunicação on-link. A calculadora sinaliza essas faixas para que você não publique acidentalmente uma faixa privada no BGP público. Erros comuns que esta ferramenta evita: (1) digitar 192.168.1.100/255.255.255.0 versus /24 — a calculadora aceita a forma de prefixo e exibe a máscara em decimal pontuado; (2) errar a contagem de hosts entre /30 e /29 (2 vs 6 hosts); (3) dividir um /24 em oito /27s e calcular errado onde começa a quarta sub-rede (é 192.168.1.96, não 192.168.1.97); (4) confundir wildcard 0.0.0.255 com máscara 255.255.255.0 na sintaxe de ACL Cisco. A visualização binária, com os bits de rede destacados, é a forma mais rápida de internalizar a fronteira que faz todos esses erros desaparecerem.

  • A RFC 4632 (agosto de 2006) define o CIDR — Classless Inter-Domain Routing —, substituindo o esquema por classes A/B/C da RFC 791. A notação /n declara o comprimento do prefixo de rede; os bits restantes são a porção de host. O CIDR habilita VLSM (originalmente formalizado na RFC 950 (1985)) e agregação de rotas, ambos essenciais para a conservação do IPv4 e para a tabela BGP moderna.
  • Endereço de rede = IP AND máscara; broadcast = rede OR wildcard (em que wildcard = NOT máscara). Para /24: máscara 0xFFFFFF00, wildcard 0x000000FF. Hosts utilizáveis = 2^(32−n) − 2, exceto /31 (RFC 3021, ambos os endereços utilizáveis em links ponto a ponto) e /32 (rota de host único).
  • IPv6 (128 bits) não tem broadcast — multicast (ff00::/8) e anycast o substituíram. O prefixo mínimo convencional é /64 (para SLAAC, 18 quintilhões de endereços por sub-rede); /56 ou /48 por site; /32 por ISP. O espaço de endereços IPv6 prioriza a agregação de rotas em vez da conservação.
  • Faixas reservadas além da RFC 1918: 127.0.0.0/8 é loopback, 169.254.0.0/16 é link-local IPv4 (auto-IP / APIPA), 224.0.0.0/4 é multicast, 240.0.0.0/4 é reservado para uso experimental. O IPv6 também reserva fe80::/10 para SLAAC link-local, ff00::/8 para multicast e ::1/128 para loopback. A calculadora distingue faixas privadas das públicas para que você saiba à primeira vista se o endereço digitado é roteável na internet pública.
  • Os operadores bit a bit do JavaScript são de 32 bits com sinal: (0xFFFFFFFF & 0xFFFFFF00) retorna −256, não 0xFFFFFF00. Esta calculadora usa BigInt em todo o cálculo para lidar com a faixa completa do IPv4 e os 128 bits do IPv6 sem perda de precisão. O mesmo caminho de código computa as duas versões; só a largura da máscara muda.
  • Pegadinha comum em Cisco/Juniper: a sintaxe de ACL recebe uma máscara curinga (0.0.0.255), não uma máscara de sub-rede (255.255.255.0). Declarações "network" do EIGRP e OSPF também usam wildcards. Uma máscara invertida casa com o complemento da rede pretendida — silenciosamente em protocolos de roteamento (nenhuma adjacência se forma) e de forma explorável em ACLs (tráfego errado é permitido).
  • Exemplo de VLSM: um /24 dividido em 4 sub-redes iguais vira 4 × /26 (64 endereços cada), com 62 hosts utilizáveis por sub-rede. Os /26 adjacentes começam nos offsets 0, 64, 128, 192 — NÃO 0, 63, 127, 191. A ferramenta de divisão da calculadora gera essas fronteiras para você não precisar traduzir mentalmente.

Exemplos

/24 padrão (a LAN mais comum)

Entrada:  192.168.1.100/24

Rede:     192.168.1.0
Broadcast:192.168.1.255
Máscara:  255.255.255.0
Wildcard: 0.0.0.255
Hosts:    192.168.1.1 - 192.168.1.254  (254 utilizáveis)
Classe:   C, Privada (RFC 1918)

Binário:  11000000.10101000.00000001.01100100
          (bits de rede = 24 à esquerda; bits de host = 8 à direita)

Ponto a ponto /31 (RFC 3021)

Entrada:  10.0.0.1/31

Rede:     10.0.0.0
Broadcast:10.0.0.1
Máscara:  255.255.255.254
Hosts:    10.0.0.0 - 10.0.0.1  (2 utilizáveis, ambas as pontas do link)

Antes da RFC 3021, /31 era "inutilizável" porque 2 - 2 = 0.
Roteadores modernos permitem ambos os endereços em links
ponto a ponto, economizando metade do espaço de endereços
em segmentos de trânsito.

Divisão VLSM: /24 em quatro /26s

Entrada:  192.168.1.0/24, dividir em /26

Sub-rede 1: 192.168.1.0/26    hosts .1   - .62
Sub-rede 2: 192.168.1.64/26   hosts .65  - .126
Sub-rede 3: 192.168.1.128/26  hosts .129 - .190
Sub-rede 4: 192.168.1.192/26  hosts .193 - .254

Repare nas fronteiras: 0, 64, 128, 192 — cada /26 contém 64
endereços (62 utilizáveis). Um erro comum é começar a sub-rede 2
em .63 (broadcast da sub-rede 1, +1) — mas .63 é o próprio
broadcast; a próxima sub-rede começa em .64.

IPv6 /64 (rede folha padrão)

Entrada:  2001:db8:1234:5678::1/64

Rede:     2001:db8:1234:5678::
Último:   2001:db8:1234:5678:ffff:ffff:ffff:ffff
Máscara:  ffff:ffff:ffff:ffff::
Hosts:    18.446.744.073.709.551.616  (2^64)

Um único /64 contém mais endereços do que o IPv4 ao quadrado.
O SLAAC exige /64 porque os 64 bits inferiores codificam o
identificador de interface (EUI-64 ou aleatório por RFC 7217).

Perguntas frequentes

Por que /24 dá 254 hosts utilizáveis em vez de 256?

Uma sub-rede /24 tem 2^8 = 256 endereços, mas dois deles são reservados: o endereço de rede (192.168.1.0) identifica a própria sub-rede nas tabelas de roteamento e o endereço de broadcast (192.168.1.255) é usado para mensagens destinadas a todos os hosts da sub-rede. Ambos não podem ser usados como IPs de host, restando 254 endereços atribuíveis. A mesma regra do −2 vale para todos os prefixos IPv4 de /1 a /30. Exceções: /31 tem 2 endereços utilizáveis (RFC 3021, ponto a ponto) e /32 tem 1 (rota de host único).

Qual é a diferença entre máscara de sub-rede e máscara curinga?

Uma máscara de sub-rede tem 1s na porção de rede e 0s na porção de host — para /24, é 255.255.255.0. Uma máscara curinga é o NOT bit a bit — para /24, é 0.0.0.255. Access-lists do Cisco IOS, EIGRP e OSPF usam wildcards porque a implementação original de ACL adotava um modelo "don't care" (bits 1 na wildcard significam "este bit não precisa casar"). Outros fabricantes e a sintaxe Cisco mais moderna também aceitam a forma de máscara de sub-rede, mas configs herdadas que você encontra usarão wildcards.

O IPv6 tem endereço de broadcast?

Não. O IPv6 removeu deliberadamente o broadcast e o substituiu por multicast (ff00::/8) e anycast. O escopo "all-nodes" é ff02::1, que se comporta como o broadcast link-local do IPv4, mas só alcança nós que ingressaram no grupo multicast. Por isso, no IPv6 a calculadora rotula esse valor como «Último endereço» em vez de «Broadcast»; você não pode enviar pacotes para ele como faria para 255.255.255.255 em IPv4 — não há nenhum conceito no nível de protocolo que os entregue a todos os hosts.

Por que /31 é útil se "não tem hosts utilizáveis" pela fórmula antiga?

Livros pré-2000 diziam que um /31 tinha 2^1 − 2 = 0 hosts utilizáveis e, portanto, era inválido. A RFC 3021 (dezembro de 2000) re-especificou /31 para links ponto a ponto, em que existem exatamente dois endpoints e nenhuma necessidade de um broadcast separado — o próprio link define o escopo de broadcast. Roteadores modernos (IOS 12.2+, Junos, FRR, Linux) suportam /31. Usar /31 em vez de /30 em links de trânsito reduz pela metade o espaço de endereços consumido pela infraestrutura central, o que faz diferença ao longo de milhares de links em uma rede grande.

Por que todas as minhas sub-redes IPv6 parecem ser /64?

Por convenção, a menor unidade IPv6 atribuída a uma rede folha é /64. Os 64 bits inferiores são reservados para o identificador de interface — o SLAAC (RFC 4862) os gera a partir do endereço MAC (EUI-64) ou de um hash estável do prefixo de rede e um segredo por host (RFC 7217), ou valores aleatórios de curta duração (extensões de privacidade RFC 4941). Usar /126 ou /127 em um link ponto a ponto tecnicamente funciona para configuração estática, mas quebra o SLAAC e muitos recursos automáticos. /64 é recomendado para toda sub-rede que hospeda estações finais; /127 é usado apenas em links roteador-para-roteador, em que você tem controle total.

Esta ferramenta envia meu endereço IP para algum servidor?

Não. Todos os cálculos rodam no lado do cliente, no seu navegador, usando aritmética BigInt do JavaScript. Nenhum endereço, prefixo ou resultado computado é transmitido para qualquer backend. Você pode confirmar isso abrindo a aba de rede do DevTools — não há requisições de saída durante o cálculo. Isso corresponde à expectativa de privacidade de toda ferramenta browser-based do ToolAct.

Qual é a diferença entre /24 e 255.255.255.0?

Funcionalmente, nenhuma — são duas notações para a mesma máscara. /24 (notação CIDR, RFC 4632) conta a quantidade de bits 1 iniciais; 255.255.255.0 (máscara em decimal pontuado) escreve esses bits como um número de quatro octetos. A maioria dos sistemas operacionais e roteadores modernos aceita qualquer das formas. A calculadora exibe ambas para qualquer prefixo digitado, então você copia e cola a que o sistema-alvo exigir.

Por que esta calculadora rejeita entradas como 010.0.0.1?

Zeros à esquerda (010, 04, 0001) são rejeitados porque a mesma string significa coisas diferentes em diferentes parsers de IP — o inet_aton da glibc historicamente interpretava octetos com zero à esquerda como octais (010 = 8), enquanto o Python moderno (3.9.5+) e o runtime JavaScript os tratam como decimais (010 = 10). Essa divergência entre stacks já causou vulnerabilidades reais de bypass de SSRF (CVE-2021-29921 e família), em que um serviço trata 010.0.0.1 como 8.0.0.1 na verificação da allow-list, mas uma biblioteca downstream se conecta a 10.0.0.1. Para não dar a entender uma interpretação específica, esta calculadora rejeita qualquer octeto com zeros à esquerda — remova o zero (010 → 10) antes de colar.