- Masque de sous-réseau
-
Sous-réseau
Le mot sous-réseau a deux significations. Sa signification ancienne mais plus générale désigne un réseau physique faisant lui-même partie d'un réseau plus global tel qu'Internet[1]. Au niveau du protocole IP, un sous-réseau est un sous-ensemble d'un réseau de classe. Le reste de cet article concerne cette dernière signification.
La notion de sous-réseau a été introduite avant l'arrivée des classes de réseau dans le protocole IPv4, afin de pouvoir diviser un gros réseau unitaire en un certain nombre de réseaux plus petits, contrôlés par plusieurs routeurs. Même après l'introduction des classes de réseau, les sous-réseaux restent utiles pour réduire le nombre d'entrées dans les tables de routage en cachant des informations sur les sous-réseaux d'un réseau plus global. Cela permet également de réduire la surcharge réseau, en divisant le nombre d'hôtes recevant des appels broadcast IP, et ainsi de limiter les risques de collisions de paquets inhérents au protocole Ethernet dans le cas de forts taux de transferts.
Sommaire
Masque de sous-réseau
Un masque de sous-réseau (souvent désigné par ses homonymes anglais : subnet mask, netmask et address mask) est un masque indiquant le nombre de bits d'une adresse IPv4 utilisés pour identifier le sous-réseau, et le nombre de bits caractérisant les hôtes (ce qui indique aussi le nombre d'hôtes possibles dans ce sous-réseau).
Les masques de sous-réseau utilisent la même représentation que celles des adresses IPv4. En IPv4, une adresse IP est codée sur 4 octets, soit 32 bits (représentés en notation décimale à point). Un masque de sous-réseau possède lui aussi 4 octets. Cependant, seules certaines valeurs sont autorisées :
forme décimale 0 128 192 224 240 248 252 254 255 forme binaire 00000000 10000000 11000000 11100000 11110000 11111000 11111100 11111110 11111111 forme hexadécimale 00 80 C0 E0 F0 F8 FC FE FF Le masque 255.255.224.0 est donc valide, et peut être également représenté sous la forme FF.FF.E0.00. Bien que la norme IPv4 n'interdise pas que la partie significative du masque contienne des bits à 0, on utilise en pratique des masques constitués (sous leur forme binaire) d'une suite de 1 suivis d'une suite de 0.
Une forme plus courte est connue sous le nom de « notation CIDR ». Elle donne le numéro du réseau suivi par un slash ("/") et le nombre de bits à 1 dans la notation binaire du masque de sous-réseau, c'est-à-dire le nombre de bits importants dans le numéro du réseau. Le masque 255.255.224.0, équivalent en binaire à 11111111.11111111.11100000.00000000, sera donc représenté par /19 (19 bits à la valeur 1).
La notation 91.198.174.2/19 désigne donc l'adresse IP 91.198.174.2 avec le masque 255.255.224.0, et signifie que les 19 premiers bits de l'adresse sont dédiés à l'adresse du réseau et du sous-réseau (voir concept du sous-réseau), et le reste à l'adresse de l'ordinateur hôte à l'intérieur du sous-réseau.
Lorsque deux adresses IP appartiennent à un même sous-réseau, elles partagent un certain nombre de bits. Si le bit n des deux adresses IP est identique, alors le bit n du masque de sous-réseau vaut 1. Sinon, il vaut 0.
Concept du sous-réseau
Les adresses IPv4 sont composées de trois parties : le réseau, le sous-réseau (qui est maintenant considéré comme faisant partie du réseau, bien qu'il fît partie à l'origine de la dernière partie), et l'hôte. L'adresse du réseau est définie par sa classe, et obtenue en appliquant l'opérateur booléen ET entre le masque par défaut associé et l'adresse IPv4. L'adresse étendue est l'adresse composée du réseau et du sous-réseau ; elle est obtenue en appliquant l'opérateur ET entre l'adresse IPv4 et le masque de sous-réseau. L'adresse de l'hôte à l'intérieur du sous-réseau est quant à elle obtenue en appliquant l'opérateur ET entre l'adresse IPv4 et le complément à un du masque
Autrement dit : il suffit pour obtenir l'adresse étendue de conserver les bits de l'adresse IPv4 là où les bits du masque sont à 1 (un certain nombre de bits en partant de la gauche de l'adresse). La partie numéro d'hôte est, elle, contenue dans les bits qui restent (les plus à droite).
Exemple
Par exemple, pour l'adresse 91.198.174.2/19 :
- Il s'agit d'une adresse de classe A, car le bit le plus significatif (le premier) est 0 (91 s'écrit 01011011 en binaire) ; l'adresse du réseau est donc donnée par le premier octet de l'adresse, complété par des « 0 », soit 91.0.0.0. Par le calcul, cela s'écrit :
91.198.174.2 AND 255.0.0.0
soit en binaire :
01011011.11000110.10101110.00000010 AND 11111111.00000000.00000000.00000000 = 01011011.00000000.00000000.00000000 ≡ 91.0.0.0
- Le masque de sous-réseau (/19) est 255.255.224.0 ; l'adresse étendue est donc donnée par :
91.198.174.2 AND 255.255.224.0
soit en binaire :
01011011.11000110.10101110.00000010 AND 11111111.11111111.11100000.00000000 = 01011011.11000110.10100000.00000000
ce qui donne en décimal : 91.198.160.0.
- L'adresse de l'hôte au sein du sous-réseau est donnée par la partie restante (01110.00000010), ou par le calcul :
91.198.174.2 AND 0.0.31.255
soit en binaire :
01011011.11000110.10101110.00000010 AND 00000000.00000000.00011111.11111111 = 00000000.00000000.00001110.00000010
et donc en décimal : 0.0.14.2.
En résumé, pour cet exemple :
Notation décimale Notation binaire Adresse IPv4 91.198.174.2 01011011.11000110.10101110.00000010 Masque par défaut (classe A) 255.0.0.0 11111111.00000000.00000000.00000000 Adresse du réseau 91.0.0.0 01011011.00000000.00000000.00000000 Masque de sous-réseau 255.255.224.0 11111111.11111111.11100000.00000000 Adresse de réseau étendue 91.198.160.0 01011011.11000110.10100000.00000000 Adresse du sous-réseau 0.198.160.0 00000000.11000110.10100000.00000000 Adresse de l'hôte 0.0.14.2 00000000.00000000.00001110.00000010 Décompte des hôtes et sous-réseaux
Il est possible de déterminer le nombre maximum de sous-réseaux et d'hôtes dans un réseau particulier, à partir de la connaissance de l'adresse IPv4 et du masque de sous-réseau. Le nombre de sous-réseaux possibles est donné par 2n, où n est la différence entre le nombre de bits significatifs de la partie réseau de l'adresse IPv4 (c'est-à-dire le nombre de bits à 1 pour le masque par défaut associé à la classe de l'adresse) et le nombre de bits significatifs de l'adresse étendue (c'est-à-dire le nombre de bits à 1 dans le masque de sous-réseau).
Dans le cas de l'exemple précédent (91.198.174.2/19), on a une adresse de classe A, soit 8 bits significatifs pour la partie réseau, et 19 bits significatifs pour le masque de sous-réseau (/19, ou 11111111.11111111.11100000.00000000). Le nombre de sous-réseaux possibles est donc : 219 − 8 = 211 = 2048 (suivant la norme RFC 1812 ; l'ancien standard RFC 950 ne supporte pas les sous-réseaux avec seulement des 1 ou seulement des 0 (section 2.1, page 5), ce qui diminue le nombre de sous-réseaux utilisables de deux, soit ici 2046).
Le nombre d'hôtes possibles par sous-réseau peut être obtenu soit par la position du dernier bit à 1 du masque de sous-réseau :
11111111.11111111.11100000.00000000 => 100000.00000000 10000000000000 ≡ 8192
ou en élevant 2 à la puissance du nombre de bits à 0 après le dernier bit à 1 (ce qui revient exactement au même), ici 13 : 213 = 8192. Il est toutefois nécessaire de retirer à ce nombre deux adresses, réservées au sous-réseau lui-même et au broadcast. Le nombre réel d'hôtes possibles est donc 8190.
Le tableau suivant reprend le calcul du nombre d'hôtes par sous-réseau en fonction du masque de sous-réseau :
CIDR bits disponible Masque de sous-réseau Nb d'hôtes par sous-réseau /8 24 255.0.0.0 224 = 16777216 /9 23 255.128.0.0 223 = 8388608 /10 22 255.192.0.0 222 = 4194304 /11 21 255.224.0.0 221 = 2097152 /12 20 255.240.0.0 220 = 1048576 … … … … Exemple d'utilisation
Un administrateur gère un réseau de classe C dont l'adresse est 192.44.78.0. Il aimerait décomposer ce réseau en quatre sous-réseaux.
Pour cela, il réserve les deux premiers bits de l'identifiant machine pour identifier ses nouveaux sous-réseaux. Toute adresse IP d'un même sous-réseau aura donc 24 bits (3 octets - réseau de classe C) en commun ainsi que les deux bits identifiant le sous-réseau. Le masque de sous-réseau peut ainsi être codé de la façon suivante : 11111111.11111111.11111111.11000000 en binaire, ce qui correspondra à 255.255.255.192 en décimal.
Sous-réseau zéro
Le sous-réseau zéro est un sous-réseau non standard, bien qu'utilisable. Il s'agit du premier sous-réseau d'un réseau. Par exemple, le sous-réseau 1.0.0.0 avec 255.255.0.0 comme masque de sous-réseau. Le problème avec ce sous-réseau est que l'adresse unicast pour le sous-réseau est la même que l'adresse unicast pour le réseau de classe A complet. Ce problème n'est plus d'actualité puisque ce phénomène n'avait été conservé que pour rester compatible avec de vieux matériels ne sachant pas gérer le CIDR.
Références
- ↑ Un « réseau de réseaux » se dit en anglais inter-network, souvent abrégé en internet. Le réseau Internet en est un cas particulier.
Articles connexes
Liens externes
- Free Online subnet calculators
- Online subnet calculators
- IP Tutorial - Subnet Masks and Subnetting
- IP Address Subnetting Tutorial - Subnetting
- RFC 950 Internet Standard Subnetting Procedure
- RFC 1812 New Internet Subnetting Procedure
- Utility of subnets of Internet networks
- IP-Subnet-Mask numbers
- LearnToSubnet, a comprehensive Internet-movie tutorial lesson series in subnetting
- RFC1101: DNS Encodings of Network Names and Other Types
- Portail de l’informatique
- Portail de la cryptologie
Catégories : Identifiant | Adressage réseau | Réseau informatique
Wikimedia Foundation. 2010.