Adresse IP, les masque de sous-réseau

Les masques de sous-réseaux (subnet mask) permettent de déterminer si une adresse IP est locale ou distante dans un réseau.
Ce masque est obligatoire, même si vous ne possédez que deux machines reliées par un câble croisé. Il est obligatoire car il intervient dans le processus de routage IP.

Le masque de sous-réseau permet de masquer une partie de l'adresse IP pour distinguer un id de (sous-)réseau et un id hôte.

Il se présente presque de la même manière qu'une adresse IP : 4 octets. Ces 4 séries de 8 bits sont encodés au niveau de l'utilisateur sous la forme de 4 nombres décimaux séparés par des points.

Exemple :Propriété de protocole Internet (TCP/IP)

Table des matières Haut

À quoi sert le masque de sous-réseau ?

En résumé, le masque de sous réseau est une succession de bits à 1.
Selon l'étendue du masque, nous retrouverons plus ou moins de bits à 1, ce qui nous obligera à utiliser plus ou moins de bits pour déterminer le sous-réseau, le reste étant accordé à l'adresse de l'hôte.

Si nous ne possédons pas dans notre table ARP l'adresse MAC de la machine que nous cherchons à joindre,
une porte logique AND est d'abord appliquée à notre propre adresse IP et à notre masque de sous réseau.
La même opération est effectuée sur l'adresse IP que nous cherchons à joindre, et sur notre masque de sous réseau.
Si les deux résultats sont identiques, nous savons que la machine se trouve dans le même sous-réseau, et une requête ARP sera donc lancée afin d'obtenir la correspondance entre l'adresse IP et l'adresse MAC de la machine que nous désirons joindre.
Sinon, il faudra passer par l'adresse spécifiée pour la passerelle par défaut (un routeur ou par exemple une passerelle).

Table des matières Haut

Conversions en binaire des masques de sous-réseaux IP

Je me suis retrouvé dans une situation où un certain nombre de machines placées sur le même support physique ne pouvaient pas communiquer entre elles. Ma première réaction a été de vérifier par un ipconfig ma configuration IP.
Très sur de moi, je me suis dit que comme les machines possédaient toutes le même masque de sous-réseau, le problème ne pouvait provenir de là.

J'étais dans l'erreur, car après de laborieuses recherches et tentatives, j'ai constaté que malgré le masque de sous-réseau identique, j'étais face à deux réseaux bien distincts.

Exemple

Sous-réseau 1 :

  • masque de sous-réseau : 255.255.255.240
  • première adresse de machine : 193.125.5.1
  • dernière adresse de machine :  193.125.5.14

Sous-réseau 2 :

  • masque de sous-réseau : 255.255.255.240
  • première adresse de machine : 193.125.5.17
  • dernière adresse de machine :  193.125.5.30

Toute communication est donc impossible entre les machines 193.125.5.14 et 193.1255..17, et pourtant le masque de sous-réseau est identique !

Table des matières Haut

Calcul des masques de sous-réseaux IP

Appliquons à l'adresse IP ce que nous avons vu dans la partie consacrée aux conversions en binaire.

Machine A :

11000001 01111101 00000101 00001110 (adresse IP 193.125.5.14 )
11111111 11111111 11111111 11110000 (subnet mask 255.255.255.240) 

11000001 01111101 00000101 00000000 réseau 193.125.5.0

Machine B :

11000001 01111101 00000101 00010001 (adresse IP 193.125.5.17 )
11111111 11111111 11111111 11110000 (subnet mask 255.255.255.240) 

11000001 01111101 00000101 00010000 réseau 193.125.5.16

Conclusion :

La machine A est dans le sous-réseau 193.125.5.0 avec le masque de sous-réseau 255.255.255.240,
la machine B est dans le sous-réseau 193.125.5.16 avec le masque de sous-réseau 255.255.255.240

Elles ne peuvent donc pas communiquer sans moyen d'interconnexion.

Notation courte des masques de sous réseaux

Pour l'exemple, j'ai spécifié l'adresse ip et le masque de sous-réseau par deux séries de quatre valeurs.
Une autre notation plus courte est souvent employée : 193.125.5.14/28
Pourquoi /28 ? Simplement parce-que le masque porte sur 28 éléments binaires (28 bits consécutifs à 1).

Table des matières Haut

Calcul des adresses de sous-réseaux IP

Il est possible que l'on doive diviser notre réseau en spécifiant un nombre de machines nécessaire dans chaque sous-réseau.
A ce moment, nous ne pouvons plus travailler de manière équitable entre chaque sous-réseau...

Situation de départ

Nous pouvons utiliser le range IP 10.170.84.0/22
L'unité informatique à raccorder est dispersée sur 5 blocs interconnectés par des routeurs :

Bloc A | 450 machines |
Bloc B | 130 machines |
Bloc C | 70 machines |
Bloc D | 32 machines |
Bloc E | 30 machines |

Nous devons donc calculer les adresses de chaque sous-réseau, et les plages d'adresses IP.

Préparation des réseaux

10.170.84.0/22

00001010 10101010 01010100 00000000 : 10.170.84.0 (réseau de base)
11111111 11111111 11111100 00000000 : 255.255.252.0 (masque de base)

Bloc A

Nous désirons adresser 450 hôtes, voyons de combien de bits nous avons besoin pour gérer 450 adresses...
Avec un octet, nous avons 256 adresses (28=256). Ajoutons un bit : 29=512. Cela nous suffit.

11111111 11111111 11111100 00000000 : 255.255.252.0 (masque de base)
11111111 11111111 11111110 00000000 : 255.255.254.0 (masque du sous-réseau A)

Remarque : le masque de sous-réseau ne se fait donc plus sur 22 mais sur 23 bits, et qu'il reste donc 9 bits pour l'adressage des hôtes.

00001010 10101010 01010100 00000000 : 10.170.84.0 (réseau de base)
00001010 10101010 01010100 00000001 : 10.170.84.1 (première machine du réseau A)
00001010 10101010 01010101 11111110 : 10.170.85.254 (dernière machine du réseau A)

00001010 10101010 01010101 11111111 : 10.170.85.255 (broadcast du réseau A)

Adresse du réseau A : 16.170.84.0/23

Table des matières Haut

Bloc B

Nous désirons adresser 130 hôtes,  : 27=128 < 130 <28=256.

11111111 11111111 11111100 00000000 : 255.255.252.0 (masque de base)
11111111 11111111 11111111 00000000 : 255.255.255.0 (masque du sous-réseau B)

00001010 10101010 01010110 00000001 : 10.170.86.1 (première machine du réseau B)
00001010 10101010 01010110 11111110 : 10.170.86.254 (dernière machine du réseau B)

00001010 10101010 01010110 11111111 : 10.170.85.255 (broadcast du réseau B)

Adresse du réseau B : 16.170.86.0/24

Table des matières Haut

Bloc C

Nous désirons adresser 70 hôtes, : 26=64< 70 <27=128.

11111111 11111111 11111100 00000000 : 255.255.252.0 (masque de base)
11111111 11111111 11111111 10000000 : 255.255.255.128 (masque du sous-réseau C)

00001010 10101010 01010111 00000001 : 10.170.87.1 (première machine du réseau C)
00001010 10101010 01010111 01111110 : 10.170.87.126 (dernière machine du réseau C)

00001010 10101010 01010111 01111111 : 10.170.87.127 (broadcast du réseau C)

Adresse du réseau C : 16.170.87.0/25

Table des matières Haut

Bloc D

Nous désirons adresser 32 hôtes, : 25=32.

Avons-nous assez avec 32 adresses ?
Non, c'est insuffisant, car deux adresses sont réservées l'adresse du sous-réseau (tous les bits host ip à 0) et le broadcast (tous les bits host ip à 1).
Nous devons donc réserver 6 bits pour l'adressage de nos 32 hôtes.

11111111 11111111 11111100 00000000 : 255.255.252.0 (masque de base)
11111111 11111111 11111111 11000000 : 255.255.254.192 (masque du sous-réseau D)

00001010 10101010 01010111 10000001 : 10.170.87.129 (première machine du réseau D)
00001010 10101010 01010111 10111110 : 10.170.87.190 (dernière machine du réseau D)

00001010 10101010 01010111 10111111 : 10.170.87.255 (broadcast du réseau D)

Adresse du réseau D : 16.170.87.128/26

Table des matières Haut

Bloc E

Nous désirons adresser 30 hôtes, cette fois, nous pourrions penser que 32 adresses sont suffisantes...
Mais il subsiste une petite astuce : nous ne devons pas oublier que les sous-réseaux sont interconnectés, et que nous devons donc réserver deux adresses pour les routeurs.

11111111 11111111 11111100 00000000 : 255.255.252.0 (masque de base)
11111111 11111111 11111111 11000000 : 255.255.254.192 (masque du sous-réseau E)

00001010 10101010 01010111 11000001 : 10.170.87.193 (première machine du réseau E)
00001010 10101010 01010111 11111110 : 10.170.87.254 (dernière machine du réseau E)

00001010 10101010 01010111 11111111 : 10.170.85.255 (broadcast du réseau E)

Adresse du réseau E : 16.170.87.192/26

Document créé le 22/01/2004, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/reseaux-ip-subnetmask.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.