Aller au contenu principal

L'adressage IPv4 et le masque de sous-réseau

Ce que ce chapitre apporte 6 points
  • Décomposer une adresse IPv4 en une partie réseau et une partie machine.
  • Calculer une adresse de réseau, une adresse de diffusion et une plage utilisable.
  • Expliquer comment une machine décide si une destination est locale ou distante.
  • Distinguer adresses publiques, privées et particulières.
  • Construire un plan d'adressage à longueur variable et dire ce qu'il économise.
  • Reconnaître les pannes qui viennent d'un masque et non d'une adresse.

Une adresse IPv4 ne se lit pas sans son masque de sous-réseau : c'est lui qui sépare la partie réseau de la partie machine. Une adresse MAC identifie une carte, et rien de plus : elle ne dit pas où cette carte se trouve, et ne permet donc de choisir aucun chemin. Une adresse IP fait l'inverse. Elle est construite pour répondre à une seule question, posée des millions de fois par seconde dans le monde : cette machine est-elle à côté de moi, ou faut-il passer par quelqu'un pour la joindre ?

Tout ce chapitre découle de cette question. La réponse s'obtient par un calcul très simple, que toute machine fait avant chaque envoi, et la plupart des pannes d'adressage sont des cas où deux machines répondent différemment à la même question.

Une adresse coupée en deux

Une adresse IPv4 tient sur 32 bits, écrits en quatre nombres de 0 à 255 séparés par des points. Ces 32 bits ne forment pas un identifiant d'un seul tenant : ils se coupent en deux parties, et c'est le masque qui dit où passe la coupure.

Masque et préfixe

Le masque est une suite de bits à 1 suivie de bits à 0. Les bits à 1 désignent la partie réseau de l'adresse, les bits à 0 la partie machine.

La notation /24 donne simplement le nombre de bits à 1 : elle est équivalente à 255.255.255.0, et bien plus lisible.

Pour obtenir l'adresse du réseau, une machine ne fait pas une comparaison mais un calcul : un ET logique entre l'adresse et le masque, bit à bit. Tout bit de la partie machine est ramené à zéro, et ce qui reste est le réseau.

C'est exactement le geste décrit dans le chapitre d'architecture sur les masques binaires et les décalages, et ce n'est pas une analogie : un masque de sous-réseau est un masque binaire, employé pour la même raison, éteindre les bits dont on ne veut pas.

main.py
Sortie
>_ Prêt à exécuter…

La colonne binaire montre ce que la notation décimale cache. Les 26 premiers bits sont recopiés à l'identique, les 6 derniers sont mis à zéro. Sur le troisième octet il ne se passe rien de visible ; c'est le quatrième qui bascule de 130 à 128.

Deux adresses de chaque sous-réseau ne peuvent jamais être données à une machine. La première, avec tous les bits machine à zéro, désigne le réseau lui-même. La dernière, avec tous les bits machine à un, est l'adresse de diffusion : une trame qui la vise s'adresse à toutes les machines du réseau. Un /26 contient donc 64 adresses mais n'en attribue que 62, et cette soustraction de 2 est l'erreur la plus fréquente de tout le chapitre.

Vérification rapideon peut se reprendre

1.Que fait une machine pour savoir si une destination est locale ?

2.Combien de machines un /26 peut-il accueillir ?

Le masque décide qui est le voisin

Avant chaque envoi, une machine applique son masque à sa propre adresse et à celle de la destination. Si les deux calculs donnent le même réseau, elle émet directement sur le réseau local. Sinon, elle envoie à sa passerelle par défaut, un routeur chargé de faire suivre.

C'est tout le mécanisme, et il tient en une comparaison. Sa conséquence est moins évidente : deux machines qui portent le même masque sont d'accord, deux machines qui portent des masques différents peuvent être en désaccord sur leur propre voisinage.

main.py
Sortie
>_ Prêt à exécuter…

Le cas du dernier commentaire est une panne courante, et elle est déroutante parce qu'elle n'est pas symétrique. Le poste croit son correspondant voisin et lui parle directement, le serveur croit le contraire et répond à son routeur. Selon la configuration du routeur, la conversation fonctionne à moitié, ou pas du tout, et les adresses semblent pourtant correctes.

Une adresse seule ne veut rien dire, il faut toujours lire le masque avec elle. Un relevé de configuration qui donne l'adresse sans le masque est inexploitable, et une adresse notée sans son préfixe dans une documentation est une erreur en attente.

Vérification rapideon peut se reprendre

Deux machines ont la même adresse réseau apparente mais des masques différents. Que se passe-t-il ?

Les adresses qui ne s'attribuent pas

Certaines plages ont un sens fixé, et les rencontrer renseigne immédiatement.

PlageNomCe qu'elle signale
127.0.0.0/8BouclageLa machine elle-même ; le paquet ne quitte jamais la carte
169.254.0.0/16Auto-attributionLa machine n'a obtenu aucune adresse et s'en est fabriqué une
10.0.0.0/8PrivéeRéseau interne, non routable sur Internet
172.16.0.0/12PrivéeRéseau interne, non routable sur Internet
192.168.0.0/16PrivéeRéseau interne, non routable sur Internet

Une adresse en 169.254 est le message d'erreur le plus utile du réseau : elle dit qu'aucun serveur d'attribution automatique n'a répondu. Le problème n'est alors ni l'adresse ni le masque, mais ce qui devait les fournir, et le chapitre 7 y revient.

main.py
Sortie
>_ Prêt à exécuter…

Les adresses privées sont réutilisables : le même 192.168.1.10 existe dans des millions de réseaux, sans conflit, parce qu'aucun routeur d'Internet n'accepte de les faire suivre. C'est ce qui a permis à IPv4 de tenir bien au-delà de ce que son espace d'adressage laissait prévoir, au prix d'une traduction en sortie que traite le chapitre 7.

Vérification rapideon peut se reprendre

Que signifie une adresse en 169.254 ?

Découper un bloc

Une organisation reçoit un bloc et doit le partager entre ses services. Le réflexe naturel est de découper en parts égales ; il est presque toujours mauvais, parce que les besoins ne sont pas égaux.

La méthode qui économise s'appelle le découpage à longueur variable : chaque sous-réseau reçoit la plus petite taille qui loge son besoin, et les grands sont placés en premier. Cet ordre n'est pas une commodité mais une nécessité : un sous-réseau doit commencer à une adresse multiple de sa taille, et placer un petit devant un grand casse cet alignement.

192.168.10.0/24 · 256 adresses
libre : 140
192.168.10.0256 adresses
sous-réseauadresseplage utilisablelibres
192.168.10.0/26192.168.10.1 à 192.168.10.622
192.168.10.64/27192.168.10.65 à 192.168.10.945
192.168.10.96/28192.168.10.97 à 192.168.10.1102
192.168.10.112/30192.168.10.113 à 192.168.10.1140
  • Le découpage à longueur variable consomme 116 des 256 adresses du bloc, et en laisse 140 pour la suite.
  • Les besoins totalisent 99 machines ; 9 adresses attribuables restent inoccupées dans les sous-réseaux déjà taillés, et ne serviront plus.
  • Chaque sous-réseau perd deux adresses, l'une pour le réseau, l'autre pour la diffusion : 4 sous-réseaux coûtent donc 8 adresses avant même la première machine.
Le même bloc, découpé de deux façons. En parts égales, chaque service reçoit la taille du plus gros et le bloc est saturé ; à longueur variable, il en reste plus de la moitié.

Basculer d'un mode à l'autre montre le coût du découpage uniforme : la liaison entre deux routeurs, qui n'a besoin que de deux adresses, en reçoit soixante-deux dont soixante ne serviront jamais. Le hachurage marque, dans chaque sous-réseau, la part que le besoin annoncé n'occupe pas.

Un sous-réseau se dimensionne sur le besoin à venir, pas sur le besoin du jour. Passer de 60 à 65 postes fait changer de taille, et changer de taille oblige à replacer tout ce qui suit dans le bloc. C'est le seul endroit du chapitre où il est raisonnable de prévoir large, et une marge d'un cran de plus coûte peu tant que le bloc n'est pas saturé.

Un plan réel comporte presque toujours des liaisons entre routeurs, qui ne portent que deux adresses et se taillent donc en /30. Elles sont nombreuses et minuscules, et c'est exactement ce que le découpage uniforme rend impossible.

172.16.0.0/22 · 1024 adresses
libre : 152
172.16.0.01024 adresses
sous-réseauadresseplage utilisablelibres
172.16.0.0/23172.16.0.1 à 172.16.1.25410
172.16.2.0/24172.16.2.1 à 172.16.2.25454
172.16.3.0/26172.16.3.1 à 172.16.3.622
172.16.3.64/27172.16.3.65 à 172.16.3.945
172.16.3.96/30172.16.3.97 à 172.16.3.980
172.16.3.100/30172.16.3.101 à 172.16.3.1020
  • Le découpage à longueur variable consomme 872 des 1024 adresses du bloc, et en laisse 152 pour la suite.
  • Les besoins totalisent 789 machines ; 71 adresses attribuables restent inoccupées dans les sous-réseaux déjà taillés, et ne serviront plus.
  • Chaque sous-réseau perd deux adresses, l'une pour le réseau, l'autre pour la diffusion : 6 sous-réseaux coûtent donc 12 adresses avant même la première machine.
Un bloc de 1024 adresses pour quatre services et deux liaisons. Les grands d'abord, les liaisons à la fin : l'alignement se fait alors tout seul.
Vérification rapideon peut se reprendre

1.Pourquoi place-t-on les grands sous-réseaux en premier ?

2.Quelle taille pour un service de 60 postes ?

La méthode de calcul

Trois questions reviennent constamment, et se traitent toujours dans le même ordre.

Quel est le réseau de cette adresse ? Poser l'adresse et le masque en binaire, faire le ET logique. En pratique, seul l'octet où le masque n'est ni 255 ni 0 demande un vrai calcul : la taille du sous-réseau y donne un pas, et l'adresse de réseau est le multiple de ce pas immédiatement inférieur.

Ces deux machines sont-elles voisines ? Calculer le réseau des deux, avec leurs masques respectifs et non un masque supposé commun. Un désaccord est en soi le diagnostic.

Quelle taille pour ce besoin ? Ajouter 2 au nombre de machines, puis prendre la puissance de deux immédiatement supérieure. Soixante postes demandent 62 adresses attribuables, donc un bloc de 64, donc un /26.

Mettre en pratique

Le découpage d'un réseau est le calcul le plus fréquent du métier, et le seul où une erreur d'une unité se paie par des machines qui ne communiquent pas.

Découper et compter

  • 1.

    Combien d'adresses attribuables un sous-réseau en /26 contient-il ?

  • 2.

    Combien de sous-réseaux en /26 tiennent dans un /24 ?

  • 3.

    Un poste porte l'adresse 192.168.4.200 avec un masque en /26. Quel est le dernier octet de l'adresse de son réseau ?

  • 4.

    Quel est le dernier octet de l'adresse de diffusion de ce réseau ?

  • 5.

    Trois sites demandent respectivement 50, 25 et 10 machines. Un découpage à longueur variable leur attribue un /26, un /27 et un /28. Combien d'adresses cela consomme-t-il au total ?

  • 6.

    Combien d'adresses trois /24 auraient-ils consommées pour les mêmes besoins ?

L'écart entre les deux dernières réponses est l'argument entier du découpage à longueur variable : 112 adresses au lieu de 768, pour exactement les mêmes besoins. Sur un espace d'adressage privé cela paraît sans importance, et sur un espace public cela décide de ce qu'une organisation peut se permettre.

Vérification rapideon peut se reprendre

Pourquoi le même 192.168.1.10 peut-il exister dans des millions de réseaux ?

Une machine est en 192.168.4.200/26. Quelle est son adresse de réseau, et combien de machines ce sous-réseau accepte-t-il ?

Un /26 découpe le dernier octet par pas de 64 : les réseaux commencent à 0, 64, 128 et 192.

200 tombe entre 192 et 255, donc l'adresse de réseau est 192.168.4.192, et la diffusion 192.168.4.255.

La plage attribuable va de 192.168.4.193 à 192.168.4.254, soit 62 adresses. Pas 64 : la première et la dernière du bloc sont réservées.

Un poste en 10.1.1.50/24 ne joint pas un serveur en 10.1.1.200/25, alors que les deux sont sur le même commutateur. Pourquoi ?

Les masques diffèrent, et les deux machines ne sont donc pas d'accord sur leur voisinage.

Le poste, en /24, calcule le réseau 10.1.1.0 pour lui comme pour le serveur : il conclut qu'ils sont voisins et lui parle directement.

Le serveur, en /25, se calcule dans 10.1.1.128 et place le poste dans 10.1.1.0 : il conclut que le poste est distant, et répond à sa passerelle.

La panne est asymétrique : la demande arrive, la réponse part ailleurs. Le commutateur ne peut rien y faire, car le problème est au-dessus de lui. La correction consiste à aligner les masques, après avoir décidé lequel est le bon.

Un poste affiche l'adresse 169.254.11.42. Faut-il vérifier son masque ?

Non, cette adresse n'a pas été configurée : elle a été fabriquée par le poste lui-même, faute de réponse à sa demande d'adresse.

Corriger son masque ne mènerait nulle part. Ce qu'il faut chercher est plus bas ou plus loin : le câble et le voyant du port, le port du commutateur, puis le service qui devait attribuer l'adresse, ainsi que le chemin entre le poste et lui.

Cette adresse est donc une bonne nouvelle en soi : elle transforme une panne vague en une question précise.

Chapitre révisé en octobre 2026 · Une erreur dans ce chapitre ?

Dans la bibliothèque d'exercices