Aller au contenu
Favoris

Calculateur CIDR – Convertir une plage d’adresses IP en blocs CIDR

Mis à jour :

Convertissez un bloc CIDR IPv4 comme 10.0.0.0/22 en plage d’adresses et obtenez son masque de sous-réseau et son nombre d’hôtes. Vous pouvez aussi convertir une plage délimitée par deux adresses IP en un nombre minimal de blocs CIDR, ou regrouper une liste de blocs.

Convertir des plages d’adresses IP en blocs CIDR et inversement

Champs de saisie
Adresse IPv4 avec une longueur de préfixe (/0 à /32) ; une adresse seule équivaut à /32.
Début de la plage (inclus).
Si activé, le résultat se met à jour automatiquement dès que vous modifiez une valeur.

Formule CIDR

Formule
\[ N = 2^{32-p} \\\\[4pt] \text{masque de sous-réseau} = \underbrace{111\ldots1}_{p\text{ bits}}\underbrace{000\ldots0}_{32-p\text{ bits}} \\\\[4pt] \text{réseau} = \text{IP} \mathbin{\&} \text{masque de sous-réseau} \\\\[4pt] \text{diffusion} = \text{réseau} + N - 1 \\\\[4pt] \text{hôtes utilisables} = N - 2 \quad (0 \le p \le 30) \]

Avec :

  • \(p\) — la longueur du préfixe, c’est-à-dire le nombre de bits de tête fixés par le bloc (de 0 à 32)
  • \(N\) — le nombre total d’adresses couvertes par le bloc
  • \(\text{IP}\) — l’adresse que vous saisissez ; l’opération ET bit à bit (&) remet à zéro les bits réservés aux hôtes
  • \(\text{réseau}\) et \(\text{diffusion}\) — la première et la dernière adresse du bloc

Un bloc CIDR se caractérise par la longueur de son préfixe : un bloc /\(p\) contient \(2^{32-p}\) adresses et commence à une adresse dont les \(32-p\) derniers bits sont à zéro. Son masque de sous-réseau comporte exactement \(p\) bits à 1, suivis de bits à 0. Le masque générique est simplement l’inverse bit à bit du masque de sous-réseau.

Exemple de calcul CIDR

Exemple : convertissons le bloc 10.0.0.0/22, proposé par défaut dans le calculateur, en plage d’adresses.

\[ N = 2^{32-22} = 2^{10} = 1024 \]

\[ \text{masque de sous-réseau} = 255.255.252.0 \quad \Rightarrow \quad \text{masque générique} = 0.0.3.255 \]

\[ \text{diffusion} = 10.0.0.0 + 1023 = 10.0.3.255 \]

Résultat : le bloc 10.0.0.0/22 couvre la plage de 10.0.0.0 à 10.0.3.255, soit 1 024 adresses au total, dont 1 022 utilisables par des hôtes (les adresses réseau et de diffusion sont réservées).

Comment utiliser le calculateur

  1. Choisissez un mode : « CIDR → plage d’adresses », « Plage d’adresses → blocs CIDR » ou « Regrouper une liste de blocs CIDR ». Seuls les champs nécessaires au mode choisi s’affichent.
  2. En mode CIDR → plage d’adresses, saisissez un bloc CIDR comme 10.0.0.0/22. Une adresse seule, comme 192.168.1.1, est considérée comme un /32 (un seul hôte). Les résultats indiquent la première adresse (réseau), la dernière (diffusion), le nombre total d’adresses, le masque de sous-réseau, le masque générique et le bloc sous sa forme canonique.
  3. En mode Plage d’adresses → blocs CIDR, saisissez la première adresse IP et la dernière adresse IP de la plage (toutes deux incluses). Le calculateur renvoie le nombre minimal de blocs CIDR couvrant exactement cette plage, sans trou ni chevauchement, ainsi que le détail de chaque bloc.
  4. En mode Regrouper une liste de blocs CIDR, collez vos blocs dans le champ Blocs CIDR, à raison d’un par ligne. Vous pouvez aussi les séparer par des virgules ou des points-virgules. Les blocs qui se chevauchent ou se suivent sont fusionnés automatiquement, et la liste entière est ramenée au plus petit ensemble de blocs couvrant exactement les mêmes adresses.
  5. Consultez les détails du calcul sous les résultats pour suivre les étapes du calcul. Une remarque y apparaît notamment si l’adresse saisie comporte des bits réservés aux hôtes à 1. Pour organiser les sous-réseaux d’un bloc, le calculateur de sous-réseaux IP permet d’effectuer les mêmes opérations sous l’angle du découpage en sous-réseaux.

Qu’est-ce que le CIDR ?

Le CIDR (Classless Inter-Domain Routing, ou routage inter-domaine sans classe) a remplacé l’ancien système des classes A, B et C par une notation plus souple, qui associe une adresse à la longueur de son préfixe : a.b.c.d/p. Le préfixe \(p\) indique combien de bits de tête sont communs à toutes les adresses du bloc. Les \(32-p\) bits restants peuvent varier librement : le bloc contient donc \(2^{32-p}\) adresses. Cette seule règle permet de déduire le reste : un /24 contient \(2^8 = 256\) adresses et a pour masque 255.255.255.0, un /22 contient \(2^{10} = 1024\) adresses et a pour masque 255.255.252.0, tandis qu’un /32 désigne une seule adresse.

Cette structure binaire impose une règle d’alignement : un bloc de \(2^k\) adresses ne peut commencer qu’à une adresse multiple de \(2^k\). Ainsi, 192.168.1.16/28 est valide (16 adresses à partir d’un multiple de 16), contrairement à 192.168.1.8/28, dont l’adresse de départ ne correspond pas à une limite de bloc. Une plage définie par deux adresses quelconques s’aligne rarement sur un seul bloc CIDR : il faut alors la découper. Le calculateur utilise un algorithme glouton qui, à chaque étape, choisit le plus grand bloc correctement aligné pouvant tenir dans la plage restante. Cette méthode donne le nombre minimal de blocs possible.

En pratique, il est important de distinguer les nombres affichés. Le « nombre total d’adresses » correspond à la taille brute du bloc. Dans le découpage classique en sous-réseaux (préfixes de /0 à /30), la première adresse est réservée à l’identification du réseau et la dernière à la diffusion : il reste donc deux adresses de moins pour les hôtes. Les /31 (selon la RFC 3021, pour les liaisons point à point) et les /32 (un seul hôte) font exception : toutes leurs adresses sont utilisables. Si vous souhaitez répartir un grand bloc en sous-réseaux plus petits et connaître le nombre d’hôtes par sous-réseau, utilisez le calculateur de sous-réseaux. Pour vérifier les calculs d’adresses à la main, le convertisseur binaire permet de voir les bits qui composent les masques.

Conseils et limites

  • Le calculateur prend en charge uniquement IPv4 (quatre octets de 0 à 255, préfixe de /0 à /32). Les adresses IPv6 sont refusées.
  • Si vous saisissez une adresse dont certains bits réservés aux hôtes sont à 1, comme 10.0.1.7/22, les résultats décrivent le bloc qui contient cette adresse (10.0.0.0/22). Les détails du calcul le signalent. Pour éviter toute ambiguïté, saisissez toujours l’adresse réseau.
  • Une plage définie par sa première et sa dernière adresse est convertie en un ensemble minimal et exact de blocs, sans adresses manquantes ni doublons. C’est généralement ce qu’exigent les tables de routage et les listes de contrôle d’accès.
  • Le regroupement ne fusionne les blocs que s’ils se chevauchent ou se suivent directement. Une seule adresse manquante entre deux blocs suffit à les maintenir séparés.
  • Les résultats très volumineux (par exemple, le regroupement de nombreux /32 dispersés) peuvent compter des milliers de blocs. Le tableau affiche les 200 premiers et indique le nombre total.

Préfixes CIDR courants

Préfixe Masque de sous-réseau Masque générique Adresses Hôtes utilisables
/30 255.255.255.252 0.0.0.3 4 2
/29 255.255.255.248 0.0.0.7 8 6
/24 255.255.255.0 0.0.0.255 256 254
/22 255.255.252.0 0.0.3.255 1 024 1 022
/20 255.255.240.0 0.0.15.255 4 096 4 094
/16 255.255.0.0 0.0.255.255 65 536 65 534
/8 255.0.0.0 0.255.255.255 16 777 216 16 777 214

Chaque bit ajouté au préfixe divise la taille du bloc par deux ; chaque bit retiré la double. La relation \(N = 2^{32-p}\) suffit à retrouver n’importe quelle ligne de ce tableau.

Questions fréquentes

Comment calculer une plage CIDR à la main, sans calculateur ?

Prenez la longueur du préfixe p et calculez la taille du bloc : \(N = 2^{32-p}\). Écrivez le masque avec p bits à 1 suivis de (32 − p) bits à 0 : pour /22, cela donne 11111111.11111111.11111100.00000000 = 255.255.252.0. Appliquez ensuite une opération ET entre votre adresse et ce masque pour obtenir l’adresse réseau, puis ajoutez \(N - 1\) pour obtenir l’adresse de diffusion. Deux repères pratiques : chaque octet représente 256 adresses, et chaque bit ajouté au préfixe divise la taille du bloc par deux. Ainsi, /24 = 256, /23 = 512 et /22 = 1 024.

Comment convertir un masque comme 255.255.240.0 en notation CIDR ?

Convertissez le masque en binaire et comptez les bits à 1. 255.255.240.0 = 11111111.11111111.11110000.00000000 : il y a 20 bits à 1, ce qui donne /20. Pour aller plus vite, retenez que les octets d’un masque valent toujours 255, 254, 252, 248, 240, 224, 192 ou 0 (soit 256 moins une puissance de deux). Ils correspondent respectivement à 8, 7, 6, 5, 4, 3, 2 ou 0 bits à 1 dans l’octet. Pour 255+255+240+0, on obtient 8+8+4+0 = 20.

Pourquoi une plage d’adresses IP quelconque ne forme-t-elle pas toujours un seul bloc CIDR ?

Un bloc CIDR de \(2^k\) adresses doit commencer à une adresse divisible par \(2^k\). Par exemple, 192.168.1.16/28 est valide, car 16 est un multiple de 16, mais 192.168.1.8/28 ne commence pas à une limite de bloc /28. Si les adresses de début et de fin de votre plage ne respectent pas cet alignement, il faut la répartir en plusieurs blocs. L’algorithme glouton du calculateur produit toujours le nombre minimal de blocs possible.

Un /24 correspond-il à l’ancienne classe C ?

Un /24 a la même taille et le même masque de sous-réseau (255.255.255.0) qu’un réseau de classe C. Mais le CIDR a supprimé les classes fixes : n’importe quel préfixe de /0 à /32 peut s’appliquer à n’importe quelle adresse. Un /24 n’indique donc pas à quelle classe une adresse « appartient ». Ce qui reste pertinent aujourd’hui, ce sont les plages privées définies par la RFC 1918 : 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16. Un bloc CIDR situé dans ces plages n’est pas routable sur l’Internet public.

À quoi sert le masque générique ?

Le masque générique est l’inverse bit à bit du masque de sous-réseau. Ainsi, pour un /22 dont le masque de sous-réseau est 255.255.252.0, le masque générique est 0.0.3.255. Il est principalement utilisé dans les listes de contrôle d’accès Cisco et les déclarations de réseau OSPF : un bit à 0 signifie « doit correspondre » et un bit à 1, « valeur indifférente ». Ce n’est pas un masque de sous-réseau : le saisir à la place de ce dernier est une erreur de configuration courante.

Pourquoi 10.0.1.7/22 donne-t-il les mêmes résultats que 10.0.0.0/22 ?

10.0.1.7 n’est pas l’adresse réseau du bloc /22 : ses 10 derniers bits, réservés aux hôtes, ne sont pas tous à zéro. Une opération ET avec le masque /22, 255.255.252.0, remet ces bits à zéro et donne le bloc contenant cette adresse, 10.0.0.0/22. C’est donc ce bloc que décrit le calculateur. Pour éviter toute ambiguïté, saisissez toujours l’adresse réseau. Les détails du calcul signalent si l’adresse saisie comporte des bits réservés aux hôtes à 1.

Combien de sous-réseaux /26 peut-on créer dans un /22 ?

Comparez les préfixes : de /22 à /26, il y a 4 bits de différence. Chaque bit emprunté double le nombre de sous-réseaux : on obtient donc \(2^4 = 16\) sous-réseaux de 64 adresses chacun (62 hôtes utilisables). En règle générale, un bloc /p contient \(2^{q-p}\) sous-réseaux de taille /q. Si vous partez plutôt d’un nombre fixe d’hôtes par sous-réseau, retenez qu’un sous-réseau destiné à \(H\) hôtes nécessite \(H + 2\) adresses, car celles du réseau et de diffusion sont réservées. Il faut ensuite arrondir ce nombre à la puissance de deux supérieure.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *