Subnetting
Le subnetting expliqué simplement : masque de sous-réseau, notation CIDR, calcul du network-id et du host-id, avec exercices pratiques et exemples concrets.
Network-ID et Host-ID
Le network-ID et le host-ID sont deux composants essentiels d’une adresse IP dans le contexte de l’adressage IPv4. Ils déterminent, respectivement, le réseau auquel appartient une adresse IP et le dispositif spécifique (ou « hôte ») au sein de ce réseau.
Network-ID (identifiant de réseau)
- Il identifie le réseau spécifique ou le sous-réseau auquel appartient un dispositif. Toutes les machines qui partagent le même network-ID font partie du même réseau ou sous-réseau.
- Dans un environnement où le subnetting n’est pas utilisé, le network-ID est déterminé par la classe de l’adresse IP et son masque de réseau par défaut. Par exemple, pour une adresse de classe A, les 8 premiers bits représentent le network-ID.
Host-ID (identifiant d’hôte)
- Il identifie un dispositif spécifique (ou « hôte ») au sein d’un réseau ou sous-réseau. Chaque hôte au sein d’un réseau doit avoir un host-ID unique.
- Prenons à nouveau l’exemple d’une adresse de classe A : bien que les 8 premiers bits soient réservés pour le network-ID, les 24 bits restants (d’une adresse IPv4 de 32 bits) sont utilisés pour le host-ID. Ces bits permettent d’identifier individuellement chaque hôte au sein du réseau.

Pour mieux comprendre comment ces identifiants fonctionnent, considérons l’adresse IP 192.168.10.1 avec le masque de sous-réseau 255.255.255.0 :
- Le Network-ID est
192.168.10.0(les trois premiers octets, en fonction du masque de sous-réseau). - Le Host-ID est
1(le dernier octet).
Le masque de sous-réseau (ou masque réseau) joue un rôle crucial pour déterminer où se termine le network-ID et où commence le host-ID. Dans l’exemple ci-dessus, le masque de sous-réseau 255.255.255.0 indique que les trois premiers octets sont réservés pour le network-ID, tandis que le dernier octet est destiné au host-ID.
Masque réseau ou masque de sous-réseau ?
En réalité, dans la pratique courante, les termes « masque réseau » et « masque de sous-réseau » sont souvent utilisés de manière interchangeable. Cependant, pour comprendre la distinction théorique, il est essentiel de revenir aux bases de l’adressage IP classé.
Qu’est-ce qu’un masque réseau ?
Dans le contexte de l’adressage IP classé (classes A, B, C, etc.), chaque classe a un masque réseau par défaut. Par exemple :
- Classe A :
255.0.0.0 - Classe B :
255.255.0.0 - Classe C :
255.255.255.0
Ce masque détermine quelle partie de l’adresse IP est l’identifiant de réseau et quelle partie peut être utilisée pour les hôtes au sein de ce réseau.
Qu’est-ce qu’un masque de sous-réseau ?
Avec l’évolution des besoins du réseau et la nécessité d’une utilisation plus efficace des adresses IP, le concept de sous-réseau a été introduit. Le sous-réseau implique de prendre une portion du segment hôte d’une adresse IP (comme défini par le masque réseau) et de l’utiliser pour identifier des sous-réseaux individuels. Le masque de sous-réseau est alors utilisé pour définir cette division supplémentaire. Il est souvent plus spécifique (c’est-à-dire avec plus de bits à 1) que le masque réseau de classe par défaut. Par exemple, avec une adresse de classe C (masque réseau par défaut 255.255.255.0), vous pourriez avoir un masque de sous-réseau de 255.255.255.240 pour créer des sous-réseaux plus petits.
Les masques réseau en bref
- Un masque réseau est un concept lié à l’adressage IP classé et donne la division par défaut entre l’identifiant de réseau et l’identifiant hôte d’une adresse IP.
- Un masque de sous-réseau est utilisé pour subdiviser davantage le segment hôte d’une adresse IP pour créer des sous-réseaux individuels.
Cependant, dans l’ère moderne de la notation CIDR et du subnetting, la distinction entre ces deux termes est souvent floue, et ils sont couramment utilisés de manière interchangeable.
C’est quoi un masque de sous-réseau ?

Un masque de sous-réseau est un outil utilisé en réseau pour déterminer quelle partie d’une adresse IP est réservée pour le réseau et quelle partie est réservée pour les hôtes (ou dispositifs) au sein de ce réseau. Il permet de diviser l’espace d’adressage IP en sections plus petites, plus gérables et souvent plus sécurisées.
Voici quelques points clés à retenir sur le masque réseau :
- Format : tout comme les adresses IP dans IPv4, un masque réseau est composé de 32 bits et est généralement représenté en notation décimale pointée, par exemple 255.255.255.0.
- Fonction : le masque de sous-réseau identifie combien de bits dans l’adresse IP correspondent au réseau (ou au sous-réseau) et combien peuvent être utilisés pour les hôtes. Par exemple, le masque 255.255.255.0 signifie que les 24 premiers bits sont réservés pour le réseau, laissant les 8 bits restants pour les hôtes.
- Notation CIDR : il est courant aujourd’hui d’utiliser la notation CIDR (Classless Inter-Domain Routing) pour spécifier le masque de sous-réseau. Dans cette notation, l’adresse IP est suivie d’une barre oblique (« / ») et d’un nombre indiquant le nombre de bits réservés au réseau. Par exemple, l’adresse
192.168.1.0/24est équivalente à192.168.1.0avec un masque de sous-réseau de255.255.255.0. - Objectif : en permettant aux administrateurs réseau de diviser les réseaux en sous-réseaux plus petits, les masques de sous-réseau augmentent l’efficacité de l’utilisation des adresses IP, améliorent les performances réseau et peuvent renforcer la sécurité.
- Exemple : avec l’adresse IP
192.168.1.15et le masque de sous-réseau255.255.255.0:- Adresse réseau :
192.168.1.0 - Plage d’adresses hôtes :
192.168.1.1à192.168.1.254 - Adresse de broadcast :
192.168.1.255
- Adresse réseau :
En résumé, le masque réseau est un composant essentiel de l’adressage IP qui définit comment un espace d’adresse IP est segmenté en réseaux et hôtes.
Subnetting = faire des sous-réseaux.
VLSM = Variable Length Subnet Mask = masque de sous-réseau à longueur variable.
Pourquoi le Subnetting ?
Problématique :
- 4,2 milliards d’adresses IP disponibles dans le monde entier… et nous sommes plus de 7 milliards d’habitants sur la planète.
- 3 tailles de réseau possibles : 255, 65025 et 16 581 375, donc énormément d’adresses IP inutilisables.
Le réseau Internet a grossi de façon exponentielle ! Personne ne s’attendait à ça… Nous n’avons plus d’adresse IP disponible et le réseau Internet grossit de jour en jour : la communauté internationale doit faire quelque chose.
Les solutions proposées :
- Solution pérenne : inventer une nouvelle version du protocole IP qui offrirait plus d’adresses IP (IPv6).
- Solution palliative : le Subnetting !

Comme nous l’avons vu dans le cours sur l’adressage IPv4, nous sommes confrontés à un gros problème… Nous n’avons pas assez d’adresses IPv4 pour tout le monde. Nous devons trouver une solution à cela : nous travaillons sur un nouveau protocole, mais pour le moment, il va falloir trouver une solution palliative.
Aujourd’hui nous avons 3 classes d’adresse IP :
- Classe A = on ne touche pas le premier octet.
- Classe B = on ne touche pas les deux premiers octets.
- Classe C = on ne touche pas les trois premiers octets.
Sauf que ces groupes sont trop gros et on perd beaucoup d’adresses IP pour rien ! Dans le protocole IPv4, il existe une notion de « masque ». Un masque permet de faire le distinguo entre la partie network-ID et la partie host-ID, et permet donc de savoir ce qu’on a le droit de toucher ou pas.
| Valeur décimale | Valeur binaire | |
|---|---|---|
| Classe A | 255.0.0.0 | 1111 1111 . 0000 0000 . 0000 0000 . 0000 0000 |
| Classe B | 255.255.0.0 | 1111 1111 . 1111 1111 . 0000 0000 . 0000 0000 |
| Classe C | 255.255.255.0 | 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 |
La solution : pourquoi se limiter à 3 tailles de groupes ? Nous avons 32 bits pour définir le masque, nous pouvons donc faire 32 tailles de réseau différentes ! Le Subnetting est né, et il est toujours d’actualité !
Un masque réseau
1er octet
| CIDR | Valeur décimale | Valeur binaire | |||
|---|---|---|---|---|---|
| /0 | 0.0.0.0 | 0000 0000 | 0000 0000 | 0000 0000 | 0000 0000 |
| /1 | 128.0.0.0 | 1000 0000 | 0000 0000 | 0000 0000 | 0000 0000 |
| /2 | 192.0.0.0 | 1100 0000 | 0000 0000 | 0000 0000 | 0000 0000 |
| /3 | 224.0.0.0 | 1110 0000 | 0000 0000 | 0000 0000 | 0000 0000 |
| /4 | 240.0.0.0 | 1111 0000 | 0000 0000 | 0000 0000 | 0000 0000 |
| /5 | 248.0.0.0 | 1111 1000 | 0000 0000 | 0000 0000 | 0000 0000 |
| /6 | 252.0.0.0 | 1111 1100 | 0000 0000 | 0000 0000 | 0000 0000 |
| /7 | 254.0.0.0 | 1111 1110 | 0000 0000 | 0000 0000 | 0000 0000 |
| /8 | 255.0.0.0 | 1111 1111 | 0000 0000 | 0000 0000 | 0000 0000 |
2e octet
| CIDR | Valeur décimale | Valeur binaire | |||
|---|---|---|---|---|---|
| /8 | 255.0.0.0 | 1111 1111 | 0000 0000 | 0000 0000 | 0000 0000 |
| /9 | 255.128.0.0 | 1111 1111 | 1000 0000 | 0000 0000 | 0000 0000 |
| /10 | 255.192.0.0 | 1111 1111 | 1100 0000 | 0000 0000 | 0000 0000 |
| /11 | 255.224.0.0 | 1111 1111 | 1110 0000 | 0000 0000 | 0000 0000 |
| /12 | 255.240.0.0 | 1111 1111 | 1111 0000 | 0000 0000 | 0000 0000 |
| /13 | 255.248.0.0 | 1111 1111 | 1111 1000 | 0000 0000 | 0000 0000 |
| /14 | 255.252.0.0 | 1111 1111 | 1111 1100 | 0000 0000 | 0000 0000 |
| /15 | 255.254.0.0 | 1111 1111 | 1111 1110 | 0000 0000 | 0000 0000 |
| /16 | 255.255.0.0 | 1111 1111 | 1111 1111 | 0000 0000 | 0000 0000 |
3e octet
| CIDR | Valeur décimale | Valeur binaire | |||
|---|---|---|---|---|---|
| /16 | 255.255.0.0 | 1111 1111 | 1111 1111 | 0000 0000 | 0000 0000 |
| /17 | 255.255.128.0 | 1111 1111 | 1111 1111 | 1000 0000 | 0000 0000 |
| /18 | 255.255.192.0 | 1111 1111 | 1111 1111 | 1100 0000 | 0000 0000 |
| /19 | 255.255.224.0 | 1111 1111 | 1111 1111 | 1110 0000 | 0000 0000 |
| /20 | 255.255.240.0 | 1111 1111 | 1111 1111 | 1111 0000 | 0000 0000 |
| /21 | 255.255.248.0 | 1111 1111 | 1111 1111 | 1111 1000 | 0000 0000 |
| /22 | 255.255.252.0 | 1111 1111 | 1111 1111 | 1111 1100 | 0000 0000 |
| /23 | 255.255.254.0 | 1111 1111 | 1111 1111 | 1111 1110 | 0000 0000 |
| /24 | 255.255.255.0 | 1111 1111 | 1111 1111 | 1111 1111 | 0000 0000 |
4e octet
| CIDR | Valeur décimale | Valeur binaire | |||
|---|---|---|---|---|---|
| /24 | 255.255.255.0 | 1111 1111 | 1111 1111 | 1111 1111 | 0000 0000 |
| /25 | 255.255.255.128 | 1111 1111 | 1111 1111 | 1111 1111 | 1000 0000 |
| /26 | 255.255.255.192 | 1111 1111 | 1111 1111 | 1111 1111 | 1100 0000 |
| /27 | 255.255.255.224 | 1111 1111 | 1111 1111 | 1111 1111 | 1110 0000 |
| /28 | 255.255.255.240 | 1111 1111 | 1111 1111 | 1111 1111 | 1111 0000 |
| /29 | 255.255.255.248 | 1111 1111 | 1111 1111 | 1111 1111 | 1111 1000 |
| /30 | 255.255.255.252 | 1111 1111 | 1111 1111 | 1111 1111 | 1111 1100 |
| /31 | 255.255.255.254 | 1111 1111 | 1111 1111 | 1111 1111 | 1111 1110 |
| /32 | 255.255.255.255 | 1111 1111 | 1111 1111 | 1111 1111 | 1111 1111 |
CIDR = Classless Inter-Domain Routing = routage interdomaines sans classe.
Imaginez la question :
- Tu es dans quel réseau ?
- Dans le réseau 216.25.68.0 et mon masque, c’est 255.255.255.0… Ouais, pas évident !
Ça va quand même plus vite de dire :
- Dans le réseau 216.25.68.0 /24 !
Le numéro derrière le slash correspond au nombre de bits à l’état 1 dans notre masque. Mais pourquoi ? Un masque de sous-réseau… mais que se passe-t-il en vrai ?
| IP | Décimal | 192 | 168 | 1 | 1 |
| Binaire | 1100 0000 | 1010 1000 | 0000 0001 | 0000 0001 | |
| Masque | Décimale | 255 | 255 | 255 | 0 |
| Binaire | 1111 1111 | 1111 1111 | 1111 1111 | 0000 0000 | |
| Réseau | Décimale | ||||
| Binaire |
1 = tu ne touches pas !
0 = je me fiche de la valeur que tu prendras.
Mise en pratique simple
J’ai l’adresse 192.168.1.1 /24. J’aimerais connaître :
- L’adresse réseau de cette adresse IP.
- L’adresse de broadcast de cette adresse IP.
- La plage d’adresses IP disponible pour mes clients.
Comment je fais :
Conversion en binaire de notre adresse IP
Nous avons l’adresse IP 192.168.1.1, ce qui nous donne en binaire :
1100 0000 = 192
1010 1000 = 168
0000 0001 = 1
0000 0001 = 1
Conversion en binaire de notre masque réseau
Nous avons un masque en /24, nous avons donc nos 24 premiers bits à 1. Ce qui nous donne :
1111 1111 = 255
1111 1111 = 255
1111 1111 = 255
0000 0000 = 0La valeur 1 du masque va fermer la case correspondante, nous ne pourrons plus y toucher. La valeur 0 du masque va laisser la case ouverte, on pourra donc mettre la valeur qu’on veut à l’intérieur.

Trouver l’adresse réseau
- On ferme toutes nos boîtes avec la valeur 1.
- On enlève tous les jetons qui peuvent être enlevés.
- On convertit nos boîtes en valeurs décimales.
Ce qui nous donne :
- Adresse réseau = 192.168.1.0

Trouver l’adresse de broadcast
Pour ce faire :
- On remplit toutes les cases vides par des jetons.
- On convertit nos boîtes en valeurs décimales.
Ce qui nous donne :
- Adresse de broadcast = 192.168.1.0

Mise en pratique avancée
J’ai l’adresse 42.58.61.12. J’aimerais connaître :
- L’adresse réseau de cette adresse IP.
- L’adresse de broadcast de cette adresse IP.
- La plage d’adresses IP disponible pour mes clients.
Comment je fais :
Conversion en binaire de notre adresse IP
Nous avons l’adresse IP 42.58.61.12, ce qui nous donne en binaire :
0010 1010 = 42
0011 1010 = 58
0011 1100 = 61
0000 1100 = 12
Conversion en binaire de notre masque réseau
Nous avons un masque en /18, nous avons donc nos 18 premiers bits à 1. Ce qui nous donne :
1111 1111 = 255
1111 1111 = 255
1100 0000 = 192
0000 0000 = 0La valeur 1 du masque va fermer la case correspondante, nous ne pourrons plus y toucher. La valeur 0 du masque va laisser la case ouverte, on pourra donc mettre la valeur qu’on veut à l’intérieur.

Trouver l’adresse réseau

Trouver l’adresse de broadcast

Pour aller plus loin, un calculateur en ligne : subnet-calculator.com/cidr.php
Questions fréquentes sur le subnetting
Qu’est-ce que le subnetting ?
Le subnetting (sous-réseautage) consiste à découper un réseau IP en plusieurs sous-réseaux plus petits. Cela permet d’optimiser l’utilisation des adresses, de segmenter le trafic et d’améliorer la sécurité et les performances du réseau.
C’est quoi un masque de sous-réseau ?
Le masque de sous-réseau sépare la partie réseau (network-id) de la partie hôte (host-id) d’une adresse IP. Par exemple, 255.255.255.0 réserve les 3 premiers octets au réseau et le dernier aux hôtes.
À quoi correspond le masque 255.255.255.240 ?
Le masque 255.255.255.240 correspond à /28 en notation CIDR. Il offre 16 adresses par sous-réseau, dont 14 utilisables pour des hôtes (2 sont réservées pour l’adresse réseau et l’adresse de broadcast).
Qu’est-ce que la notation CIDR ?
La notation CIDR (Classless Inter-Domain Routing) indique le nombre de bits du masque après un slash, par exemple /24 pour 255.255.255.0 ou /28 pour 255.255.255.240. C’est une écriture compacte et indépendante des anciennes classes A, B, C.
Comment calculer un sous-réseau ?
On détermine le masque selon le nombre d’hôtes nécessaires, on calcule le pas (256 moins la valeur de l’octet du masque), puis on liste les plages : adresse réseau, première et dernière adresse utilisable, et adresse de broadcast de chaque sous-réseau.



