LES CAHIERS d'AIX

Publication réservée aux abonnés du Point Service AIX
Janvier 1998


Le subnetting facile

Jean-Luc GESTIN

Introduction

- Avec un masque de réseau à "255.255.255.192", l'adresse "193.112.1.191" est-elle une adresse machine ?
- Avec un masque de réseau à "255.255.224.0", je n'arrive pas à atteindre ma machine "156.71.161.202" depuis le sous-réseau "156.71.128.0", que se passe-t-il ?

Voici de petites questions agaçantes que se pose l'administrateur de système, qui doit se frotter au subnetting, lorsque les contraintes d'administration de l'entreprise obligent à mettre en oeuvre des subnet masks...

Jongler avec les translations binaire-décimal sur un coin de papier devient vite fastidieux. Je propose donc, ici, ma modeste contribution pour faciliter la vie chahutée de l'homme-orchestre système.

Petits rappels sur le subnetting

L'économie binaire

"Le UN rend la monnaie, le ZERO garde les sous".

Lors d'une addition logique par un "&", nous savons que :

Par l'application d'un masque discriminateur, cette propriété simple permet, dans une adresse IP, de distinguer la partie réservée au réseau de la partie réservée à la machine.
Par exemple : 125.1.2.3 (machine) & 255.0.0.0 (masque) ---------- = 125.0.0.0 (réseau)
La machine "125.1.2.3" se trouve sur le réseau "125.0.0.0" et il s'agit d'un masque de classe A.

Les masques de réseaux

Par défaut, lorsqu'un masque de réseau n'est pas défini, la classe à laquelle ce réseau appartient se détermine d'après la valeur du premier octet de l'adresse IP. Ainsi, le tableau suivant a été établi d'après la classification officielle qui correspond aux adresses que l'on rencontre réellement sur l'Internet.

Table 3. Les masques de réseaux sur Internet.
Classe Eventail d'adresses
(range)
Masque de réseau
Classe A 001 à 127    255.0.0.0
Classe B 128 à 191    255.255.0.0
Classe C 192 à 223    255.255.255.0
Note: Attention, tenir compte de la remarque suivant ce tableau,

Remarque
Depuis la mise en oeuvre de TCP/IP, de nombreux ingénieurs système ont pris des libertés avec cette classification, en considérant que, puisque leur réseau est purement interne à l'entreprise, ils peuvent mixer, selon leur choix, adresse IP et masque de réseau, pour correspondre à leur installation.

Exemple :
L'adresse de réseau "112.21.10.52" est, par défaut, une adresse de Classe A (range 1-126). Mais si un masque de "255.255.255.0" lui est appliquée, elle devient une adresse de classe C : 3 octets sont réservés au réseau. Or, sur Internet, on ne trouvera jamais d'adresse de classe C commençant en "112"...

Cette situation a pu exister sans poser trop de problèmes jusqu'à présent. Mais, à l'heure où les réseaux internes commencent à s'ouvrir sur l'Internet (le vrai) via des Firewalls (pare-feux), ce non-respect des lois naturelles de l'Internet obligera ces administrateurs à de pénibles translations d'adresses, qui rendent plus complexe l'accès à Internet.

Rappelons qu'il est possible de respecter la classification officielle de l'Internet sans interférer avec des adresses "réelles". Il suffit, pour cela, de choisir les adresses du réseau interne à l'entreprise parmi les trois valeurs suivantes :

En effet, le "RFC 1597" (1) a défini ces adresses comme étant réservées aux réseaux privés internes. De ce fait, aucune de ces adresses ne sera propagée sur les réseaux de l'Internet.

Principe du subnetting

Que l'on veuille respecter la règle ci-dessus ou non, il peut être tentant, ou nécessaire, d'augmenter les possibilités de désignation de sous-réseaux supplémentaires, au sein d'un réseau existant, afin de répondre aux contraintes d'environnement de l'entreprise.
Ceci peut se mettre en oeuvre facilement en pratiquant le "subnetting".

Le subnetting est à utiliser lorsque :

Le principe du subnetting est simple : il consiste à diminuer la plage des digits réservés aux adresses des machines pour étendre la plage des digits réservés aux adresses des sous-réseaux, en y positionnant des "1" de masquage.

Ainsi, nous pouvons étendre le masque des digits positionnés à "1" sur une partie des digits réservés à l'adresse de la machine.
Un réseau "129.112.0.0" (avec un masque de "255.255.0.0") peut, très simplement, être découpé en sous-réseaux en prélevant le troisième octet de l'adresse IP pour décrire les sous-réseaux. Si nous appliquons un masque de "255.255.255.0", les sous-réseaux se nomment alors : "129.112.1.0", "129.112.2.0", "129.112.3.0", etc.
Cette situation idéale se rencontre rarement en entreprise, car la plage des adresses libres disponibles est déjà restreinte... Mais on pourra pallier cet inconvénient en utilisant une extension du masque limitée aux premiers digits du troisième octet de l'adresse IP.
Notre réseau "129.112.0.0" (avec un masque de "255.255.0.0") peut donc être découpé en un nombre variable de sous-réseaux en fonction de l'extension de masque choisie : "255.255.128.0" (10000000), ou "255.255.192.0" (11000000), ou "255.255.224.0" (11100000), etc.

Autre exemple, avec un masque de "255.255.240.0", qui permet de faire du subnetting sur une adresse de classe B, nous obtenons 16 subnets numérotés : 0, 16, 32, 48, 64... jusqu'à 240 par incréments de 16.

Nous pouvons maintenant déterminer auquel des 16 subnets appartient une machine d'adresse "129.112.33.1", en lui appliquant le masque : 129.112.33.1 (machine) & 255.255.240.0 (masque) ---------------- = 129.112.32.0 (adresse du subnet recherché)

En fonction de ses besoins, l'administrateur doit donc déterminer quel est le masque de sous-réseau le mieux à même de garantir l'équilibre entre le nombre de sous-réseaux nécessaires et le nombre de machines possibles par sous-réseau.

Ce choix fixe le nombre de digits significatifs du masque de subnet à configurer sur le(les) routeur(s) et sur les machines situées sur les sous-réseaux.
Ce choix doit rester cohérent pour l'ensemble des machines qui participent au subnetting.

Les règles de bonne pratique

Pour faire du subnetting dans de bonnes conditions, les règles suivantes s'appliquent :

Tableaux récapitulatifs

En partant de ces règles simples, il est facile de construire des tableaux qui nous permettront de positionner, sans se tromper, les subnets et les machines au sein d'un réseau.

Masques de classe C

Le premier tableau correspond aux subnets que l'on peut créer à partir d'un masque de classe C : "255.255.255.0".

Exemple d'utilisation :
Soit le réseau "123.456.789.0" dont le masque est "255.255.255.0".
Je souhaite étendre la plage d'adresses réservées au réseau.
Avec un masque de subnet à "255.255.255.224", je réserve 3 digits supplémentaires sur le dernier octet de l'adresse IP pour décrire des subnets.

Ceci me permet de disposer de 8 subnets, dont les adresses de subnet seront :

Ces adresses (0, 32, 64, 96, 128, ...) sont listées dans la colonne "subnet".

Les adresses de broadcast de ces subnets sont listées dans la colonne "broadcast".
Par exemple, le subnet "123.456.789.160" possède une adresse de broadcast "123.456.789.191".

Le nombre de machines par subnet est indiqué en haut du tableau pour un masque de type "255.255.255.224" ; on dispose de 30 machines par subnet.

La plage d'adresses disponibles pour ces machines est lue dans la colonne "range addr".

Plus le nombre de subnets créés dans un réseau donné est important, plus nous perdons d'adresses machines disponibles. En effet : les adresses des subnets et les adresses des broadcasts dirigés consomment ces ressources.

Un masque à "252" correspond à une situation caricaturale : le minimum de 2 digits pour l'adresse-machine est atteint. Des quatre positions que peuvent prendre ces 2 digits : 00, 01, 10 et 11, il faut exclure les positions 00 (subnet) et 11 (broadcast). Cela ne laisse, pour chacun des 64 subnets créés, que la possibilité d'accueillir 2 machines,

A l'inverse, avec un masque à "128", si nous excluons le subnet d'adresse "0", il nous reste... un subnet d'adresse "128" pouvant accueillir moitié moins de machines que l'enveloppe-réseau de niveau supérieur.

Ceci explique pourquoi les valeurs des masques de subnet sont prises généralement dans des configurations "raisonnables" : "224" ou "240".

Masques de classe B

Le second mode d'utilisation de ces tableaux correspond aux subnets que l'on peut créer à partir d'un masque de classe B : "255.255.0.0".
Le même mécanisme simple s'applique dans ce cas sur un ensemble de deux fois 8 digits, ce qui permet de conserver un nombre suffisant de machines par subnet, pour correspondre à des situations de production bien réelles.

Par souci de lisibilité, ces tableaux font l'impasse sur le masque "254" et, bien évidemment, sur le masque "255" : les tableaux sortiraient de la feuille...

Exemple d'utilisation :
Soit le réseau "123.456.0.0", dont le masque est "255.255.0.0".
Je souhaite étendre la plage d'adresses réservées au réseau.
Avec un masque de subnet à "255.255.224", je réserve 3 digits supplémentaires, sur le troisième octet de l'adresse IP, pour décrire des subnets. Ceci me permet de disposer de 8 subnets, dont les adresses de subnet seront :

Ces adresses (0.0, 32.0, 64.0, 96.0, 128.0, ...) sont listées dans la colonne "subnet".

Les adresses de broadcast de ces subnets sont listées dans la colonne "broadcast". Par exemple, le subnet "123.456.160.0" possède une adresse de broadcast à "123.456.191.255".

Le nombre de machines par subnet est indiqué en haut des tableaux : pour un masque de type "255.255.224.0", on dispose de 8190 machines par subnet.

La plage d'adresses disponibles pour ces machines est trouvée dans la colonne "range addr".

Réponse aux questions du début

Un simple coup d'oeil à ces tableaux permet de répondre aux questions posées au début de l'article :

- Avec un masque de subnet de "255.255.255.192", l'adresse "193.112.1.191" correspond, non pas à une adresse-machine, mais à l'adresse de broadcast du subnet "193.112.1.128".

- Avec un masque de subnet de "255.255.224.0", on n'arrive pas à atteindre la machine "156.71.161.202" depuis le subnet "156.71.128.0"... c'est bien normal puisque cette machine se trouve dans le subnet "156.71.160.0",

Conclusion

Voilà, Cela ne va guère plus loin que l'invention de l'eau chaude, mais une photocopie recto-verso de ces tableaux vous permettra de conserver à portée de main un aide-mémoire bien pratique...

 

 

 

 


Footnotes:

(1) Request For Comment. Soumission d'une amélioration pour faire évoluer la normalisation des protocoles de réseau.


[ Top of Page | Previous Page | Next Page | Table of Contents ]