Hosts utilizáveis da sub-rede por máscara ou CIDR
Esta calculadora de hosts utilizáveis transforma um prefixo CIDR IPv4 ou uma máscara decimal pontuada em um resultado claro de capacidade.
Executar grátis
Ela informa o prefixo normalizado, a máscara equivalente, o total de endereços da sub-rede e os hosts utilizáveis após excluir os endereços de rede e broadcast. Use-a para planejar espaço de endereçamento, conferir exercícios, documentar redes ou validar configurações de infraestrutura. O cálculo é determinístico e não consulta a rede, portanto a mesma entrada sempre produz o mesmo resultado.
Informe um prefixo CIDR ou uma máscara de sub-rede
Forneça um prefixo como 24 ou /24, ou uma máscara decimal pontuada como 255.255.255.0. A calculadora aceita todos os prefixos IPv4 de 0 a 32, inclusive os extremos. Em uma máscara, cada octeto deve ficar entre 0 e 255, e sua forma binária deve ser contígua: todos os bits um precisam vir antes dos bits zero. O valor 255.0.255.0 é recusado porque não representa uma máscara CIDR convencional. O resultado normaliza ambos os formatos como comprimento de prefixo e máscara decimal, facilitando a comparação de configurações com notações diferentes. Espaços nas extremidades são ignorados, mas texto extra, endereços IPv4 com prefixo anexado, números negativos, decimais e prefixos acima de 32 são rejeitados. Essa validação rigorosa evita resultados plausíveis para uma configuração ambígua ou digitada incorretamente. Ao chamar a API, você pode usar o campo subnet, prefix ou mask; subnet é o campo principal documentado.
Entenda os endereços totais e os hosts utilizáveis
Um endereço IPv4 tem 32 bits. O prefixo fixa os bits iniciais da rede e deixa os demais disponíveis dentro da sub-rede. Assim, o total é dois elevado a 32 menos o comprimento do prefixo. Em /24, restam oito bits e existem 256 endereços totais. Esta capacidade segue a convenção tradicional solicitada e subtrai dois endereços: um identificador de rede e um endereço de broadcast. Portanto, /24 retorna 254 hosts utilizáveis. Sub-redes muito pequenas exigem atenção: como rede e broadcast são sempre excluídos, /31 e /32 retornam zero hosts utilizáveis. Algumas conexões ponto a ponto usam os dois endereços de /31 por uma convenção especial, e uma rota de host identifica um endereço com /32, mas essas interpretações não fazem parte desta regra. O total explícito continua útil: /31 tem dois endereços e /32 tem um. A maior rede aceita, /0, possui 4,294,967,296 endereços totais e 4,294,967,294 depois das duas exclusões.
Aplique o resultado ao planejamento de rede
Use a quantidade utilizável como verificação inicial e depois considere as reservas do seu ambiente. Gateways, balanceadores, DNS, appliances, IPs virtuais, reservas do provedor e margem de crescimento podem reduzir a disponibilidade além das exclusões de rede e broadcast. Por exemplo, /26 oferece 64 endereços totais e 62 pela fórmula tradicional, mas pode comportar menos instâncias após as reservas da plataforma. A máscara normalizada também ajuda a converter um projeto CIDR para equipamentos ou documentos que exigem notação decimal. Na automação, compare usable_host_addresses com a quantidade de dispositivos necessária e interrompa a implantação se faltar capacidade. Registre prefix_length e subnet_mask com essa decisão para deixar clara a interpretação usada. A ferramenta apenas conta endereços: ela não calcula os endereços de rede ou broadcast sem um IP de host, nem inspeciona rotas, VLANs, pools DHCP, prefixos IPv6 ou equipamentos ativos. Cada execução por API custa US$ 0,002, e o cálculo determinístico também atende a verificações interativas rápidas.
Casos de uso
Dimensionar uma nova sub-rede IPv4
Compare os hosts utilizáveis com a demanda de dispositivos e reserve espaço para infraestrutura e crescimento.
Validar a documentação da rede
Converta uma máscara decimal no prefixo normalizado e confirme a coerência matemática da capacidade documentada.
Verificar a automação da infraestrutura
Recuse um prefixo planejado quando seus endereços utilizáveis não atenderem ao requisito da implantação.
Perguntas frequentes
Quais formatos de entrada são aceitos?
Use um prefixo inteiro de 0 a 32, o mesmo prefixo com uma barra inicial ou uma máscara IPv4 decimal contígua.
Como a quantidade de hosts utilizáveis é calculada?
A calculadora obtém 2^(32-prefix) endereços totais e subtrai os endereços de rede e broadcast, sem retornar menos que zero.
Por que /31 retorna zero hosts utilizáveis?
Esta capacidade aplica a regra tradicional de exclusão solicitada, não a interpretação especial ponto a ponto que permite usar os dois endereços de /31.
Ela calcula os endereços de rede e broadcast?
Não. Ela conta endereços usando apenas máscara ou prefixo; para calcular os limites, também seria necessário um endereço IPv4.
Quanto custa uma chamada de API?
Cada chamada de API custa US$ 0,002. O algoritmo não utiliza serviço de rede externo nem modelo probabilístico.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/misc2/subnet-host-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"subnet":"/24"}'const res = await fetch("https://api.kit.forhosting.com/misc2/subnet-host-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"subnet": "/24"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/misc2/subnet-host-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"subnet": "/24"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/misc2/subnet-host-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"subnet":"/24"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"subnet":"/24"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/misc2/subnet-host-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"subnet": "/24"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.subnet_host_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |