Tout ceux qui ont eu à traiter de près ou de loin avec les masques de sous-réseau connaissent la douleur intellectuelle que cela peut engendrer ! :p
Mais il existe une méthode simple, facile à mémoriser et très performante pour calculer les plages réseau associées à un masque, et découper une plage en plusieurs sous-réseaux.
Il y a des cas pour lesquels les calculs simples et la calculatrice ne vous seront pas d'une grande aide, la méthode magique vous permettra de résoudre ces cas sans avoir besoin de repasser par le binaire et sans se creuser la tête pour choisir les adressages adéquats.
Avec cette méthode, vous calculerez la plupart des plages entre 5 secondes et 10 secondes, avec un peu d'entraînement. Cela vous tente ? Alors allons-y !
Note : pour ceux qui ont déjà une connaissance significative et une aisance avec les masques, vous pouvez passer directement à la seconde partie "Qu'est-ce que la méthode magique ?" !
Il suffit de peu de choses pour définir une plage d'adresses réseau, une adresse IP et le masque associé.
L'adresse IP va nous indiquer où nous nous situons dans l'ensemble des adresses IP possibles, et le masque va nous donner la limite des adresses de notre réseau.
Qu'est-ce qu'une adresse IP ?
Une adresse IP est une double adresse. Elle identifie à la fois un réseau ET l'adresse d'une machine dans ce réseau (ou de l'interface d'une machine pour être plus précis)
Mais cette adresse seule ne vaut rien ! Car sans le masque, vous ne saurez jamais distinguer la partie réseau et la partie machine de l'adresse.
Codage de l'adresse IP
L'adresse IP est codée sur 4 octets. Elle s'écrit en décimal, en séparant chaque octet par des points, par exemple: 192.168.0.1
Comme nous l'avons dit précédemment, cette adresse seule ne sert à rien et ne nous donne pas d'information sur l'adresse du réseau ou de la machine. Il faut lui associer le masque...
Qu'est-ce qu'un masque de sous-réseau ?
Un masque de sous réseau est un séparateur qui permet de distinguer les parties réseau et machine d'une adresse IP.
Par exemple, si j'associe l'adresse IP et le masque suivants: 192.168.0.1 255.255.255.0
Je peux dire que les trois premiers octets de l'adresse représentent la partie réseau de l'adresse. En effet, si je transforme le masque en binaire, j'obtiens: 255.255.255.0 = 11111111.11111111.11111111.00000000
Nous voyons bien que les trois premiers octets ne contiennent que des 1, alors que le dernier octet ne contient que des 0. La définition du masque nous dit donc que les trois premiers octets de l'adresse identifient le réseau.
La partie réseau de l'adresse est donc: 192.168.0 Et la partie machine de l'adresse au sein de ce réseau est donc représentée par le quatrième octet: 1
Quand les masques deviennent méchants
Ici, c'est encore facile, mais cela se corse dès que l'on a des masques pour lesquels la séparation se fait en plein milieu d'un octet. Prenons par exemple l'adresse précédente, mais associée à un masque plus fun: 192.168.0.1 255.224.0.0
:waw:
Là cela se corse et il faut obligatoirement revenir en binaire pour savoir où se fait la séparation: 255.224.0.0 = 11111111.11100000.00000000.00000000
Argh, comme prévu la séparation se fait au milieu d'un octet.
Comment faire alors pour trouver l'adresse du réseau ?
Il faut là encore, comme le masque, l'écrire en binaire. 192.168.0.1 = 11000000.10101000.00000000.00000001 Que nous associons au masque: 255.224.0.0 = 11111111.11100000.00000000.00000000
Ce qui nous donne pour la séparation dans l'adresse: 192.168.0.1 = 11000000.10101000.00000000.00000001
Mais comment écrire une adresse de réseau dont un octet ne contient que 3 bits ?
Et bien nous ne pouvons pas l'écrire en décimal. C'est mort. Foutu. :(
Mais ce n'est pas grave, car on ne nous demande jamais de donner la partie réseau de l'adresse, mais plutôt l'adresse du réseau.
Qu'est-ce que l'adresse du réseau ?
L'adresse du réseau est la première adresse d'une plage d'adresse. Comme nous avons dit qu'une adresse et un masque définissaient une plage d'adresses, il ne nous reste plus qu'à trouver la première.
Pour la trouver, rien de plus simple, vu que c'est la première, c'est l'adresse la plus basse, donc c'est l'adresse qui ne contient que des 0.
C'est donc l'adresse 0.0.0.0 ?
Meuhnon ! C'est l'adresse qui ne contient que des 0 dans la partie machine de l'adresse, pas dans la partie réseau.
Si nous reprenons l'exemple précédent: 192.168.0.1 = 11000000.10101000.00000000.00000001
Nous pouvons passer tous les bits de la partie machine à 0: 11000000.10100000.00000000.00000000 Ce qui vaut en décimal: 192.160.0.0
L'adresse du réseau défini par le couple 192.168.0.1/255.224.0.0 est donc 192.160.0.0.
Nous avons trouvé la première adresse de la plage d'adresse, qui est l'adresse du réseau. Nous aimerions maintenant trouver la dernière adresse de la plage pour ainsi connaître toute la plage. On appelle cette adresse l'adresse de broadcast.
Qu'est-ce que l'adresse de broadcast ?
Elle est définie comme étant la dernière adresse d'une plage d'adresses réseau.
Comment définir la dernière adresse d'une plage d'adresses ?
Et bien comme nous avions mis des 0 pour trouver l'adresse la plus petite, nous n'allons mettre que des 1 dans la partie machine de l'adresse pour trouver l'adresse de broadcast.
192.168.0.1 = 11000000.10101000.00000000.00000001 On remplace la partie machine par des 1, ce qui donne: 11000000.10111111.11111111.11111111 Ce qui vaut en décimal: 192.191.255.255
La plage d'adresses réseau définie par le couple 192.168.0.1/255.224.0.0 s'étend donc de 192.160.0.0 à 192.191.255.255.
Super... mais bon, j'ai fait tous les calculs binaires en un clin d'œil alors que ceux-ci ne sont pas si simples à faire normalement... o_O Ça serait bien d'avoir une méthode plus rapide pour faire les calculs.
La méthode magique est une méthode qui va vous permettre de calculer très facilement des plages d'adresses réseau, et bien plus encore !
Le nombre magique
Pour utiliser la méthode magique, nous allons devoir utiliser le nombre magiquepour faire des calculs magiques avec nos cerveaux magiques...
Qu'est-ce que le nombre magique ?
Le nombre magique est simplement un calcul fait à partir de l'octet significatif du masque.
Il est égal à 256 - octet significatif.
Par exemple dans notre exemple précédent, le masque était 255.224.0.0 On voit vite que l'octet significatif (celui où la séparation a lieu) est 224.
Notre nombre magique vaut donc 256 - 224 = 32
Que faire avec le nombre magique ?
Il va nous permettre de calculer instantanément la première et la dernière adresse de notre plage.
Pour cela, il va falloir écrire tous les multiples du nombre magique (jusqu'à 256 bien sûr) Allons-y pour les multiples de 32 ! 0, 32, 64, 96, 128, 160, 192, 224, 256.
Et maintenant, nous allons simplement appliquer les règles suivantes:
Notre exemple sera plus parlant: Dans notre masque, l'octet significatif est le deuxième (255.224.0.0) Nous allons donc prendre le deuxième octet de notre adresse (192.168.0.1), soit 168.
La première adresse du réseau sera donc le multiple du nombre magique, strictement inférieur à 168. En regardant la liste des multiples, on trouve très vite 160 ! 0, 32, 64, 96, 128, 160, 192, 224, 256.
La dernière adresse du réseau sera le multiple suivant, moins 1. Le multiple suivant est 192. Auquel on enlève 1 pour trouver 191.
La première adresse de la plage est donc 192.160.0.0 et la dernière 192.191.255.255. (On a ajouté les 0 pour la première et les 255 pour la dernière car tous les bits qui suivent sont à 0 ou à 1 selon qu'on veut la première ou la dernière)
C'est quand même beau... non ? :o
Amélioration de la méthode magique.
Et bien oui, nous pouvons encore frapper plus fort !
L'idée n'est pas non plus révolutionnaire... Il s'agit simplement de ne pas calculer tous les multiples du nombre magique, mais seulement ceux qui sont intéressants.
Prenons un nouvel exemple: 10.45.185.24/255.255.248.0
Le nombre magique vaut: 256 - 248 = 8 L'octet significatif du masque est le troisième, ce qui correspond à 185 dans l'adresse.
Nous devons donc trouver le multiple de 8 strictement inférieur à 185... Pas la peine de commencer à 0 ! 8 * 10 = 80, on est en dessous de 185 8 * 20 = 160, on est en dessous, mais on se rapproche Commençons donc à 160: 160, 168, 176, 184, 192... STOP ! On est au dessus de 185.
Le multiple strictement inférieur est 184, celui du dessus moins un vaut 191.
Ce qui nous donne pour la première adresse 10.45.184.0, et pour la dernière 10.45.191.255.
Facile non ?
Mais nous pouvons encore frapper plus fort ! Car trouver la première et la dernière adresse d'une plage est utile, mais découper un plage d'adresses en sous-réseaux l'est souvent encore plus. Et la méthode magique va s'avérer redoutable !
En tant qu'administrateur systèmes et réseaux, vous devrez souvent découper une plage d'adresses pour coller au besoin de votre entreprise.
Vous avez à votre disposition une grande plage que vous désirez découper en plusieurs plages plus petites pour séparer les machines et les personnes au sein de l'entreprise.
Un exemple concret de découpage
Vous avez en charge le réseau d'une petite entité d'une entreprise. L'administrateur général vous laisse à disposition le réseau: 192.168.160.0/255.255.224.0
Vous avez dans votre entité trois catégories de personnel:
550 techniciens
130 commerciaux
10 directeurs
Il vous faut donc découper la plage d'origine en trois sous-réseaux pour chacune de ces populations.
Etape 1: Calcul de la plage d'origine
Ceci n'est pas obligatoire, mais nous permettra de connaître l'ensemble de la plage et de savoir si jamais nous dépassons de cette plage par erreur.
Allons-y ! 1- Le nombre magique vaut: 256 - 224 = 32 2- L'octet significatif de l'adresse vaut 160, qui est un multiple de 32 ! Ce sera donc la première adresse, la dernière étant 160 + 32 - 1 = 191 3- La première adresse est 192.168.160.0 et la dernière est 192.168.191.255
Maintenant, nous allons devoir calculer les plages pour chacune des populations.
Etape 2: Calcul des masques
Mais par quoi commencer ?
La seule information que nous avons est le nombre de personnes de chaque population. Et cela tombe bien, car nous savons que la taille d'une plage dépend de son masque. Donc si on connait le nombre d'adresses nécessaire, nous pouvons en déduire le masque. La formule est: nb adresses = 2nb de 0 dans le masque
Pour les techniciens, qui sont 550, le réseau devra contenir 1024 adresses (la puissance de 2 supérieure) soit 210 Le masque contiendra donc 10 zéros, soit: 11111111.11111111.11111100.00000000 Soit en décimal: 255.255.252.0
Nous pouvons faire pareil pour les commerciaux: 130 < 28 Le masque est donc: 255.255.255.0
Et pour les directeurs, nous trouvons: 10 < 24 Le masque est donc: 255.255.255.240
Nous avons les masques pour nos trois populations, il ne nous reste plus qu'à y associer des adresses pour avoir nos plages.
Etape 3: Calcul des plages
C'est ici que la méthode magique va nous être utile, car elle permet facilement de trouver les premières et dernière adresse d'une plage.
Nous allons donc commencer par les techniciens. Notre plage de départ démarre en 192.168.160.0. Et bien nous allons commencer la plage des techniciens à cette adresse, et allons trouver l'adresse de fin grâce au masque.
Calculons le nombre magique: 256 - 252 = 4 Le prochain multiple de 4 après 160 est 164 - 1 = 163 La dernière adresse pour les techniciens est donc 192.168.163.255
Pour les commerciaux, nous allons donc démarrer à l'adresse juste après pour ne pas empiéter sur la plage des techniciens, soit 192.168.164.0. Nous allons nous passer du nombre magique pour les commerciaux car la coupure se fait parfaitement entre deux octets sur le masque. L'adresse de fin est donc facilement calculée à 192.168.164.255.
Nous démarrons après pour les directeurs, à l'adresse 192.168.165.0. Le nombre magique vaut 256 - 240 = 16 La dernière adresse est donc 192.168.165.15 !
Résultat
Nous avons donc défini les trois plages:
Tech: 192.168.160.0/255.255.252.0 soit les adresses allant de 192.168.160.0 à 192.168.163.255
Comm: 192.168.164.0/255.255.255.0 soit les adresses allant de 192.168.164.0 à 192.168.164.255
Dirs: 192.168.165.0/255.255.255.240 soit les adresses allant de 192.168.165.0 à 192.168.165.15
Tout s'est bien passé, mais... Il est très facile de placer les plages d'adresses en partant de la plus grande à la plus petite, mais l'inverse est très très très complexe :o
Quand ça se complique
Imaginons que nous ayons 120 secrétaires qui débarquent sur notre réseau... YOUHOU !!! Calmons nous, cela reste un exemple, dans la vrai vie vous ne verrez pas débarquez 120 secrétaires comme cela :p Nous voulons leur créer une nouvelle plage, mais sans toucher aux réseaux existants.
Si nous prenons la même méthode que précédemment, nous allons nous planter. :o Voyons pourquoi.
Nous avions fini la plage des directeurs à l'adresse 192.168.165.15, nous allons donc démarrer celle des secrétaires à l'adresse suivante, soit 192.168.165.16. Le masque pour les secrétaires sera: 120 < 27 Soit 255.255.255.128 Le nombre magique vaut 256 - 128 = 128 La plage des secrétaires va donc finir au prochain multiple de 128 moins 1, soit 127.
Nous avons donc défini la plage des secrétaires allant de 192.168.165.16 à 192.168.165.127...
Mais cela ne marche pas ! :colere2:
D'abord car il n'y a pas assez d'adresses. De 16 à 127, nous n'avons que 112 adresses, pas assez pour nos 120 secrétaires.
Ensuite, et c'est le plus grave, notre plage n'est pas celle que nous pensons...
En effet, si nous reprenons la méthode magique à 0, cela nous donne. Le nombre magique est 128. les multiples de 128 sont 0, 128 et 256. Notre plage va donc aller de 0 à 127, et non de 16 à 127 !
Nous empiétons donc sur les adresses des directeurs !!
Oui, mais comment faire ?
Et bien il suffit de prendre le multiple du nombre magique suivant ! Nous allons commencer notre plage non pas en 192.168.165.16, mais en 192.168.165.128, et donc finir en 192.168.165.255
Et là nous avons bien défini un réseau d'au moins 120 adresses et qui n'empiète pas sur le réseau des directeurs !
Cependant, nous avons laissé un trou... Les adresses de 16 à 127 ne sont pas utilisées.
Mais c'est normal, et ce n'est pas grave de toute façon. Nous pourrons utiliser ces adresses pour des petits réseaux par la suite si nous le souhaitons.
Quand on place un réseau plus grand que le précédent dans une plage, il est nécessaire de sauter une certaine plage d'adresses.
Le principe est simple, vu que nous travaillons avec des réseaux dont la taille est un multiple de 2, un petit réseau pourra toujours démarrer sur un multiple d'un grand réseau.
Par exemple, tout multiple de 8 est un multiple de 16: 0, 16, 32, 48... 0, 8, 16, 24, 32, 40, 48
Et on pourra seulement parfois placer une grande plage derrière une petite, mais dans ce cas il faudra faire attention et bien utiliser la méthode magique.
Découpez la plage suivante en trois sous-réseaux: 10.47.192.0/255.255.240.0
Avec les populations suivantes:
880 techniciens
400 commerciaux
60 directeurs
D'abord, on calcules les masques pour chaque population: Techniciens: 880 < 210 ce qui nous donne le masque 255.255.252.0 Commerciaux: 400 < 29 ce qui nous donne le masque 255.255.254.0 Directeurs: 60 < 26 ce qui nous donne le masque 255.255.255.192
Ensuite on calcule la plage des techniciens: Le nombre magique vaut 256 - 252 = 4 La première adresse est 10.47.192.0 (donnée par l'énoncé) et la dernière 10.47.195.255
Puis celle des commerciaux: Le nombre magique vaut 256 - 254 = 2 La première adresse est 10.47.196.0 (donnée par la fin de la plage des techniciens) et la dernière 10.47.197.255
Enfin celle des directeurs: Le nombre magique vaut 256 - 192 = 64 La première adresse est 10.47.198.0 (donnée par la fin de la plage des commerciaux) et la dernière 10.47.198.63
Second exemple... le même que le premier !
En fait l'énoncé est le même, mais l'on vous demande de commencer par les directeurs, puis les commerciaux, et enfin les techniciens.
Ouillouillouille ! :euh:
La bonne nouvelle, c'est que les masques restent les mêmes ! Techniciens: 255.255.252.0 Commerciaux: 255.255.254.0 Directeurs: 255.255.255.192
On passe donc à la plage des directeurs: Le nombre magique vaut 64. La première adresse est 10.47.192.0 et donc la dernière va être 10.47.192.63
Nous serions tentés de continuer pour la plage des commerciaux à l'adresse suivante, mais l'on sait que l'on prendrait alors des risques...
Pour les commerciaux, le nombre magique vaut 2. Il faut donc que la première adresse démarre sur un nombre pair sur son troisième octet (l'octet significatif dans le masque) On ne peut pas démarrer en 192 puisque quelques adresses sont déjà prises par les directeurs. Il faut donc démarrer en 194. Ce qui nous donne 10.47.194.0 pour la première adresse et 10.47.195.255 pour la dernière adresse.
On continue pour les techniciens. Le nombre magique vaut 4. 192 est un multiple de 4, mais il est déjà utilisé par les directeurs. On peut par contre prendre 196. Ce qui nous donne 10.47.196.0 pour la première adresse et 10.47.199.255 pour la dernière adresse.
On récapitule: Directeurs: De 10.47.192.0 à 10.47.192.63 Commerciaux: De 10.47.194.0 à 10.47.195.255 Techniciens: De 10.47.196.0 à 10.47.199.255
Et ça marche !
Heu... oui mais là on finit plus loin que la première fois, on n'aurait pas gâché plus d'adresses ?
Non, nous en avons gâché exactement le même nombre. Sauf qu'ici on le voit bien car les adresses gâchées sont dans les "trous" que nous avons laissés entre chaque plage, alors que dans le premier cas il y a des adresses gâchées, mais elles se situent après nos trois plage. Le résultat est exactement le même !
A vous de jouer
Bon je dis de jouer, mais je sais que tout le monde ne prend pas son pied à calculer des masques de sous-réseaux... :colere: Mais globalement, vous pouvez vous entraîner en choisissant vous même vous plages d'adresses et nombre de personnes dans chaque catégorie. Vous pouvez aussi augmenter ou diminuer le nombre de catégories.
Bref, il y a à faire et si jamais vous ne vous sentez pas à l'aise ou aves des questions, n'hésitez pas à les poster sur le forum dans la rubrique adéquate (discussions informatiques par exemple)
Voilà, nous avons fait le tour de la méthode magique pour calculer les plages d'adresses réseau.
J'espère que maintenant le calcul des plages d'adresses ne vous fait plus peur et que vous avez jeté à la poubelle votre tableau binaire. ;)
Si le réseau vous intéresse, j'ai publié pas mal de tutos sur le site du zéro ainsi que sur mon site www.lalitte.com .
N'hésitez pas à me laisser des messages d'encouragement si ce tuto vous a plu, ou de dénigrement s'il vous a semblé inutile ou incomplet. Toutes vos remarques me permettront de l'améliorer. :)
Pour info, Gab'z54 a créé un petit programme en java qui peut vous aider à découper une plage d'adresses. Vous le trouverez ici.