Réseau - Le masque de sous-réseau : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 34 : Ligne 34 :
 
Prenons maintenant l'adresse IP 192.168.5.15, l'équivalent en binaire sera "1100 0000.1010 1000.0000 0101.0000 1111"<br>
 
Prenons maintenant l'adresse IP 192.168.5.15, l'équivalent en binaire sera "1100 0000.1010 1000.0000 0101.0000 1111"<br>
 
<br>
 
<br>
Nous allons appliquer le masque sur l'adresse IP, un ET logique entre le masque et l'adresse IP (autrement dit, on multiplie le masque avec l'adresse IP, bit à bit).
+
Nous allons appliquer le masque sur l'adresse IP, un ET logique entre le masque et l'adresse IP (autrement dit, on multiplie le masque avec l'adresse IP, bit à bit).<br>
 
Ce qui nous donnera ce résultat : "1100 0000.1010 1000.0000 0101.0000 0000"<br>
 
Ce qui nous donnera ce résultat : "1100 0000.1010 1000.0000 0101.0000 0000"<br>
Et si on retraduit en décimal, nous obtenons 192.168.5.0, qui est notre adresse IP de  Sous-Réseau.<br>
+
Et si on retraduit en décimal, nous obtenons '''192.168.5.0''', qui est notre adresse IP de  Sous-Réseau.<br>
  
 
À savoir qu'un masque de sous-réseaux peut très bien être "255.255.128.0" ou ""255.255.192.0", etc..
 
À savoir qu'un masque de sous-réseaux peut très bien être "255.255.128.0" ou ""255.255.192.0", etc..

Version du 22 septembre 2021 à 00:11

Un masque de sous-réseau est un masque qui permet d'indiquer le nombre de bits d'une adresse IPv4 pour identifier le sous-réseau et les hôtes (permets aussi donc d'identifier le nombre d'hôtes possible sur un réseau), aussi connu sous les appellations suivantes en anglais :

  • subnet mask
  • netmask
  • adress mask

Mais qu'est-ce qu'un Sous-Réseau ?

Un sous-réseau permet d'encadrer un ensemble d'hôtes, un ensemble d'ordinateurs/machine dans un seul ensemble. Prenons l'exemple d'un ordinateur chez soi, nous avons un réseau local qui permet aux équipements de notre maison de communiquer entre eux. Pour ma part cela se définit de cette façon :

  • Ordinateur de bureau : 192.168.1.15
  • Ordinateur portable : 192.168.1.10
  • Mon Raspberry Pi : 192.168.1.13

Adresse de Réseau

En regardant rapidement le schéma, on peut identifier une partie qui ne change pas dans l'adresse IP.
Dans ma situation, identifier la partie "réseau" et "hôtes" est simple.
La partie réseau est "192.168.1" et le reste pour les hôtes.

Mais comment identifier cela ? C'est tout l'intérêt du Masque de sous réseau.

Si je regarde la configuration de ma Box internet, le masque de sous réseau de mon réseau local est "255.255.255.0".
Cela signifie que les 3 premiers mots de l'adresse IP sont pour créer des réseaux et le dernier mot pour les hôtes.

Autrement dit, si un ordinateur possède l'adresse IP "192.168.2.15", celui-ci sera dans un autre sous-réseau et il ne sera en théorie pas capable de communiquer avec le reste si le réseau n'est pas configuré pour une communication entre-réseaux.

Mon installation possèdera alors deux sous-réseaux dont leurs adresses seront :

  • 192.168.1.0
  • 192.168.2.0


Cela est du de la mise à 0 de tous les bits d'hôte.
Si nous reprenons notre masque "255.255.255.0", nous avons en binaire "1111 1111.1111 1111.1111 1111.0000 0000".
Prenons maintenant l'adresse IP 192.168.5.15, l'équivalent en binaire sera "1100 0000.1010 1000.0000 0101.0000 1111"

Nous allons appliquer le masque sur l'adresse IP, un ET logique entre le masque et l'adresse IP (autrement dit, on multiplie le masque avec l'adresse IP, bit à bit).
Ce qui nous donnera ce résultat : "1100 0000.1010 1000.0000 0101.0000 0000"
Et si on retraduit en décimal, nous obtenons 192.168.5.0, qui est notre adresse IP de Sous-Réseau.

À savoir qu'un masque de sous-réseaux peut très bien être "255.255.128.0" ou ""255.255.192.0", etc.. Cela s'explique car nous avons possibilité d'avoir ce genre de masque :

  • "1111 1111.1000 0000.0000 0000.0000 0000" -> 255.128.0.0
  • "1111 1111.1100 0000.0000 0000.0000 0000" -> 255.192.0.0
  • "1111 1111.1110 0000.0000 0000.0000 0000" -> 255.224.0.0
  • "1111 1111.1111 0000.0000 0000.0000 0000" -> 255.240.0.0
  • ...
  • "1111 1111.1111 1111.1111 1111.1111 0000" -> 255.255.255.240

Comme pour l'analogie de l'Adresse IP, nous pouvons imaginer alors trois sous-réseaux, le premier porte le nom de la première ville, disons "Troyes", l'autre "Reims" et un de transite disons "Air". Le message va transiter dans le réseau postal, partir de Troyes, passer par l'air, et se diriger vers Reims.


Schema Réseau Ville.png

On peut réaliser la même analogie avec deux ordinateurs

Analogie Masque sous réseau ville.drawio.png

Nous avons sur l'image ci-dessous des "routeurs" qui permettent de lier les sous-réseaux entre eux, nous pouvons voir 3 sous-réseaux sur cette image, "100.0.0.0", "Internet" et "200.0.0.0". Le message envoyer aura alors traverser ces derniers pour arriver à destination.

Si nous devions continuer l'analogie avec le réseau postale, si je souhaite envoyer un colis du Pays de la chocolatine jusqu'à Troyes, mon colis passe par de nombreuses étapes intermédiaires avant d'arriver à destination, on appelle cela, la segmentation, c'est exactement ce que va faire notre réseau Internet.

Réseau Laposte.png

On imagine alors rapidement l'intérêt pour Laposte de réduire au maximum les ponts entre les villes pour limiter la quantité d'étape intermédiaire. En remplaçant simplement nos bureaux de poste par des routeurs, nous avons une idée d'Internet.

Routeur Internet France.png

Dans cette image nous avons 4 sous-réseaux, chacun représenté par une couleur, ces derniers sont liés par des routeurs. Le but étant de faire transiter un message vers Chocolatine jusqu'à Troyes.

  • Réseau Vert = 100.0.0.0
  • Réseau Rouge = 200.0.0.0
  • Réseau Bleu = 300.0.0.0
  • Réseau Orange = 400.0.0.0


Ces IP sont bien évidement fictives, nous avons vu précédemment qu'il n'est pas possible d'avoir un réseau "300.0.0.0" ou "400.0.0.0" (car une IP est un ensemble de 4 mots sur 8 bits).

Nous avons sur l'image plus haut deux principaux acteurs, "Troyes" et "Chocolatine" ils souhaitent s'envoyer un message entre eux.
Chocolatine va donc envoyer un message à l'adresse "400.401.402.404" depuis son poste qui possède l'adresse "100.101.102.103".
Le message va dans un premier temps, se diriger au premier Routeur, celui-ci possède une adresse IP sur une de ses bornes qui est situé dans le même réseau que le poste.
Entre le message va transiter vers un autre routeur, etc etc.

À chaque instant où le message passe d'un point à un autre, il circule dans un réseau. D'abord dans le réseau "100.0.0.0" puis "200.0.0.0".
Pour refaire le lien avec les explications précédentes, dans notre hypothétique situation, le masque de sous-réseau serait alors "255.0.0.0".

CIDR

Il est important lorsqu'on parle de masque de sous-réseau, d'évoquer le CIDR (Classless Inter-Domain Routing) qui permet de réduire la taille de la table de routage contenue dans les routeurs. Il s'agit d'un nombre indiquant le nombre de bits associé au masque de sous réseau. Reprenons "255.255.255.0", l'équivalent binaire est "1111 1111.1111 1111.1111 1111.0000 0000". Associons ce masque avec l'IP "192.168.1.47". Nous pouvons alors compter 24 bits pour le masque de sous-réseau, la notation CIDR sera alors :

  • 192.168.1.47/24

De ce fait, nous serions en mesure d'identifier le sous-réseau de l'adresse IP.

Sous-réseaux & Hôtes disponibles

Lorsque nous choisissons le masque de notre sous-réseau, nous le faisons en fonction de la quantité de machines que nous souhaitons ou de réseaux (ou les deux). Pour calculer cela, il suffit de compter le nombre de bits du masque de sous réseau et d'en tirer la quantité.

Exemple : Avec le masque 255.255.0.0 nous avons "1111 1111.1111 1111.0000 0000.0000 0000" ou encore /16 en notation CIDR. Pour connaitre le nombre de réseau possible nous pouvons faire 2^16 = 65 536 sous-réseaux. Nous avons exactement le même nombre de bits pour la partie "hôte" soit 65 536 hôtes.

Mais attention ! Cela serait trop facile, cela n'est pas vrai pour les hôtes car le protocole IPv4 nous impose des adresses IP.

Restriction du nombre d’hôtes possible

Comme vu juste au-dessus, il n'est pas possible d'avoir 65 536 hôtes. Rappelez vous, plus haut nous disions que pour une IP "192.168.1.13/24" l'adresse réseau est "192.168.1.0", cela fait déjà une adresse utilisable en moins car nous ne pourrions pas donner cette adresse à un hôte/machine dans notre sous-réseau car c'est l'IP du réseau elle-même.

Adresse de Broadcast

Nous avons vu déjà une adresse IP inutilisable, mais il existe une seconde, l'adresse de Broadcast (ou Diffusion).
Celle-ci est la dernière IP possible de notre partie "hôte", pour la trouver il suffit de faire la technique inverse que pour l'adresse IP de sous-réseau. Au lieu de mettre tous les bits à 0 pour la partie "hôte", nous devons les mettre à un !

Exemple :
Prenons l'IP 192.168.1.14/24, ce qui nous donne en équivalent binaire :
"1111 1111.1111 1111.1111 1111.0000 0000" (Masque de sous-réseau)
"1100 0000.1010 1000.0000 0001.0000 1110" (IP 192.168.1.14)

Plaçons tous les bits "hôte" à 1, nous avons alors:
"1100 0000.1010 1000.0000 0001.1111 1111" (IP 192.168.1.255)

L'IP 192.168.1.255 est donc notre adresse de diffusion.
Nous avons ici un masque /24 et non /16 contrairement à plus haut, ce qui fait donc 2^24 = 16 777 216 Adresses de sous-réseau et 8 autres bits pour la partie "hôte" (une adresse IP est sur 32bits).
Ce qui nous fait 256 Adresses d'hôte dont 2 inutilisable.

Pour résumer :

  • Adresse IP : 192.168.1.14/24
  • Adresse Réseau : 192.168.1.0
  • Adresse de Diffusion : 192.168.1.255


Petits défis

L'objectif sera de déduire l'adresse IP Réseau et de diffusion ainsi que donner le nombre d'adresses d'hôte et de sous-réseaux.
IP : 192.168.1.140/28 (Masque : 255.255.255.240)
Vouloir résoudre cela en restant en décimal risque d'être compliqué, le mieux sera de tout passer en binaire.

Résolution: Le masque permet d'identifier que les 3 premiers mots de l'adresse IP font partie du sous-réseau, seul "240" devra être traduit en binaire.
Cela donne "1111 0000" (240), on peut donc identifier la première adresse IP.

140 en binaire donne "1000 1100"
Donc en appliquant un & logique entre le masque et l'IP nous obtenons comme premier nombre :
"1000 0000" = 128.
Et dernier nombre :
"1000 1111" = 143

Nous en déduisons alors :

  • Adresse IP : 192.168.1.140/28
  • Adresse de sous-réseau : 192.168.1.128
  • Adresse de diffusion : 192.168.1.143


Réseau & Sous-réseau, différence ?

Ces deux termes veulent dire la même chose dans tout le texte ci-dessous, mais nous pouvons avoir une distinction entre un réseau et un sous-réseau.
Prenons le masque de sous-réseau "255.255.255.240"
Ce qui donne "1111 1111.1111 1111.1111 1111.1111 0000"
Nous pouvons considérer comme réseau les 24 premiers bits et fabriquer des sous réseaux avec les 4 autres derniers bits du Masque de Sous-réseau.
Voyons cela comme une contrainte, notre box internet nous impose un masque "255.255.255.0". Nous pouvons alors choisir d'utiliser sur nos hôtes le masque "255.255.255.240" et fabriquer des sous-réseaux dans notre réseau.