Après la présentation générale sur les sous-réseaux (à lire ou relire ici: « Sous-Réseaux IP (Subnetting)« ), je vous propose d’aborder le concept du VLSM : les masques de sous-réseaux à taille variable (Variable Length Subnet Mask). Ce sujet doit être maitrisé sur le bout des doigts par les candidats aux différentes certifications Cisco, à commencer par la certification Cisco CCNA Routing&Switching !
Avant-Propos
Ce sujet est une demande qui m’a été adressée dans l’enquête que j’envoie à mes membres pour connaitre les sujets qu’ils aimeraient me voir aborder sur le blog ou en vidéo.
Si vous aussi, vous voulez me proposer des sujets d’articles (ou de vidéos), vous avez deux possibilités:
- soit en devenant membre privilégié de la communauté IP Logos – il faut pour cela demander votre guide de la certification Cisco CCNA (à droite de cet article);
- ou bien simplement en me laissant un commentaire (après chaque article, il y a une zone dédiée).
N’attendez pas, envoyez moi maintenant vos demandes d’articles!
La naissance du VLSM
Le concept VLSM est né avec la volonté d’économiser les adresses IP de l’entreprise. En effet, si une entreprise décide d’utiliser des masques de sous-réseau en /24 (c’est à dire en 255.255.255.0) pour tous ses réseaux, cela veut donc dire que chaque sous réseau peut héberger jusqu’à 254 systèmes IP différents.
Si tous les sous-réseaux de l’entreprise hébergent bien 254 machines, alors le concept de VLSM n’est pas nécessaire. Mais, comment optimiser l’allocation des adresses IP si certains réseaux n’ont que peu de machines? Et comment optimiser cette allocation dans le cas de liens point-à-point entre routeurs ?
La réponse à cette question repose sur la mise en oeuvre du concept de masques à taille variable, le fameux VLSM. En effet, le VLSM permet à une entreprise de diviser ses sous-réseaux en des tailles inégales, pour être au plus proche des besoins de chaque sous-réseau.
VLSM: un concept différent des sous-réseaux IP ?
Réponse rapide: Non !
Réponse détaillé: Contrairement à ce que l’on pourrait penser au premier abord, le VLSM repose sur le découpage en sous-réseau déjà présenté sur ce blog. Il ne modifie en rien les concepts de sous-réseaux (où l’on emprunte des bits de la partie Host pour définir des sous-réseaux). Non, mais au lieu de découper un réseau en créant plusieurs sous-réseaux ayant tous la même taille, on s’autorise à redécouper des sous-réseaux plus petits pour coller à l’utilisation qui sera faite.
Il est même alors possible de créer des plans d’adressages hiérarchiques afin d’optimiser les tables de routage des équipements.
VLSM: Un exemple concret
Pour cet exemple, nous allons considérer un réseau d’entreprise constitué de 2 routeurs et 3 switches:
Il nous est demandé de définir le plan d’adressage de ce réseau en utilisant la plage d’adresses IP 192.168.0.0/24. Il s’agit donc d’un réseau de classe C. Si l’on écarte donc les adresses de diffusions et de réseau, alors cette plage est donc composée de 254 adresses IP que l’on peut attribuer à des équipements.
Nombre d’adresses IP et de sous-réseaux nécessaires
A partir du schéma et des indications fournies, on peut identifier le nombre d’adresses IP nécessaires pour ce réseau:
- Nombre d’utilisateurs Total: 46 + 90 + 22 +13 = 171
- Mais il faut également attribuer des adresses IP aux interfaces des routeurs: 1 adresses sur chaque VLAN + 1 adresse vers le routeur distant. Au total, cela fait 6 adresses IP supplémentaires pour les deux routeurs.
Le nombre total d’adresses IP requis est donc de 177 (171+6). Ces adresses seront réparties sur 5 sous-réseaux IP (1 sous-réseau par VLAN + 1 sous-réseau pour l’interconnexion de routeurs).
Découpage en sous-réseaux
Nous venons d’identifier un total de 5 sous-réseaux. Cependant, le nombre de machines sur chaque sous-réseau est variable. Cela va de 91 à 2. Pourquoi 91 ? Parce que sur le VLAN composé de 90 machines, il ne faut pas oublier qu’une adresse doit être attribuée au routeur sur ce VLAN.
(Étape 1) On commence par le sous-réseau le plus important en termes d’adresses IP.
Le sous-réseau avec 90 machines doit donc permettre d’attribuer 91 adresses IP. C’est donc possible sur un masque en 25 bits mais pas sur un masque en 26 bits.
En effet:
- sur un masque de sous-réseaux en 25 bits, il reste 32-25=7 bits pour les machines. Soit: 2^7 – 2 = 126 adresses IP.
- sur un masque de sous-réseaux en 26 bits, il reste 32-26=6 bits pour les machines. Soit: 2^6 – 2 = 62 adresses IP.
Note: cette partie est détaillée dans l’article disponible ici.
Il me faut donc un masque sur 25 bits pour couvrir le besoin du plus gros VLAN.
On voit donc ici la limite des masques à taille fixe: on ne peut définir que deux sous-réseaux avec un masque en /25.
C’est pourquoi nous allons utiliser le concept de sous-réseaux dont le masque va avoir une taille variable:
– le premier sous-réseau sera bien 192.168.0.0/25
– les autres sous-réseau sont créés en redécoupant la deuxième plage restante, soit 192.168.0.128/25.
(Étape 2) Nous allons poursuivre avec le second sous-réseau (second en nombre d’adresses IP requises). Il s’agit du sous-réseau avec 46 machines. Il faut donc 47 adresses IP attribuables.
Nous avons vu que:
- sur un masque de sous-réseaux en 26 bits, il reste 32-26=6 bits pour les machines. Soit: 2^6 – 2 = 62 adresses IP.
- sur un masque de sous-réseaux en 27 bits, il reste 32-27=5 bits pour les machines. Soit: 2^5 – 2 = 30 adresses IP.
Nous avons donc besoin d’un masque en /26 pour couvrir ce besoin. Comme précédemment, nous allons prendre le premier sous-réseau que l’on peut construire dans la plage laissée libre. Il s’agit donc de la plage 192.168.0.128/26
Si l’on récapitule le plan d’adressage en cours de constitution:
(Étape 3) Nous allons répéter le processus pour le troisième sous-réseau qui n’a besoin que de 22+1 adresses IP.
Nous allons utiliser la plage laissée libre. Quelle taille de masque a-t-on besoin ?
- sur un masque de sous-réseaux en 27 bits, il reste 32-27=5 bits pour les machines. Soit: 2^5 – 2 = 30 adresses IP.
- sur un masque de sous-réseaux en 28 bits, il reste 32-28=4 bits pour les machines. Soit: 2^4 – 2 = 14 adresses IP.
Incontestablement, le masque pour ce troisième sous-réseau sera de 27 bits. Si nous prenons le premier sous-réseau disponible, nous allons donc attribuer la plage suivante pour ce sous-réseau: 192.168.0.192/27
La plage laissée libre pour la suite est donc la plage 192.168.0.224/27 que nous utiliserons pour le prochain sous-réseau.
(Étape 4) Le quatrième sous-réseau a besoin de 13 + 1 adresses IP. On a vu précédemment qu’un masque en 28 bits permettait d’avoir 14 adresses IP ce qui est exactement le nombre requis.
Nous allons donc attribuer la plage 192.168.0.224/28 pour le VLAN « 13 Users ». La plage 192.168.0.240/28 étant libre à ce stade.
(Dernière étape) Le sous-réseau d’interconnexion entre deux routeurs nécessite 2 adresses IP. Il faut donc un masque sur 30 bits, ce qui autorise 2 adresses IP attribuables. (2 bits pour le champs Host, soit 4 valeurs possibles mais 2 seront associées aux valeurs de réseau et de broadcast).
Ainsi, il est possible d’utiliser la plage 192.168.0.240/30 pour l’interconnexion de routeurs. Toutes les autres plages étant laissés libres par le plan d’adressage proposé ici.
L’exemple montre bien comment le réseau 192.168.0.0 (initialement, un réseau de classe C) peut être découpé en suivant les concepts des sous-réseaux mais en adaptant la taille des sous-réseaux au besoin de chaque sous-réseau. Il est important de noter que la constitution du plan d’adressage selon ce conception requiert de débuter par le réseau ayant le besoin le plus fort en termes d’adresses IP. C’est exactement comme un gâteau où l’on va découper des bonnes parts pour les plus gourmands puis, les parts restantes sont redécoupées pour les moins gourmands !
Si vous avez le moindre doute sur le sujet, laissez moi un commentaire afin que la question et ma réponse profite à tous !
Pas très bien compris, j’ai voulu appliquer cette méthode pour optimiser ce reseau
Besoins Compta = 4 machines – Stagiaires 35 machines – Administration = 12 machines et Direction avec 6 machines. Comment faire le découpage, le plus fin pour ne pas perdre d’Adresse IP. Merci de votre, aide, c assez urgent. haddou.a@free.fr
Super ton site, je ne compte pas prendre de formation ‘n’ayant pas les moyens mais merci pour tes articles, je ne peux que t’encourager a poursuivre. 🙂
@haddou
Pour tes besoins un range en 192.168.0.0/24 te suffit amplement:
Stagiaires : 192.168.0.0/26
Admin: 192.168.0.64/28
Direction: 192.168.0.96/29
Compta: 192.168.0.104/29
bon chance !
L’ennui avec cet exemple c’est qu’il est convénient, mais qu’en est-il pour un cahier des charges qui demande 5 sous-réseau dont l’addition de tous les hôtes requis dépasses 255 ?
genre :
R1 95H -> plage de 128 H
R2 45H -> plage de 64 H
R3 20H -> plage de 32 H
R4 20H -> plage de 32 H
R5 10H -> plage de 16H
–> 272 hôtes
Du coup je ne peux pas créer mes sous-réseaux sur un modèle de 255.255.255.X
Donc comment créer un découpage pour économiser de l’adressage sur un modèle de masque 255.255.X;0 dans ce cas précis ?
C’est une question qui me bloque.
tu devras avoir une adresse réseau avec un masque de 255.255.254.0 ou une adresse réseau xxx.xxx.xxx.0/23
puis faire tes sous réseau à partir de /23.
Ex: de base @R 192.168.0.0/23
R1 95 hotes: 2^7=128 32-7=25
@R1: 192.168.0.0/25 -> @BR 192.168.0.127
R2 45 hotes: 2^6=64 32-6=26
@R2: 192.168.0.128/26 -> @BR 192.168.0.191
…..
Merci pour cet exemple bien clair et détaillé. Mais pourquoi ne pas se simplifier la vie en utilisant des adresses privées d’une autre classe B par exemple 172.16.x.x ????
parce qu en faisant cela pour 171 hôtes c’est un peu comme ci on construisait un hôtel avec des milliers de chambres pour seulement 171 clients. A quoi serviront les milliers de chambres qui resteront vides ?
tout d’abord je vous remercié pour les effort que vous faites pour aider les gens a mieux comprendre les principe des réseaux je vous un article sur le CIRD merci
Merci, très clair cela m’a beaucoup aidé !
Peut être qu’un arbre complet comme celui posté au milieu aurait pu faciliter encore plus la compréhension.
Bonjour,
Votre exemple est clair, merci. Par contre la j’ai une question CCNA et je butte dessus:
When applying this command, an error occurs:
R1(config-if)# interface fastethernet 1/1
R1(config-if)# ip address 15.16.0.148 255.255.255.240
% 15.16.0.144 overlaps with FastEthernet0/0
Which of the following addresses and masks could already be assigned to Fast Ethernet 0/0?
Il y a 5 propositions, 2 reponses corrects:
15.16.0.161 255.255.255.240
15.16.0.145 255.255.255.240 est correct
15.16.0.125 255.255.255.224
15.16.0.159 255.255.255.240
15.16.0.130 255.255.255.224 est correct
l’explications donnée
Explanation:
The correct answers, with two different masks, both overlap with the attempted new IP address on Fa1/1.
Of the incorrect answers, two of them are in a different subnet, and one is a broadcast address, 15.16.0.159 255.255.255.240, that could not be assigned to an interface.
Pour la reponse 15.16.0.130 255.255.255.224 , je seche. Pourquoi cette IP pourrait causer un overlaps?
La plage d’IP pour 15.16.0.144 /28 va de 15.16.0.145 à 15.16.0.158. Avec 15.16.0.130 /27, on est dans un autre sous reseau.
??
Je me suis vraiment promené sur les sites pour comprendre la notion de masque variable mais votre explication est tellement claire que j »ai juste compris; merci merci et surtout mes encouragement.
Bonjour
je ne comprends pas d’ou viennent les 32-25 , 32/27, 32-…. etc..
D’ou vient le 32 et les autres nombres svp?
merci
ce sont des bits. 32 bits c’est la longueur d’une adresse IP (en version 4)
Merci boucoup, très bien expliqué,
Bonne continuation
merci beaucoup grand