Chapitre 615 minDébutant
Masque de sous-réseau : calculer réseau, broadcast et hôtes
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- lire un masque en notation décimale et CIDR ;
- calculer l'adresse de réseau, la diffusion, la plage et le nombre d'hôtes ;
- aller vite avec la taille du bloc ;
- dire si deux machines sont dans le même réseau et choisir un masque selon le nombre d'hôtes.
6 exercices corrigés1 schéma
Le masque de sous-réseau est une suite de 32 bits, des 1 puis des 0, qui indique quelle partie d'une adresse IPv4 désigne le réseau et quelle partie désigne l'hôte ; on l'écrit en décimal (255.255.255.192) ou en notation CIDR (/26). Ce chapitre montre comment calculer, à partir d'une adresse et de son masque, l'adresse de réseau, l'adresse de diffusion, la plage d'adresses utilisables et le nombre d'hôtes, en binaire puis avec la méthode rapide.
Ce qu'est un masque
Un masque a la même longueur qu'une adresse IPv4 : 32 bits. Il commence par une suite de 1, qui couvre la partie réseau, et se termine par une suite de 0, qui couvre la partie hôte. Les 1 et les 0 ne se mélangent jamais.
/26 : 11111111.11111111.11111111.11000000 = 255.255.255.192
└────────── 26 bits à 1 ─────────┘└┬─┘
6 bits à 0 : la partie hôte
La notation CIDR écrit simplement le nombre de bits à 1 après une barre oblique : 192.168.10.75/26. On dit aussi « longueur de préfixe ». C'est la notation des routeurs, des pare-feu, de Linux (ip a) et des sujets d'examen ; Windows affiche le masque en décimal.
Le tableau des masques
| CIDR | Masque décimal | Adresses | Hôtes utilisables |
|---|---|---|---|
| /8 | 255.0.0.0 | 16 777 216 | 16 777 214 |
| /9 | 255.128.0.0 | 8 388 608 | 8 388 606 |
| /10 | 255.192.0.0 | 4 194 304 | 4 194 302 |
| /11 | 255.224.0.0 | 2 097 152 | 2 097 150 |
| /12 | 255.240.0.0 | 1 048 576 | 1 048 574 |
| /13 | 255.248.0.0 | 524 288 | 524 286 |
| /14 | 255.252.0.0 | 262 144 | 262 142 |
| /15 | 255.254.0.0 | 131 072 | 131 070 |
| /16 | 255.255.0.0 | 65 536 | 65 534 |
| /17 | 255.255.128.0 | 32 768 | 32 766 |
| /18 | 255.255.192.0 | 16 384 | 16 382 |
| /19 | 255.255.224.0 | 8 192 | 8 190 |
| /20 | 255.255.240.0 | 4 096 | 4 094 |
| /21 | 255.255.248.0 | 2 048 | 2 046 |
| /22 | 255.255.252.0 | 1 024 | 1 022 |
| /23 | 255.255.254.0 | 512 | 510 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2 (liaison point à point, RFC 3021) |
| /32 | 255.255.255.255 | 1 | 1 (une seule adresse : une route vers un hôte) |
Tu n'as pas besoin d'apprendre ce tableau : il se reconstruit en deux règles. Avec un préfixe /n, il reste h = 32 − n bits d'hôte. Le réseau contient 2^h adresses, dont 2^h − 2 utilisables : on retire l'adresse de réseau et l'adresse de diffusion.
Calculer l'adresse de réseau : le ET logique
Une machine trouve l'adresse de son réseau en faisant un ET logique bit à bit entre son adresse et son masque : 1 ET 1 donne 1, tout le reste donne 0. Là où le masque vaut 1, le bit de l'adresse est gardé ; là où il vaut 0, il est effacé. La logique booléenne est détaillée dans le cours Mathématiques : logique, et le calcul bit à bit sur les nombres binaires dans le cours d'arithmétique (le lien avec le calcul booléen).
Exemple : à quel réseau appartient 192.168.10.75/26 ?
Seul le dernier octet est intéressant, puisque les trois premiers octets du masque valent 255 (tout est gardé) :
Adresse : 75 = 01|001011
Masque : 192 = 11|000000
ET : 01|000000 = 64
Le réseau est 192.168.10.64/26.
Calculer l'adresse de diffusion
L'adresse de diffusion (broadcast) s'obtient en mettant tous les bits d'hôte à 1 :
Réseau : 01|000000 = 64
Diffusion : 01|111111 = 64 + 63 = 127
La diffusion est 192.168.10.127. La plage utilisable va de l'adresse qui suit le réseau à celle qui précède la diffusion : 192.168.10.65 à 192.168.10.126, soit 2⁶ − 2 = 62 hôtes.
La méthode rapide : la taille du bloc
Le binaire est la méthode sûre, à montrer quand l'énoncé demande de « justifier ». Pour aller vite, on utilise la taille du bloc (certains l'appellent le « nombre magique »).
- Repère l'octet significatif : le premier octet du masque qui n'est pas 255.
- Calcule la taille du bloc : 256 − la valeur de cet octet.
- Les réseaux commencent à tous les multiples de cette taille, dans cet octet. Prends le plus grand multiple inférieur ou égal à l'octet correspondant de l'adresse : c'est l'adresse de réseau.
- La diffusion est juste avant le bloc suivant : réseau + taille − 1, dans cet octet, et 255 dans les octets suivants.
Reprenons 192.168.10.75/26 : l'octet significatif est le 4e (192). Taille du bloc : 256 − 192 = 64. Les réseaux commencent à 0, 64, 128, 192. 75 est entre 64 et 127 : réseau .64, diffusion .127. Même résultat, sans binaire.
Un exemple où l'octet significatif est le 3e : 172.16.45.200/20.
- Masque /20 =
255.255.240.0. L'octet significatif est le 3e : 240. - Taille du bloc : 256 − 240 = 16. Les réseaux commencent à 0, 16, 32, 48… dans le 3e octet.
- Le 3e octet de l'adresse vaut 45 : le plus grand multiple de 16 inférieur ou égal est 32. Réseau :
172.16.32.0. - Bloc suivant :
172.16.48.0. Diffusion :172.16.47.255. - Plage :
172.16.32.1à172.16.47.254. Hôtes : 2¹² − 2 = 4 094.
Vérification en binaire du 3e octet : 45 = 0010|1101, 240 = 1111|0000, ET = 0010|0000 = 32. Tout le 4e octet appartient à la partie hôte : il vaut 0 pour le réseau et 255 pour la diffusion.
Deux machines sont-elles dans le même réseau ?
C'est la question que se pose une machine avant chaque envoi : si la destination est dans son réseau, elle l'envoie directement ; sinon, elle l'envoie à sa passerelle (chapitre 9). Pour répondre, on calcule l'adresse de réseau de chacune et on compare.
192.168.10.45/26→ réseau192.168.10.0;192.168.10.70/26→ réseau192.168.10.64. Réseaux différents : bien qu'elles commencent toutes deux par192.168.10, ces deux machines ne se parlent pas sans routeur.172.16.33.10/20→172.16.32.0;172.16.46.200/20→172.16.32.0. Même réseau, bien que le 3e octet diffère.
Quand les deux machines n'ont pas le même masque. Le PC 1 est configuré en 192.168.10.11/24, le PC 3 en 192.168.10.70/26. Le PC 1 calcule que .70 est dans son réseau 192.168.10.0/24 et lui envoie directement sa requête : elle arrive. Le PC 3 calcule que .11 n'est pas dans son réseau 192.168.10.64/26 ; il veut répondre par sa passerelle, qui n'existe pas ou ne mène nulle part. La réponse ne revient jamais. Une communication est un aller et un retour : un masque mal saisi sur une seule machine suffit à la casser, dans un seul sens. C'est une panne classique, et elle est sournoise.
La passerelle doit être dans le réseau
La passerelle par défaut d'une machine est l'adresse du routeur dans son propre réseau. Si tu configures 192.168.10.75/26 avec la passerelle 192.168.10.254, la machine refuse ou n'arrive jamais à la joindre : .254 appartient au réseau 192.168.10.192/26, pas à 192.168.10.64/26. Une passerelle correcte serait par exemple 192.168.10.126 ou 192.168.10.65.
Par convention, on donne à la passerelle la première ou la dernière adresse utilisable du réseau. Choisis une convention et applique-la partout : dans ce cours, chez Sorbier, la passerelle est toujours la dernière adresse utilisable.
Trouver le masque à partir d'un nombre d'hôtes
Un énoncé demande souvent le plus petit réseau qui accueille un nombre d'hôtes donné. Cherche le plus petit h tel que 2^h − 2 ≥ nombre d'hôtes ; le préfixe est alors /(32 − h).
| Hôtes nécessaires | h | 2^h − 2 | Préfixe | Masque |
|---|---|---|---|---|
| 2 | 2 | 2 | /30 | 255.255.255.252 |
| 14 | 4 | 14 | /28 | 255.255.255.240 |
| 15 | 5 | 30 | /27 | 255.255.255.224 |
| 30 | 5 | 30 | /27 | 255.255.255.224 |
| 31 | 6 | 62 | /26 | 255.255.255.192 |
| 500 | 9 | 510 | /23 | 255.255.254.0 |
| 1 000 | 10 | 1 022 | /22 | 255.255.252.0 |
Le masque inversé (wildcard)
Le masque inversé est le complément du masque : les bits à 0 deviennent 1 et inversement. Pour /26, c'est 0.0.0.63 (255 − 192 = 63). On l'obtient octet par octet en calculant 255 − l'octet du masque. Il apparaît dans les ACL des routeurs Cisco et dans la configuration du protocole OSPF : 192.168.10.64 0.0.0.63 désigne le réseau 192.168.10.64/26. Il sert aussi au calcul : diffusion = réseau + masque inversé, octet par octet.
Exercices
Exercice 1 sur 6 Convertir les masques Réussi À revoir
- Convertis en notation CIDR :
255.255.255.224,255.255.248.0,255.192.0.0. - Convertis en décimal pointé :
/19,/29,/22. - Lesquels de ces masques sont invalides ?
255.255.255.0·255.255.0.255·255.255.255.250·255.255.252.0
Voir la réponseMasquer la réponse de l'exercice 1
255.255.255.224= 24 + 3 = /27 (224 =11100000).255.255.248.0= 16 + 5 = /21 (248 =11111000).255.192.0.0= 8 + 2 = /10.- /19 = 16 + 3 bits :
255.255.224.0. /29 = 24 + 5 bits :255.255.255.248. /22 = 16 + 6 bits :255.255.252.0. - Invalides :
255.255.0.255(des 1 après des 0) et255.255.255.250(250 =11111010, les bits sont mélangés). Les deux autres sont valides.
Tu avais trouvé ?
Exercice 2 sur 6 Réseau, diffusion, plage Réussi À revoir
Pour chaque adresse, donne l'adresse de réseau, l'adresse de diffusion, la première et la dernière adresse utilisables et le nombre d'hôtes.
192.168.1.130/25192.168.100.140/2710.0.37.19avec le masque255.255.255.24010.45.200.67/20172.31.200.9/19
Voir la réponseMasquer la réponse de l'exercice 2
- Bloc de 128 dans le 4e octet (256 − 128). 130 est dans le bloc 128-255. Réseau
192.168.1.128, diffusion192.168.1.255, plage.129à.254, 126 hôtes. - Bloc de 32 (256 − 224). 140 ÷ 32 = 4 reste 12, donc le bloc commence à 4 × 32 = 128. Réseau
192.168.100.128, diffusion192.168.100.159, plage.129à.158, 30 hôtes. - Masque /28, bloc de 16. 19 est dans le bloc 16-31. Réseau
10.0.37.16, diffusion10.0.37.31, plage10.0.37.17à10.0.37.30, 14 hôtes. - /20 : octet significatif le 3e, masque 240, bloc de 16. 200 ÷ 16 = 12 reste 8, le bloc commence à 192. Réseau
10.45.192.0, diffusion10.45.207.255, plage10.45.192.1à10.45.207.254, 4 094 hôtes (2¹² − 2). - /19 : octet significatif le 3e, masque 224, bloc de 32. 200 est dans le bloc 192-223. Réseau
172.31.192.0, diffusion172.31.223.255, plage172.31.192.1à172.31.223.254, 8 190 hôtes (2¹³ − 2).
Tu avais trouvé ?
Exercice 3 sur 6 Justifier en binaire Réussi À revoir
Retrouve l'adresse de réseau de 10.45.200.67/20 en posant le ET logique en binaire sur l'octet significatif, comme on te le demanderait dans une copie.
Voir la réponseMasquer la réponse de l'exercice 3
Le masque /20 vaut 11111111.11111111.11110000.00000000. Les deux premiers octets sont gardés (10.45), le quatrième est entièrement effacé (0). Pour le troisième :
Adresse : 200 = 1100|1000
Masque : 240 = 1111|0000
ET : 1100|0000 = 192
Réseau : 10.45.192.0. Pour la diffusion, on met à 1 les 4 bits d'hôte du 3e octet (1100|1111 = 207) et tout le 4e octet (255) : 10.45.207.255.
Tu avais trouvé ?
Exercice 4 sur 6 Même réseau ou pas ? Réussi À revoir
Pour chaque paire, dis si les deux machines peuvent communiquer directement, sans routeur.
192.168.10.45/26et192.168.10.70/26172.16.33.10/20et172.16.46.200/2010.1.1.10/16et10.1.200.3/16192.168.10.11/24et192.168.10.70/26(chaque machine a son propre masque)
Voir la réponseMasquer la réponse de l'exercice 4
- Non. Réseaux
192.168.10.0/26et192.168.10.64/26. - Oui. Toutes deux dans
172.16.32.0/20(bloc de 16 dans le 3e octet : 33 et 46 sont entre 32 et 47). - Oui. Toutes deux dans
10.1.0.0/16. - Non, pas dans les deux sens. La première machine voit la seconde dans son réseau
192.168.10.0/24et lui envoie ses paquets directement. La seconde calcule que.11est hors de son réseau192.168.10.64/26et répond via sa passerelle. Les requêtes arrivent, les réponses ne reviennent pas : il faut corriger le masque erroné.
Tu avais trouvé ?
Exercice 5 sur 6 Trouver l'erreur de configuration Réussi À revoir
Un technicien a configuré ce poste. Trouve l'erreur et corrige-la.
Adresse IPv4 . . . . . : 192.168.10.75
Masque de sous-réseau : 255.255.255.192
Passerelle par défaut : 192.168.10.254
Voir la réponseMasquer la réponse de l'exercice 5
Le poste est dans le réseau 192.168.10.64/26 (plage .65 à .126). La passerelle 192.168.10.254 appartient à un autre réseau, 192.168.10.192/26 : le poste ne peut pas la joindre directement, donc rien ne sort du réseau. Il faut indiquer l'adresse du routeur dans 192.168.10.64/26, par exemple 192.168.10.126 si la convention est la dernière adresse utilisable. Si c'est la passerelle qui est juste et le masque qui est faux, il faut au contraire corriger le masque : avec /24, la passerelle .254 serait dans le réseau. Seul le plan d'adressage permet de trancher.
Tu avais trouvé ?
Exercice 6 sur 6 Choisir le masque Réussi À revoir
Donne le plus petit préfixe et le masque qui conviennent pour :
- une salle de 25 postes, plus une imprimante et la passerelle ;
- le lien entre deux routeurs ;
- un réseau Wi-Fi d'au plus 200 visiteurs simultanés, plus la passerelle ;
- un entrepôt qui prévoit 600 terminaux, plus la passerelle.
Voir la réponseMasquer la réponse de l'exercice 6
- 25 + 1 + 1 = 27 hôtes. 2⁵ − 2 = 30 ≥ 27 : /27,
255.255.255.224. - 2 hôtes : /30,
255.255.255.252(ou /31 si les deux routeurs le permettent, ce qui économise deux adresses). - 201 hôtes. 2⁷ − 2 = 126 ne suffit pas, 2⁸ − 2 = 254 suffit : /24,
255.255.255.0. - 601 hôtes. 2⁹ − 2 = 510 ne suffit pas, 2¹⁰ − 2 = 1 022 suffit : /22,
255.255.252.0.
Tu avais trouvé ?