Hôtes utilisables d’un sous-réseau par masque ou CIDR
Ce calculateur d’hôtes utilisables transforme un préfixe CIDR IPv4 ou un masque décimal pointé en un résultat de capacité clair.
Lancer gratuitement
Il indique le préfixe normalisé, le masque équivalent, le nombre total d’adresses du sous-réseau et les hôtes utilisables après exclusion des adresses réseau et de diffusion. Utilisez-le pour planifier un espace d’adressage, vérifier un exercice, documenter un réseau ou valider une configuration d’infrastructure. Le calcul est déterministe et n’interroge aucun réseau : une même entrée fournit donc toujours le même résultat.
Saisissez un préfixe CIDR ou un masque de sous-réseau
Indiquez un préfixe comme 24 ou /24, ou un masque décimal pointé comme 255.255.255.0. Le calculateur accepte tous les préfixes IPv4 de 0 à 32, bornes comprises. Dans un masque, chaque octet doit être compris entre 0 et 255 et sa forme binaire doit être contiguë : tous les bits à un doivent précéder les bits à zéro. La valeur 255.0.255.0 est refusée, car elle ne représente pas un masque CIDR conventionnel. Le résultat normalise les deux formats en longueur de préfixe et en masque décimal, ce qui facilite la comparaison de configurations utilisant des notations différentes. Les espaces extérieurs sont ignorés, mais le texte supplémentaire, les adresses IPv4 suivies d’un préfixe, les nombres négatifs, les décimales et les préfixes supérieurs à 32 sont rejetés. Cette validation stricte évite de produire un résultat crédible à partir d’un réglage ambigu ou erroné. Pour appeler l’API, vous pouvez employer le champ subnet, prefix ou mask ; subnet est le champ principal documenté.
Comprenez le total des adresses et les hôtes utilisables
Une adresse IPv4 comporte 32 bits. Le préfixe fixe les premiers bits du réseau et laisse les autres disponibles dans le sous-réseau. Le total vaut donc deux à la puissance 32 moins la longueur du préfixe. Avec /24, huit bits restent libres et donnent 256 adresses au total. Cette capacité applique la convention traditionnelle demandée et retranche deux adresses : l’identifiant réseau et l’adresse de diffusion. Un /24 renvoie ainsi 254 hôtes utilisables. Les très petits sous-réseaux appellent une attention particulière : puisque réseau et diffusion sont toujours exclus, /31 et /32 renvoient zéro hôte utilisable. Certaines liaisons point à point exploitent les deux adresses d’un /31 selon une convention spéciale, et une route d’hôte désigne une adresse avec /32, mais ces interprétations sortent de la règle annoncée ici. Le total explicite reste utile : /31 contient deux adresses et /32 une seule. Le plus grand réseau accepté, /0, possède 4,294,967,296 adresses au total et 4,294,967,294 après les deux exclusions.
Exploitez le résultat pour planifier votre réseau
Utilisez le nombre exploitable comme premier contrôle de capacité, puis tenez compte des réservations propres à votre environnement. Passerelles, équilibreurs, services DNS, appliances, IP virtuelles, réservations du fournisseur et marge de croissance peuvent réduire la disponibilité au-delà des exclusions réseau et diffusion. Par exemple, /26 fournit 64 adresses au total et 62 selon la formule traditionnelle, mais peut héberger moins d’instances après les réservations de plateforme. Le masque normalisé aide aussi à transposer une conception CIDR vers un équipement ou un document exigeant la notation décimale. En automatisation, comparez usable_host_addresses au nombre d’appareils requis et interrompez le déploiement si la capacité manque. Conservez prefix_length et subnet_mask avec cette décision afin que l’interprétation soit vérifiable. Cet outil compte uniquement les adresses : sans IP d’hôte, il ne calcule ni adresse réseau ni diffusion et n’inspecte ni routes, ni VLAN, ni pools DHCP, ni préfixes IPv6, ni équipements actifs. Chaque exécution par API coûte $0.002, et le calcul déterministe convient aussi aux vérifications interactives rapides.
Cas d’usage
Dimensionner un nouveau sous-réseau IPv4
Comparez les hôtes utilisables aux besoins des appareils et prévoyez les réservations ainsi que la croissance.
Valider la documentation réseau
Convertissez un masque décimal en préfixe normalisé et confirmez la cohérence mathématique de la capacité annoncée.
Contrôler l’automatisation d’infrastructure
Refusez un préfixe planifié si son nombre traditionnel d’adresses utilisables ne couvre pas le déploiement.
Questions fréquentes
Quels formats d’entrée sont acceptés ?
Utilisez un préfixe entier de 0 à 32, ce même préfixe précédé d’une barre oblique ou un masque IPv4 décimal contigu.
Comment le nombre d’hôtes utilisables est-il calculé ?
Le calculateur obtient 2^(32-prefix) adresses au total et retranche les adresses réseau et de diffusion, sans jamais descendre sous zéro.
Pourquoi /31 renvoie-t-il zéro hôte utilisable ?
Cette capacité applique la règle traditionnelle d’exclusion demandée, et non l’interprétation spéciale point à point permettant d’utiliser les deux adresses d’un /31.
Calcule-t-il les adresses réseau et de diffusion ?
Non. Il compte les adresses à partir du masque ou du préfixe ; le calcul des extrémités exigerait aussi une adresse IPv4.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. L’algorithme ne sollicite aucun service réseau externe ni modèle probabiliste.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"subnet": "/24"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.subnet_host_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |