À quoi sert le calculateur de plage CIDR ?
Cet outil prend une adresse IPv4 en notation décimale pointée accompagnée d'une longueur de préfixe réseau CIDR, puis détermine l'ensemble du sous-réseau : l'adresse réseau, l'adresse de broadcast, la plage d'adresses d'hôtes attribuables, le masque de sous-réseau, le masque générique (wildcard) et le nombre d'adresses. Il repose sur le routage interdomaine sans classe (CIDR, RFC 4632) et fonctionne de façon identique partout dans le monde : l'adressage IP est une norme universelle, indépendante de toute région ou pays.
Comment l'utiliser
Saisissez les quatre octets de l'adresse IPv4 (chacun entre 0 et 255), par exemple 128, 1, 10, 164, puis la longueur du préfixe après la barre oblique (0 à 32), par exemple 24, ce qui donne 128.1.10.164/24. Le calculateur met en avant le résultat principal — la plage d'hôtes attribuables — et détaille en dessous tous les champs dérivés.
La formule expliquée
L'adresse est d'abord encodée sur un seul entier non signé de 32 bits : \(\text{ip} = \text{octet}_1 \times 2^{24} + \text{octet}_2 \times 2^{16} + \text{octet}_3 \times 2^{8} + \text{octet}_4\). Les p bits de poids fort du masque de sous-réseau sont mis à 1, où p correspond au préfixe. L'adresse réseau s'obtient par ip AND masque ; l'adresse de broadcast par réseau OR wildcard (le complément bit à bit du masque). Le premier hôte utilisable vaut réseau + 1 et le dernier hôte utilisable vaut broadcast − 1. Le nombre total d'adresses est égal à \(2^{32-p}\) et le nombre d'hôtes utilisables à ce total moins 2, borné à 0.
$$\begin{gathered} \text{Network} = \text{IP} \mathbin{\&} M, \qquad \text{Broadcast} = \text{Network} \mid \lnot M \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= \left(\text{Oct}_1 \ll 24\right) \mid \left(\text{Oct}_2 \ll 16\right) \mid \left(\text{Oct}_3 \ll 8\right) \mid \text{Oct}_4 \\ M &= \left(2^{\text{Prefix}}-1\right) \ll \left(32 - \text{Prefix}\right) \\ \text{Total} &= 2^{\,32 - \text{Prefix}}, \quad \text{Usable} = \text{Total} - 2 \end{aligned} \right. \end{gathered}$$
Exemple concret
Pour 128.1.10.164/24 : le masque est 255.255.255.0 et le wildcard 0.0.0.255. L'adresse réseau est 128.1.10.0 et le broadcast 128.1.10.255. La plage attribuable s'étend de 128.1.10.1 à 128.1.10.254. On compte 256 adresses au total et 254 hôtes utilisables.
FAQ
Pourquoi y a-t-il deux hôtes utilisables de moins que le total d'adresses ? Dans le découpage IPv4 classique, l'adresse réseau et l'adresse de broadcast ne peuvent pas être attribuées à un hôte. Un /24 disposant de 256 adresses n'offre donc que 254 hôtes utilisables.
Et pour les /31 et /32 ? Un /31 contient 2 adresses et un /32 une seule ; la formule classique du nombre d'hôtes utilisables renvoie 0 dans les deux cas, bien que la RFC 3021 autorise l'utilisation des deux adresses d'un /31 sur les liaisons point à point.
Qu'est-ce qu'un masque générique (wildcard) ? C'est l'inverse bit à bit du masque de sous-réseau (des 0 là où le masque a des 1, et inversement). Il est couramment employé dans les listes de contrôle d'accès (ACL) des routeurs pour faire correspondre une plage d'adresses.